@grazziotin/react-components-next 1.0.0 → 1.0.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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["#style-inject:#style-inject","../src/styles/tailwind-output.css","../src/functions/cn/cn.ts","../src/functions/nvl/nvl.ts","../src/core/remove-digits.ts","../src/functions/format-cpf-cnpj/format-cpf-cnpj.ts","../src/functions/format-phone-br/format-phone-br.ts","../src/components/ui/card/index.tsx","../src/components/ui/dialog/utils/constants.ts","../src/components/ui/dialog/index.tsx"],"names":["twMerge","clsx","jsxs","Box","jsx","Tooltip","DialogMui","DialogTitle","DialogContent","DialogActions"],"mappings":"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","file":"index.js","sourcesContent":["\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\\n@layer properties {\\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\\n *,\\n :before,\\n :after,\\n ::backdrop {\\n --tw-border-style:solid;\\n --tw-font-weight:initial;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-color:initial;\\n --tw-shadow-alpha:100%;\\n --tw-inset-shadow:0 0 #0000;\\n --tw-inset-shadow-color:initial;\\n --tw-inset-shadow-alpha:100%;\\n --tw-ring-color:initial;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-inset-ring-color:initial;\\n --tw-inset-ring-shadow:0 0 #0000;\\n --tw-ring-inset:initial;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-outline-style:solid;\\n --tw-blur:initial;\\n --tw-brightness:initial;\\n --tw-contrast:initial;\\n --tw-grayscale:initial;\\n --tw-hue-rotate:initial;\\n --tw-invert:initial;\\n --tw-opacity:initial;\\n --tw-saturate:initial;\\n --tw-sepia:initial;\\n --tw-drop-shadow:initial;\\n --tw-drop-shadow-color:initial;\\n --tw-drop-shadow-alpha:100%;\\n --tw-drop-shadow-size:initial;\\n }\\n }\\n}\\n@layer theme {\\n :root,\\n :host {\\n --font-sans:ui-sans-serif,\\n system-ui,\\n sans-serif,\\n \\\"Apple Color Emoji\\\",\\n \\\"Segoe UI Emoji\\\",\\n \\\"Segoe UI Symbol\\\",\\n \\\"Noto Color Emoji\\\";\\n --font-mono:ui-monospace,\\n SFMono-Regular,\\n Menlo,\\n Monaco,\\n Consolas,\\n \\\"Liberation Mono\\\",\\n \\\"Courier New\\\",\\n monospace;\\n --color-red-600:oklch(57.7% .245 27.325);\\n --color-green-50:oklch(98.2% .018 155.826);\\n --color-green-400:oklch(79.2% .209 151.711);\\n --color-green-500:oklch(72.3% .219 149.579);\\n --color-blue-500:oklch(62.3% .214 259.815);\\n --color-gray-50:oklch(98.5% .002 247.839);\\n --color-gray-100:oklch(96.7% .003 264.542);\\n --color-gray-200:oklch(92.8% .006 264.531);\\n --color-gray-500:oklch(55.1% .027 264.364);\\n --color-gray-600:oklch(44.6% .03 256.802);\\n --color-gray-700:oklch(37.3% .034 259.733);\\n --color-gray-900:oklch(21% .034 264.665);\\n --color-black:#000;\\n --color-white:#fff;\\n --spacing:.25rem;\\n --text-xs:.75rem;\\n --text-xs--line-height:calc(1 / .75);\\n --text-sm:.875rem;\\n --text-sm--line-height:calc(1.25 / .875);\\n --text-2xl:1.5rem;\\n --text-2xl--line-height:calc(2 / 1.5);\\n --font-weight-medium:500;\\n --font-weight-semibold:600;\\n --font-weight-bold:700;\\n --radius-lg:.5rem;\\n --default-transition-duration:.15s;\\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\\n --default-font-family:var(--font-sans);\\n --default-mono-font-family:var(--font-mono);\\n }\\n}\\n@layer base {\\n *,\\n :after,\\n :before,\\n ::backdrop {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n ::file-selector-button {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n html,\\n :host {\\n -webkit-text-size-adjust: 100%;\\n tab-size: 4;\\n line-height: 1.5;\\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\");\\n font-feature-settings: var(--default-font-feature-settings,normal);\\n font-variation-settings: var(--default-font-variation-settings,normal);\\n -webkit-tap-highlight-color: transparent;\\n }\\n hr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n }\\n abbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n font-size: inherit;\\n font-weight: inherit;\\n }\\n a {\\n color: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n text-decoration: inherit;\\n }\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n code,\\n kbd,\\n samp,\\n pre {\\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace);\\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\\n font-size: 1em;\\n }\\n small {\\n font-size: 80%;\\n }\\n sub,\\n sup {\\n vertical-align: baseline;\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n }\\n sub {\\n bottom: -.25em;\\n }\\n sup {\\n top: -.5em;\\n }\\n table {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n }\\n :-moz-focusring {\\n outline: auto;\\n }\\n progress {\\n vertical-align: baseline;\\n }\\n summary {\\n display: list-item;\\n }\\n ol,\\n ul,\\n menu {\\n list-style: none;\\n }\\n img,\\n svg,\\n video,\\n canvas,\\n audio,\\n iframe,\\n embed,\\n object {\\n vertical-align: middle;\\n display: block;\\n }\\n img,\\n video {\\n max-width: 100%;\\n height: auto;\\n }\\n button,\\n input,\\n select,\\n optgroup,\\n textarea {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n ::file-selector-button {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n :where(select:is([multiple], [size])) optgroup {\\n font-weight: bolder;\\n }\\n :where(select:is([multiple], [size])) optgroup option {\\n padding-inline-start: 20px;\\n }\\n ::file-selector-button {\\n margin-inline-end: 4px;\\n }\\n ::placeholder {\\n opacity: 1;\\n }\\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\\n ::placeholder {\\n color: currentColor;\\n }\\n @supports (color:color-mix(in lab, red, red)) {\\n ::placeholder {\\n color: color-mix(in oklab, currentcolor 50%, transparent);\\n }\\n }\\n }\\n textarea {\\n resize: vertical;\\n }\\n ::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n ::-webkit-date-and-time-value {\\n min-height: 1lh;\\n text-align: inherit;\\n }\\n ::-webkit-datetime-edit {\\n display: inline-flex;\\n }\\n ::-webkit-datetime-edit-fields-wrapper {\\n padding: 0;\\n }\\n ::-webkit-datetime-edit {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-year-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-month-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-day-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-hour-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-minute-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-second-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-millisecond-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-meridiem-field {\\n padding-block: 0;\\n }\\n ::-webkit-calendar-picker-indicator {\\n line-height: 1;\\n }\\n :-moz-ui-invalid {\\n box-shadow: none;\\n }\\n button,\\n input:where([type=button], [type=reset], [type=submit]) {\\n appearance: button;\\n }\\n ::file-selector-button {\\n appearance: button;\\n }\\n ::-webkit-inner-spin-button {\\n height: auto;\\n }\\n ::-webkit-outer-spin-button {\\n height: auto;\\n }\\n [hidden]:where(:not([hidden=until-found])) {\\n display: none !important;\\n }\\n}\\n@layer components;\\n@layer utilities {\\n .container {\\n width: 100%;\\n }\\n @media (min-width: 40rem) {\\n .container {\\n max-width: 40rem;\\n }\\n }\\n @media (min-width: 48rem) {\\n .container {\\n max-width: 48rem;\\n }\\n }\\n @media (min-width: 64rem) {\\n .container {\\n max-width: 64rem;\\n }\\n }\\n @media (min-width: 80rem) {\\n .container {\\n max-width: 80rem;\\n }\\n }\\n @media (min-width: 96rem) {\\n .container {\\n max-width: 96rem;\\n }\\n }\\n .mt-2 {\\n margin-top: calc(var(--spacing) * 2);\\n }\\n .mt-4 {\\n margin-top: calc(var(--spacing) * 4);\\n }\\n .block {\\n display: block;\\n }\\n .block\\\\! {\\n display: block !important;\\n }\\n .flex {\\n display: flex;\\n }\\n .hidden {\\n display: none;\\n }\\n .inline-block {\\n display: inline-block;\\n }\\n .table {\\n display: table;\\n }\\n .min-h-screen {\\n min-height: 100vh;\\n }\\n .min-w-0 {\\n min-width: calc(var(--spacing) * 0);\\n }\\n .flex-1 {\\n flex: 1;\\n }\\n .border-collapse {\\n border-collapse: collapse;\\n }\\n .resize {\\n resize: both;\\n }\\n .flex-col {\\n flex-direction: column;\\n }\\n .items-center {\\n align-items: center;\\n }\\n .justify-center {\\n justify-content: center;\\n }\\n .gap-2 {\\n gap: calc(var(--spacing) * 2);\\n }\\n .gap-3 {\\n gap: calc(var(--spacing) * 3);\\n }\\n .truncate {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n }\\n .truncate\\\\! {\\n text-overflow: ellipsis !important;\\n white-space: nowrap !important;\\n overflow: hidden !important;\\n }\\n .rounded {\\n border-radius: .25rem;\\n }\\n .rounded-lg {\\n border-radius: var(--radius-lg);\\n }\\n .border {\\n border-style: var(--tw-border-style);\\n border-width: 1px;\\n }\\n .border-green-500 {\\n border-color: var(--color-green-500);\\n }\\n .bg-blue-500 {\\n background-color: var(--color-blue-500);\\n }\\n .bg-gray-50 {\\n background-color: var(--color-gray-50);\\n }\\n .bg-gray-100 {\\n background-color: var(--color-gray-100);\\n }\\n .bg-gray-200 {\\n background-color: var(--color-gray-200);\\n }\\n .bg-gray-900 {\\n background-color: var(--color-gray-900);\\n }\\n .bg-green-50 {\\n background-color: var(--color-green-50);\\n }\\n .bg-red-600 {\\n background-color: var(--color-red-600);\\n }\\n .p-4 {\\n padding: calc(var(--spacing) * 4);\\n }\\n .px-2 {\\n padding-inline: calc(var(--spacing) * 2);\\n }\\n .px-4 {\\n padding-inline: calc(var(--spacing) * 4);\\n }\\n .px-6 {\\n padding-inline: calc(var(--spacing) * 6);\\n }\\n .py-0 {\\n padding-block: calc(var(--spacing) * 0);\\n }\\n .py-0\\\\.5 {\\n padding-block: calc(var(--spacing) * .5);\\n }\\n .py-1 {\\n padding-block: calc(var(--spacing) * 1);\\n }\\n .py-2 {\\n padding-block: calc(var(--spacing) * 2);\\n }\\n .py-3 {\\n padding-block: calc(var(--spacing) * 3);\\n }\\n .text-center {\\n text-align: center;\\n }\\n .font-mono {\\n font-family: var(--font-mono);\\n }\\n .text-2xl {\\n font-size: var(--text-2xl);\\n line-height: var(--tw-leading,var(--text-2xl--line-height));\\n }\\n .text-sm {\\n font-size: var(--text-sm);\\n line-height: var(--tw-leading,var(--text-sm--line-height));\\n }\\n .text-sm\\\\! {\\n font-size: var(--text-sm) !important;\\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\\n }\\n .text-xs {\\n font-size: var(--text-xs);\\n line-height: var(--tw-leading,var(--text-xs--line-height));\\n }\\n .text-xs\\\\! {\\n font-size: var(--text-xs) !important;\\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\\n }\\n .font-bold {\\n --tw-font-weight:var(--font-weight-bold);\\n font-weight: var(--font-weight-bold);\\n }\\n .font-medium {\\n --tw-font-weight:var(--font-weight-medium);\\n font-weight: var(--font-weight-medium);\\n }\\n .font-semibold {\\n --tw-font-weight:var(--font-weight-semibold);\\n font-weight: var(--font-weight-semibold);\\n }\\n .font-semibold\\\\! {\\n --tw-font-weight:var(--font-weight-semibold) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n }\\n .text-black {\\n color: var(--color-black);\\n }\\n .text-gray-500 {\\n color: var(--color-gray-500);\\n }\\n .text-gray-600 {\\n color: var(--color-gray-600);\\n }\\n .text-gray-700 {\\n color: var(--color-gray-700);\\n }\\n .text-gray-900 {\\n color: var(--color-gray-900);\\n }\\n .text-green-400 {\\n color: var(--color-green-400);\\n }\\n .text-white {\\n color: var(--color-white);\\n }\\n .underline {\\n text-decoration-line: underline;\\n }\\n .antialiased {\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n }\\n .shadow {\\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\\n box-shadow:\\n var(--tw-inset-shadow),\\n var(--tw-inset-ring-shadow),\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow);\\n }\\n .outline {\\n outline-style: var(--tw-outline-style);\\n outline-width: 1px;\\n }\\n .blur {\\n --tw-blur:blur(8px);\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .filter {\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .transition {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n outline-color,\\n text-decoration-color,\\n fill,\\n stroke,\\n --tw-gradient-from,\\n --tw-gradient-via,\\n --tw-gradient-to,\\n opacity,\\n box-shadow,\\n transform,\\n translate,\\n scale,\\n rotate,\\n filter,\\n -webkit-backdrop-filter,\\n backdrop-filter,\\n display,\\n content-visibility,\\n overlay,\\n pointer-events;\\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\\n transition-duration: var(--tw-duration,var(--default-transition-duration));\\n }\\n}\\n@property --tw-border-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-font-weight { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-inset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-ring-inset { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-offset-width { syntax:\\\"<length>\\\";inherits:false;initial-value:0 }\\n@property --tw-ring-offset-color { syntax:\\\"*\\\";inherits:false;initial-value:#fff }\\n@property --tw-ring-offset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-outline-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-blur { syntax:\\\"*\\\";inherits:false }\\n@property --tw-brightness { syntax:\\\"*\\\";inherits:false }\\n@property --tw-contrast { syntax:\\\"*\\\";inherits:false }\\n@property --tw-grayscale { syntax:\\\"*\\\";inherits:false }\\n@property --tw-hue-rotate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-invert { syntax:\\\"*\\\";inherits:false }\\n@property --tw-opacity { syntax:\\\"*\\\";inherits:false }\\n@property --tw-saturate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-sepia { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-drop-shadow-size { syntax:\\\"*\\\";inherits:false }\\n\")","import { twMerge } from \"tailwind-merge\";\r\nimport { clsx } from \"clsx\";\r\nimport type { ClassValue } from \"./utils/interfaces\";\r\n\r\nexport function cn(...values: ClassValue[]): string {\r\n return twMerge(clsx(values));\r\n}\r\n","/**\r\n * Função NVL (Null Value Logic) - retorna valor padrão se o valor for null/undefined\r\n * @param {T | null | undefined} value - Valor a ser verificado\r\n * @param {T} defaultValue - Valor padrão a ser retornado se value for null/undefined\r\n * @returns {T} Value se não for null/undefined, senão defaultValue\r\n * @template T - Tipo do valor\r\n * @example\r\n * nvl(null, 'padrão') // Retorna: 'padrão'\r\n * nvl('valor', 'padrão') // Retorna: 'valor'\r\n */\r\nexport function nvl<T>(value: T | null | undefined, defaultValue: T): T {\r\n return value ?? defaultValue;\r\n}\r\n","/** Remove tudo que não for dígito. */\r\nexport function removeDigits(value: string): string {\r\n return value.replace(/\\D/g, \"\");\r\n}\r\n","import { removeDigits } from \"../../core/remove-digits\";\r\n\r\n/**\r\n * Formata CPF (até 11 dígitos) ou CNPJ (12–14 dígitos) conforme o tamanho.\r\n * @param data - Valor com ou sem formatação\r\n * @returns CPF `000.000.000-00` ou CNPJ `00.000.000/0000-00`; string vazia se ausente\r\n * @example\r\n * formatCpfCnpj(\"12345678901\") // \"123.456.789-01\"\r\n * formatCpfCnpj(\"12345678000199\") // \"12.345.678/0001-99\"\r\n */\r\nexport function formatCpfCnpj(data?: string): string {\r\n if (!data) return \"\";\r\n const value = removeDigits(data);\r\n\r\n if (!value) return \"\";\r\n if (value.length <= 11) {\r\n const cpf = value.slice(0, 11);\r\n return cpf\r\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\r\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\r\n .replace(/(\\d{3})(\\d{1,2})$/, \"$1-$2\");\r\n }\r\n\r\n const cnpj = value.slice(0, 14);\r\n return cnpj\r\n .replace(/^(\\d{2})(\\d)/, \"$1.$2\")\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, \"$1.$2.$3\")\r\n .replace(/\\.(\\d{3})(\\d)/, \".$1/$2\")\r\n .replace(/(\\d{4})(\\d)/, \"$1-$2\");\r\n}\r\n","import { removeDigits } from \"../../core/remove-digits\";\r\n\r\n/**\r\n * Formata telefone brasileiro (até 11 dígitos): fixo `(00) 0000-0000` ou celular `(00) 00000-0000`.\r\n * @param phone - Valor com ou sem formatação\r\n * @returns Telefone formatado ou string vazia se ausente\r\n * @example\r\n * formatPhoneBr(\"11987654321\") // \"(11) 98765-4321\"\r\n * formatPhoneBr(\"1133334444\") // \"(11) 3333-4444\"\r\n */\r\nexport function formatPhoneBr(phone?: string): string {\r\n if (!phone) return \"\";\r\n const digits = removeDigits(phone).slice(0, 11);\r\n\r\n if (!digits) return \"\";\r\n if (digits.length <= 2) return digits;\r\n if (digits.length <= 6) {\r\n return digits.replace(/(\\d{2})(\\d+)/, \"($1) $2\");\r\n }\r\n if (digits.length <= 10) {\r\n return digits.replace(/(\\d{2})(\\d{4})(\\d+)/, \"($1) $2-$3\");\r\n }\r\n return digits.replace(/(\\d{2})(\\d{5})(\\d+)/, \"($1) $2-$3\");\r\n}\r\n","import { cn } from \"@/functions\";\r\nimport { Box } from \"@mui/material\";\r\nimport { Tooltip } from \"@mantine/core\";\r\nimport type { CardProps } from \"./utils/interface\";\r\n\r\n/**\r\n * Container de UI com cabeçalho colorido (título e ícone opcionais) e área de conteúdo.\r\n *\r\n * O card usa MUI `Box` para dimensões, sombra e responsividade; classes Tailwind\r\n * extras podem ser passadas em `className` e são mescladas com `cn`. O título é\r\n * sempre exibido e truncado quando necessário; o tooltip (Mantine) só aparece se\r\n * `toolTip` for `true`.\r\n *\r\n * @param props - Propriedades do componente. Detalhes em {@link CardProps}.\r\n * @param props.width - Largura do card. Padrão: `\"100%\"`.\r\n * @param props.height - Altura do card. Padrão: `\"auto\"`.\r\n * @param props.margin - Margem externa.\r\n * @param props.title - Texto do cabeçalho.\r\n * @param props.toolTip - Habilita tooltip no título.\r\n * @param props.className - `className` nativo do React no container.\r\n * @param props.titleWidth - Largura da barra do cabeçalho. Padrão: `\"100%\"`.\r\n * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--color-primary)`.\r\n * @param props.borderTitle - `border-radius` só do cabeçalho.\r\n * @param props.onClick - Clique no card; adiciona `cursor: pointer !important`.\r\n * @param props.borderRadius - `border-radius` do container.\r\n * @param props.icon - Conteúdo à direita do título.\r\n * @param props.children - Corpo do card.\r\n * @param props.justifyContent - Alinhamento título/ícone. Padrão: `\"space-between\"`.\r\n *\r\n * @returns Elemento `Box` com cabeçalho e `children`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card title=\"Resumo\" toolTip icon={<span>+</span>}>\r\n * <p>Conteúdo interno</p>\r\n * </Card>\r\n * ```\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card\r\n * title=\"Clique aqui\"\r\n * width=\"320px\"\r\n * onClick={() => alert(\"Card clicado\")}\r\n * >\r\n * Card interativo\r\n * </Card>\r\n * ```\r\n */\r\nfunction Card({\r\n margin,\r\n onClick,\r\n title,\r\n toolTip,\r\n className,\r\n borderTitle,\r\n children,\r\n borderRadius,\r\n width = \"100%\",\r\n height = \"auto\",\r\n titleWidth = \"100%\",\r\n justifyContent = \"space-between\",\r\n titleColor = \"var(--color-primary)\",\r\n icon,\r\n}: Readonly<CardProps>): React.ReactElement {\r\n return (\r\n <Box\r\n onClick={onClick}\r\n className={cn(className, \"text-sm!\")}\r\n sx={{\r\n width,\r\n margin,\r\n height,\r\n borderRadius,\r\n \"@media (max-width: 768px)\": { width: \"100%\" },\r\n boxShadow: \"0 0.15rem 0.5rem rgba(0, 0, 0, 0.16)\",\r\n ...(onClick && { cursor: \"pointer !important\" }),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n justifyContent,\r\n height: \"24px\",\r\n color: \"white\",\r\n display: \"flex\",\r\n width: titleWidth,\r\n overflow: \"hidden\",\r\n padding: \"0px 15px\",\r\n alignItems: \"center\",\r\n flexDirection: \"row\",\r\n borderRadius: borderTitle,\r\n backgroundColor: titleColor,\r\n }}\r\n >\r\n <span className=\"min-w-0 flex-1 font-semibold! truncate!\">\r\n <Tooltip\r\n withArrow\r\n radius=\"md\"\r\n label={title}\r\n arrowSize={6}\r\n position=\"top\"\r\n arrowOffset={15}\r\n disabled={!toolTip}\r\n color={titleColor}\r\n classNames={{ tooltip: \"text-xs!\" }}\r\n offset={{ mainAxis: 11, crossAxis: -21 }}\r\n transitionProps={{ transition: \"fade\", duration: 100 }}\r\n >\r\n <span className=\"block! truncate!\">{title}</span>\r\n </Tooltip>\r\n </span>\r\n <div>{icon}</div>\r\n </Box>\r\n {children}\r\n </Box>\r\n );\r\n}\r\nexport default Card;\r\n","export const DIALOG_BACKDROP_STYLE = {\r\n backdropFilter: \"blur(4px)\",\r\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\r\n};\r\n\r\nconst dialogConstants = `\r\nModal de diálogo baseado no MUI \\`Dialog\\`, com título, conteúdo e ações opcionais.\r\nSuporta \\`maxWidth\\` e backdrop com blur via \\`blurBackdrop\\`.\r\n\r\n**Importação:**\r\n\\`\\`\\`tsx\r\nimport Dialog from \"@/components/ui/dialog\";\r\n// ou, no pacote publicado:\r\n// import { Dialog } from \"@grazziotin/react-components-next/ui\";\r\n\\`\\`\\`\r\n\r\n**Uso básico:**\r\n\\`\\`\\`tsx\r\nconst [open, setOpen] = useState(false);\r\n\r\n<Dialog\r\n open={open}\r\n title=\"Confirmar\"\r\n onClose={() => setOpen(false)}\r\n actions={<button type=\"button\">OK</button>}\r\n>\r\n Conteúdo do diálogo\r\n</Dialog>\r\n\\`\\`\\`\r\n`;\r\n\r\nexport default dialogConstants;\r\n","import React from \"react\";\r\nimport DialogMui from \"@mui/material/Dialog\";\r\nimport type { DialogProps } from \"./utils/interface\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport { DIALOG_BACKDROP_STYLE } from \"./utils/constants\";\r\n\r\n/**\r\n * Modal de diálogo baseado no MUI `Dialog`, com título, conteúdo e ações opcionais.\r\n *\r\n * O componente usa `fullWidth` por padrão e permite limitar a largura via `maxWidth`.\r\n * Com `blurBackdrop`, o fundo recebe desfoque e overlay escuro semitransparente.\r\n *\r\n * @param props - Propriedades do componente. Detalhes em {@link DialogProps}.\r\n * @param props.open - Controla se o diálogo está visível.\r\n * @param props.title - Título exibido no topo; omitido se não informado.\r\n * @param props.onClose - Callback ao fechar (clique fora, ESC ou botão de fechar do MUI).\r\n * @param props.actions - Rodapé com botões ou ações customizadas.\r\n * @param props.children - Conteúdo principal do diálogo.\r\n * @param props.maxWidth - Largura máxima do MUI (`xs`, `sm`, `md`, `lg`, `xl` ou `false`).\r\n * @param props.blurBackdrop - Aplica blur e escurecimento no backdrop. Padrão: `false`.\r\n *\r\n * @returns Instância do `Dialog` do Material UI.\r\n *\r\n * @example\r\n * ```tsx\r\n * const [open, setOpen] = useState(false);\r\n *\r\n * <Dialog\r\n * open={open}\r\n * title=\"Confirmar exclusão\"\r\n * onClose={() => setOpen(false)}\r\n * actions={<Button onClick={() => setOpen(false)}>OK</Button>}\r\n * >\r\n * Deseja realmente excluir este item?\r\n * </Dialog>\r\n * ```\r\n *\r\n * @example\r\n * ```tsx\r\n * <Dialog\r\n * open={open}\r\n * onClose={handleClose}\r\n * maxWidth=\"sm\"\r\n * blurBackdrop\r\n * >\r\n * Conteúdo sem título.\r\n * </Dialog>\r\n * ```\r\n */\r\nfunction Dialog({\r\n open,\r\n title,\r\n onClose,\r\n actions,\r\n children,\r\n maxWidth,\r\n blurBackdrop = false,\r\n}: Readonly<DialogProps>): React.ReactElement {\r\n const backdropStyle = blurBackdrop ? DIALOG_BACKDROP_STYLE : {};\r\n\r\n return (\r\n <DialogMui\r\n fullWidth\r\n open={open}\r\n onClose={onClose}\r\n maxWidth={maxWidth}\r\n slotProps={{ backdrop: { sx: backdropStyle } }}\r\n >\r\n {title && (\r\n <DialogTitle>\r\n <p className=\"text-sm font-semibold text-black-de\">{title}</p>\r\n </DialogTitle>\r\n )}\r\n <DialogContent className=\"text-black\">{children}</DialogContent>\r\n {actions && <DialogActions>{actions}</DialogActions>}\r\n </DialogMui>\r\n );\r\n}\r\n\r\nexport default Dialog;\r\n"]}
1
+ {"version":3,"sources":["#style-inject:#style-inject","../src/styles/tailwind-output.css","../src/functions/cn/cn.ts","../src/functions/nvl/nvl.ts","../src/core/remove-digits.ts","../src/functions/format-cpf-cnpj/format-cpf-cnpj.ts","../src/functions/format-phone-br/format-phone-br.ts","../src/components/ui/card/index.tsx","../src/components/ui/dialog/utils/constants.ts","../src/components/ui/dialog/index.tsx","../src/components/ui/data-table/utils/constants.ts","../src/components/ui/data-table/utils/between-filter.tsx","../src/components/ui/data-table/index.tsx","../src/components/ui/tab/index.tsx"],"names":["twMerge","clsx","jsxs","Box","jsx","Tooltip","DialogMui","DialogTitle","DialogContent","DialogActions","ptBR","TextField","getGridStringOperators","getGridNumericOperators","GRID_STRING_COL_DEF","GRID_NUMERIC_COL_DEF","GridColumnsPanel","GridColumnMenu","GridFilterPanel","GridOverlay","GridPagination","DataGrid","styled","MuiTabs","MuiTab"],"mappings":"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","file":"index.js","sourcesContent":["\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\\n@layer properties {\\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\\n *,\\n :before,\\n :after,\\n ::backdrop {\\n --tw-border-style:solid;\\n --tw-font-weight:initial;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-color:initial;\\n --tw-shadow-alpha:100%;\\n --tw-inset-shadow:0 0 #0000;\\n --tw-inset-shadow-color:initial;\\n --tw-inset-shadow-alpha:100%;\\n --tw-ring-color:initial;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-inset-ring-color:initial;\\n --tw-inset-ring-shadow:0 0 #0000;\\n --tw-ring-inset:initial;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-outline-style:solid;\\n --tw-blur:initial;\\n --tw-brightness:initial;\\n --tw-contrast:initial;\\n --tw-grayscale:initial;\\n --tw-hue-rotate:initial;\\n --tw-invert:initial;\\n --tw-opacity:initial;\\n --tw-saturate:initial;\\n --tw-sepia:initial;\\n --tw-drop-shadow:initial;\\n --tw-drop-shadow-color:initial;\\n --tw-drop-shadow-alpha:100%;\\n --tw-drop-shadow-size:initial;\\n }\\n }\\n}\\n@layer theme {\\n :root,\\n :host {\\n --font-sans:ui-sans-serif,\\n system-ui,\\n sans-serif,\\n \\\"Apple Color Emoji\\\",\\n \\\"Segoe UI Emoji\\\",\\n \\\"Segoe UI Symbol\\\",\\n \\\"Noto Color Emoji\\\";\\n --font-mono:ui-monospace,\\n SFMono-Regular,\\n Menlo,\\n Monaco,\\n Consolas,\\n \\\"Liberation Mono\\\",\\n \\\"Courier New\\\",\\n monospace;\\n --color-red-600:oklch(57.7% .245 27.325);\\n --color-green-50:oklch(98.2% .018 155.826);\\n --color-green-100:oklch(96.2% .044 156.743);\\n --color-green-400:oklch(79.2% .209 151.711);\\n --color-green-500:oklch(72.3% .219 149.579);\\n --color-green-800:oklch(44.8% .119 151.328);\\n --color-teal-500:oklch(70.4% .14 182.503);\\n --color-blue-500:oklch(62.3% .214 259.815);\\n --color-gray-50:oklch(98.5% .002 247.839);\\n --color-gray-100:oklch(96.7% .003 264.542);\\n --color-gray-200:oklch(92.8% .006 264.531);\\n --color-gray-500:oklch(55.1% .027 264.364);\\n --color-gray-600:oklch(44.6% .03 256.802);\\n --color-gray-700:oklch(37.3% .034 259.733);\\n --color-gray-900:oklch(21% .034 264.665);\\n --color-black:#000;\\n --color-white:#fff;\\n --spacing:.25rem;\\n --container-3xl:48rem;\\n --text-xs:.75rem;\\n --text-xs--line-height:calc(1 / .75);\\n --text-sm:.875rem;\\n --text-sm--line-height:calc(1.25 / .875);\\n --text-2xl:1.5rem;\\n --text-2xl--line-height:calc(2 / 1.5);\\n --font-weight-medium:500;\\n --font-weight-semibold:600;\\n --font-weight-bold:700;\\n --radius-lg:.5rem;\\n --default-transition-duration:.15s;\\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\\n --default-font-family:var(--font-sans);\\n --default-mono-font-family:var(--font-mono);\\n }\\n}\\n@layer base {\\n *,\\n :after,\\n :before,\\n ::backdrop {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n ::file-selector-button {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n html,\\n :host {\\n -webkit-text-size-adjust: 100%;\\n tab-size: 4;\\n line-height: 1.5;\\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\");\\n font-feature-settings: var(--default-font-feature-settings,normal);\\n font-variation-settings: var(--default-font-variation-settings,normal);\\n -webkit-tap-highlight-color: transparent;\\n }\\n hr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n }\\n abbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n font-size: inherit;\\n font-weight: inherit;\\n }\\n a {\\n color: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n text-decoration: inherit;\\n }\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n code,\\n kbd,\\n samp,\\n pre {\\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace);\\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\\n font-size: 1em;\\n }\\n small {\\n font-size: 80%;\\n }\\n sub,\\n sup {\\n vertical-align: baseline;\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n }\\n sub {\\n bottom: -.25em;\\n }\\n sup {\\n top: -.5em;\\n }\\n table {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n }\\n :-moz-focusring {\\n outline: auto;\\n }\\n progress {\\n vertical-align: baseline;\\n }\\n summary {\\n display: list-item;\\n }\\n ol,\\n ul,\\n menu {\\n list-style: none;\\n }\\n img,\\n svg,\\n video,\\n canvas,\\n audio,\\n iframe,\\n embed,\\n object {\\n vertical-align: middle;\\n display: block;\\n }\\n img,\\n video {\\n max-width: 100%;\\n height: auto;\\n }\\n button,\\n input,\\n select,\\n optgroup,\\n textarea {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n ::file-selector-button {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n :where(select:is([multiple], [size])) optgroup {\\n font-weight: bolder;\\n }\\n :where(select:is([multiple], [size])) optgroup option {\\n padding-inline-start: 20px;\\n }\\n ::file-selector-button {\\n margin-inline-end: 4px;\\n }\\n ::placeholder {\\n opacity: 1;\\n }\\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\\n ::placeholder {\\n color: currentColor;\\n }\\n @supports (color:color-mix(in lab, red, red)) {\\n ::placeholder {\\n color: color-mix(in oklab, currentcolor 50%, transparent);\\n }\\n }\\n }\\n textarea {\\n resize: vertical;\\n }\\n ::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n ::-webkit-date-and-time-value {\\n min-height: 1lh;\\n text-align: inherit;\\n }\\n ::-webkit-datetime-edit {\\n display: inline-flex;\\n }\\n ::-webkit-datetime-edit-fields-wrapper {\\n padding: 0;\\n }\\n ::-webkit-datetime-edit {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-year-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-month-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-day-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-hour-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-minute-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-second-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-millisecond-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-meridiem-field {\\n padding-block: 0;\\n }\\n ::-webkit-calendar-picker-indicator {\\n line-height: 1;\\n }\\n :-moz-ui-invalid {\\n box-shadow: none;\\n }\\n button,\\n input:where([type=button], [type=reset], [type=submit]) {\\n appearance: button;\\n }\\n ::file-selector-button {\\n appearance: button;\\n }\\n ::-webkit-inner-spin-button {\\n height: auto;\\n }\\n ::-webkit-outer-spin-button {\\n height: auto;\\n }\\n [hidden]:where(:not([hidden=until-found])) {\\n display: none !important;\\n }\\n}\\n@layer components;\\n@layer utilities {\\n .container {\\n width: 100%;\\n }\\n @media (min-width: 40rem) {\\n .container {\\n max-width: 40rem;\\n }\\n }\\n @media (min-width: 48rem) {\\n .container {\\n max-width: 48rem;\\n }\\n }\\n @media (min-width: 64rem) {\\n .container {\\n max-width: 64rem;\\n }\\n }\\n @media (min-width: 80rem) {\\n .container {\\n max-width: 80rem;\\n }\\n }\\n @media (min-width: 96rem) {\\n .container {\\n max-width: 96rem;\\n }\\n }\\n .mt-2 {\\n margin-top: calc(var(--spacing) * 2);\\n }\\n .mt-4 {\\n margin-top: calc(var(--spacing) * 4);\\n }\\n .block {\\n display: block;\\n }\\n .block\\\\! {\\n display: block !important;\\n }\\n .flex {\\n display: flex;\\n }\\n .hidden {\\n display: none;\\n }\\n .inline-block {\\n display: inline-block;\\n }\\n .table {\\n display: table;\\n }\\n .min-h-\\\\[210px\\\\]\\\\! {\\n min-height: 210px !important;\\n }\\n .min-h-screen {\\n min-height: 100vh;\\n }\\n .max-w-3xl {\\n max-width: var(--container-3xl);\\n }\\n .min-w-0 {\\n min-width: calc(var(--spacing) * 0);\\n }\\n .flex-1 {\\n flex: 1;\\n }\\n .border-collapse {\\n border-collapse: collapse;\\n }\\n .resize {\\n resize: both;\\n }\\n .flex-col {\\n flex-direction: column;\\n }\\n .items-center {\\n align-items: center;\\n }\\n .justify-center {\\n justify-content: center;\\n }\\n .gap-2 {\\n gap: calc(var(--spacing) * 2);\\n }\\n .gap-3 {\\n gap: calc(var(--spacing) * 3);\\n }\\n .truncate {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n }\\n .truncate\\\\! {\\n text-overflow: ellipsis !important;\\n white-space: nowrap !important;\\n overflow: hidden !important;\\n }\\n .rounded {\\n border-radius: .25rem;\\n }\\n .rounded-lg {\\n border-radius: var(--radius-lg);\\n }\\n .border {\\n border-style: var(--tw-border-style);\\n border-width: 1px;\\n }\\n .border-green-500 {\\n border-color: var(--color-green-500);\\n }\\n .bg-blue-500 {\\n background-color: var(--color-blue-500);\\n }\\n .bg-gray-50 {\\n background-color: var(--color-gray-50);\\n }\\n .bg-gray-100 {\\n background-color: var(--color-gray-100);\\n }\\n .bg-gray-200 {\\n background-color: var(--color-gray-200);\\n }\\n .bg-gray-900 {\\n background-color: var(--color-gray-900);\\n }\\n .bg-green-50 {\\n background-color: var(--color-green-50);\\n }\\n .bg-green-100 {\\n background-color: var(--color-green-100);\\n }\\n .bg-red-600 {\\n background-color: var(--color-red-600);\\n }\\n .bg-teal-500 {\\n background-color: var(--color-teal-500);\\n }\\n .p-4 {\\n padding: calc(var(--spacing) * 4);\\n }\\n .px-2 {\\n padding-inline: calc(var(--spacing) * 2);\\n }\\n .px-4 {\\n padding-inline: calc(var(--spacing) * 4);\\n }\\n .px-6 {\\n padding-inline: calc(var(--spacing) * 6);\\n }\\n .py-0 {\\n padding-block: calc(var(--spacing) * 0);\\n }\\n .py-0\\\\.5 {\\n padding-block: calc(var(--spacing) * .5);\\n }\\n .py-1 {\\n padding-block: calc(var(--spacing) * 1);\\n }\\n .py-2 {\\n padding-block: calc(var(--spacing) * 2);\\n }\\n .py-3 {\\n padding-block: calc(var(--spacing) * 3);\\n }\\n .text-center {\\n text-align: center;\\n }\\n .font-mono {\\n font-family: var(--font-mono);\\n }\\n .text-2xl {\\n font-size: var(--text-2xl);\\n line-height: var(--tw-leading,var(--text-2xl--line-height));\\n }\\n .text-sm {\\n font-size: var(--text-sm);\\n line-height: var(--tw-leading,var(--text-sm--line-height));\\n }\\n .text-sm\\\\! {\\n font-size: var(--text-sm) !important;\\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\\n }\\n .text-xs {\\n font-size: var(--text-xs);\\n line-height: var(--tw-leading,var(--text-xs--line-height));\\n }\\n .text-xs\\\\! {\\n font-size: var(--text-xs) !important;\\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\\n }\\n .font-bold {\\n --tw-font-weight:var(--font-weight-bold);\\n font-weight: var(--font-weight-bold);\\n }\\n .font-medium {\\n --tw-font-weight:var(--font-weight-medium);\\n font-weight: var(--font-weight-medium);\\n }\\n .font-semibold {\\n --tw-font-weight:var(--font-weight-semibold);\\n font-weight: var(--font-weight-semibold);\\n }\\n .font-semibold\\\\! {\\n --tw-font-weight:var(--font-weight-semibold) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n }\\n .text-black {\\n color: var(--color-black);\\n }\\n .text-gray-500 {\\n color: var(--color-gray-500);\\n }\\n .text-gray-600 {\\n color: var(--color-gray-600);\\n }\\n .text-gray-700 {\\n color: var(--color-gray-700);\\n }\\n .text-gray-900 {\\n color: var(--color-gray-900);\\n }\\n .text-green-400 {\\n color: var(--color-green-400);\\n }\\n .text-green-800 {\\n color: var(--color-green-800);\\n }\\n .text-white {\\n color: var(--color-white);\\n }\\n .uppercase {\\n text-transform: uppercase;\\n }\\n .underline {\\n text-decoration-line: underline;\\n }\\n .shadow {\\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\\n box-shadow:\\n var(--tw-inset-shadow),\\n var(--tw-inset-ring-shadow),\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow);\\n }\\n .outline {\\n outline-style: var(--tw-outline-style);\\n outline-width: 1px;\\n }\\n .blur {\\n --tw-blur:blur(8px);\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .filter {\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .transition {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n outline-color,\\n text-decoration-color,\\n fill,\\n stroke,\\n --tw-gradient-from,\\n --tw-gradient-via,\\n --tw-gradient-to,\\n opacity,\\n box-shadow,\\n transform,\\n translate,\\n scale,\\n rotate,\\n filter,\\n -webkit-backdrop-filter,\\n backdrop-filter,\\n display,\\n content-visibility,\\n overlay,\\n pointer-events;\\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\\n transition-duration: var(--tw-duration,var(--default-transition-duration));\\n }\\n}\\n@property --tw-border-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-font-weight { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-inset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-ring-inset { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-offset-width { syntax:\\\"<length>\\\";inherits:false;initial-value:0 }\\n@property --tw-ring-offset-color { syntax:\\\"*\\\";inherits:false;initial-value:#fff }\\n@property --tw-ring-offset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-outline-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-blur { syntax:\\\"*\\\";inherits:false }\\n@property --tw-brightness { syntax:\\\"*\\\";inherits:false }\\n@property --tw-contrast { syntax:\\\"*\\\";inherits:false }\\n@property --tw-grayscale { syntax:\\\"*\\\";inherits:false }\\n@property --tw-hue-rotate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-invert { syntax:\\\"*\\\";inherits:false }\\n@property --tw-opacity { syntax:\\\"*\\\";inherits:false }\\n@property --tw-saturate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-sepia { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-drop-shadow-size { syntax:\\\"*\\\";inherits:false }\\n\")","import { twMerge } from \"tailwind-merge\";\r\nimport { clsx } from \"clsx\";\r\nimport type { ClassValue } from \"./utils/interfaces\";\r\n\r\nexport function cn(...values: ClassValue[]): string {\r\n return twMerge(clsx(values));\r\n}\r\n","/**\r\n * Função NVL (Null Value Logic) - retorna valor padrão se o valor for null/undefined\r\n * @param {T | null | undefined} value - Valor a ser verificado\r\n * @param {T} defaultValue - Valor padrão a ser retornado se value for null/undefined\r\n * @returns {T} Value se não for null/undefined, senão defaultValue\r\n * @template T - Tipo do valor\r\n * @example\r\n * nvl(null, 'padrão') // Retorna: 'padrão'\r\n * nvl('valor', 'padrão') // Retorna: 'valor'\r\n */\r\nexport function nvl<T>(value: T | null | undefined, defaultValue: T): T {\r\n return value ?? defaultValue;\r\n}\r\n","/** Remove tudo que não for dígito. */\r\nexport function removeDigits(value: string): string {\r\n return value.replace(/\\D/g, \"\");\r\n}\r\n","import { removeDigits } from \"../../core/remove-digits\";\r\n\r\n/**\r\n * Formata CPF (até 11 dígitos) ou CNPJ (12–14 dígitos) conforme o tamanho.\r\n * @param data - Valor com ou sem formatação\r\n * @returns CPF `000.000.000-00` ou CNPJ `00.000.000/0000-00`; string vazia se ausente\r\n * @example\r\n * formatCpfCnpj(\"12345678901\") // \"123.456.789-01\"\r\n * formatCpfCnpj(\"12345678000199\") // \"12.345.678/0001-99\"\r\n */\r\nexport function formatCpfCnpj(data?: string): string {\r\n if (!data) return \"\";\r\n const value = removeDigits(data);\r\n\r\n if (!value) return \"\";\r\n if (value.length <= 11) {\r\n const cpf = value.slice(0, 11);\r\n return cpf\r\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\r\n .replace(/(\\d{3})(\\d)/, \"$1.$2\")\r\n .replace(/(\\d{3})(\\d{1,2})$/, \"$1-$2\");\r\n }\r\n\r\n const cnpj = value.slice(0, 14);\r\n return cnpj\r\n .replace(/^(\\d{2})(\\d)/, \"$1.$2\")\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, \"$1.$2.$3\")\r\n .replace(/\\.(\\d{3})(\\d)/, \".$1/$2\")\r\n .replace(/(\\d{4})(\\d)/, \"$1-$2\");\r\n}\r\n","import { removeDigits } from \"../../core/remove-digits\";\r\n\r\n/**\r\n * Formata telefone brasileiro (até 11 dígitos): fixo `(00) 0000-0000` ou celular `(00) 00000-0000`.\r\n * @param phone - Valor com ou sem formatação\r\n * @returns Telefone formatado ou string vazia se ausente\r\n * @example\r\n * formatPhoneBr(\"11987654321\") // \"(11) 98765-4321\"\r\n * formatPhoneBr(\"1133334444\") // \"(11) 3333-4444\"\r\n */\r\nexport function formatPhoneBr(phone?: string): string {\r\n if (!phone) return \"\";\r\n const digits = removeDigits(phone).slice(0, 11);\r\n\r\n if (!digits) return \"\";\r\n if (digits.length <= 2) return digits;\r\n if (digits.length <= 6) {\r\n return digits.replace(/(\\d{2})(\\d+)/, \"($1) $2\");\r\n }\r\n if (digits.length <= 10) {\r\n return digits.replace(/(\\d{2})(\\d{4})(\\d+)/, \"($1) $2-$3\");\r\n }\r\n return digits.replace(/(\\d{2})(\\d{5})(\\d+)/, \"($1) $2-$3\");\r\n}\r\n","import { cn } from \"@/functions\";\r\nimport { Box } from \"@mui/material\";\r\nimport { Tooltip } from \"@mantine/core\";\r\nimport type { CardProps } from \"./utils/interface\";\r\n\r\n/**\r\n * Container de UI com cabeçalho colorido (título e ícone opcionais) e área de conteúdo.\r\n *\r\n * O card usa MUI `Box` para dimensões, sombra e responsividade; classes Tailwind\r\n * extras podem ser passadas em `className` e são mescladas com `cn`. O título é\r\n * sempre exibido e truncado quando necessário; o tooltip (Mantine) só aparece se\r\n * `toolTip` for `true`.\r\n *\r\n * @param props - Propriedades do componente. Detalhes em {@link CardProps}.\r\n * @param props.width - Largura do card. Padrão: `\"100%\"`.\r\n * @param props.height - Altura do card. Padrão: `\"auto\"`.\r\n * @param props.margin - Margem externa.\r\n * @param props.title - Texto do cabeçalho.\r\n * @param props.toolTip - Habilita tooltip no título.\r\n * @param props.className - `className` nativo do React no container.\r\n * @param props.titleWidth - Largura da barra do cabeçalho. Padrão: `\"100%\"`.\r\n * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--primary-color)`.\r\n * @param props.borderTitle - `border-radius` só do cabeçalho.\r\n * @param props.onClick - Clique no card; adiciona `cursor: pointer !important`.\r\n * @param props.borderRadius - `border-radius` do container.\r\n * @param props.icon - Conteúdo à direita do título.\r\n * @param props.children - Corpo do card.\r\n * @param props.justifyContent - Alinhamento título/ícone. Padrão: `\"space-between\"`.\r\n *\r\n * @returns Elemento `Box` com cabeçalho e `children`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card title=\"Resumo\" toolTip icon={<span>+</span>}>\r\n * <p>Conteúdo interno</p>\r\n * </Card>\r\n * ```\r\n *\r\n * @example\r\n * ```tsx\r\n * <Card\r\n * title=\"Clique aqui\"\r\n * width=\"320px\"\r\n * onClick={() => alert(\"Card clicado\")}\r\n * >\r\n * Card interativo\r\n * </Card>\r\n * ```\r\n */\r\nfunction Card({\r\n margin,\r\n onClick,\r\n title,\r\n toolTip,\r\n className,\r\n borderTitle,\r\n children,\r\n borderRadius,\r\n width = \"100%\",\r\n height = \"auto\",\r\n titleWidth = \"100%\",\r\n justifyContent = \"space-between\",\r\n titleColor = \"var(--primary-color)\",\r\n icon,\r\n}: Readonly<CardProps>): React.ReactElement {\r\n return (\r\n <Box\r\n onClick={onClick}\r\n className={cn(className, \"text-sm!\")}\r\n sx={{\r\n width,\r\n margin,\r\n height,\r\n borderRadius,\r\n \"@media (max-width: 768px)\": { width: \"100%\" },\r\n boxShadow: \"0 0.15rem 0.5rem rgba(0, 0, 0, 0.16)\",\r\n ...(onClick && { cursor: \"pointer !important\" }),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n justifyContent,\r\n height: \"24px\",\r\n color: \"white\",\r\n display: \"flex\",\r\n width: titleWidth,\r\n overflow: \"hidden\",\r\n padding: \"0px 15px\",\r\n alignItems: \"center\",\r\n flexDirection: \"row\",\r\n borderRadius: borderTitle,\r\n backgroundColor: titleColor,\r\n }}\r\n >\r\n <span className=\"min-w-0 flex-1 font-semibold! truncate!\">\r\n <Tooltip\r\n withArrow\r\n radius=\"md\"\r\n label={title}\r\n arrowSize={6}\r\n position=\"top\"\r\n arrowOffset={15}\r\n disabled={!toolTip}\r\n color={titleColor}\r\n classNames={{ tooltip: \"text-xs!\" }}\r\n offset={{ mainAxis: 11, crossAxis: -21 }}\r\n transitionProps={{ transition: \"fade\", duration: 100 }}\r\n >\r\n <span className=\"block! truncate!\">{title}</span>\r\n </Tooltip>\r\n </span>\r\n <div>{icon}</div>\r\n </Box>\r\n {children}\r\n </Box>\r\n );\r\n}\r\nexport default Card;\r\n","export const DIALOG_BACKDROP_STYLE = {\r\n backdropFilter: \"blur(4px)\",\r\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\r\n};\r\n\r\nexport const DIALOG_PAPER_FONT_SX = {\r\n fontFamily: \"var(--font-family, inherit) !important\",\r\n \"& .MuiDialogTitle-root, & .MuiDialogContent-root, & .MuiDialogActions-root, & .MuiTypography-root\":\r\n {\r\n fontFamily: \"inherit !important\",\r\n },\r\n};\r\n\r\nconst dialogConstants = `\r\nModal de diálogo baseado no MUI \\`Dialog\\`, com título, conteúdo e ações opcionais.\r\nSuporta \\`maxWidth\\` e backdrop com blur via \\`blurBackdrop\\`.\r\n\r\n**Importação:**\r\n\\`\\`\\`tsx\r\nimport Dialog from \"@/components/ui/dialog\";\r\n// ou, no pacote publicado:\r\n// import { Dialog } from \"@grazziotin/react-components-next/ui\";\r\n\\`\\`\\`\r\n\r\n**Fonte do projeto (CSS global):**\r\n\\`\\`\\`css\r\n:root {\r\n --font-family: \"Poppins\", sans-serif;\r\n}\r\n\\`\\`\\`\r\n\r\nSem \\`--font-family\\`, os componentes herdam a fonte do \\`body\\`.\r\n\r\n**Uso básico:**\r\n\\`\\`\\`tsx\r\nconst [open, setOpen] = useState(false);\r\n\r\n<Dialog\r\n open={open}\r\n title=\"Confirmar\"\r\n onClose={() => setOpen(false)}\r\n actions={<button type=\"button\">OK</button>}\r\n>\r\n Conteúdo do diálogo\r\n</Dialog>\r\n\\`\\`\\`\r\n`;\r\n\r\nexport default dialogConstants;\r\n","import React from \"react\";\r\nimport DialogMui from \"@mui/material/Dialog\";\r\nimport type { DialogProps } from \"./utils/interface\";\r\nimport DialogTitle from \"@mui/material/DialogTitle\";\r\nimport DialogActions from \"@mui/material/DialogActions\";\r\nimport DialogContent from \"@mui/material/DialogContent\";\r\nimport { DIALOG_BACKDROP_STYLE, DIALOG_PAPER_FONT_SX } from \"./utils/constants\";\r\n\r\n/**\r\n * Modal de diálogo baseado no MUI `Dialog`, com título, conteúdo e ações opcionais.\r\n *\r\n * O componente usa `fullWidth` por padrão e permite limitar a largura via `maxWidth`.\r\n * Com `blurBackdrop`, o fundo recebe desfoque e overlay escuro semitransparente.\r\n *\r\n * @param props - Propriedades do componente. Detalhes em {@link DialogProps}.\r\n * @param props.open - Controla se o diálogo está visível.\r\n * @param props.title - Título exibido no topo; omitido se não informado.\r\n * @param props.onClose - Callback ao fechar (clique fora, ESC ou botão de fechar do MUI).\r\n * @param props.actions - Rodapé com botões ou ações customizadas.\r\n * @param props.children - Conteúdo principal do diálogo.\r\n * @param props.maxWidth - Largura máxima do MUI (`xs`, `sm`, `md`, `lg`, `xl` ou `false`).\r\n * @param props.blurBackdrop - Aplica blur e escurecimento no backdrop. Padrão: `false`.\r\n *\r\n * @returns Instância do `Dialog` do Material UI.\r\n *\r\n * @example\r\n * ```tsx\r\n * const [open, setOpen] = useState(false);\r\n *\r\n * <Dialog\r\n * open={open}\r\n * title=\"Confirmar exclusão\"\r\n * onClose={() => setOpen(false)}\r\n * actions={<Button onClick={() => setOpen(false)}>OK</Button>}\r\n * >\r\n * Deseja realmente excluir este item?\r\n * </Dialog>\r\n * ```\r\n *\r\n * @example\r\n * ```tsx\r\n * <Dialog\r\n * open={open}\r\n * onClose={handleClose}\r\n * maxWidth=\"sm\"\r\n * blurBackdrop\r\n * >\r\n * Conteúdo sem título.\r\n * </Dialog>\r\n * ```\r\n */\r\nfunction Dialog({\r\n open,\r\n title,\r\n onClose,\r\n actions,\r\n children,\r\n maxWidth,\r\n blurBackdrop = false,\r\n}: Readonly<DialogProps>): React.ReactElement {\r\n const backdropStyle = blurBackdrop ? DIALOG_BACKDROP_STYLE : {};\r\n\r\n return (\r\n <DialogMui\r\n fullWidth\r\n open={open}\r\n onClose={onClose}\r\n maxWidth={maxWidth}\r\n slotProps={{\r\n backdrop: { sx: backdropStyle },\r\n paper: { sx: DIALOG_PAPER_FONT_SX },\r\n }}\r\n >\r\n {title && (\r\n <DialogTitle>\r\n <p className=\"text-sm font-semibold text-black-de\">{title}</p>\r\n </DialogTitle>\r\n )}\r\n <DialogContent className=\"text-black\">{children}</DialogContent>\r\n {actions && <DialogActions>{actions}</DialogActions>}\r\n </DialogMui>\r\n );\r\n}\r\n\r\nexport default Dialog;\r\n","import { SxProps, Theme } from \"@mui/material\";\r\nimport { ptBR } from \"@mui/x-data-grid/locales\";\r\nimport { GridLocaleText } from \"@mui/x-data-grid\";\r\n\r\nexport const localeText: Partial<GridLocaleText> = {\r\n ...ptBR.components.MuiDataGrid.defaultProps.localeText,\r\n noColumnsOverlayLabel: \"Nenhuma coluna disponível\",\r\n noColumnsOverlayManageColumns: \"Gerenciar colunas\",\r\n\r\n columnsManagementSearchTitle: \"Buscar coluna\",\r\n columnsManagementNoColumns: \"Nenhuma coluna para mostrar\",\r\n columnsManagementShowHideAllText: \"Mostrar/Ocultar todas\",\r\n columnsManagementReset: \"Redefinir\",\r\n columnsManagementDeleteIconLabel: \"Excluir\",\r\n\r\n columnMenuManageColumns: \"Gerenciar colunas\",\r\n columnMenuShowColumns: \"Mostrar colunas\",\r\n columnMenuLabel: \"Menu da coluna\",\r\n columnMenuHideColumn: \"Ocultar\",\r\n columnMenuUnsort: \"Remover ordenação\",\r\n columnMenuSortAsc: \"Ordenar ASC\",\r\n columnMenuSortDesc: \"Ordenar DESC\",\r\n columnMenuFilter: \"Filtrar\",\r\n\r\n toolbarQuickFilterLabel: \"Filtro rápido\",\r\n toolbarQuickFilterPlaceholder: \"Filtrar…\",\r\n toolbarQuickFilterDeleteIconLabel: \"Limpar filtro\",\r\n toolbarExport: \"Exportar\",\r\n toolbarExportLabel: \"Exportar\",\r\n toolbarExportCSV: \"Baixar como CSV\",\r\n toolbarExportPrint: \"Imprimir\",\r\n toolbarColumns: \"Colunas\",\r\n toolbarColumnsLabel: \"Selecionar colunas\",\r\n toolbarFilters: \"Filtros\",\r\n toolbarFiltersLabel: \"Mostrar filtros\",\r\n toolbarFiltersTooltipHide: \"Ocultar filtros\",\r\n toolbarFiltersTooltipShow: \"Mostrar filtros\",\r\n toolbarFiltersTooltipActive: (count) =>\r\n count === 1 ? `${count} filtro ativo` : `${count} filtros ativos`,\r\n toolbarDensity: \"Densidade\",\r\n toolbarDensityLabel: \"Densidade\",\r\n toolbarDensityCompact: \"Compacta\",\r\n toolbarDensityStandard: \"Padrão\",\r\n toolbarDensityComfortable: \"Confortável\",\r\n\r\n filterPanelAddFilter: \"Adicionar filtro\",\r\n filterPanelDeleteIconLabel: \"Excluir\",\r\n filterPanelOperatorAnd: \"E\",\r\n filterPanelOperatorOr: \"OU\",\r\n filterPanelColumn: \"Colunas\",\r\n filterPanelInputLabel: \"Valor\",\r\n filterPanelInputPlaceholder: \"Valor do filtro\",\r\n\r\n filterOperatorContains: \"contém\",\r\n filterOperatorEquals: \"igual a\",\r\n filterOperatorStartsWith: \"começa com\",\r\n filterOperatorEndsWith: \"termina com\",\r\n filterOperatorIs: \"é\",\r\n filterOperatorNot: \"não é\",\r\n filterOperatorAfter: \"depois de\",\r\n filterOperatorOnOrAfter: \"em ou depois de\",\r\n filterOperatorBefore: \"antes de\",\r\n filterOperatorOnOrBefore: \"em ou antes de\",\r\n filterOperatorIsEmpty: \"está vazio\",\r\n filterOperatorIsNotEmpty: \"não está vazio\",\r\n filterOperatorIsAnyOf: \"é qualquer um de\",\r\n\r\n footerTotalRows: \"Total de linhas:\",\r\n footerRowSelected: (count) =>\r\n count === 1\r\n ? \"1 linha selecionada\"\r\n : `${count.toLocaleString()} linhas selecionadas`,\r\n footerTotalVisibleRows: (visibleCount, totalCount) =>\r\n `${visibleCount.toLocaleString()} de ${totalCount.toLocaleString()}`,\r\n\r\n paginationRowsPerPage: \"Linhas por página:\",\r\n paginationItemAriaLabel: (type) => {\r\n switch (type) {\r\n case \"first\":\r\n return \"Primeira página\";\r\n case \"last\":\r\n return \"Última página\";\r\n case \"next\":\r\n return \"Próxima página\";\r\n case \"previous\":\r\n return \"Página anterior\";\r\n default:\r\n return \"\";\r\n }\r\n },\r\n\r\n noRowsLabel: \"Nenhum dado encontrado\",\r\n noResultsOverlayLabel: \"Nenhum resultado encontrado\",\r\n\r\n checkboxSelectionHeaderName: \"Seleção de checkbox\",\r\n checkboxSelectionSelectAllRows: \"Selecionar todas as linhas\",\r\n checkboxSelectionUnselectAllRows: \"Desmarcar todas as linhas\",\r\n checkboxSelectionSelectRow: \"Selecionar linha\",\r\n checkboxSelectionUnselectRow: \"Desmarcar linha\",\r\n\r\n columnHeaderSortIconLabel: \"Ordenar\",\r\n\r\n groupingColumnHeaderName: \"Grupo\",\r\n groupColumn: (name) => `Agrupar por ${name}`,\r\n unGroupColumn: (name) => `Parar de agrupar por ${name}`,\r\n\r\n detailPanelToggle: \"Alternar painel de detalhes\",\r\n expandDetailPanel: \"Expandir\",\r\n collapseDetailPanel: \"Recolher\",\r\n\r\n treeDataGroupingHeaderName: \"Grupo\",\r\n treeDataExpand: \"ver filhos\",\r\n treeDataCollapse: \"ocultar filhos\",\r\n\r\n aggregationMenuItemHeader: \"Agregação\",\r\n aggregationFunctionLabelSum: \"soma\",\r\n aggregationFunctionLabelAvg: \"média\",\r\n aggregationFunctionLabelMin: \"mín\",\r\n aggregationFunctionLabelMax: \"máx\",\r\n aggregationFunctionLabelSize: \"tamanho\",\r\n\r\n paginationDisplayedRows: ({ from, to, count }) => {\r\n const total = count === -1 ? \"mais de \" + to : count;\r\n return `${from}–${to} de ${total}`;\r\n },\r\n};\r\n\r\nexport const columnPanelSx: SxProps<Theme> = {\r\n padding: 2,\r\n width: \"350px\",\r\n color: \"#000000DE\",\r\n};\r\n\r\nexport const columnMenuSx: SxProps<Theme> = {\r\n \"& .MuiListItemText-primary\": {\r\n fontSize: \"14px !important\",\r\n },\r\n};\r\n\r\nexport const filterSx: SxProps<Theme> = {\r\n width: \"750px\",\r\n \"*\": { fontSize: \"14px !important\" },\r\n \"& .MuiDataGrid-filterFormColumnInput\": { width: \"230px\" },\r\n \"& .MuiDataGrid-filterFormOperatorInput\": { width: \"230px\" },\r\n};\r\n\r\nexport const paginationSx: SxProps<Theme> = {\r\n \"& .MuiTablePagination-root\": { fontSize: \"12px !important\" },\r\n \"& .MuiTablePagination-selectLabel\": { fontSize: \"12px !important\" },\r\n \"& .MuiTablePagination-displayedRows\": { fontSize: \"12px !important\" },\r\n \"& .MuiTablePagination-select\": { fontSize: \"12px !important\" },\r\n \"& .MuiTablePagination-toolbar\": {\r\n minHeight: \"40px !important\",\r\n padding: \"0 8px !important\",\r\n },\r\n};\r\n\r\nexport const tableSx: SxProps<Theme> = {\r\n fontSize: \"13px\",\r\n \"& .MuiDataGrid-row:nth-of-type(even)\": {\r\n backgroundColor: \"#F9FAFB\",\r\n },\r\n \"& .MuiDataGrid-row:nth-of-type(odd)\": {\r\n backgroundColor: \"#FFFFFF\",\r\n },\r\n \"& .MuiDataGrid-row.Mui-selected:nth-of-type(even)\": {\r\n backgroundColor: \"#F9FAFB !important\",\r\n },\r\n \"& .MuiDataGrid-row.Mui-selected:nth-of-type(odd)\": {\r\n backgroundColor: \"#FFFFFF !important\",\r\n },\r\n \"& .MuiDataGrid-row:hover\": { backgroundColor: \"#F3F4F6 !important\" },\r\n \"& .MuiDataGrid-columnHeaderTitleContainer\": {\r\n color: \"#FFFFFF\",\r\n justifyContent: \"center\",\r\n \"& svg\": { color: \"#FFFFFF\" },\r\n },\r\n \"& .MuiDataGrid-iconButtonContainer .MuiIconButton-root, & .MuiDataGrid-menuIconButton\":\r\n {\r\n color: \"#FFFFFF\",\r\n },\r\n \"& .MuiDataGrid-iconButtonContainer .MuiIconButton-root:hover, & .MuiDataGrid-menuIconButton:hover\":\r\n { backgroundColor: \"transparent\" },\r\n \"& .MuiDataGrid-iconButtonContainer .MuiIconButton-root.Mui-focusVisible, & .MuiDataGrid-menuIconButton.Mui-focusVisible\":\r\n { backgroundColor: \"transparent\" },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n background: \"linear-gradient(to right, #00B2A6 0%, #0AAEB2 100%)\",\r\n },\r\n \"& .MuiDataGrid-columnHeader\": {\r\n color: \"#FFFFFF\",\r\n fontWeight: \"bold\",\r\n backgroundColor: \"transparent\",\r\n \"& svg\": { color: \"#FFFFFF\" },\r\n },\r\n \"& .MuiDataGrid-columnHeader:hover\": { backgroundColor: \"transparent\" },\r\n \"& .MuiDataGrid-columnHeader:hover .MuiIconButton-root\": {\r\n backgroundColor: \"transparent\",\r\n },\r\n \"& .MuiDataGrid-columnHeader:focus-within\": {\r\n backgroundColor: \"transparent\",\r\n },\r\n \"& .MuiDataGrid-columnHeader--sorted\": { backgroundColor: \"transparent\" },\r\n \"& .MuiDataGrid-columnHeader--sorted .MuiIconButton-root\": {\r\n backgroundColor: \"transparent\",\r\n },\r\n \"& .MuiDataGrid-sortIcon\": { color: \"#FFFFFF\" },\r\n \"& .MuiDataGrid-sortIcon:hover\": { backgroundColor: \"transparent\" },\r\n \"& .MuiDataGrid-columnHeaderTitle\": { fontWeight: \"500\", color: \"#FFFFFF\" },\r\n};\r\n\r\nconst dataTableConstants = `\r\nTabela de dados baseada no MUI \\`DataGrid\\`, com estilização Grazziotin, textos em\r\nportuguês e operador de filtro **entre** automático para colunas string e number.\r\n\r\n**Importação:**\r\n\\`\\`\\`tsx\r\nimport { DataTable } from \"@grazziotin/react-components-next/ui\";\r\nimport type { DataTableProps } from \"@grazziotin/react-components-next/ui\";\r\n\\`\\`\\`\r\n\r\n**Uso básico:**\r\n\\`\\`\\`tsx\r\nconst columns = [\r\n { field: \"id\", headerName: \"ID\", width: 90 },\r\n { field: \"nome\", headerName: \"Nome\", flex: 1 },\r\n { field: \"idade\", headerName: \"Idade\", type: \"number\", width: 110 },\r\n];\r\n\r\nconst rows = [\r\n { id: 1, nome: \"João\", idade: 28 },\r\n { id: 2, nome: \"Maria\", idade: 34 },\r\n];\r\n\r\n<DataTable\r\n rows={rows}\r\n columns={columns}\r\n pageSizeOptions={[5, 10, 25]}\r\n initialState={{ pagination: { paginationModel: { pageSize: 5 } } }}\r\n/>\r\n\\`\\`\\`\r\n\r\n**Recursos incluídos:**\r\n- Filtros, ordenação e paginação\r\n- Painel de gerenciamento de colunas\r\n- Operador \"entre\" em colunas texto e numéricas\r\n- Overlay \"Nenhum dado encontrado\" em português\r\n`;\r\n\r\nexport default dataTableConstants;\r\n","import {\r\n GridFilterItem,\r\n GridFilterOperator,\r\n getGridNumericOperators,\r\n getGridStringOperators,\r\n} from \"@mui/x-data-grid\";\r\nimport { Box, TextField } from \"@mui/material\";\r\nimport type { ChangeEvent } from \"react\";\r\n\r\nconst createChange =\r\n (item: GridFilterItem, applyValue: (item: GridFilterItem) => void) =>\r\n (index: number) =>\r\n ({ target }: ChangeEvent<HTMLInputElement>) => {\r\n const [start = \"\", end = \"\"] = Array.isArray(item.value) ? item.value : [];\r\n\r\n applyValue({\r\n ...item,\r\n value: index === 0 ? [target.value, end] : [start, target.value],\r\n });\r\n };\r\n\r\nexport const textBetweenOp: GridFilterOperator = {\r\n label: \"entre\",\r\n value: \"between\",\r\n getApplyFilterFn: (filter: GridFilterItem) => {\r\n if (!filter.value || !Array.isArray(filter.value)) return null;\r\n\r\n const [start, end] = filter.value;\r\n if (!start || !end) return null;\r\n\r\n return (value) => {\r\n const cell = value?.toString() || \"\";\r\n return cell >= start && cell <= end;\r\n };\r\n },\r\n InputComponent: ({ item, applyValue, focusElementRef }) => {\r\n const onChange = createChange(item, applyValue);\r\n\r\n return (\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n <TextField\r\n size=\"small\"\r\n label=\"De\"\r\n variant=\"outlined\"\r\n inputRef={focusElementRef}\r\n value={(item.value || [\"\", \"\"])[0] || \"\"}\r\n onChange={onChange(0)}\r\n placeholder=\"Inicial\"\r\n />\r\n <TextField\r\n size=\"small\"\r\n label=\"Até\"\r\n variant=\"outlined\"\r\n value={(item.value || [\"\", \"\"])[1] || \"\"}\r\n onChange={onChange(1)}\r\n placeholder=\"Final\"\r\n />\r\n </Box>\r\n );\r\n },\r\n};\r\n\r\nexport const numberBetweenOp: GridFilterOperator = {\r\n label: \"entre\",\r\n value: \"between\",\r\n getApplyFilterFn: (filter: GridFilterItem) => {\r\n if (!filter.value || !Array.isArray(filter.value)) return null;\r\n\r\n const [start, end] = filter.value;\r\n if (start === \"\" || end === \"\" || start == null || end == null) return null;\r\n\r\n return (value) => {\r\n const number = Number(value);\r\n return number >= Number(start) && number <= Number(end);\r\n };\r\n },\r\n InputComponent: ({ item, applyValue, focusElementRef }) => {\r\n const onChange = createChange(item, applyValue);\r\n\r\n return (\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 1 }}>\r\n <TextField\r\n size=\"small\"\r\n label=\"De\"\r\n type=\"number\"\r\n variant=\"outlined\"\r\n inputRef={focusElementRef}\r\n value={(item.value || [\"\", \"\"])[0] || \"\"}\r\n onChange={onChange(0)}\r\n placeholder=\"Mínimo\"\r\n />\r\n <TextField\r\n size=\"small\"\r\n label=\"Até\"\r\n type=\"number\"\r\n variant=\"outlined\"\r\n value={(item.value || [\"\", \"\"])[1] || \"\"}\r\n onChange={onChange(1)}\r\n placeholder=\"Máximo\"\r\n />\r\n </Box>\r\n );\r\n },\r\n};\r\n\r\nexport const getTextOps = (): GridFilterOperator[] => {\r\n return [...getGridStringOperators(), textBetweenOp];\r\n};\r\n\r\nexport const getNumberOps = (): GridFilterOperator[] => {\r\n return [...getGridNumericOperators(), numberBetweenOp];\r\n};\r\n","import {\r\n localeText,\r\n tableSx,\r\n filterSx,\r\n columnMenuSx,\r\n paginationSx,\r\n columnPanelSx,\r\n} from \"./utils/constants\";\r\nimport {\r\n DataGrid,\r\n GridOverlay,\r\n GridColumnMenu,\r\n GridPagination,\r\n GridFilterPanel,\r\n GridColumnsPanel,\r\n GridColumnMenuProps,\r\n GRID_STRING_COL_DEF,\r\n GRID_NUMERIC_COL_DEF,\r\n GridColumnsPanelProps,\r\n} from \"@mui/x-data-grid\";\r\nimport { Box } from \"@mui/material\";\r\nimport type { ComponentProps } from \"react\";\r\nimport type { DataTableProps } from \"./utils/interface\";\r\nimport { getNumberOps, getTextOps } from \"./utils/between-filter\";\r\n/**\r\n * Configuração global dos operadores de filtro do DataGrid.\r\n *\r\n * Sobrescreve as definições padrão do MUI DataGrid para incluir automaticamente\r\n * o operador \"entre\" em todas as colunas do tipo string e number.\r\n *\r\n * Isso significa que TODAS as tabelas do projeto que usam o componente DataTable\r\n * terão o operador \"entre\" disponível sem necessidade de configuração adicional.\r\n */\r\nGRID_STRING_COL_DEF.filterOperators = getTextOps();\r\nGRID_NUMERIC_COL_DEF.filterOperators = getNumberOps();\r\n\r\nfunction CustomColumnsPanel(props: Readonly<GridColumnsPanelProps>) {\r\n return <GridColumnsPanel {...props} sx={columnPanelSx} />;\r\n}\r\n\r\nfunction CustomColumnMenu(props: Readonly<GridColumnMenuProps>) {\r\n return (\r\n <Box sx={columnMenuSx}>\r\n <GridColumnMenu {...props} />\r\n </Box>\r\n );\r\n}\r\n\r\nfunction CustomFilterPanel(\r\n props: Readonly<ComponentProps<typeof GridFilterPanel>>,\r\n) {\r\n return <GridFilterPanel {...props} sx={filterSx} />;\r\n}\r\n\r\nfunction CustomNoRowsOverlay() {\r\n return (\r\n <GridOverlay>\r\n <Box sx={{ mt: 1 }}>Nenhum dado encontrado.</Box>\r\n </GridOverlay>\r\n );\r\n}\r\n\r\nfunction CustomPagination() {\r\n return (\r\n <Box sx={paginationSx}>\r\n <GridPagination />\r\n </Box>\r\n );\r\n}\r\n\r\n/**\r\n * Componente DataTable personalizado baseado no MUI DataGrid.\r\n *\r\n * Fornece uma tabela de dados com estilização customizada, filtros avançados,\r\n * paginação, ordenação e gerenciamento de colunas.\r\n *\r\n * Recursos incluídos:\r\n * - Operador de filtro \"entre\" automático para colunas string e number\r\n * - Painel de filtros customizado\r\n * - Painel de gerenciamento de colunas\r\n * - Paginação estilizada\r\n * - Overlay personalizado para \"sem dados\"\r\n * - Textos em português brasileiro\r\n *\r\n * @param props - Todas as props do MUI DataGrid são suportadas. Ver {@link DataTableProps}.\r\n *\r\n * @example\r\n * <DataTable\r\n * rows={dados}\r\n * columns={colunas}\r\n * loading={carregando}\r\n * pageSizeOptions={[10, 20, 50]}\r\n * />\r\n */\r\nconst DataTable = ({ ...rest }: DataTableProps) => {\r\n return (\r\n <Box sx={{ mb: 2, mt: 2, height: \"100%\" }}>\r\n <DataGrid\r\n sx={tableSx}\r\n {...rest}\r\n className=\"min-h-[210px]!\"\r\n localeText={localeText}\r\n disableRowSelectionOnClick\r\n slotProps={{\r\n loadingOverlay: {\r\n variant: \"linear-progress\",\r\n noRowsVariant: \"skeleton\",\r\n },\r\n }}\r\n slots={{\r\n columnMenu: CustomColumnMenu,\r\n filterPanel: CustomFilterPanel,\r\n columnsPanel: CustomColumnsPanel,\r\n noRowsOverlay: CustomNoRowsOverlay,\r\n pagination: CustomPagination,\r\n }}\r\n />\r\n </Box>\r\n );\r\n};\r\n\r\nexport default DataTable;\r\n","import type { TabColorProps } from \"./utils/interface\";\r\nimport { styled, Tab as MuiTab, Tabs as MuiTabs } from \"@mui/material\";\r\n\r\nconst DEFAULT_TAB_COLOR = \"var(--primary-color)\";\r\nconst DEFAULT_TAB_FONT_FAMILY = \"var(--font-family, inherit)\";\r\n\r\n/**\r\n * Container de abas baseado no MUI `Tabs`, com indicador colorido customizável.\r\n *\r\n * @param props.color - Cor do indicador da aba ativa. Padrão: `var(--primary-color)`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Tabs value={value} onChange={handleChange} color=\"#00B2A6\">\r\n * <Tab label=\"Aba 1\" />\r\n * </Tabs>\r\n * ```\r\n */\r\nexport const Tabs = styled(MuiTabs, {\r\n shouldForwardProp: (prop) => prop !== \"color\",\r\n})<TabColorProps>(({ color = DEFAULT_TAB_COLOR }) => ({\r\n fontFamily: `${DEFAULT_TAB_FONT_FAMILY} !important`,\r\n \"& .MuiTabs-indicator\": { backgroundColor: color },\r\n}));\r\n\r\n/**\r\n * Aba individual baseada no MUI `Tab`, com tipografia e cor de seleção customizáveis.\r\n *\r\n * @param props.color - Cor do rótulo quando a aba está selecionada. Padrão: `var(--primary-color)`.\r\n * @param props.fontFamily - Família tipográfica do rótulo. Padrão: `var(--font-family, inherit)`.\r\n *\r\n * @example\r\n * ```tsx\r\n * <Tab label=\"Configurações\" color=\"#00B2A6\" />\r\n * ```\r\n */\r\nexport const Tab = styled(MuiTab, {\r\n shouldForwardProp: (prop) => prop !== \"color\" && prop !== \"fontFamily\",\r\n})<TabColorProps>(\r\n ({ color = DEFAULT_TAB_COLOR, fontFamily = DEFAULT_TAB_FONT_FAMILY }) => ({\r\n fontWeight: \"500 !important\",\r\n color: \"#000000CC !important\",\r\n fontSize: \"14px !important\",\r\n textTransform: \"uppercase !important\",\r\n fontFamily: `${fontFamily} !important`,\r\n \"&.Mui-selected\": { color: `${color} !important` },\r\n }),\r\n);\r\n"]}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- export { card_default as Card, dialog_default as Dialog } from './chunk-CNXFSE26.mjs';
2
- export { cn, formatCpfCnpj, formatPhoneBr, nvl } from './chunk-NHHZBMJL.mjs';
1
+ export { card_default as Card, data_table_default as DataTable, dialog_default as Dialog, Tab, Tabs } from './chunk-XNWAGZVV.mjs';
2
+ export { cn, formatCpfCnpj, formatPhoneBr, nvl } from './chunk-4DIPDYEU.mjs';
3
3
 
