@aspprev/versi-ds 0.4.3 → 0.4.4

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chart/LazyApexChart.tsx","../src/utils/chart-theme.ts","../src/components/chart/interactive-donut-utils.ts","../src/hooks/useHighContrastPreference.ts","../src/components/chart/InteractiveDonutChart.tsx","../src/components/chart/TimeSeriesChart.tsx","../src/components/chart/TimeRangeSelector.tsx","../src/components/chart/time-series-chart-utils.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport type { Props as ReactApexChartProps } from \"react-apexcharts\";\n\nexport type Props = ReactApexChartProps;\n\nexport default function LazyApexChart(props: Props) {\n const [ApexChart, setApexChart] = useState<\n React.ComponentType<Props> | null\n >(null);\n\n useEffect(() => {\n let active = true;\n import(\"react-apexcharts\").then(({ default: component }) => {\n if (active) setApexChart(() => component);\n });\n return () => {\n active = false;\n };\n }, []);\n\n if (!ApexChart) {\n return (\n <div\n className=\"flex min-h-40 items-center justify-center text-sm text-content-muted\"\n role=\"status\"\n aria-label=\"Carregando grafico\"\n >\n Carregando grafico...\n </div>\n );\n }\n\n return <ApexChart {...props} />;\n}\n","const SERIES_FALLBACKS = [\n \"#0f62c1\",\n \"#16d39a\",\n \"#feb019\",\n \"#ff4560\",\n \"#775dd0\",\n \"#00b8d9\",\n \"#ff8f00\",\n \"#26a69a\",\n \"#ec407a\",\n \"#7cb342\",\n \"#5c6bc0\",\n \"#8d6e63\",\n] as const;\n\nconst DONUT_SERIES_FALLBACKS = [\n \"#66d288\",\n \"#3182f6\",\n \"#ffc25c\",\n \"#7c58e8\",\n \"#ff6b6b\",\n ...SERIES_FALLBACKS.slice(5),\n] as const;\n\nconst MUTED_SERIES_FALLBACKS = [\n \"#c5cad0\",\n \"#d9dde1\",\n \"#eceef0\",\n \"#aeb5bd\",\n] as const;\n\nconst readColorToken = (token: string, fallback: string): string => {\n if (typeof window === \"undefined\") return fallback;\n const value = window\n .getComputedStyle(document.body ?? document.documentElement)\n .getPropertyValue(token)\n .trim();\n return value ? `rgb(${value})` : fallback;\n};\n\nexport const getChartTheme = () => ({\n series: SERIES_FALLBACKS.map((fallback, index) =>\n readColorToken(`--chart-${index + 1}`, fallback),\n ),\n donutSeries: DONUT_SERIES_FALLBACKS.map((fallback, index) =>\n readColorToken(`--chart-donut-${index + 1}`, fallback),\n ),\n mutedSeries: MUTED_SERIES_FALLBACKS.map((fallback, index) =>\n readColorToken(`--chart-muted-${index + 1}`, fallback),\n ),\n balance: readColorToken(\"--chart-balance\", \"#00a76f\"),\n invested: readColorToken(\"--chart-invested\", \"#1e90ff\"),\n grid: readColorToken(\"--chart-grid\", \"#e5e7eb\"),\n axis: readColorToken(\"--chart-axis\", \"#6b7280\"),\n axisBorder: readColorToken(\"--chart-axis-border\", \"#d1d5db\"),\n tooltipText: readColorToken(\"--chart-tooltip-text\", \"#111827\"),\n neutralLine: readColorToken(\"--chart-line-neutral\", \"#181818\"),\n surface: readColorToken(\"--surface-card\", \"#ffffff\"),\n});\n\nexport const getChartSeriesRecord = (\n backendColors?: Record<number, string>,\n count = 5,\n): Record<number, string> => {\n const { series } = getChartTheme();\n const fallbackColors = Object.fromEntries(\n Array.from({ length: count }, (_, index) => [index + 1, series[index]]),\n );\n\n const isDarkSchemeActive =\n typeof document !== \"undefined\" &&\n document.documentElement.dataset.colorScheme === \"dark\";\n\n const highContrastActive =\n typeof document !== \"undefined\" &&\n document.documentElement.dataset.contrast === \"high\";\n\n return highContrastActive || isDarkSchemeActive\n ? fallbackColors\n : { ...fallbackColors, ...backendColors };\n};\n","export function resolveInteractiveDonutColors({\n count,\n colors,\n mutedColors,\n selectedIndex,\n}: {\n count: number;\n colors: string[];\n mutedColors: string[];\n selectedIndex: number | null;\n}) {\n if (colors.length === 0 || mutedColors.length === 0) return [];\n\n return Array.from({ length: count }, (_, index) => {\n const color = colors[index % colors.length];\n\n if (selectedIndex === null || index === selectedIndex) return color;\n\n return mutedColors[index % mutedColors.length];\n });\n}\n\nexport function resolveRelativeDonutSelection({\n currentIndex,\n direction,\n count,\n}: {\n currentIndex: number | null;\n direction: -1 | 1;\n count: number;\n}) {\n if (count <= 0) return null;\n if (currentIndex === null) return direction > 0 ? 0 : count - 1;\n\n return (currentIndex + direction + count) % count;\n}\n\nconst TOOLTIP_ENTITIES: Record<string, string> = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\",\n \"'\": \"&#039;\",\n};\n\nexport function escapeDonutTooltipText(value: unknown) {\n return String(value ?? \"\").replace(\n /[&<>\"']/g,\n (character) => TOOLTIP_ENTITIES[character],\n );\n}\n","\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\nexport function useHighContrastPreference() {\n const [highContrast, setHighContrast] = useState(false);\n\n useEffect(() => {\n const root = document.documentElement;\n const read = () => setHighContrast(root.dataset.contrast === \"high\");\n read();\n\n const observer = new MutationObserver(read);\n observer.observe(root, {\n attributes: true,\n attributeFilter: [\"data-contrast\"],\n });\n return () => observer.disconnect();\n }, []);\n\n return highContrast;\n}\n","\"use client\";\n\nimport { useHighContrastPreference } from \"../../hooks/useHighContrastPreference\";\nimport { getChartTheme } from \"../../utils/chart-theme\";\nimport {\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type KeyboardEvent,\n type ReactNode,\n} from \"react\";\nimport Chart, { type Props as DonutChartProps } from \"./LazyApexChart\";\nimport {\n escapeDonutTooltipText,\n resolveInteractiveDonutColors,\n resolveRelativeDonutSelection,\n} from \"./interactive-donut-utils\";\n\nexport type InteractiveDonutOptions = NonNullable<DonutChartProps[\"options\"]>;\n\nexport type InteractiveDonutProps = Omit<\n DonutChartProps,\n \"options\" | \"series\" | \"type\"\n> & {\n options?: InteractiveDonutOptions;\n series: number[];\n loading?: boolean;\n loadingMessage?: ReactNode;\n error?: ReactNode;\n emptyMessage?: ReactNode;\n colors?: string[];\n mutedColors?: string[];\n valueFormatter?: (value: number) => string;\n ariaLabel?: string;\n className?: string;\n chartClassName?: string;\n responsiveHeight?: boolean;\n highContrastOverride?: boolean;\n};\n\nexport default function InteractiveDonutChart({\n options = {},\n series,\n loading = false,\n loadingMessage = \"Carregando gráfico…\",\n error,\n emptyMessage = \"Nenhum dado disponível.\",\n colors,\n mutedColors,\n valueFormatter = (value) =>\n new Intl.NumberFormat(\"pt-BR\", {\n style: \"currency\",\n currency: \"BRL\",\n }).format(value),\n ariaLabel = \"Gráfico de distribuição\",\n className,\n chartClassName,\n responsiveHeight = false,\n highContrastOverride,\n ...rest\n}: InteractiveDonutProps) {\n const storedHighContrast = useHighContrastPreference();\n const highContrast = highContrastOverride ?? storedHighContrast;\n const [selectedIndex, setSelectedIndex] = useState<number | null>(null);\n const [legendSelectedIndex, setLegendSelectedIndex] = useState<number | null>(\n null,\n );\n const containerRef = useRef<HTMLDivElement>(null);\n const instructionsId = useId();\n const chartTheme = getChartTheme();\n const baseColors =\n !highContrast && colors?.length ? colors : chartTheme.donutSeries;\n const neutralColors = !highContrast && mutedColors?.length\n ? mutedColors\n : chartTheme.mutedSeries;\n const labels = useMemo(() => options.labels ?? [], [options.labels]);\n\n useEffect(() => {\n setSelectedIndex((current) =>\n current !== null && current >= series.length ? null : current,\n );\n setLegendSelectedIndex((current) =>\n current !== null && current >= series.length ? null : current,\n );\n }, [series.length]);\n\n useEffect(() => {\n const resetOnOutsideClick = (event: PointerEvent) => {\n if (containerRef.current?.contains(event.target as Node)) return;\n\n setSelectedIndex(null);\n setLegendSelectedIndex(null);\n };\n\n document.addEventListener(\"pointerdown\", resetOnOutsideClick);\n return () =>\n document.removeEventListener(\"pointerdown\", resetOnOutsideClick);\n }, []);\n\n const [pieCircle, setPieCircle] = useState<{\n cx: number;\n cy: number;\n diameter: number;\n } | null>(null);\n const [measuredChartHeight, setMeasuredChartHeight] = useState<number | null>(\n null,\n );\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const measure = () => {\n const containerRect = container.getBoundingClientRect();\n\n if (responsiveHeight) {\n const fallbackHeight =\n typeof rest.height === \"number\" ? rest.height : 0;\n const nextHeight = Math.max(\n fallbackHeight,\n Math.floor(containerRect.height),\n );\n\n if (nextHeight > 0) {\n setMeasuredChartHeight((current) =>\n current === nextHeight ? current : nextHeight,\n );\n }\n }\n\n const areas = container.querySelectorAll<SVGPathElement>(\n \".apexcharts-pie-area\",\n );\n if (!areas.length) return;\n\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n areas.forEach((area) => {\n const rect = area.getBoundingClientRect();\n minX = Math.min(minX, rect.left);\n minY = Math.min(minY, rect.top);\n maxX = Math.max(maxX, rect.right);\n maxY = Math.max(maxY, rect.bottom);\n });\n\n setPieCircle({\n cx: (minX + maxX) / 2 - containerRect.left,\n cy: (minY + maxY) / 2 - containerRect.top,\n diameter: Math.min(maxX - minX, maxY - minY),\n });\n };\n\n measure();\n\n const resizeObserver = new ResizeObserver(measure);\n resizeObserver.observe(container);\n\n const mutationObserver = new MutationObserver(measure);\n mutationObserver.observe(container, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: [\"d\"],\n });\n\n return () => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, [responsiveHeight, rest.height, series.length]);\n\n const donutSizeRatio = useMemo(() => {\n const size = options.plotOptions?.pie?.donut?.size ?? \"65%\";\n const parsed = parseFloat(String(size));\n return Number.isFinite(parsed) ? parsed / 100 : 0.65;\n }, [options.plotOptions?.pie?.donut?.size]);\n\n const displayColors = resolveInteractiveDonutColors({\n count: series.length,\n colors: baseColors,\n mutedColors: neutralColors,\n selectedIndex,\n });\n\n const legendValue =\n legendSelectedIndex !== null\n ? {\n label:\n labels[legendSelectedIndex] ??\n `Categoria ${legendSelectedIndex + 1}`,\n value: Number(series[legendSelectedIndex] ?? 0),\n }\n : null;\n\n const interactiveOptions = useMemo<InteractiveDonutOptions>(() => {\n const originalSelection = options.chart?.events?.dataPointSelection;\n const originalLegendClick = options.chart?.events?.legendClick;\n\n return {\n ...options,\n colors: displayColors,\n fill: highContrast\n ? {\n type: \"pattern\",\n pattern: {\n style: [\n \"verticalLines\",\n \"horizontalLines\",\n \"slantedLines\",\n \"squares\",\n \"circles\",\n ],\n width: 6,\n height: 6,\n strokeWidth: 2,\n },\n }\n : {\n ...options.fill,\n type: options.fill?.type ?? \"solid\",\n opacity: options.fill?.opacity ?? 1,\n },\n stroke: highContrast\n ? { ...options.stroke, colors: [\"#ffffff\"], width: 2 }\n : options.stroke,\n chart: {\n ...options.chart,\n events: {\n ...options.chart?.events,\n dataPointSelection(event, chart, config) {\n originalSelection?.(event, chart, config);\n const nextIndex = Number(config?.dataPointIndex);\n\n if (!Number.isInteger(nextIndex) || nextIndex < 0) return;\n\n setSelectedIndex((current) =>\n current === nextIndex ? null : nextIndex,\n );\n },\n legendClick(chartContext, seriesIndex, config) {\n originalLegendClick?.(chartContext, seriesIndex, config);\n\n if (typeof seriesIndex !== \"number\" || seriesIndex < 0) return;\n\n setLegendSelectedIndex((current) =>\n current === seriesIndex ? null : seriesIndex,\n );\n },\n },\n },\n legend: {\n ...options.legend,\n labels: {\n ...options.legend?.labels,\n colors: chartTheme.axis,\n },\n onItemClick: {\n ...options.legend?.onItemClick,\n toggleDataSeries: false,\n },\n },\n states: {\n ...options.states,\n hover: {\n ...options.states?.hover,\n filter: { type: \"none\" },\n },\n active: {\n ...options.states?.active,\n allowMultipleDataPointsSelection: false,\n filter: { type: \"none\" },\n },\n },\n tooltip: {\n ...options.tooltip,\n enabled: true,\n followCursor: true,\n custom({ series: tooltipSeries, seriesIndex }) {\n const value = Number(tooltipSeries?.[seriesIndex] ?? 0);\n const label = escapeDonutTooltipText(\n labels[seriesIndex] ?? `Categoria ${seriesIndex + 1}`,\n );\n const formattedValue = escapeDonutTooltipText(valueFormatter(value));\n\n return `<div class=\"donut-chart-tooltip\"><span class=\"donut-chart-tooltip-label\">${label}</span><strong class=\"donut-chart-tooltip-value\">${formattedValue}</strong></div>`;\n },\n },\n };\n }, [\n chartTheme.axis,\n displayColors,\n highContrast,\n labels,\n options,\n valueFormatter,\n ]);\n\n const selectedLabel =\n selectedIndex === null\n ? \"Nenhuma categoria selecionada\"\n : `${labels[selectedIndex] ?? `Categoria ${selectedIndex + 1}`}: ${valueFormatter(\n Number(series[selectedIndex] ?? 0),\n )}`;\n\n const legendValueLabel =\n legendSelectedIndex === null\n ? \"\"\n : `Valor em destaque: ${\n labels[legendSelectedIndex] ?? `Categoria ${legendSelectedIndex + 1}`\n }: ${valueFormatter(Number(series[legendSelectedIndex] ?? 0))}`;\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n [\"ArrowRight\", \"ArrowDown\", \"ArrowLeft\", \"ArrowUp\"].includes(event.key)\n ) {\n event.preventDefault();\n const direction =\n event.key === \"ArrowRight\" || event.key === \"ArrowDown\" ? 1 : -1;\n setSelectedIndex((current) =>\n resolveRelativeDonutSelection({\n currentIndex: current,\n direction,\n count: series.length,\n }),\n );\n }\n\n if (event.key === \"Escape\") {\n setSelectedIndex(null);\n setLegendSelectedIndex(null);\n }\n };\n\n return (\n <div\n ref={containerRef}\n role=\"group\"\n tabIndex={0}\n aria-label={ariaLabel}\n aria-describedby={instructionsId}\n onKeyDown={handleKeyDown}\n className={`chart-keyboard-focus-ring relative min-w-0 rounded-sm ${className ?? \"\"}`.trim()}\n >\n {loading ? (\n <div role=\"status\" aria-busy=\"true\" aria-live=\"polite\" className=\"flex min-h-32 items-center justify-center text-sm text-content-secondary\">\n {loadingMessage}\n </div>\n ) : error ? (\n <div role=\"alert\" className=\"flex min-h-32 items-center justify-center text-sm text-field-assistive-error\">\n {error}\n </div>\n ) : series.length === 0 ? (\n <div role=\"status\" className=\"flex min-h-32 items-center justify-center text-sm text-content-secondary\">\n {emptyMessage}\n </div>\n ) : (\n <Chart\n key={highContrast ? \"donut-high-contrast\" : \"donut-standard\"}\n {...rest}\n className={chartClassName}\n height={\n responsiveHeight && measuredChartHeight\n ? measuredChartHeight\n : rest.height\n }\n options={interactiveOptions}\n series={series}\n type=\"donut\"\n />\n )}\n {legendValue && pieCircle && (\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute flex flex-col items-center justify-center text-center\"\n style={{\n left: pieCircle.cx,\n top: pieCircle.cy,\n width: pieCircle.diameter * donutSizeRatio * 0.94,\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <span className=\"w-full truncate text-xs leading-tight text-content-secondary\">\n {legendValue.label}\n </span>\n <span className=\"w-full break-words text-md font-bold leading-tight text-content-primary\">\n {valueFormatter(legendValue.value)}\n </span>\n </div>\n )}\n <span className=\"sr-only\" aria-live=\"polite\">\n {selectedLabel}\n </span>\n <span className=\"sr-only\" aria-live=\"polite\">\n {legendValueLabel}\n </span>\n <span id={instructionsId} className=\"sr-only\">\n Use as setas para navegar pelas categorias e Escape para limpar a\n seleção.\n </span>\n </div>\n );\n}\n","\"use client\";\n\nimport { useHighContrastPreference } from \"../../hooks/useHighContrastPreference\";\nimport { getChartTheme } from \"../../utils/chart-theme\";\nimport { useEffect, useRef, useState, type ReactNode } from \"react\";\nimport Chart, { type Props as ApexChartProps } from \"./LazyApexChart\";\n\nexport type TimeSeriesChartOptions = NonNullable<ApexChartProps[\"options\"]>;\n\nexport type TimeSeriesChartProps = Omit<ApexChartProps, \"options\"> & {\n options: TimeSeriesChartOptions;\n ariaLabel: string;\n loading?: boolean;\n loadingMessage?: ReactNode;\n error?: ReactNode;\n emptyMessage?: ReactNode;\n className?: string;\n chartClassName?: string;\n responsiveHeight?: boolean;\n highContrastOverride?: boolean;\n};\n\nexport default function TimeSeriesChart({\n options,\n ariaLabel,\n loading = false,\n loadingMessage = \"Carregando gráfico…\",\n error,\n emptyMessage = \"Nenhum dado disponível.\",\n className,\n chartClassName,\n responsiveHeight = false,\n highContrastOverride,\n ...chartProps\n}: TimeSeriesChartProps) {\n const storedHighContrast = useHighContrastPreference();\n const highContrast = highContrastOverride ?? storedHighContrast;\n const theme = getChartTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [measuredHeight, setMeasuredHeight] = useState<number | null>(null);\n const [measuredWidth, setMeasuredWidth] = useState<number | null>(null);\n const themeKey = [\n highContrast ? \"high-contrast\" : \"standard\",\n theme.axis,\n theme.axisBorder,\n theme.grid,\n theme.surface,\n ...theme.series,\n ].join(\"|\");\n\n useEffect(() => {\n if (!responsiveHeight) {\n setMeasuredHeight(null);\n setMeasuredWidth(null);\n return;\n }\n\n const container = containerRef.current;\n if (!container || typeof ResizeObserver === \"undefined\") return;\n\n const fallbackHeight =\n typeof chartProps.height === \"number\" ? chartProps.height : 0;\n let frame = 0;\n const measure = () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => {\n const bounds = container.getBoundingClientRect();\n const nextWidth = Math.floor(bounds.width);\n const nextHeight = Math.max(\n fallbackHeight,\n Math.floor(bounds.height),\n );\n\n if (nextWidth > 0) {\n setMeasuredWidth((current) =>\n current === nextWidth ? current : nextWidth,\n );\n }\n\n if (nextHeight > 0) {\n setMeasuredHeight((current) =>\n current === nextHeight ? current : nextHeight,\n );\n }\n });\n };\n\n measure();\n const resizeObserver = new ResizeObserver(measure);\n resizeObserver.observe(container);\n return () => {\n cancelAnimationFrame(frame);\n resizeObserver.disconnect();\n };\n }, [chartProps.height, responsiveHeight]);\n\n const renderedHeight =\n responsiveHeight && measuredHeight ? measuredHeight : chartProps.height;\n const renderedWidth =\n responsiveHeight && measuredWidth ? measuredWidth : chartProps.width;\n const hasSeriesData =\n Array.isArray(chartProps.series) &&\n chartProps.series.some((entry) => {\n if (!entry || typeof entry !== \"object\") return false;\n const data = (entry as { data?: unknown }).data;\n return Array.isArray(data) ? data.length > 0 : data !== undefined;\n });\n const xAxis = options.xaxis;\n const xAxisCategories = Array.isArray(xAxis?.categories)\n ? xAxis.categories\n : [];\n const availableWidth =\n typeof renderedWidth === \"number\" ? renderedWidth : 720;\n const maxVisibleXAxisLabels = Math.max(\n 4,\n Math.min(12, Math.floor(availableWidth / 88)),\n );\n const xAxisLabelStep = Math.max(\n 1,\n Math.ceil(xAxisCategories.length / maxVisibleXAxisLabels),\n );\n const hasDenseXAxis = xAxisCategories.length > maxVisibleXAxisLabels;\n const xAxisCategoriesKey = JSON.stringify(xAxisCategories);\n const responsiveXAxisFormatter = xAxisCategories.length\n ? (\n value: string | number,\n _timestamp?: number,\n opts?: { dataPointIndex?: number },\n ) => {\n const fallbackIndex = xAxisCategories.findIndex(\n (category) => String(category) === String(value),\n );\n const index =\n opts?.dataPointIndex ?? (fallbackIndex >= 0 ? fallbackIndex : 0);\n const isLast = index === xAxisCategories.length - 1;\n\n return index % xAxisLabelStep === 0 || isLast\n ? String(xAxisCategories[index] ?? value)\n : \"\";\n }\n : xAxis?.labels?.formatter;\n const renderKey = [\n themeKey,\n renderedWidth ?? \"auto-width\",\n renderedHeight ?? \"auto-height\",\n xAxisCategoriesKey,\n ].join(\"|\");\n\n const yAxis = Array.isArray(options.yaxis)\n ? options.yaxis.map((axis) => ({\n ...axis,\n labels: {\n ...axis.labels,\n show: true,\n style: {\n fontSize: \"11px\",\n fontWeight: 500,\n ...axis.labels?.style,\n colors: theme.axis,\n },\n },\n }))\n : {\n ...options.yaxis,\n labels: {\n ...options.yaxis?.labels,\n show: true,\n style: {\n fontSize: \"11px\",\n fontWeight: 500,\n ...options.yaxis?.labels?.style,\n colors: theme.axis,\n },\n },\n };\n\n const sharedOptions: TimeSeriesChartOptions = {\n ...options,\n colors: highContrast ? [...theme.series] : options.colors,\n chart: {\n toolbar: { show: false },\n zoom: { enabled: false },\n parentHeightOffset: 0,\n redrawOnParentResize: true,\n redrawOnWindowResize: true,\n ...options.chart,\n foreColor: theme.axis,\n },\n dataLabels: {\n enabled: false,\n ...options.dataLabels,\n },\n grid: {\n show: true,\n borderColor: theme.grid,\n strokeDashArray: 0,\n ...options.grid,\n xaxis: {\n lines: {\n ...options.grid?.xaxis?.lines,\n show: hasDenseXAxis\n ? false\n : (options.grid?.xaxis?.lines?.show ?? true),\n },\n },\n yaxis: {\n lines: { show: true, ...options.grid?.yaxis?.lines },\n },\n padding: {\n top: 0,\n right: 8,\n bottom: 8,\n left: 8,\n ...options.grid?.padding,\n },\n },\n stroke: {\n width: 2,\n curve: \"straight\",\n ...options.stroke,\n colors: highContrast ? [...theme.series] : options.stroke?.colors,\n dashArray: highContrast\n ? [0, 6, 2, 8, 4, 10, 1, 7, 3, 9, 5, 11]\n : (options.stroke?.dashArray ?? 0),\n },\n markers: {\n strokeWidth: 1,\n strokeColors: [theme.surface],\n ...options.markers,\n size: highContrast ? 4 : (options.markers?.size ?? 3),\n hover: { size: 4, ...options.markers?.hover },\n },\n annotations: highContrast\n ? {\n ...options.annotations,\n xaxis: options.annotations?.xaxis?.map((annotation, index) => ({\n ...annotation,\n fillColor: theme.series[index % theme.series.length],\n opacity: 0.28,\n })),\n }\n : options.annotations,\n xaxis: {\n tooltip: { enabled: false },\n axisBorder: { color: theme.axisBorder },\n ...xAxis,\n tickAmount: xAxisCategories.length ? undefined : xAxis?.tickAmount,\n axisTicks: {\n color: theme.axisBorder,\n ...xAxis?.axisTicks,\n show: hasDenseXAxis ? false : (xAxis?.axisTicks?.show ?? true),\n },\n labels: {\n ...xAxis?.labels,\n show: true,\n formatter: responsiveXAxisFormatter,\n style: {\n fontSize: \"11px\",\n fontWeight: 500,\n ...xAxis?.labels?.style,\n colors: theme.axis,\n },\n },\n },\n yaxis: yAxis,\n tooltip: {\n shared: true,\n intersect: false,\n followCursor: true,\n ...options.tooltip,\n },\n legend: {\n ...options.legend,\n labels: {\n ...options.legend?.labels,\n colors: theme.axis,\n },\n },\n noData: {\n text: \"Nenhum dado disponível no período selecionado\",\n ...options.noData,\n style: {\n fontSize: \"15px\",\n ...options.noData?.style,\n color: theme.axis,\n },\n },\n };\n\n return (\n <div ref={containerRef} role=\"img\" aria-label={ariaLabel} className={className}>\n {loading ? (\n <div role=\"status\" aria-busy=\"true\" aria-live=\"polite\" className=\"flex min-h-32 items-center justify-center text-sm text-content-secondary\">\n {loadingMessage}\n </div>\n ) : error ? (\n <div role=\"alert\" className=\"flex min-h-32 items-center justify-center text-sm text-field-assistive-error\">\n {error}\n </div>\n ) : !hasSeriesData ? (\n <div role=\"status\" className=\"flex min-h-32 items-center justify-center text-sm text-content-secondary\">\n {emptyMessage}\n </div>\n ) : (\n <Chart\n key={renderKey}\n {...chartProps}\n className={chartClassName}\n width={renderedWidth}\n height={renderedHeight}\n options={sharedOptions}\n />\n )}\n </div>\n );\n}\n","\"use client\";\n\nexport type TimeRangeSelectorProps<T extends string | number> = {\n options: readonly T[];\n selected: T;\n onSelect: (range: T) => void;\n ariaLabel?: string;\n className?: string;\n};\n\nexport default function TimeRangeSelector<T extends string | number>({\n options,\n selected,\n onSelect,\n ariaLabel = \"Período do gráfico\",\n className,\n}: TimeRangeSelectorProps<T>) {\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n className={`flex min-w-0 flex-wrap justify-start gap-1.5 ${className ?? \"\"}`.trim()}\n >\n {options.map((range) => {\n const isSelected = selected === range;\n\n return (\n <button\n key={range}\n type=\"button\"\n aria-pressed={isSelected}\n onClick={() => onSelect(range)}\n className={`shrink-0 whitespace-nowrap rounded-sm border px-2.5 py-1 text-sm font-semibold transition-colors ${\n isSelected\n ? \"border-selection-border bg-selection-background text-selection-content\"\n : \"border-primary-1 text-primary-1 hover:bg-primary-5\"\n }`}\n >\n {range}\n </button>\n );\n })}\n </div>\n );\n}\n","const TOOLTIP_ENTITIES: Record<string, string> = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\",\n \"'\": \"&#039;\",\n};\n\nexport function escapeTimeSeriesTooltipText(value: unknown) {\n return String(value ?? \"\").replace(\n /[&<>\"']/g,\n (character) => TOOLTIP_ENTITIES[character],\n );\n}\n\nconst SAFE_TOOLTIP_COLOR =\n /^(?:#[\\da-f]{3,8}|rgba?\\([\\d\\s.,%]+\\)|hsla?\\([\\d\\s.,%]+\\)|var\\(--[\\w-]+\\)|[a-z]+)$/i;\n\nexport function normalizeTimeSeriesTooltipColor(value?: string) {\n const color = String(value ?? \"\").trim();\n return SAFE_TOOLTIP_COLOR.test(color) ? color : \"currentColor\";\n}\n\nexport type TimeSeriesTooltipRow = {\n label: string;\n value: string;\n color?: string;\n};\n\nexport function buildTimeSeriesTooltip({\n reference,\n rows,\n}: {\n reference: string;\n rows: TimeSeriesTooltipRow[];\n}) {\n const content = rows\n .map(({ label, value, color }) => {\n const marker = color\n ? `<span class=\"time-series-chart-tooltip-marker\" style=\"background-color:${normalizeTimeSeriesTooltipColor(color)}\"></span>`\n : \"\";\n\n return `<div class=\"time-series-chart-tooltip-row\"><span class=\"time-series-chart-tooltip-name\">${marker}${escapeTimeSeriesTooltipText(label)}</span><strong>${escapeTimeSeriesTooltipText(value)}</strong></div>`;\n })\n .join(\"\");\n\n return `<div class=\"time-series-chart-tooltip\"><div class=\"time-series-chart-tooltip-reference\">${escapeTimeSeriesTooltipText(reference)}</div>${content}</div>`;\n}\n"],"mappings":"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","names":["useEffect","useState","useEffect","useState","jsx","useState","useEffect","useEffect","useRef","useState","jsx","useRef","useState","useEffect","jsx","TOOLTIP_ENTITIES"]}
package/dist/core.d.ts CHANGED
@@ -24,12 +24,19 @@ declare const textVariants: (props?: ({
24
24
  size?: "md" | "sm" | "xs" | "lg" | "xl" | "2xl" | "title1" | "title2" | "title3" | null | undefined;
25
25
  weight?: "bold" | "medium" | "thin" | "extralight" | "light" | "normal" | "semibold" | "extrabold" | "black" | null | undefined;
26
26
  } & class_variance_authority_types.ClassProp) | undefined) => string;
27
+ /**
28
+ * Semantic text roles map to the DS typography tokens. They describe the
29
+ * purpose of the text, while `element` controls the rendered HTML element.
30
+ */
27
31
  type TypographySemanticRole = "page-title" | "section-title" | "body" | "label" | "caption" | "helper";
28
32
  type TextElement = "p" | "span" | "div" | "label" | "strong" | "em" | "small" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
29
33
  type TypographyProps = VariantProps<typeof textVariants> & {
30
34
  children: React__default.ReactNode;
35
+ /** HTML element used for the content; it is independent from semanticRole. */
31
36
  element?: TextElement;
37
+ /** Optional semantic role with token-backed size, weight and color defaults. */
32
38
  semanticRole?: TypographySemanticRole;
39
+ /** Additional classes for layout or a consumer-specific presentation need. */
33
40
  className?: string;
34
41
  } & React__default.HTMLAttributes<HTMLElement>;
35
42
  declare function Typography({ children, element, semanticRole, className, variant, size, weight, ...rest }: TypographyProps): React__default.JSX.Element;
@@ -106,7 +113,7 @@ declare const Tooltip: React__default.FC<TooltipProps>;
106
113
 
107
114
  type AvatarProps = {
108
115
  name?: string;
109
- size?: "xs" | "sm" | "md" | "lg";
116
+ size?: "xs" | "sm" | "md" | "lg" | "xl";
110
117
  image?: string;
111
118
  description?: string;
112
119
  } & React__default.HTMLAttributes<HTMLDivElement>;