4
4
  // #style-inject:#style-inject
5
5
  function styleInject(css, { insertAt } = {}) {
@@ -24,6 +24,6 @@ function styleInject(css, { insertAt } = {}) {
24
24
  }
25
25
 
26
26
  // src/styles/tailwind-output.css
27
- styleInject('/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\n *,\n :before,\n :after,\n ::backdrop {\n --tw-border-style:solid;\n --tw-font-weight:initial;\n --tw-shadow:0 0 #0000;\n --tw-shadow-color:initial;\n --tw-shadow-alpha:100%;\n --tw-inset-shadow:0 0 #0000;\n --tw-inset-shadow-color:initial;\n --tw-inset-shadow-alpha:100%;\n --tw-ring-color:initial;\n --tw-ring-shadow:0 0 #0000;\n --tw-inset-ring-color:initial;\n --tw-inset-ring-shadow:0 0 #0000;\n --tw-ring-inset:initial;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-outline-style:solid;\n --tw-blur:initial;\n --tw-brightness:initial;\n --tw-contrast:initial;\n --tw-grayscale:initial;\n --tw-hue-rotate:initial;\n --tw-invert:initial;\n --tw-opacity:initial;\n --tw-saturate:initial;\n --tw-sepia:initial;\n --tw-drop-shadow:initial;\n --tw-drop-shadow-color:initial;\n --tw-drop-shadow-alpha:100%;\n --tw-drop-shadow-size:initial;\n }\n }\n}\n@layer theme {\n :root,\n :host {\n --font-sans:ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-600:oklch(57.7% .245 27.325);\n --color-green-50:oklch(98.2% .018 155.826);\n --color-green-400:oklch(79.2% .209 151.711);\n --color-green-500:oklch(72.3% .219 149.579);\n --color-blue-500:oklch(62.3% .214 259.815);\n --color-gray-50:oklch(98.5% .002 247.839);\n --color-gray-100:oklch(96.7% .003 264.542);\n --color-gray-200:oklch(92.8% .006 264.531);\n --color-gray-500:oklch(55.1% .027 264.364);\n --color-gray-600:oklch(44.6% .03 256.802);\n --color-gray-700:oklch(37.3% .034 259.733);\n --color-gray-900:oklch(21% .034 264.665);\n --color-black:#000;\n --color-white:#fff;\n --spacing:.25rem;\n --text-xs:.75rem;\n --text-xs--line-height:calc(1 / .75);\n --text-sm:.875rem;\n --text-sm--line-height:calc(1.25 / .875);\n --text-2xl:1.5rem;\n --text-2xl--line-height:calc(2 / 1.5);\n --font-weight-medium:500;\n --font-weight-semibold:600;\n --font-weight-bold:700;\n --radius-lg:.5rem;\n --default-transition-duration:.15s;\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\n --default-font-family:var(--font-sans);\n --default-mono-font-family:var(--font-mono);\n }\n}\n@layer base {\n *,\n :after,\n :before,\n ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n html,\n :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings,normal);\n font-variation-settings: var(--default-font-variation-settings,normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n sub {\n bottom: -.25em;\n }\n sup {\n top: -.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n vertical-align: middle;\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\n ::placeholder {\n color: currentColor;\n }\n @supports (color:color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]) {\n appearance: button;\n }\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer components;\n@layer utilities {\n .container {\n width: 100%;\n }\n @media (min-width: 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n @media (min-width: 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n @media (min-width: 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n @media (min-width: 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n @media (min-width: 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .block {\n display: block;\n }\n .block\\! {\n display: block !important;\n }\n .flex {\n display: flex;\n }\n .hidden {\n display: none;\n }\n .inline-block {\n display: inline-block;\n }\n .table {\n display: table;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .flex-1 {\n flex: 1;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .resize {\n resize: both;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n .truncate\\! {\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n overflow: hidden !important;\n }\n .rounded {\n border-radius: .25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .bg-blue-500 {\n background-color: var(--color-blue-500);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-0 {\n padding-block: calc(var(--spacing) * 0);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .text-center {\n text-align: center;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading,var(--text-2xl--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading,var(--text-sm--line-height));\n }\n .text-sm\\! {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading,var(--text-xs--line-height));\n }\n .text-xs\\! {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\n }\n .font-bold {\n --tw-font-weight:var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight:var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight:var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .font-semibold\\! {\n --tw-font-weight:var(--font-weight-semibold) !important;\n font-weight: var(--font-weight-semibold) !important;\n }\n .text-black {\n color: var(--color-black);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-white {\n color: var(--color-white);\n }\n .underline {\n text-decoration-line: underline;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .shadow {\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .blur {\n --tw-blur:blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .transition {\n transition-property:\n color,\n background-color,\n border-color,\n outline-color,\n text-decoration-color,\n fill,\n stroke,\n --tw-gradient-from,\n --tw-gradient-via,\n --tw-gradient-to,\n opacity,\n box-shadow,\n transform,\n translate,\n scale,\n rotate,\n filter,\n -webkit-backdrop-filter,\n backdrop-filter,\n display,\n content-visibility,\n overlay,\n pointer-events;\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\n transition-duration: var(--tw-duration,var(--default-transition-duration));\n }\n}\n@property --tw-border-style { syntax:"*";inherits:false;initial-value:solid }\n@property --tw-font-weight { syntax:"*";inherits:false }\n@property --tw-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-shadow-color { syntax:"*";inherits:false }\n@property --tw-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-inset-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-inset-shadow-color { syntax:"*";inherits:false }\n@property --tw-inset-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-ring-color { syntax:"*";inherits:false }\n@property --tw-ring-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-inset-ring-color { syntax:"*";inherits:false }\n@property --tw-inset-ring-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-ring-inset { syntax:"*";inherits:false }\n@property --tw-ring-offset-width { syntax:"<length>";inherits:false;initial-value:0 }\n@property --tw-ring-offset-color { syntax:"*";inherits:false;initial-value:#fff }\n@property --tw-ring-offset-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-outline-style { syntax:"*";inherits:false;initial-value:solid }\n@property --tw-blur { syntax:"*";inherits:false }\n@property --tw-brightness { syntax:"*";inherits:false }\n@property --tw-contrast { syntax:"*";inherits:false }\n@property --tw-grayscale { syntax:"*";inherits:false }\n@property --tw-hue-rotate { syntax:"*";inherits:false }\n@property --tw-invert { syntax:"*";inherits:false }\n@property --tw-opacity { syntax:"*";inherits:false }\n@property --tw-saturate { syntax:"*";inherits:false }\n@property --tw-sepia { syntax:"*";inherits:false }\n@property --tw-drop-shadow { syntax:"*";inherits:false }\n@property --tw-drop-shadow-color { syntax:"*";inherits:false }\n@property --tw-drop-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-drop-shadow-size { syntax:"*";inherits:false }\n');
27
+ styleInject('/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\n *,\n :before,\n :after,\n ::backdrop {\n --tw-border-style:solid;\n --tw-font-weight:initial;\n --tw-shadow:0 0 #0000;\n --tw-shadow-color:initial;\n --tw-shadow-alpha:100%;\n --tw-inset-shadow:0 0 #0000;\n --tw-inset-shadow-color:initial;\n --tw-inset-shadow-alpha:100%;\n --tw-ring-color:initial;\n --tw-ring-shadow:0 0 #0000;\n --tw-inset-ring-color:initial;\n --tw-inset-ring-shadow:0 0 #0000;\n --tw-ring-inset:initial;\n --tw-ring-offset-width:0px;\n --tw-ring-offset-color:#fff;\n --tw-ring-offset-shadow:0 0 #0000;\n --tw-outline-style:solid;\n --tw-blur:initial;\n --tw-brightness:initial;\n --tw-contrast:initial;\n --tw-grayscale:initial;\n --tw-hue-rotate:initial;\n --tw-invert:initial;\n --tw-opacity:initial;\n --tw-saturate:initial;\n --tw-sepia:initial;\n --tw-drop-shadow:initial;\n --tw-drop-shadow-color:initial;\n --tw-drop-shadow-alpha:100%;\n --tw-drop-shadow-size:initial;\n }\n }\n}\n@layer theme {\n :root,\n :host {\n --font-sans:ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-600:oklch(57.7% .245 27.325);\n --color-green-50:oklch(98.2% .018 155.826);\n --color-green-100:oklch(96.2% .044 156.743);\n --color-green-400:oklch(79.2% .209 151.711);\n --color-green-500:oklch(72.3% .219 149.579);\n --color-green-800:oklch(44.8% .119 151.328);\n --color-teal-500:oklch(70.4% .14 182.503);\n --color-blue-500:oklch(62.3% .214 259.815);\n --color-gray-50:oklch(98.5% .002 247.839);\n --color-gray-100:oklch(96.7% .003 264.542);\n --color-gray-200:oklch(92.8% .006 264.531);\n --color-gray-500:oklch(55.1% .027 264.364);\n --color-gray-600:oklch(44.6% .03 256.802);\n --color-gray-700:oklch(37.3% .034 259.733);\n --color-gray-900:oklch(21% .034 264.665);\n --color-black:#000;\n --color-white:#fff;\n --spacing:.25rem;\n --container-3xl:48rem;\n --text-xs:.75rem;\n --text-xs--line-height:calc(1 / .75);\n --text-sm:.875rem;\n --text-sm--line-height:calc(1.25 / .875);\n --text-2xl:1.5rem;\n --text-2xl--line-height:calc(2 / 1.5);\n --font-weight-medium:500;\n --font-weight-semibold:600;\n --font-weight-bold:700;\n --radius-lg:.5rem;\n --default-transition-duration:.15s;\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\n --default-font-family:var(--font-sans);\n --default-mono-font-family:var(--font-mono);\n }\n}\n@layer base {\n *,\n :after,\n :before,\n ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n html,\n :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings,normal);\n font-variation-settings: var(--default-font-variation-settings,normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n sub {\n bottom: -.25em;\n }\n sup {\n top: -.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n vertical-align: middle;\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\n ::placeholder {\n color: currentColor;\n }\n @supports (color:color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]) {\n appearance: button;\n }\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer components;\n@layer utilities {\n .container {\n width: 100%;\n }\n @media (min-width: 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n @media (min-width: 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n @media (min-width: 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n @media (min-width: 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n @media (min-width: 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .block {\n display: block;\n }\n .block\\! {\n display: block !important;\n }\n .flex {\n display: flex;\n }\n .hidden {\n display: none;\n }\n .inline-block {\n display: inline-block;\n }\n .table {\n display: table;\n }\n .min-h-\\[210px\\]\\! {\n min-height: 210px !important;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .max-w-3xl {\n max-width: var(--container-3xl);\n }\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n .flex-1 {\n flex: 1;\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .resize {\n resize: both;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n .truncate\\! {\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n overflow: hidden !important;\n }\n .rounded {\n border-radius: .25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-green-500 {\n border-color: var(--color-green-500);\n }\n .bg-blue-500 {\n background-color: var(--color-blue-500);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n .bg-green-50 {\n background-color: var(--color-green-50);\n }\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-teal-500 {\n background-color: var(--color-teal-500);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-6 {\n padding-inline: calc(var(--spacing) * 6);\n }\n .py-0 {\n padding-block: calc(var(--spacing) * 0);\n }\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n .text-center {\n text-align: center;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading,var(--text-2xl--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading,var(--text-sm--line-height));\n }\n .text-sm\\! {\n font-size: var(--text-sm) !important;\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading,var(--text-xs--line-height));\n }\n .text-xs\\! {\n font-size: var(--text-xs) !important;\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\n }\n .font-bold {\n --tw-font-weight:var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight:var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight:var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .font-semibold\\! {\n --tw-font-weight:var(--font-weight-semibold) !important;\n font-weight: var(--font-weight-semibold) !important;\n }\n .text-black {\n color: var(--color-black);\n }\n .text-gray-500 {\n color: var(--color-gray-500);\n }\n .text-gray-600 {\n color: var(--color-gray-600);\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n .text-green-400 {\n color: var(--color-green-400);\n }\n .text-green-800 {\n color: var(--color-green-800);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .underline {\n text-decoration-line: underline;\n }\n .shadow {\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .blur {\n --tw-blur:blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .transition {\n transition-property:\n color,\n background-color,\n border-color,\n outline-color,\n text-decoration-color,\n fill,\n stroke,\n --tw-gradient-from,\n --tw-gradient-via,\n --tw-gradient-to,\n opacity,\n box-shadow,\n transform,\n translate,\n scale,\n rotate,\n filter,\n -webkit-backdrop-filter,\n backdrop-filter,\n display,\n content-visibility,\n overlay,\n pointer-events;\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\n transition-duration: var(--tw-duration,var(--default-transition-duration));\n }\n}\n@property --tw-border-style { syntax:"*";inherits:false;initial-value:solid }\n@property --tw-font-weight { syntax:"*";inherits:false }\n@property --tw-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-shadow-color { syntax:"*";inherits:false }\n@property --tw-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-inset-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-inset-shadow-color { syntax:"*";inherits:false }\n@property --tw-inset-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-ring-color { syntax:"*";inherits:false }\n@property --tw-ring-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-inset-ring-color { syntax:"*";inherits:false }\n@property --tw-inset-ring-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-ring-inset { syntax:"*";inherits:false }\n@property --tw-ring-offset-width { syntax:"<length>";inherits:false;initial-value:0 }\n@property --tw-ring-offset-color { syntax:"*";inherits:false;initial-value:#fff }\n@property --tw-ring-offset-shadow { syntax:"*";inherits:false;initial-value:0 0 #0000 }\n@property --tw-outline-style { syntax:"*";inherits:false;initial-value:solid }\n@property --tw-blur { syntax:"*";inherits:false }\n@property --tw-brightness { syntax:"*";inherits:false }\n@property --tw-contrast { syntax:"*";inherits:false }\n@property --tw-grayscale { syntax:"*";inherits:false }\n@property --tw-hue-rotate { syntax:"*";inherits:false }\n@property --tw-invert { syntax:"*";inherits:false }\n@property --tw-opacity { syntax:"*";inherits:false }\n@property --tw-saturate { syntax:"*";inherits:false }\n@property --tw-sepia { syntax:"*";inherits:false }\n@property --tw-drop-shadow { syntax:"*";inherits:false }\n@property --tw-drop-shadow-color { syntax:"*";inherits:false }\n@property --tw-drop-shadow-alpha { syntax:"<percentage>";inherits:false;initial-value:100% }\n@property --tw-drop-shadow-size { syntax:"*";inherits:false }\n');
28
28
  //# sourceMappingURL=index.mjs.map
29
29
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["#style-inject:#style-inject","../src/styles/tailwind-output.css"],"names":[],"mappings":";;;;AACyB,SAAR,YAA6B,GAAA,EAAK,EAAE,QAAA,EAAS,GAAI,EAAC,EAAG;AAC1D,EAAA,IAAY,OAAO,QAAA,KAAa,WAAA,EAAa;AAE7C,EAAA,MAAM,OAAO,QAAA,CAAS,IAAA,IAAQ,SAAS,oBAAA,CAAqB,MAAM,EAAE,CAAC,CAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,aAAA,CAAc,OAAO,CAAA;AAC5C,EAAA,KAAA,CAAM,IAAA,GAAO,UAAA;AAEb,EAAA,IAAI,aAAa,KAAA,EAAO;AACtB,IAAA,IAAI,KAAK,UAAA,EAAY;AACnB,MAAA,IAAA,CAAK,YAAA,CAAa,KAAA,EAAO,IAAA,CAAK,UAAU,CAAA;AAAA,IAC1C,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,IACxB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,MAAM,UAAA,EAAY;AACpB,IAAA,KAAA,CAAM,WAAW,OAAA,GAAU,GAAA;AAAA,EAC7B,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,WAAA,CAAY,QAAA,CAAS,cAAA,CAAe,GAAG,CAAC,CAAA;AAAA,EAChD;AACF;;;ACvB8B,WAAA,CAAY,+sfAAmyf,CAAA","file":"index.mjs","sourcesContent":["\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\\n@layer properties {\\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\\n *,\\n :before,\\n :after,\\n ::backdrop {\\n --tw-border-style:solid;\\n --tw-font-weight:initial;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-color:initial;\\n --tw-shadow-alpha:100%;\\n --tw-inset-shadow:0 0 #0000;\\n --tw-inset-shadow-color:initial;\\n --tw-inset-shadow-alpha:100%;\\n --tw-ring-color:initial;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-inset-ring-color:initial;\\n --tw-inset-ring-shadow:0 0 #0000;\\n --tw-ring-inset:initial;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-outline-style:solid;\\n --tw-blur:initial;\\n --tw-brightness:initial;\\n --tw-contrast:initial;\\n --tw-grayscale:initial;\\n --tw-hue-rotate:initial;\\n --tw-invert:initial;\\n --tw-opacity:initial;\\n --tw-saturate:initial;\\n --tw-sepia:initial;\\n --tw-drop-shadow:initial;\\n --tw-drop-shadow-color:initial;\\n --tw-drop-shadow-alpha:100%;\\n --tw-drop-shadow-size:initial;\\n }\\n }\\n}\\n@layer theme {\\n :root,\\n :host {\\n --font-sans:ui-sans-serif,\\n system-ui,\\n sans-serif,\\n \\\"Apple Color Emoji\\\",\\n \\\"Segoe UI Emoji\\\",\\n \\\"Segoe UI Symbol\\\",\\n \\\"Noto Color Emoji\\\";\\n --font-mono:ui-monospace,\\n SFMono-Regular,\\n Menlo,\\n Monaco,\\n Consolas,\\n \\\"Liberation Mono\\\",\\n \\\"Courier New\\\",\\n monospace;\\n --color-red-600:oklch(57.7% .245 27.325);\\n --color-green-50:oklch(98.2% .018 155.826);\\n --color-green-400:oklch(79.2% .209 151.711);\\n --color-green-500:oklch(72.3% .219 149.579);\\n --color-blue-500:oklch(62.3% .214 259.815);\\n --color-gray-50:oklch(98.5% .002 247.839);\\n --color-gray-100:oklch(96.7% .003 264.542);\\n --color-gray-200:oklch(92.8% .006 264.531);\\n --color-gray-500:oklch(55.1% .027 264.364);\\n --color-gray-600:oklch(44.6% .03 256.802);\\n --color-gray-700:oklch(37.3% .034 259.733);\\n --color-gray-900:oklch(21% .034 264.665);\\n --color-black:#000;\\n --color-white:#fff;\\n --spacing:.25rem;\\n --text-xs:.75rem;\\n --text-xs--line-height:calc(1 / .75);\\n --text-sm:.875rem;\\n --text-sm--line-height:calc(1.25 / .875);\\n --text-2xl:1.5rem;\\n --text-2xl--line-height:calc(2 / 1.5);\\n --font-weight-medium:500;\\n --font-weight-semibold:600;\\n --font-weight-bold:700;\\n --radius-lg:.5rem;\\n --default-transition-duration:.15s;\\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\\n --default-font-family:var(--font-sans);\\n --default-mono-font-family:var(--font-mono);\\n }\\n}\\n@layer base {\\n *,\\n :after,\\n :before,\\n ::backdrop {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n ::file-selector-button {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n html,\\n :host {\\n -webkit-text-size-adjust: 100%;\\n tab-size: 4;\\n line-height: 1.5;\\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\");\\n font-feature-settings: var(--default-font-feature-settings,normal);\\n font-variation-settings: var(--default-font-variation-settings,normal);\\n -webkit-tap-highlight-color: transparent;\\n }\\n hr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n }\\n abbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n font-size: inherit;\\n font-weight: inherit;\\n }\\n a {\\n color: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n text-decoration: inherit;\\n }\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n code,\\n kbd,\\n samp,\\n pre {\\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace);\\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\\n font-size: 1em;\\n }\\n small {\\n font-size: 80%;\\n }\\n sub,\\n sup {\\n vertical-align: baseline;\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n }\\n sub {\\n bottom: -.25em;\\n }\\n sup {\\n top: -.5em;\\n }\\n table {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n }\\n :-moz-focusring {\\n outline: auto;\\n }\\n progress {\\n vertical-align: baseline;\\n }\\n summary {\\n display: list-item;\\n }\\n ol,\\n ul,\\n menu {\\n list-style: none;\\n }\\n img,\\n svg,\\n video,\\n canvas,\\n audio,\\n iframe,\\n embed,\\n object {\\n vertical-align: middle;\\n display: block;\\n }\\n img,\\n video {\\n max-width: 100%;\\n height: auto;\\n }\\n button,\\n input,\\n select,\\n optgroup,\\n textarea {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n ::file-selector-button {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n :where(select:is([multiple], [size])) optgroup {\\n font-weight: bolder;\\n }\\n :where(select:is([multiple], [size])) optgroup option {\\n padding-inline-start: 20px;\\n }\\n ::file-selector-button {\\n margin-inline-end: 4px;\\n }\\n ::placeholder {\\n opacity: 1;\\n }\\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\\n ::placeholder {\\n color: currentColor;\\n }\\n @supports (color:color-mix(in lab, red, red)) {\\n ::placeholder {\\n color: color-mix(in oklab, currentcolor 50%, transparent);\\n }\\n }\\n }\\n textarea {\\n resize: vertical;\\n }\\n ::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n ::-webkit-date-and-time-value {\\n min-height: 1lh;\\n text-align: inherit;\\n }\\n ::-webkit-datetime-edit {\\n display: inline-flex;\\n }\\n ::-webkit-datetime-edit-fields-wrapper {\\n padding: 0;\\n }\\n ::-webkit-datetime-edit {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-year-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-month-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-day-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-hour-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-minute-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-second-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-millisecond-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-meridiem-field {\\n padding-block: 0;\\n }\\n ::-webkit-calendar-picker-indicator {\\n line-height: 1;\\n }\\n :-moz-ui-invalid {\\n box-shadow: none;\\n }\\n button,\\n input:where([type=button], [type=reset], [type=submit]) {\\n appearance: button;\\n }\\n ::file-selector-button {\\n appearance: button;\\n }\\n ::-webkit-inner-spin-button {\\n height: auto;\\n }\\n ::-webkit-outer-spin-button {\\n height: auto;\\n }\\n [hidden]:where(:not([hidden=until-found])) {\\n display: none !important;\\n }\\n}\\n@layer components;\\n@layer utilities {\\n .container {\\n width: 100%;\\n }\\n @media (min-width: 40rem) {\\n .container {\\n max-width: 40rem;\\n }\\n }\\n @media (min-width: 48rem) {\\n .container {\\n max-width: 48rem;\\n }\\n }\\n @media (min-width: 64rem) {\\n .container {\\n max-width: 64rem;\\n }\\n }\\n @media (min-width: 80rem) {\\n .container {\\n max-width: 80rem;\\n }\\n }\\n @media (min-width: 96rem) {\\n .container {\\n max-width: 96rem;\\n }\\n }\\n .mt-2 {\\n margin-top: calc(var(--spacing) * 2);\\n }\\n .mt-4 {\\n margin-top: calc(var(--spacing) * 4);\\n }\\n .block {\\n display: block;\\n }\\n .block\\\\! {\\n display: block !important;\\n }\\n .flex {\\n display: flex;\\n }\\n .hidden {\\n display: none;\\n }\\n .inline-block {\\n display: inline-block;\\n }\\n .table {\\n display: table;\\n }\\n .min-h-screen {\\n min-height: 100vh;\\n }\\n .min-w-0 {\\n min-width: calc(var(--spacing) * 0);\\n }\\n .flex-1 {\\n flex: 1;\\n }\\n .border-collapse {\\n border-collapse: collapse;\\n }\\n .resize {\\n resize: both;\\n }\\n .flex-col {\\n flex-direction: column;\\n }\\n .items-center {\\n align-items: center;\\n }\\n .justify-center {\\n justify-content: center;\\n }\\n .gap-2 {\\n gap: calc(var(--spacing) * 2);\\n }\\n .gap-3 {\\n gap: calc(var(--spacing) * 3);\\n }\\n .truncate {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n }\\n .truncate\\\\! {\\n text-overflow: ellipsis !important;\\n white-space: nowrap !important;\\n overflow: hidden !important;\\n }\\n .rounded {\\n border-radius: .25rem;\\n }\\n .rounded-lg {\\n border-radius: var(--radius-lg);\\n }\\n .border {\\n border-style: var(--tw-border-style);\\n border-width: 1px;\\n }\\n .border-green-500 {\\n border-color: var(--color-green-500);\\n }\\n .bg-blue-500 {\\n background-color: var(--color-blue-500);\\n }\\n .bg-gray-50 {\\n background-color: var(--color-gray-50);\\n }\\n .bg-gray-100 {\\n background-color: var(--color-gray-100);\\n }\\n .bg-gray-200 {\\n background-color: var(--color-gray-200);\\n }\\n .bg-gray-900 {\\n background-color: var(--color-gray-900);\\n }\\n .bg-green-50 {\\n background-color: var(--color-green-50);\\n }\\n .bg-red-600 {\\n background-color: var(--color-red-600);\\n }\\n .p-4 {\\n padding: calc(var(--spacing) * 4);\\n }\\n .px-2 {\\n padding-inline: calc(var(--spacing) * 2);\\n }\\n .px-4 {\\n padding-inline: calc(var(--spacing) * 4);\\n }\\n .px-6 {\\n padding-inline: calc(var(--spacing) * 6);\\n }\\n .py-0 {\\n padding-block: calc(var(--spacing) * 0);\\n }\\n .py-0\\\\.5 {\\n padding-block: calc(var(--spacing) * .5);\\n }\\n .py-1 {\\n padding-block: calc(var(--spacing) * 1);\\n }\\n .py-2 {\\n padding-block: calc(var(--spacing) * 2);\\n }\\n .py-3 {\\n padding-block: calc(var(--spacing) * 3);\\n }\\n .text-center {\\n text-align: center;\\n }\\n .font-mono {\\n font-family: var(--font-mono);\\n }\\n .text-2xl {\\n font-size: var(--text-2xl);\\n line-height: var(--tw-leading,var(--text-2xl--line-height));\\n }\\n .text-sm {\\n font-size: var(--text-sm);\\n line-height: var(--tw-leading,var(--text-sm--line-height));\\n }\\n .text-sm\\\\! {\\n font-size: var(--text-sm) !important;\\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\\n }\\n .text-xs {\\n font-size: var(--text-xs);\\n line-height: var(--tw-leading,var(--text-xs--line-height));\\n }\\n .text-xs\\\\! {\\n font-size: var(--text-xs) !important;\\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\\n }\\n .font-bold {\\n --tw-font-weight:var(--font-weight-bold);\\n font-weight: var(--font-weight-bold);\\n }\\n .font-medium {\\n --tw-font-weight:var(--font-weight-medium);\\n font-weight: var(--font-weight-medium);\\n }\\n .font-semibold {\\n --tw-font-weight:var(--font-weight-semibold);\\n font-weight: var(--font-weight-semibold);\\n }\\n .font-semibold\\\\! {\\n --tw-font-weight:var(--font-weight-semibold) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n }\\n .text-black {\\n color: var(--color-black);\\n }\\n .text-gray-500 {\\n color: var(--color-gray-500);\\n }\\n .text-gray-600 {\\n color: var(--color-gray-600);\\n }\\n .text-gray-700 {\\n color: var(--color-gray-700);\\n }\\n .text-gray-900 {\\n color: var(--color-gray-900);\\n }\\n .text-green-400 {\\n color: var(--color-green-400);\\n }\\n .text-white {\\n color: var(--color-white);\\n }\\n .underline {\\n text-decoration-line: underline;\\n }\\n .antialiased {\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n }\\n .shadow {\\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\\n box-shadow:\\n var(--tw-inset-shadow),\\n var(--tw-inset-ring-shadow),\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow);\\n }\\n .outline {\\n outline-style: var(--tw-outline-style);\\n outline-width: 1px;\\n }\\n .blur {\\n --tw-blur:blur(8px);\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .filter {\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .transition {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n outline-color,\\n text-decoration-color,\\n fill,\\n stroke,\\n --tw-gradient-from,\\n --tw-gradient-via,\\n --tw-gradient-to,\\n opacity,\\n box-shadow,\\n transform,\\n translate,\\n scale,\\n rotate,\\n filter,\\n -webkit-backdrop-filter,\\n backdrop-filter,\\n display,\\n content-visibility,\\n overlay,\\n pointer-events;\\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\\n transition-duration: var(--tw-duration,var(--default-transition-duration));\\n }\\n}\\n@property --tw-border-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-font-weight { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-inset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-ring-inset { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-offset-width { syntax:\\\"<length>\\\";inherits:false;initial-value:0 }\\n@property --tw-ring-offset-color { syntax:\\\"*\\\";inherits:false;initial-value:#fff }\\n@property --tw-ring-offset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-outline-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-blur { syntax:\\\"*\\\";inherits:false }\\n@property --tw-brightness { syntax:\\\"*\\\";inherits:false }\\n@property --tw-contrast { syntax:\\\"*\\\";inherits:false }\\n@property --tw-grayscale { syntax:\\\"*\\\";inherits:false }\\n@property --tw-hue-rotate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-invert { syntax:\\\"*\\\";inherits:false }\\n@property --tw-opacity { syntax:\\\"*\\\";inherits:false }\\n@property --tw-saturate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-sepia { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-drop-shadow-size { syntax:\\\"*\\\";inherits:false }\\n\")"]}
1
+ {"version":3,"sources":["#style-inject:#style-inject","../src/styles/tailwind-output.css"],"names":[],"mappings":";;;;AACyB,SAAR,YAA6B,GAAA,EAAK,EAAE,QAAA,EAAS,GAAI,EAAC,EAAG;AAC1D,EAAA,IAAY,OAAO,QAAA,KAAa,WAAA,EAAa;AAE7C,EAAA,MAAM,OAAO,QAAA,CAAS,IAAA,IAAQ,SAAS,oBAAA,CAAqB,MAAM,EAAE,CAAC,CAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,aAAA,CAAc,OAAO,CAAA;AAC5C,EAAA,KAAA,CAAM,IAAA,GAAO,UAAA;AAEb,EAAA,IAAI,aAAa,KAAA,EAAO;AACtB,IAAA,IAAI,KAAK,UAAA,EAAY;AACnB,MAAA,IAAA,CAAK,YAAA,CAAa,KAAA,EAAO,IAAA,CAAK,UAAU,CAAA;AAAA,IAC1C,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,IACxB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,MAAM,UAAA,EAAY;AACpB,IAAA,KAAA,CAAM,WAAW,OAAA,GAAU,GAAA;AAAA,EAC7B,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,WAAA,CAAY,QAAA,CAAS,cAAA,CAAe,GAAG,CAAC,CAAA;AAAA,EAChD;AACF;;;ACvB8B,WAAA,CAAY,kpgBAAsugB,CAAA","file":"index.mjs","sourcesContent":["\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\"/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\\n@layer properties {\\n @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {\\n *,\\n :before,\\n :after,\\n ::backdrop {\\n --tw-border-style:solid;\\n --tw-font-weight:initial;\\n --tw-shadow:0 0 #0000;\\n --tw-shadow-color:initial;\\n --tw-shadow-alpha:100%;\\n --tw-inset-shadow:0 0 #0000;\\n --tw-inset-shadow-color:initial;\\n --tw-inset-shadow-alpha:100%;\\n --tw-ring-color:initial;\\n --tw-ring-shadow:0 0 #0000;\\n --tw-inset-ring-color:initial;\\n --tw-inset-ring-shadow:0 0 #0000;\\n --tw-ring-inset:initial;\\n --tw-ring-offset-width:0px;\\n --tw-ring-offset-color:#fff;\\n --tw-ring-offset-shadow:0 0 #0000;\\n --tw-outline-style:solid;\\n --tw-blur:initial;\\n --tw-brightness:initial;\\n --tw-contrast:initial;\\n --tw-grayscale:initial;\\n --tw-hue-rotate:initial;\\n --tw-invert:initial;\\n --tw-opacity:initial;\\n --tw-saturate:initial;\\n --tw-sepia:initial;\\n --tw-drop-shadow:initial;\\n --tw-drop-shadow-color:initial;\\n --tw-drop-shadow-alpha:100%;\\n --tw-drop-shadow-size:initial;\\n }\\n }\\n}\\n@layer theme {\\n :root,\\n :host {\\n --font-sans:ui-sans-serif,\\n system-ui,\\n sans-serif,\\n \\\"Apple Color Emoji\\\",\\n \\\"Segoe UI Emoji\\\",\\n \\\"Segoe UI Symbol\\\",\\n \\\"Noto Color Emoji\\\";\\n --font-mono:ui-monospace,\\n SFMono-Regular,\\n Menlo,\\n Monaco,\\n Consolas,\\n \\\"Liberation Mono\\\",\\n \\\"Courier New\\\",\\n monospace;\\n --color-red-600:oklch(57.7% .245 27.325);\\n --color-green-50:oklch(98.2% .018 155.826);\\n --color-green-100:oklch(96.2% .044 156.743);\\n --color-green-400:oklch(79.2% .209 151.711);\\n --color-green-500:oklch(72.3% .219 149.579);\\n --color-green-800:oklch(44.8% .119 151.328);\\n --color-teal-500:oklch(70.4% .14 182.503);\\n --color-blue-500:oklch(62.3% .214 259.815);\\n --color-gray-50:oklch(98.5% .002 247.839);\\n --color-gray-100:oklch(96.7% .003 264.542);\\n --color-gray-200:oklch(92.8% .006 264.531);\\n --color-gray-500:oklch(55.1% .027 264.364);\\n --color-gray-600:oklch(44.6% .03 256.802);\\n --color-gray-700:oklch(37.3% .034 259.733);\\n --color-gray-900:oklch(21% .034 264.665);\\n --color-black:#000;\\n --color-white:#fff;\\n --spacing:.25rem;\\n --container-3xl:48rem;\\n --text-xs:.75rem;\\n --text-xs--line-height:calc(1 / .75);\\n --text-sm:.875rem;\\n --text-sm--line-height:calc(1.25 / .875);\\n --text-2xl:1.5rem;\\n --text-2xl--line-height:calc(2 / 1.5);\\n --font-weight-medium:500;\\n --font-weight-semibold:600;\\n --font-weight-bold:700;\\n --radius-lg:.5rem;\\n --default-transition-duration:.15s;\\n --default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);\\n --default-font-family:var(--font-sans);\\n --default-mono-font-family:var(--font-mono);\\n }\\n}\\n@layer base {\\n *,\\n :after,\\n :before,\\n ::backdrop {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n ::file-selector-button {\\n box-sizing: border-box;\\n border: 0 solid;\\n margin: 0;\\n padding: 0;\\n }\\n html,\\n :host {\\n -webkit-text-size-adjust: 100%;\\n tab-size: 4;\\n line-height: 1.5;\\n font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\");\\n font-feature-settings: var(--default-font-feature-settings,normal);\\n font-variation-settings: var(--default-font-variation-settings,normal);\\n -webkit-tap-highlight-color: transparent;\\n }\\n hr {\\n height: 0;\\n color: inherit;\\n border-top-width: 1px;\\n }\\n abbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n }\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n font-size: inherit;\\n font-weight: inherit;\\n }\\n a {\\n color: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n -webkit-text-decoration: inherit;\\n text-decoration: inherit;\\n }\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n code,\\n kbd,\\n samp,\\n pre {\\n font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace);\\n font-feature-settings: var(--default-mono-font-feature-settings,normal);\\n font-variation-settings: var(--default-mono-font-variation-settings,normal);\\n font-size: 1em;\\n }\\n small {\\n font-size: 80%;\\n }\\n sub,\\n sup {\\n vertical-align: baseline;\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n }\\n sub {\\n bottom: -.25em;\\n }\\n sup {\\n top: -.5em;\\n }\\n table {\\n text-indent: 0;\\n border-color: inherit;\\n border-collapse: collapse;\\n }\\n :-moz-focusring {\\n outline: auto;\\n }\\n progress {\\n vertical-align: baseline;\\n }\\n summary {\\n display: list-item;\\n }\\n ol,\\n ul,\\n menu {\\n list-style: none;\\n }\\n img,\\n svg,\\n video,\\n canvas,\\n audio,\\n iframe,\\n embed,\\n object {\\n vertical-align: middle;\\n display: block;\\n }\\n img,\\n video {\\n max-width: 100%;\\n height: auto;\\n }\\n button,\\n input,\\n select,\\n optgroup,\\n textarea {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n ::file-selector-button {\\n font: inherit;\\n font-feature-settings: inherit;\\n font-variation-settings: inherit;\\n letter-spacing: inherit;\\n color: inherit;\\n opacity: 1;\\n background-color: #0000;\\n border-radius: 0;\\n }\\n :where(select:is([multiple], [size])) optgroup {\\n font-weight: bolder;\\n }\\n :where(select:is([multiple], [size])) optgroup option {\\n padding-inline-start: 20px;\\n }\\n ::file-selector-button {\\n margin-inline-end: 4px;\\n }\\n ::placeholder {\\n opacity: 1;\\n }\\n @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {\\n ::placeholder {\\n color: currentColor;\\n }\\n @supports (color:color-mix(in lab, red, red)) {\\n ::placeholder {\\n color: color-mix(in oklab, currentcolor 50%, transparent);\\n }\\n }\\n }\\n textarea {\\n resize: vertical;\\n }\\n ::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n ::-webkit-date-and-time-value {\\n min-height: 1lh;\\n text-align: inherit;\\n }\\n ::-webkit-datetime-edit {\\n display: inline-flex;\\n }\\n ::-webkit-datetime-edit-fields-wrapper {\\n padding: 0;\\n }\\n ::-webkit-datetime-edit {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-year-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-month-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-day-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-hour-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-minute-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-second-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-millisecond-field {\\n padding-block: 0;\\n }\\n ::-webkit-datetime-edit-meridiem-field {\\n padding-block: 0;\\n }\\n ::-webkit-calendar-picker-indicator {\\n line-height: 1;\\n }\\n :-moz-ui-invalid {\\n box-shadow: none;\\n }\\n button,\\n input:where([type=button], [type=reset], [type=submit]) {\\n appearance: button;\\n }\\n ::file-selector-button {\\n appearance: button;\\n }\\n ::-webkit-inner-spin-button {\\n height: auto;\\n }\\n ::-webkit-outer-spin-button {\\n height: auto;\\n }\\n [hidden]:where(:not([hidden=until-found])) {\\n display: none !important;\\n }\\n}\\n@layer components;\\n@layer utilities {\\n .container {\\n width: 100%;\\n }\\n @media (min-width: 40rem) {\\n .container {\\n max-width: 40rem;\\n }\\n }\\n @media (min-width: 48rem) {\\n .container {\\n max-width: 48rem;\\n }\\n }\\n @media (min-width: 64rem) {\\n .container {\\n max-width: 64rem;\\n }\\n }\\n @media (min-width: 80rem) {\\n .container {\\n max-width: 80rem;\\n }\\n }\\n @media (min-width: 96rem) {\\n .container {\\n max-width: 96rem;\\n }\\n }\\n .mt-2 {\\n margin-top: calc(var(--spacing) * 2);\\n }\\n .mt-4 {\\n margin-top: calc(var(--spacing) * 4);\\n }\\n .block {\\n display: block;\\n }\\n .block\\\\! {\\n display: block !important;\\n }\\n .flex {\\n display: flex;\\n }\\n .hidden {\\n display: none;\\n }\\n .inline-block {\\n display: inline-block;\\n }\\n .table {\\n display: table;\\n }\\n .min-h-\\\\[210px\\\\]\\\\! {\\n min-height: 210px !important;\\n }\\n .min-h-screen {\\n min-height: 100vh;\\n }\\n .max-w-3xl {\\n max-width: var(--container-3xl);\\n }\\n .min-w-0 {\\n min-width: calc(var(--spacing) * 0);\\n }\\n .flex-1 {\\n flex: 1;\\n }\\n .border-collapse {\\n border-collapse: collapse;\\n }\\n .resize {\\n resize: both;\\n }\\n .flex-col {\\n flex-direction: column;\\n }\\n .items-center {\\n align-items: center;\\n }\\n .justify-center {\\n justify-content: center;\\n }\\n .gap-2 {\\n gap: calc(var(--spacing) * 2);\\n }\\n .gap-3 {\\n gap: calc(var(--spacing) * 3);\\n }\\n .truncate {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n }\\n .truncate\\\\! {\\n text-overflow: ellipsis !important;\\n white-space: nowrap !important;\\n overflow: hidden !important;\\n }\\n .rounded {\\n border-radius: .25rem;\\n }\\n .rounded-lg {\\n border-radius: var(--radius-lg);\\n }\\n .border {\\n border-style: var(--tw-border-style);\\n border-width: 1px;\\n }\\n .border-green-500 {\\n border-color: var(--color-green-500);\\n }\\n .bg-blue-500 {\\n background-color: var(--color-blue-500);\\n }\\n .bg-gray-50 {\\n background-color: var(--color-gray-50);\\n }\\n .bg-gray-100 {\\n background-color: var(--color-gray-100);\\n }\\n .bg-gray-200 {\\n background-color: var(--color-gray-200);\\n }\\n .bg-gray-900 {\\n background-color: var(--color-gray-900);\\n }\\n .bg-green-50 {\\n background-color: var(--color-green-50);\\n }\\n .bg-green-100 {\\n background-color: var(--color-green-100);\\n }\\n .bg-red-600 {\\n background-color: var(--color-red-600);\\n }\\n .bg-teal-500 {\\n background-color: var(--color-teal-500);\\n }\\n .p-4 {\\n padding: calc(var(--spacing) * 4);\\n }\\n .px-2 {\\n padding-inline: calc(var(--spacing) * 2);\\n }\\n .px-4 {\\n padding-inline: calc(var(--spacing) * 4);\\n }\\n .px-6 {\\n padding-inline: calc(var(--spacing) * 6);\\n }\\n .py-0 {\\n padding-block: calc(var(--spacing) * 0);\\n }\\n .py-0\\\\.5 {\\n padding-block: calc(var(--spacing) * .5);\\n }\\n .py-1 {\\n padding-block: calc(var(--spacing) * 1);\\n }\\n .py-2 {\\n padding-block: calc(var(--spacing) * 2);\\n }\\n .py-3 {\\n padding-block: calc(var(--spacing) * 3);\\n }\\n .text-center {\\n text-align: center;\\n }\\n .font-mono {\\n font-family: var(--font-mono);\\n }\\n .text-2xl {\\n font-size: var(--text-2xl);\\n line-height: var(--tw-leading,var(--text-2xl--line-height));\\n }\\n .text-sm {\\n font-size: var(--text-sm);\\n line-height: var(--tw-leading,var(--text-sm--line-height));\\n }\\n .text-sm\\\\! {\\n font-size: var(--text-sm) !important;\\n line-height: var(--tw-leading,var(--text-sm--line-height)) !important;\\n }\\n .text-xs {\\n font-size: var(--text-xs);\\n line-height: var(--tw-leading,var(--text-xs--line-height));\\n }\\n .text-xs\\\\! {\\n font-size: var(--text-xs) !important;\\n line-height: var(--tw-leading,var(--text-xs--line-height)) !important;\\n }\\n .font-bold {\\n --tw-font-weight:var(--font-weight-bold);\\n font-weight: var(--font-weight-bold);\\n }\\n .font-medium {\\n --tw-font-weight:var(--font-weight-medium);\\n font-weight: var(--font-weight-medium);\\n }\\n .font-semibold {\\n --tw-font-weight:var(--font-weight-semibold);\\n font-weight: var(--font-weight-semibold);\\n }\\n .font-semibold\\\\! {\\n --tw-font-weight:var(--font-weight-semibold) !important;\\n font-weight: var(--font-weight-semibold) !important;\\n }\\n .text-black {\\n color: var(--color-black);\\n }\\n .text-gray-500 {\\n color: var(--color-gray-500);\\n }\\n .text-gray-600 {\\n color: var(--color-gray-600);\\n }\\n .text-gray-700 {\\n color: var(--color-gray-700);\\n }\\n .text-gray-900 {\\n color: var(--color-gray-900);\\n }\\n .text-green-400 {\\n color: var(--color-green-400);\\n }\\n .text-green-800 {\\n color: var(--color-green-800);\\n }\\n .text-white {\\n color: var(--color-white);\\n }\\n .uppercase {\\n text-transform: uppercase;\\n }\\n .underline {\\n text-decoration-line: underline;\\n }\\n .shadow {\\n --tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);\\n box-shadow:\\n var(--tw-inset-shadow),\\n var(--tw-inset-ring-shadow),\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow);\\n }\\n .outline {\\n outline-style: var(--tw-outline-style);\\n outline-width: 1px;\\n }\\n .blur {\\n --tw-blur:blur(8px);\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .filter {\\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\\n }\\n .transition {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n outline-color,\\n text-decoration-color,\\n fill,\\n stroke,\\n --tw-gradient-from,\\n --tw-gradient-via,\\n --tw-gradient-to,\\n opacity,\\n box-shadow,\\n transform,\\n translate,\\n scale,\\n rotate,\\n filter,\\n -webkit-backdrop-filter,\\n backdrop-filter,\\n display,\\n content-visibility,\\n overlay,\\n pointer-events;\\n transition-timing-function: var(--tw-ease,var(--default-transition-timing-function));\\n transition-duration: var(--tw-duration,var(--default-transition-duration));\\n }\\n}\\n@property --tw-border-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-font-weight { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-inset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-inset-ring-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-inset-ring-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-ring-inset { syntax:\\\"*\\\";inherits:false }\\n@property --tw-ring-offset-width { syntax:\\\"<length>\\\";inherits:false;initial-value:0 }\\n@property --tw-ring-offset-color { syntax:\\\"*\\\";inherits:false;initial-value:#fff }\\n@property --tw-ring-offset-shadow { syntax:\\\"*\\\";inherits:false;initial-value:0 0 #0000 }\\n@property --tw-outline-style { syntax:\\\"*\\\";inherits:false;initial-value:solid }\\n@property --tw-blur { syntax:\\\"*\\\";inherits:false }\\n@property --tw-brightness { syntax:\\\"*\\\";inherits:false }\\n@property --tw-contrast { syntax:\\\"*\\\";inherits:false }\\n@property --tw-grayscale { syntax:\\\"*\\\";inherits:false }\\n@property --tw-hue-rotate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-invert { syntax:\\\"*\\\";inherits:false }\\n@property --tw-opacity { syntax:\\\"*\\\";inherits:false }\\n@property --tw-saturate { syntax:\\\"*\\\";inherits:false }\\n@property --tw-sepia { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-color { syntax:\\\"*\\\";inherits:false }\\n@property --tw-drop-shadow-alpha { syntax:\\\"<percentage>\\\";inherits:false;initial-value:100% }\\n@property --tw-drop-shadow-size { syntax:\\\"*\\\";inherits:false }\\n\")"]}
@@ -1,5 +1,12 @@
1
- import { CSSProperties, Breakpoint } from '@mui/material';
2
- import React$1, { ComponentPropsWithoutRef } from 'react';
1
+ import * as _mui_material from '@mui/material';
2
+ import { CSSProperties, Breakpoint, TabProps as TabProps$1, TabsProps as TabsProps$1 } from '@mui/material';
3
+ import * as react from 'react';
4
+ import react__default, { ComponentPropsWithoutRef } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { DataGridProps } from '@mui/x-data-grid';
7
+ import * as _emotion_styled from '@emotion/styled';
8
+ import * as _mui_system from '@mui/system';
9
+ import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
3
10
 
4
11
  /**
5
12
  * Tipo do atributo nativo `className` de um elemento `div` no React.
@@ -55,7 +62,7 @@ interface CardProps {
55
62
  /**
56
63
  * Cor de fundo do cabeçalho.
57
64
  * Aceita cores CSS (hex, rgb, variáveis CSS, etc.).
58
- * @default "var(--color-primary)"
65
+ * @default "var(--primary-color)"
59
66
  */
60
67
  titleColor?: string;
61
68
  /**
@@ -104,7 +111,7 @@ interface CardProps {
104
111
  * @param props.toolTip - Habilita tooltip no título.
105
112
  * @param props.className - `className` nativo do React no container.
106
113
  * @param props.titleWidth - Largura da barra do cabeçalho. Padrão: `"100%"`.
107
- * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--color-primary)`.
114
+ * @param props.titleColor - Cor de fundo do cabeçalho. Padrão: `var(--primary-color)`.
108
115
  * @param props.borderTitle - `border-radius` só do cabeçalho.
109
116
  * @param props.onClick - Clique no card; adiciona `cursor: pointer !important`.
110
117
  * @param props.borderRadius - `border-radius` do container.
@@ -219,6 +226,91 @@ interface DialogProps {
219
226
  * </Dialog>
220
227
  * ```
221
228
  */