@@ -195,6 +202,9 @@ interface InputSliderProps {
195
202
  functionChange: React__default.Dispatch<React__default.SetStateAction<number>>;
196
203
  step?: number | null;
197
204
  prefix?: string;
205
+ /** Canonical suffix displayed beside the value. */
206
+ suffix?: string;
207
+ /** @deprecated Use `suffix`. Kept for migration compatibility. */
198
208
  sufix?: string;
199
209
  marks?: boolean | ReadonlyArray<{
200
210
  value: number;
@@ -448,6 +458,8 @@ interface TableProps<TData = unknown> extends React__default.HTMLAttributes<HTML
448
458
  itemsPerPage?: number;
449
459
  emptyMessage?: string;
450
460
  errorMessage?: ReactNode;
461
+ loading?: boolean;
462
+ loadingMessage?: ReactNode;
451
463
  totalWidthUnits?: number;
452
464
  showRowDivider?: boolean;
453
465
  enableRowHover?: boolean;
@@ -483,13 +495,16 @@ interface MobileCardTableProps<TData> {
483
495
  keyExtractor: (item: TData, index: number) => string;
484
496
  itemsPerPage?: number;
485
497
  emptyMessage?: string;
498
+ errorMessage?: ReactNode;
499
+ loading?: boolean;
500
+ loadingMessage?: ReactNode;
486
501
  wrapperClassName?: string;
487
502
  headerClassName?: string;
488
503
  emptyClassName?: string;
489
504
  showPagination?: boolean;
490
505
  expandable?: IMobileCardTableExpandableConfig<TData>;
491
506
  }
492
- declare function MobileCardTable<TData>({ headers, accessibleName, data, renderCard, keyExtractor, itemsPerPage, emptyMessage, wrapperClassName, headerClassName, emptyClassName, showPagination, expandable, }: MobileCardTableProps<TData>): React.JSX.Element;
507
+ declare function MobileCardTable<TData>({ headers, accessibleName, data, renderCard, keyExtractor, itemsPerPage, emptyMessage, errorMessage, loading, loadingMessage, wrapperClassName, headerClassName, emptyClassName, showPagination, expandable, }: MobileCardTableProps<TData>): React.JSX.Element;
493
508
 
494
509
  declare const breakpoints: {
495
510
  mobile: number;
@@ -509,4 +524,4 @@ interface UseContainerBreakpointOptions {
509
524
  declare function resolveContainerBreakpoint(width: number, breakpoints?: ContainerBreakpointMap): ContainerBreakpoint;
510
525
  declare function useContainerBreakpoint<TElement extends HTMLElement = HTMLElement>(ref: RefObject<TElement | null>, options?: UseContainerBreakpointOptions): ContainerBreakpoint;
511
526
 
512
- export { Avatar, type AvatarProps, type BoxProps, type Breakpoint, Button, type ButtonProps, CheckBox, type CheckBoxProps, Checkbox, type CheckboxProps, CircularLoading, type CircularLoadingProps, type ContainerBreakpoint, type ContainerBreakpointMap, Divider, DomainStatusBadge, type DomainStatusBadgeProps, FilterBar, type FilterBarProps, FocusNavigationMode, FormActions, type FormActionsProps, FormErrorNavigation, FormGrid, type FormGridProps, type IFilterControl, type IFilterOption, type IFilterProps, type IHeaderItem, type IMobileCardTableExpandableConfig, type IMobileCardTableHeader, type ITableColumnConfig, type ITableExpandableConfig, type ITablePaginationProps, IconProvider, type IconProviderProps, InfoGrid, type InfoGridProps, InfoItem, type InfoItemProps, InputSlider, type InputSliderProps, LoadingDots, MobileCardTable, type MobileCardTableProps, ModalCardView as ModalCard, type ModalCardProps, NoticeView as Notice, type OptionalValuePolicy, PageHeading, type PageHeadingBackAction, type PageHeadingProps, PageState, type PageTabItem, PageTabsHeader, PaginationView as Pagination, type PaginationProps, IconProvider as PortalIconProvider, type ResolvedStatusAppearance, SkipLink, type SkipLinkProps, Slider, type SliderProps, type StatusAppearance, type StatusAppearanceMap, StatusBadge, type StatusBadgeProps, type StatusDomain, type StatusResolverOptions, type StatusTone, Surface, type SurfaceProps, Table, type TableDensity, type TableHeaderVariant, type TableOverflowMode, type TableProps, type TableRowVariant, TextGroup, type TextGroupProps, ThemedImage, type ThemedImageProps, Tooltip, type TooltipProps, Typography, Typography as TypographyComponent, type TypographyProps, type TypographySemanticRole, type UseContainerBreakpointOptions, breakpoints, findFirstInvalidField, getBreakpoint, getStatusBadgeClassName, normalizeStatus, resolveContainerBreakpoint, resolveStatusAppearance, useBreakpoint, useContainerBreakpoint };
527
+ export { Avatar, type AvatarProps, type BoxProps, type Breakpoint, Button, type ButtonProps, CheckBox, type CheckBoxProps, Checkbox, type CheckboxProps, CircularLoading, type CircularLoadingProps, type ContainerBreakpoint, type ContainerBreakpointMap, Divider, DomainStatusBadge, type DomainStatusBadgeProps, FilterBar, type FilterBarProps, FocusNavigationMode, FormActions, type FormActionsProps, FormErrorNavigation, FormGrid, type FormGridProps, type IFilterControl, type IFilterOption, type IFilterProps, type IHeaderItem, type IMobileCardTableExpandableConfig, type IMobileCardTableHeader, type ITableColumnConfig, type ITableExpandableConfig, type ITablePaginationProps, IconProvider, type IconProviderProps, InfoGrid, type InfoGridProps, InfoItem, type InfoItemProps, InputSlider, type InputSliderProps, LoadingDots, type LoadingDotsProps, MobileCardTable, type MobileCardTableProps, ModalCardView as ModalCard, type ModalCardProps, NoticeView as Notice, type OptionalValuePolicy, PageHeading, type PageHeadingBackAction, type PageHeadingProps, PageState, type PageStateProps, type PageStateVariant, type PageTabItem, PageTabsHeader, type PageTabsHeaderProps, PaginationView as Pagination, type PaginationProps, IconProvider as PortalIconProvider, type ResolvedStatusAppearance, SkipLink, type SkipLinkProps, Slider, type SliderProps, type StatusAppearance, type StatusAppearanceMap, StatusBadge, type StatusBadgeProps, type StatusDomain, type StatusResolverOptions, type StatusTone, Surface, type SurfaceProps, Table, type TableDensity, type TableHeaderVariant, type TableOverflowMode, type TableProps, type TableRowVariant, TextGroup, type TextGroupProps, ThemedImage, type ThemedImageProps, Tooltip, type TooltipProps, Typography, Typography as TypographyComponent, type TypographyProps, type TypographySemanticRole, type UseContainerBreakpointOptions, breakpoints, findFirstInvalidField, getBreakpoint, getStatusBadgeClassName, normalizeStatus, resolveContainerBreakpoint, resolveStatusAppearance, useBreakpoint, useContainerBreakpoint };
package/dist/core.js CHANGED
@@ -39,7 +39,7 @@ import {
39
39
  resolveStatusAppearance,
40
40
  typography_default,
41
41
  useContainerBreakpoint
42
- } from "./chunk-JGCZAVYV.js";
42
+ } from "./chunk-EA5F5GSP.js";
43
43
  import {
44
44
  DocumentItem
45
45
  } from "./chunk-2XXVEFFY.js";
@@ -4,13 +4,34 @@ export { D as DocumentItem, a as DocumentItemDetail, b as DocumentItemProps } fr
4
4
 
5
5
  interface BoletoBarCodeProps {
6
6
  linhaDigitavel: string;
7
+ /** Bar width passed to JsBarcode. */
8
+ width?: number;
9
+ /** Bar height in pixels. */
10
+ height?: number;
11
+ /** Quiet zone/margin in pixels. */
12
+ quietZone?: number;
13
+ error?: ReactNode;
14
+ onError?: (error: Error) => void;
7
15
  }
8
- declare function BoletoBarCode({ linhaDigitavel }: BoletoBarCodeProps): React.JSX.Element;
16
+ declare function BoletoBarCode({ linhaDigitavel, width, height, quietZone, error, onError, }: BoletoBarCodeProps): React.JSX.Element;
9
17
 
10
- type FileValidationReason = "type" | "size" | "count";
18
+ type FileValidationReason = "type" | "size" | "count" | "empty" | "invalid";
19
+ interface FileRejectionContext {
20
+ code: FileValidationReason;
21
+ fileName: string;
22
+ extension: string;
23
+ size: number;
24
+ maxSize?: number;
25
+ }
26
+ type FileValidationMessage = string | ((context: FileRejectionContext) => string);
11
27
  interface FileRejection {
12
28
  file: File;
29
+ code: FileValidationReason;
13
30
  reason: FileValidationReason;
31
+ fileName: string;
32
+ extension: string;
33
+ size: number;
34
+ maxSize?: number;
14
35
  message: string;
15
36
  }
16
37
  interface FileValidationOptions {
@@ -18,6 +39,7 @@ interface FileValidationOptions {
18
39
  multiple?: boolean;
19
40
  maxFiles?: number;
20
41
  maxSize?: number;
42
+ messages?: Partial<Record<FileValidationReason, FileValidationMessage>>;
21
43
  }
22
44
  interface FileValidationResult {
23
45
  accepted: File[];
@@ -37,11 +59,13 @@ interface FileDropzoneProps {
37
59
  label?: ReactNode;
38
60
  hint?: ReactNode;
39
61
  error?: ReactNode;
62
+ messages?: Partial<Record<"type" | "size" | "count" | "empty" | "invalid", FileValidationMessage>>;
63
+ actions?: ReactNode;
40
64
  className?: string;
41
65
  onFilesAccepted?: (files: File[]) => void;
42
66
  onFilesRejected?: (rejections: FileRejection[]) => void;
43
67
  }
44
- declare function FileDropzone({ accept, multiple, maxFiles, maxSize, disabled, id, name, required, label, hint, error, className, onFilesAccepted, onFilesRejected, }: FileDropzoneProps): React.JSX.Element;
68
+ declare function FileDropzone({ accept, multiple, maxFiles, maxSize, disabled, id, name, required, label, hint, error, messages, actions, className, onFilesAccepted, onFilesRejected, }: FileDropzoneProps): React.JSX.Element;
45
69
 
46
70
  type FileUploadProgressStatus = "idle" | "uploading" | "success" | "error";
47
71
  interface FileUploadProgressProps {
@@ -66,9 +90,10 @@ interface FileListProps {
66
90
  accessibleName?: string;
67
91
  onRemove?: (item: FileUploadItem, index: number) => void;
68
92
  onRetry?: (item: FileUploadItem, index: number) => void;
93
+ actions?: (item: FileUploadItem, index: number) => ReactNode;
69
94
  className?: string;
70
95
  }
71
- declare function FileList$1({ files, accessibleName, onRemove, onRetry, className }: FileListProps): React.JSX.Element;
96
+ declare function FileList$1({ files, accessibleName, onRemove, onRetry, actions, className }: FileListProps): React.JSX.Element;
72
97
 
73
98
  type FileViewerSource = string | Blob | {
74
99
  url?: string;
@@ -76,8 +101,9 @@ type FileViewerSource = string | Blob | {
76
101
  contentType?: string;
77
102
  fileName?: string;
78
103
  };
104
+ type FileViewerSourceInput = FileViewerSource | Promise<FileViewerSource | null | undefined>;
79
105
  interface FileViewerProps {
80
- source?: FileViewerSource;
106
+ source?: FileViewerSourceInput;
81
107
  fileName?: string;
82
108
  contentType?: string;
83
109
  loading?: boolean;
@@ -85,11 +111,13 @@ interface FileViewerProps {
85
111
  onLoad?: () => void;
86
112
  onError?: (error: Error) => void;
87
113
  onDownload?: () => void;
114
+ /** Consumer-owned actions such as retry, share or remove. */
115
+ actions?: ReactNode;
88
116
  fallback?: ReactNode;
89
117
  title?: string;
90
118
  className?: string;
91
119
  }
92
- declare function FileViewer({ source, fileName, contentType, loading, error, onLoad, onError, onDownload, fallback, title, className, }: FileViewerProps): React.JSX.Element;
120
+ declare function FileViewer({ source, fileName, contentType, loading, error, onLoad, onError, onDownload, actions, fallback, title, className, }: FileViewerProps): React.JSX.Element;
93
121
 
94
122
  type QRCodeErrorCorrectionLevel = "L" | "M" | "Q" | "H";
95
123
  interface QRCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, "color" | "onError"> {
@@ -107,4 +135,4 @@ interface QRCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, "color" | "on
107
135
  }
108
136
  declare function QRCode({ value, size, level, includeMargin, fgColor, bgColor, ariaLabel, description, loading, error, onError, className, ...rest }: QRCodeProps): React.JSX.Element;
109
137
 
110
- export { BoletoBarCode, type BoletoBarCodeProps, FileDropzone, type FileDropzoneProps, FileList$1 as FileList, type FileListProps, type FileRejection, type FileUploadItem, type FileUploadItemStatus, FileUploadProgress, type FileUploadProgressProps, type FileUploadProgressStatus, type FileValidationOptions, type FileValidationReason, type FileValidationResult, FileViewer, type FileViewerProps, type FileViewerSource, QRCode, type QRCodeErrorCorrectionLevel, type QRCodeProps, validateFiles };
138
+ export { BoletoBarCode, type BoletoBarCodeProps, FileDropzone, type FileDropzoneProps, FileList$1 as FileList, type FileListProps, type FileRejection, type FileRejectionContext, type FileUploadItem, type FileUploadItemStatus, FileUploadProgress, type FileUploadProgressProps, type FileUploadProgressStatus, type FileValidationMessage, type FileValidationOptions, type FileValidationReason, type FileValidationResult, FileViewer, type FileViewerProps, type FileViewerSource, type FileViewerSourceInput, QRCode, type QRCodeErrorCorrectionLevel, type QRCodeProps, validateFiles };
package/dist/documents.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  FileViewer_default,
8
8
  QRCode_default,
9
9
  validateFiles
10
- } from "./chunk-YIUITJ4V.js";
10
+ } from "./chunk-CVTBM4I6.js";
11
11
  import {
12
12
  DocumentItem
13
13
  } from "./chunk-2XXVEFFY.js";
package/dist/forms.d.ts CHANGED
@@ -4,6 +4,9 @@ import { IconBaseProps } from 'react-icons';
4
4
  import { C as CountryListFilter } from './country-metadata-DOgzawAc.js';
5
5
  export { a as CountryListMode } from './country-metadata-DOgzawAc.js';
6
6
 
7
+ type InputMask = "cep" | "conta" | "currency" | "cpf" | "phone" | "date" | "datePicker" | "specialChars" | "cnpj" | "agencia";
8
+ /** Formats the current text without coupling the input to a domain field. */
9
+ type InputFormatter = (value: string) => string;
7
10
  type InputProps = {
8
11
  name: string;
9
12
  label?: string;
@@ -11,7 +14,9 @@ type InputProps = {
11
14
  placeholder?: string;
12
15
  prefix?: string;
13
16
  suffix?: string;
14
- mask?: "cep" | "conta" | "currency" | "cpf" | "phone" | "date" | "datePicker" | "specialChars" | "cnpj" | "agencia";
17
+ /** Existing named masks kept for compatibility. Prefer formatter for new masks. */
18
+ mask?: InputMask;
19
+ formatter?: InputFormatter;
15
20
  disabled?: boolean;
16
21
  error?: boolean;
17
22
  disallowSpaces?: boolean;
@@ -25,7 +30,9 @@ type InputStandaloneProps = {
25
30
  helperText?: string | React__default.ReactNode;
26
31
  prefix?: string;
27
32
  suffix?: string;
28
- mask?: "cep" | "conta" | "currency" | "cpf" | "phone" | "date" | "datePicker" | "specialChars" | "cnpj" | "agencia";
33
+ /** Existing named masks kept for compatibility. Prefer formatter for new masks. */
34
+ mask?: InputMask;
35
+ formatter?: InputFormatter;
29
36
  disabled?: boolean;
30
37
  error?: boolean;
31
38
  errorText?: string;
@@ -270,4 +277,4 @@ interface OtpCodeInputHandle {
270
277
  }
271
278
  declare const OtpCodeInput: React$1.ForwardRefExoticComponent<OtpCodeInputProps & React$1.RefAttributes<OtpCodeInputHandle>>;
272
279
 
273
- export { CountryListFilter, CountrySelect, type CountrySelectOption, type CountrySelectProps, DatePicker, type DatePickerNavigationVariant, type UnifiedDatePickerProps as DatePickerProps, type DatePickerSelectionMode, Datepicker, type DatepickerNavigationVariant, type DatepickerProps, Input, InputPhone, type InputPhoneCountryOption, type InputPhoneProps, type InputPhoneValue, type InputProps, InputSelect, type InputSelectOption, type InputSelectProps, InputStandalone, type InputStandaloneProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type MultiSelectViewProps, OtpCodeInput, type OtpCodeInputHandle, type OtpCodeInputMask, type OtpCodeInputProps, type PhoneCountryOption, PhoneInput, type PhoneInputProps, type PhoneValue, RadioCardGroup, type RadioCardGroupProps, type RadioCardOption, RadioGroup, type RadioGroupProps, SelectCountry, type SelectCountryOption, type SelectCountryProps, SelectMulti, type SelectMultiOption, type SelectMultiProps, type SelectMultiViewProps, TextArea, type TextAreaProps, buildPhonePayload, parsePhonePayload };
280
+ export { CountryListFilter, CountrySelect, type CountrySelectOption, type CountrySelectProps, DatePicker, type DatePickerNavigationVariant, type UnifiedDatePickerProps as DatePickerProps, type DatePickerSelectionMode, Datepicker, type DatepickerNavigationVariant, type DatepickerProps, Input, type InputFormatter, type InputMask, InputPhone, type InputPhoneCountryOption, type InputPhoneProps, type InputPhoneValue, type InputProps, InputSelect, type InputSelectOption, type InputSelectProps, InputStandalone, type InputStandaloneProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, type MultiSelectViewProps, OtpCodeInput, type OtpCodeInputHandle, type OtpCodeInputMask, type OtpCodeInputProps, type PhoneCountryOption, PhoneInput, type PhoneInputProps, type PhoneValue, RadioCardGroup, type RadioCardGroupProps, type RadioCardOption, RadioGroup, type RadioGroupProps, SelectCountry, type SelectCountryOption, type SelectCountryProps, SelectMulti, type SelectMultiOption, type SelectMultiProps, type SelectMultiViewProps, TextArea, type TextAreaProps, buildPhonePayload, parsePhonePayload };
package/dist/forms.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  buildPhonePayload,
18
18
  datePicker_default,
19
19
  parsePhonePayload
20
- } from "./chunk-MC4MSOCM.js";
20
+ } from "./chunk-CLXCB6LY.js";
21
21
  import "./chunk-MMTKCHRP.js";
22
22
  import "./chunk-7IY43S3Y.js";
23
23
  export {
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { Avatar, AvatarProps, BoxProps, Breakpoint, Button, ButtonProps, CheckBox, CheckBoxProps, Checkbox, CheckboxProps, CircularLoading, CircularLoadingProps, ContainerBreakpoint, ContainerBreakpointMap, Divider, DomainStatusBadge, DomainStatusBadgeProps, FilterBar, FilterBarProps, FocusNavigationMode, FormActions, FormActionsProps, FormErrorNavigation, FormGrid, FormGridProps, IFilterControl, IFilterOption, IFilterProps, IHeaderItem, IMobileCardTableExpandableConfig, IMobileCardTableHeader, ITableColumnConfig, ITableExpandableConfig, ITablePaginationProps, IconProvider, IconProviderProps, InfoGrid, InfoGridProps, InfoItem, InfoItemProps, InputSlider, InputSliderProps, LoadingDots, MobileCardTable, MobileCardTableProps, ModalCard, ModalCardProps, Notice, OptionalValuePolicy, PageHeading, PageHeadingBackAction, PageHeadingProps, PageState, PageTabItem, PageTabsHeader, Pagination, PaginationProps, IconProvider as PortalIconProvider, ResolvedStatusAppearance, SkipLink, SkipLinkProps, Slider, SliderProps, StatusAppearance, StatusAppearanceMap, StatusBadge, StatusBadgeProps, StatusDomain, StatusResolverOptions, StatusTone, Surface, SurfaceProps, Table, TableDensity, TableHeaderVariant, TableOverflowMode, TableProps, TableRowVariant, TextGroup, TextGroupProps, ThemedImage, ThemedImageProps, Tooltip, TooltipProps, Typography, Typography as TypographyComponent, TypographyProps, TypographySemanticRole, UseContainerBreakpointOptions, breakpoints, findFirstInvalidField, getBreakpoint, getStatusBadgeClassName, normalizeStatus, resolveContainerBreakpoint, resolveStatusAppearance, useBreakpoint, useContainerBreakpoint } from './core.js';
1
+ export { Avatar, AvatarProps, BoxProps, Breakpoint, Button, ButtonProps, CheckBox, CheckBoxProps, Checkbox, CheckboxProps, CircularLoading, CircularLoadingProps, ContainerBreakpoint, ContainerBreakpointMap, Divider, DomainStatusBadge, DomainStatusBadgeProps, FilterBar, FilterBarProps, FocusNavigationMode, FormActions, FormActionsProps, FormErrorNavigation, FormGrid, FormGridProps, IFilterControl, IFilterOption, IFilterProps, IHeaderItem, IMobileCardTableExpandableConfig, IMobileCardTableHeader, ITableColumnConfig, ITableExpandableConfig, ITablePaginationProps, IconProvider, IconProviderProps, InfoGrid, InfoGridProps, InfoItem, InfoItemProps, InputSlider, InputSliderProps, LoadingDots, LoadingDotsProps, MobileCardTable, MobileCardTableProps, ModalCard, ModalCardProps, Notice, OptionalValuePolicy, PageHeading, PageHeadingBackAction, PageHeadingProps, PageState, PageStateProps, PageStateVariant, PageTabItem, PageTabsHeader, PageTabsHeaderProps, Pagination, PaginationProps, IconProvider as PortalIconProvider, ResolvedStatusAppearance, SkipLink, SkipLinkProps, Slider, SliderProps, StatusAppearance, StatusAppearanceMap, StatusBadge, StatusBadgeProps, StatusDomain, StatusResolverOptions, StatusTone, Surface, SurfaceProps, Table, TableDensity, TableHeaderVariant, TableOverflowMode, TableProps, TableRowVariant, TextGroup, TextGroupProps, ThemedImage, ThemedImageProps, Tooltip, TooltipProps, Typography, Typography as TypographyComponent, TypographyProps, TypographySemanticRole, UseContainerBreakpointOptions, breakpoints, findFirstInvalidField, getBreakpoint, getStatusBadgeClassName, normalizeStatus, resolveContainerBreakpoint, resolveStatusAppearance, useBreakpoint, useContainerBreakpoint } from './core.js';
2
2
  export { AccessibilityColorScheme, AccessibilityFontScale, AccessibilityHighContrastTheme, AccessibilityPreferences, AccessibilityPreferencesPanel, AccessibilityPreferencesPanelProps, ContrastPreference, ContrastPreferenceProps, DEFAULT_ACCESSIBILITY_PREFERENCES, FontSizePreference, FontSizePreferenceProps, HighContrastToggle, HighContrastToggleProps, InputSwitch, InputSwitchProps, Modal, ModalProps, ReadingPreferences, ReadingPreferencesProps, ThemePreference, ThemePreferenceProps } from './overlays.js';
3
- export { CountrySelect, CountrySelectOption, CountrySelectProps, DatePicker, DatePickerNavigationVariant, DatePickerProps, DatePickerSelectionMode, Datepicker, DatepickerNavigationVariant, DatepickerProps, Input, InputPhone, InputPhoneCountryOption, InputPhoneProps, InputPhoneValue, InputProps, InputSelect, InputSelectOption, InputSelectProps, InputStandalone, InputStandaloneProps, MultiSelect, MultiSelectOption, MultiSelectProps, MultiSelectViewProps, OtpCodeInput, OtpCodeInputHandle, OtpCodeInputMask, OtpCodeInputProps, PhoneCountryOption, PhoneInput, PhoneInputProps, PhoneValue, RadioCardGroup, RadioCardGroupProps, RadioCardOption, RadioGroup, RadioGroupProps, SelectCountry, SelectCountryOption, SelectCountryProps, SelectMulti, SelectMultiOption, SelectMultiProps, SelectMultiViewProps, TextArea, TextAreaProps, buildPhonePayload, parsePhonePayload } from './forms.js';
4
- export { BoletoBarCode, BoletoBarCodeProps, FileDropzone, FileDropzoneProps, FileList, FileListProps, FileRejection, FileUploadItem, FileUploadItemStatus, FileUploadProgress, FileUploadProgressProps, FileUploadProgressStatus, FileValidationOptions, FileValidationReason, FileValidationResult, FileViewer, FileViewerProps, FileViewerSource, QRCode, QRCodeErrorCorrectionLevel, QRCodeProps, validateFiles } from './documents.js';
3
+ export { CountrySelect, CountrySelectOption, CountrySelectProps, DatePicker, DatePickerNavigationVariant, DatePickerProps, DatePickerSelectionMode, Datepicker, DatepickerNavigationVariant, DatepickerProps, Input, InputFormatter, InputMask, InputPhone, InputPhoneCountryOption, InputPhoneProps, InputPhoneValue, InputProps, InputSelect, InputSelectOption, InputSelectProps, InputStandalone, InputStandaloneProps, MultiSelect, MultiSelectOption, MultiSelectProps, MultiSelectViewProps, OtpCodeInput, OtpCodeInputHandle, OtpCodeInputMask, OtpCodeInputProps, PhoneCountryOption, PhoneInput, PhoneInputProps, PhoneValue, RadioCardGroup, RadioCardGroupProps, RadioCardOption, RadioGroup, RadioGroupProps, SelectCountry, SelectCountryOption, SelectCountryProps, SelectMulti, SelectMultiOption, SelectMultiProps, SelectMultiViewProps, TextArea, TextAreaProps, buildPhonePayload, parsePhonePayload } from './forms.js';
4
+ export { BoletoBarCode, BoletoBarCodeProps, FileDropzone, FileDropzoneProps, FileList, FileListProps, FileRejection, FileRejectionContext, FileUploadItem, FileUploadItemStatus, FileUploadProgress, FileUploadProgressProps, FileUploadProgressStatus, FileValidationMessage, FileValidationOptions, FileValidationReason, FileValidationResult, FileViewer, FileViewerProps, FileViewerSource, FileViewerSourceInput, QRCode, QRCodeErrorCorrectionLevel, QRCodeProps, validateFiles } from './documents.js';
5
5
  export { D as DocumentItem, a as DocumentItemDetail, b as DocumentItemProps } from './DocumentItem-BU0J2QGP.js';
6
6
  export { C as CountryListFilter, a as CountryListMode } from './country-metadata-DOgzawAc.js';
7
7
  export { ApexChartProps, InteractiveDonutChart, InteractiveDonutOptions, InteractiveDonutProps, LazyApexChart, TimeRangeSelector, TimeRangeSelectorProps, TimeSeriesChart, TimeSeriesChartOptions, TimeSeriesChartProps, TimeSeriesTooltipRow, buildTimeSeriesTooltip, escapeDonutTooltipText, escapeTimeSeriesTooltipText, getChartSeriesRecord, getChartTheme, normalizeTimeSeriesTooltipColor, resolveInteractiveDonutColors, resolveRelativeDonutSelection } from './charts.js';
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  normalizeTimeSeriesTooltipColor,
13
13
  resolveInteractiveDonutColors,
14
14
  resolveRelativeDonutSelection
15
- } from "./chunk-5MRS4PDD.js";
15
+ } from "./chunk-HKCVDOGK.js";
16
16
  import {
17
17
  Avatar_default,
18
18
  Button_default,
@@ -53,7 +53,7 @@ import {
53
53
  resolveStatusAppearance,
54
54
  typography_default,
55
55
  useContainerBreakpoint
56
- } from "./chunk-JGCZAVYV.js";
56
+ } from "./chunk-EA5F5GSP.js";
57
57
  import {
58
58
  BoletoBarCode,
59
59
  FileDropzone_default,
@@ -62,7 +62,7 @@ import {
62
62
  FileViewer_default,
63
63
  QRCode_default,
64
64
  validateFiles
65
- } from "./chunk-YIUITJ4V.js";
65
+ } from "./chunk-CVTBM4I6.js";
66
66
  import {
67
67
  DocumentItem
68
68
  } from "./chunk-2XXVEFFY.js";
@@ -84,7 +84,7 @@ import {
84
84
  buildPhonePayload,
85
85
  datePicker_default,
86
86
  parsePhonePayload
87
- } from "./chunk-MC4MSOCM.js";
87
+ } from "./chunk-CLXCB6LY.js";
88
88
  import {
89
89
  Tooltip_default,
90
90
  breakpoints,
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@aspprev/versi-ds",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "files": [
5
5
  "DocumentItem-BU0J2QGP.d.ts",
6
6
  "charts.d.ts",
7
7
  "charts.js",
8
8
  "chunk-2XXVEFFY.js",
9
- "chunk-5MRS4PDD.js",
10
9
  "chunk-7IY43S3Y.js",
11
- "chunk-JGCZAVYV.js",
12
- "chunk-MC4MSOCM.js",
10
+ "chunk-CLXCB6LY.js",
11
+ "chunk-CVTBM4I6.js",
12
+ "chunk-EA5F5GSP.js",
13
+ "chunk-HKCVDOGK.js",
13
14
  "chunk-MMTKCHRP.js",
14
- "chunk-YIUITJ4V.js",
15
15
  "chunk-ZPY72ILO.js",
16
16
  "core.d.ts",
17
17
  "core.js",