222
- declare function Dialog({ open, title, onClose, actions, children, maxWidth, blurBackdrop, }: Readonly<DialogProps>): React$1.ReactElement;
229
+ declare function Dialog({ open, title, onClose, actions, children, maxWidth, blurBackdrop, }: Readonly<DialogProps>): react__default.ReactElement;
223
230
 
224
- export { Card, type CardClassName, type CardProps, Dialog, type DialogProps };
231
+ /**
232
+ * Propriedades do componente {@link DataTable}.
233
+ * Wrapper tipado sobre o MUI `DataGrid`, com estilização e textos em português.
234
+ */
235
+ type DataTableProps = DataGridProps;
236
+
237
+ /**
238
+ * Componente DataTable personalizado baseado no MUI DataGrid.
239
+ *
240
+ * Fornece uma tabela de dados com estilização customizada, filtros avançados,
241
+ * paginação, ordenação e gerenciamento de colunas.
242
+ *
243
+ * Recursos incluídos:
244
+ * - Operador de filtro "entre" automático para colunas string e number
245
+ * - Painel de filtros customizado
246
+ * - Painel de gerenciamento de colunas
247
+ * - Paginação estilizada
248
+ * - Overlay personalizado para "sem dados"
249
+ * - Textos em português brasileiro
250
+ *
251
+ * @param props - Todas as props do MUI DataGrid são suportadas. Ver {@link DataTableProps}.
252
+ *
253
+ * @example
254
+ * <DataTable
255
+ * rows={dados}
256
+ * columns={colunas}
257
+ * loading={carregando}
258
+ * pageSizeOptions={[10, 20, 50]}
259
+ * />
260
+ */
261
+ declare const DataTable: ({ ...rest }: DataTableProps) => react_jsx_runtime.JSX.Element;
262
+
263
+ /**
264
+ * Propriedades de estilo compartilhadas entre {@link Tab} e {@link Tabs}.
265
+ */
266
+ interface TabColorProps {
267
+ /**
268
+ * Cor do indicador ativo e do rótulo da aba selecionada.
269
+ * @default "var(--primary-color)"
270
+ */
271
+ color?: string;
272
+ /**
273
+ * Família tipográfica do rótulo da aba.
274
+ * Defina `--font-family` no CSS do projeto ou passe esta prop diretamente.
275
+ * @default "var(--font-family, inherit)"
276
+ */
277
+ fontFamily?: string;
278
+ }
279
+ /**
280
+ * Propriedades do componente {@link Tab}.
281
+ * Estende o `Tab` do MUI com suporte a cor customizada via `color`.
282
+ */
283
+ type TabProps = TabProps$1 & TabColorProps;
284
+ /**
285
+ * Propriedades do componente {@link Tabs}.
286
+ * Estende o `Tabs` do MUI com suporte a cor customizada do indicador via `color`.
287
+ */
288
+ type TabsProps = TabsProps$1 & TabColorProps;
289
+
290
+ /**
291
+ * Container de abas baseado no MUI `Tabs`, com indicador colorido customizável.
292
+ *
293
+ * @param props.color - Cor do indicador da aba ativa. Padrão: `var(--primary-color)`.
294
+ *
295
+ * @example
296
+ * ```tsx
297
+ * <Tabs value={value} onChange={handleChange} color="#00B2A6">
298
+ * <Tab label="Aba 1" />
299
+ * </Tabs>
300
+ * ```
301
+ */
302
+ declare const Tabs: _emotion_styled.StyledComponent<_mui_material.TabsOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style" | "className" | "aria-label" | "aria-labelledby" | "children" | "onChange" | "sx" | "classes" | "slots" | "slotProps" | "variant" | "value" | "action" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "orientation" | "scrollButtons" | "selectionFollowsFocus" | "textColor" | "visibleScrollbar"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
303
+ /**
304
+ * Aba individual baseada no MUI `Tab`, com tipografia e cor de seleção customizáveis.
305
+ *
306
+ * @param props.color - Cor do rótulo quando a aba está selecionada. Padrão: `var(--primary-color)`.
307
+ * @param props.fontFamily - Família tipográfica do rótulo. Padrão: `var(--font-family, inherit)`.
308
+ *
309
+ * @example
310
+ * ```tsx
311
+ * <Tab label="Configurações" color="#00B2A6" />
312
+ * ```
313
+ */
314
+ declare const Tab: _emotion_styled.StyledComponent<_mui_material.TabOwnProps & Omit<_mui_material.ButtonBaseOwnProps, keyof _mui_material.TabOwnProps> & Omit<_mui_material.ButtonBaseOwnProps, "tabIndex" | "type" | "touchRippleRef" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | keyof _mui_material.TabOwnProps> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "label" | "style" | "className" | "tabIndex" | "children" | "icon" | "sx" | "type" | "classes" | "disabled" | "touchRippleRef" | "value" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "nativeButton" | "onFocusVisible" | "TouchRippleProps" | "disableFocusRipple" | "iconPosition" | "wrapped"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & TabColorProps, {}, {}>;
315
+
316
+ export { Card, type CardClassName, type CardProps, DataTable, type DataTableProps, Dialog, type DialogProps, Tab, type TabColorProps, type TabProps, Tabs, type TabsProps };