@plenustech/design-system 0.2.0 → 0.2.2
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/components/actions/Button/Button.cjs +2 -0
- package/dist/components/actions/Button/Button.cjs.map +1 -0
- package/dist/components/actions/Button/Button.js +47 -0
- package/dist/components/actions/Button/Button.js.map +1 -0
- package/dist/components/actions/Button/Button.module.css.cjs +2 -0
- package/dist/components/actions/Button/Button.module.css.cjs.map +1 -0
- package/dist/components/actions/Button/Button.module.css.js +24 -0
- package/dist/components/actions/Button/Button.module.css.js.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.cjs +2 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.cjs.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.js +21 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.js.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs +2 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js +14 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs +2 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.js +205 -0
- package/dist/components/charts/ChartArea/ChartArea.js.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +2 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.js +18 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.cjs +2 -0
- package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.js +216 -0
- package/dist/components/charts/ChartBar/ChartBar.js.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +2 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.js +14 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.cjs +2 -0
- package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.js +248 -0
- package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +2 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +20 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.cjs +2 -0
- package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.js +107 -0
- package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs +2 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.js +14 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.js.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.cjs +2 -0
- package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.js +166 -0
- package/dist/components/charts/ChartLine/ChartLine.js.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +2 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.js +18 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.cjs +2 -0
- package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.js +99 -0
- package/dist/components/charts/ChartPie/ChartPie.js.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.cjs +2 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.js +10 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.js.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.cjs +2 -0
- package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.js +121 -0
- package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs +2 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.js +16 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.js.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.cjs +2 -0
- package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.js +209 -0
- package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs +2 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.js +22 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.js.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.cjs +2 -0
- package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.js +137 -0
- package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +2 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +14 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +2 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.js +144 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs +2 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js +16 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +2 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.js +113 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs +2 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js +32 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +2 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.js +122 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs +2 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js +14 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +2 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +168 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +2 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +12 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -0
- package/dist/components/charts/core/Axis.cjs +2 -0
- package/dist/components/charts/core/Axis.cjs.map +1 -0
- package/dist/components/charts/core/Axis.js +40 -0
- package/dist/components/charts/core/Axis.js.map +1 -0
- package/dist/components/charts/core/BandCursor.cjs +2 -0
- package/dist/components/charts/core/BandCursor.cjs.map +1 -0
- package/dist/components/charts/core/BandCursor.js +19 -0
- package/dist/components/charts/core/BandCursor.js.map +1 -0
- package/dist/components/charts/core/CartesianFrame.cjs +2 -0
- package/dist/components/charts/core/CartesianFrame.cjs.map +1 -0
- package/dist/components/charts/core/CartesianFrame.js +120 -0
- package/dist/components/charts/core/CartesianFrame.js.map +1 -0
- package/dist/components/charts/core/Chart.module.css.cjs +2 -0
- package/dist/components/charts/core/Chart.module.css.cjs.map +1 -0
- package/dist/components/charts/core/Chart.module.css.js +68 -0
- package/dist/components/charts/core/Chart.module.css.js.map +1 -0
- package/dist/components/charts/core/ChartFrame.cjs +2 -0
- package/dist/components/charts/core/ChartFrame.cjs.map +1 -0
- package/dist/components/charts/core/ChartFrame.js +65 -0
- package/dist/components/charts/core/ChartFrame.js.map +1 -0
- package/dist/components/charts/core/ChartLegend.cjs +2 -0
- package/dist/components/charts/core/ChartLegend.cjs.map +1 -0
- package/dist/components/charts/core/ChartLegend.js +44 -0
- package/dist/components/charts/core/ChartLegend.js.map +1 -0
- package/dist/components/charts/core/Grid.cjs +2 -0
- package/dist/components/charts/core/Grid.cjs.map +1 -0
- package/dist/components/charts/core/Grid.js +20 -0
- package/dist/components/charts/core/Grid.js.map +1 -0
- package/dist/components/charts/core/arcs.cjs +2 -0
- package/dist/components/charts/core/arcs.cjs.map +1 -0
- package/dist/components/charts/core/arcs.js +26 -0
- package/dist/components/charts/core/arcs.js.map +1 -0
- package/dist/components/charts/core/cartesianLayout.cjs +2 -0
- package/dist/components/charts/core/cartesianLayout.cjs.map +1 -0
- package/dist/components/charts/core/cartesianLayout.js +59 -0
- package/dist/components/charts/core/cartesianLayout.js.map +1 -0
- package/dist/components/charts/core/centerText.cjs +2 -0
- package/dist/components/charts/core/centerText.cjs.map +1 -0
- package/dist/components/charts/core/centerText.js +31 -0
- package/dist/components/charts/core/centerText.js.map +1 -0
- package/dist/components/charts/core/measureText.cjs +2 -0
- package/dist/components/charts/core/measureText.cjs.map +1 -0
- package/dist/components/charts/core/measureText.js +55 -0
- package/dist/components/charts/core/measureText.js.map +1 -0
- package/dist/components/charts/core/shapes.cjs +2 -0
- package/dist/components/charts/core/shapes.cjs.map +1 -0
- package/dist/components/charts/core/shapes.js +31 -0
- package/dist/components/charts/core/shapes.js.map +1 -0
- package/dist/components/charts/core/slices.cjs +2 -0
- package/dist/components/charts/core/slices.cjs.map +1 -0
- package/dist/components/charts/core/slices.js +22 -0
- package/dist/components/charts/core/slices.js.map +1 -0
- package/dist/components/charts/core/spacing.cjs +2 -0
- package/dist/components/charts/core/spacing.cjs.map +1 -0
- package/dist/components/charts/core/spacing.js +26 -0
- package/dist/components/charts/core/spacing.js.map +1 -0
- package/dist/components/charts/core/useChartMetrics.cjs +2 -0
- package/dist/components/charts/core/useChartMetrics.cjs.map +1 -0
- package/dist/components/charts/core/useChartMetrics.js +39 -0
- package/dist/components/charts/core/useChartMetrics.js.map +1 -0
- package/dist/components/charts/core/useHoveredBand.cjs +2 -0
- package/dist/components/charts/core/useHoveredBand.cjs.map +1 -0
- package/dist/components/charts/core/useHoveredBand.js +14 -0
- package/dist/components/charts/core/useHoveredBand.js.map +1 -0
- package/dist/components/charts/core/useSeriesToggle.cjs +2 -0
- package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -0
- package/dist/components/charts/core/useSeriesToggle.js +22 -0
- package/dist/components/charts/core/useSeriesToggle.js.map +1 -0
- package/dist/components/charts/core/useSliceRing.cjs +2 -0
- package/dist/components/charts/core/useSliceRing.cjs.map +1 -0
- package/dist/components/charts/core/useSliceRing.js +55 -0
- package/dist/components/charts/core/useSliceRing.js.map +1 -0
- package/dist/components/charts/core/useTweenedNumbers.cjs +2 -0
- package/dist/components/charts/core/useTweenedNumbers.cjs.map +1 -0
- package/dist/components/charts/core/useTweenedNumbers.js +31 -0
- package/dist/components/charts/core/useTweenedNumbers.js.map +1 -0
- package/dist/components/charts/palette/palette.cjs +2 -0
- package/dist/components/charts/palette/palette.cjs.map +1 -0
- package/dist/components/charts/palette/palette.js +26 -0
- package/dist/components/charts/palette/palette.js.map +1 -0
- package/dist/components/charts/palette/seriesColor.cjs +2 -0
- package/dist/components/charts/palette/seriesColor.cjs.map +1 -0
- package/dist/components/charts/palette/seriesColor.js +43 -0
- package/dist/components/charts/palette/seriesColor.js.map +1 -0
- package/dist/components/charts/scales/scales.cjs +2 -0
- package/dist/components/charts/scales/scales.cjs.map +1 -0
- package/dist/components/charts/scales/scales.js +74 -0
- package/dist/components/charts/scales/scales.js.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.cjs +2 -0
- package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.js +91 -0
- package/dist/components/data-display/Accordion/Accordion.js.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs +2 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.js +26 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.js.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.cjs +2 -0
- package/dist/components/data-display/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.js +20 -0
- package/dist/components/data-display/Avatar/Avatar.js.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs +2 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.js +14 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.js.map +1 -0
- package/dist/components/data-display/Badge/Badge.cjs +2 -0
- package/dist/components/data-display/Badge/Badge.cjs.map +1 -0
- package/dist/components/data-display/Badge/Badge.js +13 -0
- package/dist/components/data-display/Badge/Badge.js.map +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs +2 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs.map +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.js +22 -0
- package/dist/components/data-display/Badge/Badge.module.css.js.map +1 -0
- package/dist/components/data-display/Card/Card.cjs +2 -0
- package/dist/components/data-display/Card/Card.cjs.map +1 -0
- package/dist/components/data-display/Card/Card.js +51 -0
- package/dist/components/data-display/Card/Card.js.map +1 -0
- package/dist/components/data-display/Card/Card.module.css.cjs +2 -0
- package/dist/components/data-display/Card/Card.module.css.cjs.map +1 -0
- package/dist/components/data-display/Card/Card.module.css.js +26 -0
- package/dist/components/data-display/Card/Card.module.css.js.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs +2 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.js +65 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.js.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs +2 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js +47 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js.map +1 -0
- package/dist/components/data-display/CodeBlock/syntax.cjs +24 -0
- package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/syntax.js +124 -0
- package/dist/components/data-display/CodeBlock/syntax.js.map +1 -0
- package/dist/components/data-display/List/List.cjs +2 -0
- package/dist/components/data-display/List/List.cjs.map +1 -0
- package/dist/components/data-display/List/List.js +99 -0
- package/dist/components/data-display/List/List.js.map +1 -0
- package/dist/components/data-display/List/List.module.css.cjs +2 -0
- package/dist/components/data-display/List/List.module.css.cjs.map +1 -0
- package/dist/components/data-display/List/List.module.css.js +32 -0
- package/dist/components/data-display/List/List.module.css.js.map +1 -0
- package/dist/components/data-display/List/ListingOptions.cjs +2 -0
- package/dist/components/data-display/List/ListingOptions.cjs.map +1 -0
- package/dist/components/data-display/List/ListingOptions.js +115 -0
- package/dist/components/data-display/List/ListingOptions.js.map +1 -0
- package/dist/components/data-display/List/useListing.cjs +2 -0
- package/dist/components/data-display/List/useListing.cjs.map +1 -0
- package/dist/components/data-display/List/useListing.js +85 -0
- package/dist/components/data-display/List/useListing.js.map +1 -0
- package/dist/components/data-display/List/useVirtualWindow.cjs +2 -0
- package/dist/components/data-display/List/useVirtualWindow.cjs.map +1 -0
- package/dist/components/data-display/List/useVirtualWindow.js +58 -0
- package/dist/components/data-display/List/useVirtualWindow.js.map +1 -0
- package/dist/components/data-display/Table/Table.cjs +2 -0
- package/dist/components/data-display/Table/Table.cjs.map +1 -0
- package/dist/components/data-display/Table/Table.js +238 -0
- package/dist/components/data-display/Table/Table.js.map +1 -0
- package/dist/components/data-display/Table/Table.module.css.cjs +2 -0
- package/dist/components/data-display/Table/Table.module.css.cjs.map +1 -0
- package/dist/components/data-display/Table/Table.module.css.js +69 -0
- package/dist/components/data-display/Table/Table.module.css.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.cjs +2 -0
- package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
- package/dist/components/feedback/Alert/Alert.js +13 -0
- package/dist/components/feedback/Alert/Alert.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs +2 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs.map +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.js +20 -0
- package/dist/components/feedback/Alert/Alert.module.css.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.cjs +2 -0
- package/dist/components/feedback/EmptyState/EmptyState.cjs.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.js +49 -0
- package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs +2 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.js +36 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.js.map +1 -0
- package/dist/components/feedback/Progress/Progress.cjs +2 -0
- package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
- package/dist/components/feedback/Progress/Progress.js +34 -0
- package/dist/components/feedback/Progress/Progress.js.map +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs +2 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs.map +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.js +21 -0
- package/dist/components/feedback/Progress/Progress.module.css.js.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.cjs +2 -0
- package/dist/components/feedback/Spinner/Spinner.cjs.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.js +10 -0
- package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs +2 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.js +15 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.js.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.js +45 -0
- package/dist/components/forms/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +2 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.js +20 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.js.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.cjs +3 -0
- package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.js +223 -0
- package/dist/components/forms/ComboBox/ComboBox.js.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +2 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.js +28 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.js.map +1 -0
- package/dist/components/forms/DatePicker/Calendar.cjs +2 -0
- package/dist/components/forms/DatePicker/Calendar.cjs.map +1 -0
- package/dist/components/forms/DatePicker/Calendar.js +86 -0
- package/dist/components/forms/DatePicker/Calendar.js.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs +2 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.js +217 -0
- package/dist/components/forms/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs +2 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.js +44 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.js.map +1 -0
- package/dist/components/forms/DatePicker/iso.cjs +2 -0
- package/dist/components/forms/DatePicker/iso.cjs.map +1 -0
- package/dist/components/forms/DatePicker/iso.js +18 -0
- package/dist/components/forms/DatePicker/iso.js.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs +2 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.js +241 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs +2 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js +26 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
- package/dist/components/forms/Field/Field.cjs +2 -0
- package/dist/components/forms/Field/Field.cjs.map +1 -0
- package/dist/components/forms/Field/Field.js +34 -0
- package/dist/components/forms/Field/Field.js.map +1 -0
- package/dist/components/forms/Field/Field.module.css.cjs +2 -0
- package/dist/components/forms/Field/Field.module.css.cjs.map +1 -0
- package/dist/components/forms/Field/Field.module.css.js +16 -0
- package/dist/components/forms/Field/Field.module.css.js.map +1 -0
- package/dist/components/forms/Field/FormValue.cjs +2 -0
- package/dist/components/forms/Field/FormValue.cjs.map +1 -0
- package/dist/components/forms/Field/FormValue.js +24 -0
- package/dist/components/forms/Field/FormValue.js.map +1 -0
- package/dist/components/forms/InputCurrency/InputCurrency.cjs +2 -0
- package/dist/components/forms/InputCurrency/InputCurrency.cjs.map +1 -0
- package/dist/components/forms/InputCurrency/InputCurrency.js +41 -0
- package/dist/components/forms/InputCurrency/InputCurrency.js.map +1 -0
- package/dist/components/forms/InputNumber/InputNumber.cjs +2 -0
- package/dist/components/forms/InputNumber/InputNumber.cjs.map +1 -0
- package/dist/components/forms/InputNumber/InputNumber.js +39 -0
- package/dist/components/forms/InputNumber/InputNumber.js.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.cjs +2 -0
- package/dist/components/forms/InputPassword/InputPassword.cjs.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.js +110 -0
- package/dist/components/forms/InputPassword/InputPassword.js.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +2 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.cjs.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.js +18 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.js.map +1 -0
- package/dist/components/forms/InputText/InputText.cjs +2 -0
- package/dist/components/forms/InputText/InputText.cjs.map +1 -0
- package/dist/components/forms/InputText/InputText.js +62 -0
- package/dist/components/forms/InputText/InputText.js.map +1 -0
- package/dist/components/forms/InputText/InputText.module.css.cjs +2 -0
- package/dist/components/forms/InputText/InputText.module.css.cjs.map +1 -0
- package/dist/components/forms/InputText/InputText.module.css.js +14 -0
- package/dist/components/forms/InputText/InputText.module.css.js.map +1 -0
- package/dist/components/forms/Label/Label.cjs +2 -0
- package/dist/components/forms/Label/Label.cjs.map +1 -0
- package/dist/components/forms/Label/Label.js +13 -0
- package/dist/components/forms/Label/Label.js.map +1 -0
- package/dist/components/forms/Label/Label.module.css.cjs +2 -0
- package/dist/components/forms/Label/Label.module.css.cjs.map +1 -0
- package/dist/components/forms/Label/Label.module.css.js +10 -0
- package/dist/components/forms/Label/Label.module.css.js.map +1 -0
- package/dist/components/forms/RadioGroup/Radio.cjs +2 -0
- package/dist/components/forms/RadioGroup/Radio.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/Radio.js +43 -0
- package/dist/components/forms/RadioGroup/Radio.js.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.cjs +2 -0
- package/dist/components/forms/RadioGroup/RadioGroup.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.js +58 -0
- package/dist/components/forms/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +2 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +26 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js.map +1 -0
- package/dist/components/forms/Select/Select.cjs +2 -0
- package/dist/components/forms/Select/Select.cjs.map +1 -0
- package/dist/components/forms/Select/Select.js +191 -0
- package/dist/components/forms/Select/Select.js.map +1 -0
- package/dist/components/forms/Select/Select.module.css.cjs +2 -0
- package/dist/components/forms/Select/Select.module.css.cjs.map +1 -0
- package/dist/components/forms/Select/Select.module.css.js +22 -0
- package/dist/components/forms/Select/Select.module.css.js.map +1 -0
- package/dist/components/forms/Switch/Switch.cjs +2 -0
- package/dist/components/forms/Switch/Switch.cjs.map +1 -0
- package/dist/components/forms/Switch/Switch.js +39 -0
- package/dist/components/forms/Switch/Switch.js.map +1 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs +2 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs.map +1 -0
- package/dist/components/forms/Switch/Switch.module.css.js +20 -0
- package/dist/components/forms/Switch/Switch.module.css.js.map +1 -0
- package/dist/components/forms/Textarea/Textarea.cjs +2 -0
- package/dist/components/forms/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/forms/Textarea/Textarea.js +64 -0
- package/dist/components/forms/Textarea/Textarea.js.map +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs +2 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs.map +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.js +14 -0
- package/dist/components/forms/Textarea/Textarea.module.css.js.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs +2 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.js +176 -0
- package/dist/components/forms/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs +2 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.js +26 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.js.map +1 -0
- package/dist/components/forms/TimePicker/TimeSlots.cjs +2 -0
- package/dist/components/forms/TimePicker/TimeSlots.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimeSlots.js +81 -0
- package/dist/components/forms/TimePicker/TimeSlots.js.map +1 -0
- package/dist/components/icons/Icon.cjs +2 -0
- package/dist/components/icons/Icon.cjs.map +1 -0
- package/dist/components/icons/Icon.js +24 -0
- package/dist/components/icons/Icon.js.map +1 -0
- package/dist/components/icons/icons.cjs +2 -0
- package/dist/components/icons/icons.cjs.map +1 -0
- package/dist/components/icons/icons.js +116 -0
- package/dist/components/icons/icons.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +22 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs +2 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js +16 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
- package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.js +70 -0
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs +2 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs +2 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.js +96 -0
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs +2 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.js +20 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.cjs +2 -0
- package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.js +64 -0
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.cjs +2 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.cjs.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.js +36 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.js.map +1 -0
- package/dist/components/overlays/Menu/Menu.cjs +2 -0
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
- package/dist/components/overlays/Menu/Menu.js +137 -0
- package/dist/components/overlays/Menu/Menu.js.map +1 -0
- package/dist/components/overlays/Menu/Menu.module.css.cjs +2 -0
- package/dist/components/overlays/Menu/Menu.module.css.cjs.map +1 -0
- package/dist/components/overlays/Menu/Menu.module.css.js +10 -0
- package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.cjs +2 -0
- package/dist/components/overlays/Popover/Popover.cjs.map +1 -0
- package/dist/components/overlays/Popover/Popover.js +59 -0
- package/dist/components/overlays/Popover/Popover.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs +2 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs.map +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.js +8 -0
- package/dist/components/overlays/Popover/Popover.module.css.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs +2 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +84 -0
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs +2 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.js +8 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/hooks/useCalendar/calendar.cjs +2 -0
- package/dist/hooks/useCalendar/calendar.cjs.map +1 -0
- package/dist/hooks/useCalendar/calendar.js +56 -0
- package/dist/hooks/useCalendar/calendar.js.map +1 -0
- package/dist/hooks/useCalendar/useCalendar.cjs +2 -0
- package/dist/hooks/useCalendar/useCalendar.cjs.map +1 -0
- package/dist/hooks/useCalendar/useCalendar.js +48 -0
- package/dist/hooks/useCalendar/useCalendar.js.map +1 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.cjs +2 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.cjs.map +1 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.js +27 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.js.map +1 -0
- package/dist/hooks/useDecimalInput.cjs +2 -0
- package/dist/hooks/useDecimalInput.cjs.map +1 -0
- package/dist/hooks/useDecimalInput.js +17 -0
- package/dist/hooks/useDecimalInput.js.map +1 -0
- package/dist/hooks/useFormReset.cjs +2 -0
- package/dist/hooks/useFormReset.cjs.map +1 -0
- package/dist/hooks/useFormReset.js +16 -0
- package/dist/hooks/useFormReset.js.map +1 -0
- package/dist/hooks/useMergedRefs.cjs +2 -0
- package/dist/hooks/useMergedRefs.cjs.map +1 -0
- package/dist/hooks/useMergedRefs.js +24 -0
- package/dist/hooks/useMergedRefs.js.map +1 -0
- package/dist/hooks/useSelection/selection.cjs +2 -0
- package/dist/hooks/useSelection/selection.cjs.map +1 -0
- package/dist/hooks/useSelection/selection.js +78 -0
- package/dist/hooks/useSelection/selection.js.map +1 -0
- package/dist/hooks/useSelection/useSelection.cjs +2 -0
- package/dist/hooks/useSelection/useSelection.cjs.map +1 -0
- package/dist/hooks/useSelection/useSelection.js +68 -0
- package/dist/hooks/useSelection/useSelection.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +131 -0
- package/dist/index.js.map +1 -0
- package/dist/types/components/actions/ButtonIcon/ButtonIcon.d.ts +12 -0
- package/dist/types/components/actions/ButtonIcon/index.d.ts +2 -0
- package/dist/types/components/data-display/CodeBlock/CodeBlock.d.ts +16 -0
- package/dist/types/components/data-display/CodeBlock/index.d.ts +3 -0
- package/dist/types/components/data-display/CodeBlock/syntax.d.ts +15 -0
- package/dist/types/components/data-display/Table/Table.d.ts +5 -3
- package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +14 -0
- package/dist/types/components/feedback/EmptyState/index.d.ts +2 -0
- package/dist/types/components/forms/Checkbox/Checkbox.d.ts +3 -2
- package/dist/types/components/forms/ComboBox/ComboBox.d.ts +15 -4
- package/dist/types/components/forms/ComboBox/index.d.ts +1 -1
- package/dist/types/components/icons/icons.d.ts +4 -0
- package/dist/types/components/icons/index.d.ts +1 -1
- package/dist/types/components/navigation/Pagination/Pagination.d.ts +3 -1
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +6 -1
- package/dist/types/components/overlays/Dialog/index.d.ts +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/utils/formatters/formatarData.cjs +2 -0
- package/dist/utils/formatters/formatarData.cjs.map +1 -0
- package/dist/utils/formatters/formatarData.js +32 -0
- package/dist/utils/formatters/formatarData.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaData.js +22 -0
- package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
- package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaHora.js +32 -0
- package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
- package/dist/utils/formatters/formatarNumero.cjs +2 -0
- package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
- package/dist/utils/formatters/formatarNumero.js +28 -0
- package/dist/utils/formatters/formatarNumero.js.map +1 -0
- package/dist/utils/formatters/mascararPartes.cjs +2 -0
- package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
- package/dist/utils/formatters/mascararPartes.js +17 -0
- package/dist/utils/formatters/mascararPartes.js.map +1 -0
- package/dist/utils/textSearch/textSearch.cjs +2 -0
- package/dist/utils/textSearch/textSearch.cjs.map +1 -0
- package/dist/utils/textSearch/textSearch.js +22 -0
- package/dist/utils/textSearch/textSearch.js.map +1 -0
- package/package.json +5 -5
- package/dist/plenus-design-system.cjs +0 -2
- package/dist/plenus-design-system.cjs.map +0 -1
- package/dist/plenus-design-system.es.js +0 -6297
- package/dist/plenus-design-system.es.js.map +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { scalePoint as u, scaleLinear as s, scaleBand as f, scaleSqrt as g } from "d3-scale";
|
|
2
|
+
import { extent as l, max as d, min as p } from "d3-array";
|
|
3
|
+
function M(n, { includeZero: t = !0 } = {}) {
|
|
4
|
+
const i = n.filter(Number.isFinite);
|
|
5
|
+
if (i.length === 0)
|
|
6
|
+
return { min: 0, max: 0 };
|
|
7
|
+
const [r = 0, e = 0] = l(i);
|
|
8
|
+
return {
|
|
9
|
+
min: t ? Math.min(r, 0) : r,
|
|
10
|
+
max: t ? Math.max(e, 0) : e
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function S(n) {
|
|
14
|
+
let t = 0, i = 0;
|
|
15
|
+
return n.map((r) => {
|
|
16
|
+
const e = Number.isFinite(r) ? r : 0;
|
|
17
|
+
if (e < 0) {
|
|
18
|
+
const m = i;
|
|
19
|
+
return i += e, [m, i];
|
|
20
|
+
}
|
|
21
|
+
const c = t;
|
|
22
|
+
return t += e, [c, t];
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function F(n) {
|
|
26
|
+
return n.length === 0 ? { min: 0, max: 0 } : {
|
|
27
|
+
min: p(n, (t) => t.min) ?? 0,
|
|
28
|
+
max: d(n, (t) => t.max) ?? 0
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function a({ min: n, max: t }) {
|
|
32
|
+
return t > n ? -n / (t - n) : void 0;
|
|
33
|
+
}
|
|
34
|
+
function o(n, t, i) {
|
|
35
|
+
return t > i ? { min: n.min, max: -n.min * (1 - i) / i } : t < i ? { min: -n.max * i / (1 - i), max: n.max } : n;
|
|
36
|
+
}
|
|
37
|
+
function k(n, t) {
|
|
38
|
+
const i = a(n), r = a(t);
|
|
39
|
+
if (i === void 0 || r === void 0)
|
|
40
|
+
return [n, t];
|
|
41
|
+
const e = Math.max(i, r) / (1 + Math.abs(i - r));
|
|
42
|
+
return [o(n, i, e), o(t, r, e)];
|
|
43
|
+
}
|
|
44
|
+
function x({ min: n, max: t }) {
|
|
45
|
+
return n === t ? [n, n + 1] : [n, t];
|
|
46
|
+
}
|
|
47
|
+
function N({ clamp: n = !1, domain: t, nice: i = !0, range: r }) {
|
|
48
|
+
const e = s().domain(x(t)).range(r).clamp(n);
|
|
49
|
+
return i ? e.nice() : e;
|
|
50
|
+
}
|
|
51
|
+
function b({ domain: n, padding: t = 0.2, range: i }) {
|
|
52
|
+
return f().domain([...n]).range(i).paddingInner(t).paddingOuter(t / 2);
|
|
53
|
+
}
|
|
54
|
+
function A({ domain: n, padding: t = 0.5, range: i }) {
|
|
55
|
+
return u().domain([...n]).range(i).padding(t);
|
|
56
|
+
}
|
|
57
|
+
function B(n, t) {
|
|
58
|
+
return g().domain([0, n > 0 ? n : 1]).range(t);
|
|
59
|
+
}
|
|
60
|
+
function D(n, t, i) {
|
|
61
|
+
return n.ticks(Math.max(2, Math.min(10, Math.floor(t / 64))));
|
|
62
|
+
}
|
|
63
|
+
export {
|
|
64
|
+
k as alignZeros,
|
|
65
|
+
b as bandScale,
|
|
66
|
+
M as domainOf,
|
|
67
|
+
N as linearScale,
|
|
68
|
+
F as mergeDomains,
|
|
69
|
+
A as pointScale,
|
|
70
|
+
B as radiusScale,
|
|
71
|
+
S as stackDiverging,
|
|
72
|
+
D as ticksFor
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=scales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scales.js","sources":["../../../../src/components/charts/scales/scales.ts"],"sourcesContent":["import { scaleBand, scaleLinear, scalePoint, scaleSqrt } from 'd3-scale';\nimport { extent, max, min } from 'd3-array';\n\nexport interface NumericRange {\n max: number;\n min: number;\n}\n\nexport interface ContinuousScaleOptions {\n clamp?: boolean;\n domain: NumericRange;\n nice?: boolean;\n range: [number, number];\n}\n\nexport interface CategoricalScaleOptions {\n domain: readonly string[];\n padding?: number;\n range: [number, number];\n}\n\n/**\n * Faixa que cobre os valores, com o zero incluido por padrao. Uma barra que\n * nao parte do zero exagera a diferenca entre os valores.\n */\nexport function domainOf(values: readonly number[], { includeZero = true } = {}): NumericRange {\n const finitos = values.filter(Number.isFinite);\n\n if (finitos.length === 0) {\n return { min: 0, max: 0 };\n }\n\n const [menor = 0, maior = 0] = extent(finitos);\n\n return {\n min: includeZero ? Math.min(menor, 0) : menor,\n max: includeZero ? Math.max(maior, 0) : maior,\n };\n}\n\n/**\n * Pilha divergente: positivos sobem do zero e negativos descem dele, cada sinal com o proprio acumulado.\n * Na soma corrida, `+10` e `-5` desenhavam o negativo por cima do positivo.\n */\nexport function stackDiverging(contributions: readonly number[]): [number, number][] {\n let positivos = 0;\n let negativos = 0;\n\n return contributions.map((valor) => {\n const parcela = Number.isFinite(valor) ? valor : 0;\n\n if (parcela < 0) {\n const inicio = negativos;\n negativos += parcela;\n return [inicio, negativos];\n }\n\n const inicio = positivos;\n positivos += parcela;\n return [inicio, positivos];\n });\n}\n\n/** Une varias series na mesma faixa, para que compartilhem um unico eixo. */\nexport function mergeDomains(domains: readonly NumericRange[]): NumericRange {\n if (domains.length === 0) {\n return { min: 0, max: 0 };\n }\n\n return {\n min: min(domains, (faixa) => faixa.min) ?? 0,\n max: max(domains, (faixa) => faixa.max) ?? 0,\n };\n}\n\n/** Parte da faixa abaixo do zero; sem amplitude, nao ha o que alinhar. */\nfunction parteNegativa({ min: menor, max: maior }: NumericRange) {\n return maior > menor ? -menor / (maior - menor) : undefined;\n}\n\n/** Estende a faixa do lado que falta para o zero ficar na altura pedida, em fracao do eixo. */\nfunction levarZeroA(faixa: NumericRange, parte: number, altura: number): NumericRange {\n if (parte > altura) {\n return { min: faixa.min, max: (-faixa.min * (1 - altura)) / altura };\n }\n\n if (parte < altura) {\n return { min: (-faixa.max * altura) / (1 - altura), max: faixa.max };\n }\n\n return faixa;\n}\n\n/**\n * Estende dois dominios que contem o zero para que ele caia na mesma altura nos\n * dois eixos. Cada um cresce so do lado que precisa, e a folga sai igual nos dois.\n */\nexport function alignZeros(a: NumericRange, b: NumericRange): [NumericRange, NumericRange] {\n const parteA = parteNegativa(a);\n const parteB = parteNegativa(b);\n\n if (parteA === undefined || parteB === undefined) {\n return [a, b];\n }\n\n const altura = Math.max(parteA, parteB) / (1 + Math.abs(parteA - parteB));\n\n return [levarZeroA(a, parteA, altura), levarZeroA(b, parteB, altura)];\n}\n\nfunction guardFlat({ min: menor, max: maior }: NumericRange): [number, number] {\n return menor === maior ? [menor, menor + 1] : [menor, maior];\n}\n\nexport function linearScale({ clamp = false, domain, nice = true, range }: ContinuousScaleOptions) {\n const escala = scaleLinear().domain(guardFlat(domain)).range(range).clamp(clamp);\n\n return nice ? escala.nice() : escala;\n}\n\n/** Faixas de largura igual, uma por categoria. Serve barras. */\nexport function bandScale({ domain, padding = 0.2, range }: CategoricalScaleOptions) {\n return scaleBand().domain([...domain]).range(range).paddingInner(padding).paddingOuter(padding / 2);\n}\n\n/** Pontos sem largura, um por categoria. Serve linhas e dispersao. */\nexport function pointScale({ domain, padding = 0.5, range }: CategoricalScaleOptions) {\n return scalePoint().domain([...domain]).range(range).padding(padding);\n}\n\n/**\n * Raio pela raiz do valor, para que a area da bolha acompanhe o dado em vez do\n * raio. Mapeando o valor direto ao raio, a area cresceria com o quadrado dele e\n * exageraria a diferenca.\n */\nexport function radiusScale(maxValue: number, range: [number, number]) {\n return scaleSqrt().domain([0, maxValue > 0 ? maxValue : 1]).range(range);\n}\n\n/**\n * Marcas de um eixo continuo. Sem contagem informada, o eixo decide pelo\n * espaco que tem, para nao amontoar rotulos em area estreita. Em escala\n * categorica as marcas sao o proprio dominio.\n */\nexport function ticksFor(scale: { ticks: (count?: number) => number[] }, length: number, count?: number) {\n return scale.ticks(count ?? Math.max(2, Math.min(10, Math.floor(length / 64))));\n}\n"],"names":["domainOf","values","includeZero","finitos","menor","maior","extent","stackDiverging","contributions","positivos","negativos","valor","parcela","inicio","mergeDomains","domains","min","faixa","max","parteNegativa","levarZeroA","parte","altura","alignZeros","a","b","parteA","parteB","guardFlat","linearScale","clamp","domain","nice","range","escala","scaleLinear","bandScale","padding","scaleBand","pointScale","scalePoint","radiusScale","maxValue","scaleSqrt","ticksFor","scale","length","count"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),j=require("react"),o=require("./Accordion.module.css.cjs"),S=require("../../../hooks/useSelection/useSelection.cjs"),q=require("../../icons/icons.cjs");function A({className:r,defaultExpandedKeys:a,expandedKeys:d,items:s,multiple:y=!1,onExpandedChange:n,iconPosition:u="right",divider:x=!0,...N}){const f=`accordion-${j.useId()}`,k=j.useRef(new Map),t=j.useMemo(()=>s.map(e=>({key:e.key,disabled:e.disabled,textValue:e.label})),[s]),h=S.useSelection({allowEmpty:!0,items:t,mode:y?"multiple":"single",defaultSelectedKeys:d===void 0?a:void 0,selectedKeys:d,onSelectionChange:e=>n==null?void 0:n([...e])});function v(e,c){var p,$,w;let l;e.key==="ArrowDown"?l=g(t,c,1):e.key==="ArrowUp"?l=g(t,c,-1):e.key==="Home"?l=(p=t.find(b=>!b.disabled))==null?void 0:p.key:e.key==="End"&&(l=($=[...t].reverse().find(b=>!b.disabled))==null?void 0:$.key),l&&(e.preventDefault(),(w=k.current.get(l))==null||w.focus())}return i.jsx("div",{...N,className:[o.default.accordion,x&&o.default.divided,r].filter(Boolean).join(" "),children:s.map(e=>{const c=h.selectedKeys.has(e.key);return i.jsxs("div",{className:o.default.item,children:[i.jsx("h3",{className:o.default.heading,children:i.jsxs("button",{ref:l=>{l?k.current.set(e.key,l):k.current.delete(e.key)},className:[o.default.trigger,u==="left"&&o.default.iconLeft].filter(Boolean).join(" "),type:"button",id:`${f}-${e.key}`,"aria-controls":`${f}-${e.key}-panel`,"aria-expanded":c,disabled:e.disabled,onClick:()=>h.select(e.key),onKeyDown:l=>v(l,e.key),children:[i.jsx("span",{className:o.default.label,children:e.label}),i.jsx(q.IconChevronDown,{className:[o.default.icon,c&&o.default.iconOpen].filter(Boolean).join(" "),size:16})]})}),i.jsx("div",{className:o.default.panel,id:`${f}-${e.key}-panel`,role:"region","aria-labelledby":`${f}-${e.key}`,hidden:!c,children:e.content})]},e.key)})})}function g(r,a,d){const s=r.length,y=r.findIndex(n=>n.key===a);for(let n=1;n<=s;n+=1){const u=r[(y+d*n+s*s)%s];if(!u.disabled)return u.key}return a}exports.Accordion=A;
|
|
2
|
+
//# sourceMappingURL=Accordion.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.cjs","sources":["../../../../src/components/data-display/Accordion/Accordion.tsx"],"sourcesContent":["import {\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Accordion.module.css';\nimport { IconChevronDown } from '../../icons';\n\nexport interface AccordionItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type AccordionIconPosition = 'left' | 'right';\n\nexport interface AccordionProps extends ComponentPropsWithRef<'div'> {\n defaultExpandedKeys?: readonly string[];\n expandedKeys?: readonly string[];\n items: readonly AccordionItem[];\n multiple?: boolean;\n onExpandedChange?: (keys: readonly string[]) => void;\n /** Direita e a convencao da web; esquerda serve a rotulos curtos em coluna estreita. */\n iconPosition?: AccordionIconPosition;\n /** Divisor entre as secoes, com a folga que ele exige. */\n divider?: boolean;\n}\n\nexport function Accordion({\n className,\n defaultExpandedKeys,\n expandedKeys,\n items,\n multiple = false,\n onExpandedChange,\n iconPosition = 'right',\n divider = true,\n ...props\n}: AccordionProps) {\n const baseId = `accordion-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const selection = useSelection({\n // Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um\n // estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.\n allowEmpty: true,\n items: collection,\n mode: multiple ? 'multiple' : 'single',\n defaultSelectedKeys: expandedKeys === undefined ? defaultExpandedKeys : undefined,\n selectedKeys: expandedKeys,\n onSelectionChange: (keys) => onExpandedChange?.([...keys]),\n });\n\n function handleKeyDown(event: KeyboardEvent<HTMLButtonElement>, key: string) {\n let destino: string | undefined;\n\n if (event.key === 'ArrowDown') {\n destino = proxima(collection, key, 1);\n } else if (event.key === 'ArrowUp') {\n destino = proxima(collection, key, -1);\n } else if (event.key === 'Home') {\n destino = collection.find((item) => !item.disabled)?.key;\n } else if (event.key === 'End') {\n destino = [...collection].reverse().find((item) => !item.disabled)?.key;\n }\n\n if (destino) {\n event.preventDefault();\n nodes.current.get(destino)?.focus();\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.accordion, divider && styles.divided, className].filter(Boolean).join(' ')}\n >\n {items.map((item) => {\n const aberto = selection.selectedKeys.has(item.key);\n\n return (\n <div className={styles.item} key={item.key}>\n <h3 className={styles.heading}>\n <button\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.trigger, iconPosition === 'left' && styles.iconLeft].filter(Boolean).join(' ')}\n type=\"button\"\n id={`${baseId}-${item.key}`}\n aria-controls={`${baseId}-${item.key}-panel`}\n aria-expanded={aberto}\n disabled={item.disabled}\n onClick={() => selection.select(item.key)}\n onKeyDown={(event) => handleKeyDown(event, item.key)}\n >\n <span className={styles.label}>{item.label}</span>\n <IconChevronDown className={[styles.icon, aberto && styles.iconOpen].filter(Boolean).join(' ')} size={16} />\n </button>\n </h3>\n <div\n className={styles.panel}\n id={`${baseId}-${item.key}-panel`}\n role=\"region\"\n aria-labelledby={`${baseId}-${item.key}`}\n hidden={!aberto}\n >\n {item.content}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction proxima(items: readonly SelectionItem[], from: string, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Accordion","className","defaultExpandedKeys","expandedKeys","items","multiple","onExpandedChange","iconPosition","divider","props","baseId","useId","nodes","useRef","collection","useMemo","item","selection","useSelection","keys","handleKeyDown","event","key","destino","proxima","_a","_b","_c","jsx","styles","aberto","jsxs","node","IconChevronDown","from","passo","total","inicio","i"],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { jsx as a, jsxs as w } from "react/jsx-runtime";
|
|
2
|
+
import { useId as D, useRef as I, useMemo as K } from "react";
|
|
3
|
+
import o from "./Accordion.module.css.js";
|
|
4
|
+
import { useSelection as A } from "../../../hooks/useSelection/useSelection.js";
|
|
5
|
+
import { IconChevronDown as B } from "../../icons/icons.js";
|
|
6
|
+
function L({
|
|
7
|
+
className: s,
|
|
8
|
+
defaultExpandedKeys: t,
|
|
9
|
+
expandedKeys: d,
|
|
10
|
+
items: i,
|
|
11
|
+
multiple: u = !1,
|
|
12
|
+
onExpandedChange: n,
|
|
13
|
+
iconPosition: f = "right",
|
|
14
|
+
divider: g = !0,
|
|
15
|
+
...j
|
|
16
|
+
}) {
|
|
17
|
+
const y = `accordion-${D()}`, k = I(/* @__PURE__ */ new Map()), c = K(
|
|
18
|
+
() => i.map((e) => ({ key: e.key, disabled: e.disabled, textValue: e.label })),
|
|
19
|
+
[i]
|
|
20
|
+
), p = A({
|
|
21
|
+
// Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um
|
|
22
|
+
// estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.
|
|
23
|
+
allowEmpty: !0,
|
|
24
|
+
items: c,
|
|
25
|
+
mode: u ? "multiple" : "single",
|
|
26
|
+
defaultSelectedKeys: d === void 0 ? t : void 0,
|
|
27
|
+
selectedKeys: d,
|
|
28
|
+
onSelectionChange: (e) => n == null ? void 0 : n([...e])
|
|
29
|
+
});
|
|
30
|
+
function v(e, r) {
|
|
31
|
+
var h, m, $;
|
|
32
|
+
let l;
|
|
33
|
+
e.key === "ArrowDown" ? l = N(c, r, 1) : e.key === "ArrowUp" ? l = N(c, r, -1) : e.key === "Home" ? l = (h = c.find((b) => !b.disabled)) == null ? void 0 : h.key : e.key === "End" && (l = (m = [...c].reverse().find((b) => !b.disabled)) == null ? void 0 : m.key), l && (e.preventDefault(), ($ = k.current.get(l)) == null || $.focus());
|
|
34
|
+
}
|
|
35
|
+
return /* @__PURE__ */ a(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
...j,
|
|
39
|
+
className: [o.accordion, g && o.divided, s].filter(Boolean).join(" "),
|
|
40
|
+
children: i.map((e) => {
|
|
41
|
+
const r = p.selectedKeys.has(e.key);
|
|
42
|
+
return /* @__PURE__ */ w("div", { className: o.item, children: [
|
|
43
|
+
/* @__PURE__ */ a("h3", { className: o.heading, children: /* @__PURE__ */ w(
|
|
44
|
+
"button",
|
|
45
|
+
{
|
|
46
|
+
ref: (l) => {
|
|
47
|
+
l ? k.current.set(e.key, l) : k.current.delete(e.key);
|
|
48
|
+
},
|
|
49
|
+
className: [o.trigger, f === "left" && o.iconLeft].filter(Boolean).join(" "),
|
|
50
|
+
type: "button",
|
|
51
|
+
id: `${y}-${e.key}`,
|
|
52
|
+
"aria-controls": `${y}-${e.key}-panel`,
|
|
53
|
+
"aria-expanded": r,
|
|
54
|
+
disabled: e.disabled,
|
|
55
|
+
onClick: () => p.select(e.key),
|
|
56
|
+
onKeyDown: (l) => v(l, e.key),
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ a("span", { className: o.label, children: e.label }),
|
|
59
|
+
/* @__PURE__ */ a(B, { className: [o.icon, r && o.iconOpen].filter(Boolean).join(" "), size: 16 })
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
) }),
|
|
63
|
+
/* @__PURE__ */ a(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
className: o.panel,
|
|
67
|
+
id: `${y}-${e.key}-panel`,
|
|
68
|
+
role: "region",
|
|
69
|
+
"aria-labelledby": `${y}-${e.key}`,
|
|
70
|
+
hidden: !r,
|
|
71
|
+
children: e.content
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
] }, e.key);
|
|
75
|
+
})
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
function N(s, t, d) {
|
|
80
|
+
const i = s.length, u = s.findIndex((n) => n.key === t);
|
|
81
|
+
for (let n = 1; n <= i; n += 1) {
|
|
82
|
+
const f = s[(u + d * n + i * i) % i];
|
|
83
|
+
if (!f.disabled)
|
|
84
|
+
return f.key;
|
|
85
|
+
}
|
|
86
|
+
return t;
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
L as Accordion
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/data-display/Accordion/Accordion.tsx"],"sourcesContent":["import {\n useId,\n useMemo,\n useRef,\n type ComponentPropsWithRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { useSelection, type SelectionItem } from '../../../hooks/useSelection';\nimport styles from './Accordion.module.css';\nimport { IconChevronDown } from '../../icons';\n\nexport interface AccordionItem {\n content: ReactNode;\n disabled?: boolean;\n key: string;\n label: string;\n}\n\nexport type AccordionIconPosition = 'left' | 'right';\n\nexport interface AccordionProps extends ComponentPropsWithRef<'div'> {\n defaultExpandedKeys?: readonly string[];\n expandedKeys?: readonly string[];\n items: readonly AccordionItem[];\n multiple?: boolean;\n onExpandedChange?: (keys: readonly string[]) => void;\n /** Direita e a convencao da web; esquerda serve a rotulos curtos em coluna estreita. */\n iconPosition?: AccordionIconPosition;\n /** Divisor entre as secoes, com a folga que ele exige. */\n divider?: boolean;\n}\n\nexport function Accordion({\n className,\n defaultExpandedKeys,\n expandedKeys,\n items,\n multiple = false,\n onExpandedChange,\n iconPosition = 'right',\n divider = true,\n ...props\n}: AccordionProps) {\n const baseId = `accordion-${useId()}`;\n const nodes = useRef(new Map<string, HTMLElement>());\n const collection = useMemo<SelectionItem[]>(\n () => items.map((item) => ({ key: item.key, disabled: item.disabled, textValue: item.label })),\n [items],\n );\n const selection = useSelection({\n // Uma secao aberta fecha ao ser clicada de novo, e nenhuma aberta e um\n // estado valido do acordeao — ao contrario de uma aba, que sempre tem uma.\n allowEmpty: true,\n items: collection,\n mode: multiple ? 'multiple' : 'single',\n defaultSelectedKeys: expandedKeys === undefined ? defaultExpandedKeys : undefined,\n selectedKeys: expandedKeys,\n onSelectionChange: (keys) => onExpandedChange?.([...keys]),\n });\n\n function handleKeyDown(event: KeyboardEvent<HTMLButtonElement>, key: string) {\n let destino: string | undefined;\n\n if (event.key === 'ArrowDown') {\n destino = proxima(collection, key, 1);\n } else if (event.key === 'ArrowUp') {\n destino = proxima(collection, key, -1);\n } else if (event.key === 'Home') {\n destino = collection.find((item) => !item.disabled)?.key;\n } else if (event.key === 'End') {\n destino = [...collection].reverse().find((item) => !item.disabled)?.key;\n }\n\n if (destino) {\n event.preventDefault();\n nodes.current.get(destino)?.focus();\n }\n }\n\n return (\n <div\n {...props}\n className={[styles.accordion, divider && styles.divided, className].filter(Boolean).join(' ')}\n >\n {items.map((item) => {\n const aberto = selection.selectedKeys.has(item.key);\n\n return (\n <div className={styles.item} key={item.key}>\n <h3 className={styles.heading}>\n <button\n ref={(node) => {\n if (node) {\n nodes.current.set(item.key, node);\n } else {\n nodes.current.delete(item.key);\n }\n }}\n className={[styles.trigger, iconPosition === 'left' && styles.iconLeft].filter(Boolean).join(' ')}\n type=\"button\"\n id={`${baseId}-${item.key}`}\n aria-controls={`${baseId}-${item.key}-panel`}\n aria-expanded={aberto}\n disabled={item.disabled}\n onClick={() => selection.select(item.key)}\n onKeyDown={(event) => handleKeyDown(event, item.key)}\n >\n <span className={styles.label}>{item.label}</span>\n <IconChevronDown className={[styles.icon, aberto && styles.iconOpen].filter(Boolean).join(' ')} size={16} />\n </button>\n </h3>\n <div\n className={styles.panel}\n id={`${baseId}-${item.key}-panel`}\n role=\"region\"\n aria-labelledby={`${baseId}-${item.key}`}\n hidden={!aberto}\n >\n {item.content}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction proxima(items: readonly SelectionItem[], from: string, passo: 1 | -1) {\n const total = items.length;\n const inicio = items.findIndex((item) => item.key === from);\n\n for (let i = 1; i <= total; i += 1) {\n const item = items[(inicio + passo * i + total * total) % total];\n if (!item.disabled) {\n return item.key;\n }\n }\n\n return from;\n}\n"],"names":["Accordion","className","defaultExpandedKeys","expandedKeys","items","multiple","onExpandedChange","iconPosition","divider","props","baseId","useId","nodes","useRef","collection","useMemo","item","selection","useSelection","keys","handleKeyDown","event","key","destino","proxima","_a","_b","_c","jsx","styles","aberto","jsxs","node","IconChevronDown","from","passo","total","inicio","i"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_accordion_1eiem_1",i="_divided_1eiem_7",n="_item_1eiem_13",o="_trigger_1eiem_17",c="_panel_1eiem_21",t="_heading_1eiem_25",_="_icon_1eiem_50",d="_label_1eiem_59",a="_iconLeft_1eiem_63",l="_iconOpen_1eiem_74",r={accordion:e,divided:i,item:n,trigger:o,panel:c,heading:t,icon:_,label:d,iconLeft:a,iconOpen:l};exports.accordion=e;exports.default=r;exports.divided=i;exports.heading=t;exports.icon=_;exports.iconLeft=a;exports.iconOpen=l;exports.item=n;exports.label=d;exports.panel=c;exports.trigger=o;
|
|
2
|
+
//# sourceMappingURL=Accordion.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const e = "_accordion_1eiem_1", i = "_divided_1eiem_7", n = "_item_1eiem_13", _ = "_trigger_1eiem_17", o = "_panel_1eiem_21", c = "_heading_1eiem_25", t = "_icon_1eiem_50", d = "_label_1eiem_59", a = "_iconLeft_1eiem_63", s = "_iconOpen_1eiem_74", m = {
|
|
2
|
+
accordion: e,
|
|
3
|
+
divided: i,
|
|
4
|
+
item: n,
|
|
5
|
+
trigger: _,
|
|
6
|
+
panel: o,
|
|
7
|
+
heading: c,
|
|
8
|
+
icon: t,
|
|
9
|
+
label: d,
|
|
10
|
+
iconLeft: a,
|
|
11
|
+
iconOpen: s
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
e as accordion,
|
|
15
|
+
m as default,
|
|
16
|
+
i as divided,
|
|
17
|
+
c as heading,
|
|
18
|
+
t as icon,
|
|
19
|
+
a as iconLeft,
|
|
20
|
+
s as iconOpen,
|
|
21
|
+
n as item,
|
|
22
|
+
d as label,
|
|
23
|
+
o as panel,
|
|
24
|
+
_ as trigger
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=Accordion.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),u=require("./Avatar.module.css.cjs");function j(a){return a.trim().split(/\s+/).filter(Boolean).slice(0,2).map(e=>e[0]).join("").toUpperCase()||"?"}function v({className:a,name:t,onError:e,size:c="md",src:s,...i}){const[f,l]=r.useState(!1),n=[u.default.avatar,u.default[c],a].filter(Boolean).join(" "),m=!!s&&!f;r.useEffect(()=>{l(!1)},[s]);function d(g){l(!0),e==null||e(g)}return m?o.jsx("img",{...i,className:n,src:s,alt:t,onError:d}):o.jsx("span",{...i,className:n,role:"img","aria-label":t,children:j(t)})}exports.Avatar=v;
|
|
2
|
+
//# sourceMappingURL=Avatar.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.cjs","sources":["../../../../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import { useEffect, useState, type HTMLAttributes, type SyntheticEvent } from 'react';\nimport styles from './Avatar.module.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps extends HTMLAttributes<HTMLElement> {\n name: string;\n size?: AvatarSize;\n src?: string;\n}\n\nfunction getInitials(name: string) {\n const names = name.trim().split(/\\s+/).filter(Boolean);\n return names.slice(0, 2).map((part) => part[0]).join('').toUpperCase() || '?';\n}\n\nexport function Avatar({ className, name, onError, size = 'md', src, ...props }: AvatarProps) {\n const [imageFailed, setImageFailed] = useState(false);\n const classes = [styles.avatar, styles[size], className].filter(Boolean).join(' ');\n const showImage = Boolean(src) && !imageFailed;\n\n useEffect(() => {\n setImageFailed(false);\n }, [src]);\n\n function handleError(event: SyntheticEvent<HTMLElement, Event>) {\n setImageFailed(true);\n onError?.(event);\n }\n\n if (!showImage) {\n return (\n <span {...props} className={classes} role=\"img\" aria-label={name}>\n {getInitials(name)}\n </span>\n );\n }\n\n return <img {...props} className={classes} src={src} alt={name} onError={handleError} />;\n}\n"],"names":["getInitials","name","part","Avatar","className","onError","size","src","props","imageFailed","setImageFailed","useState","classes","styles","showImage","useEffect","handleError","event","jsx"],"mappings":"6KAWA,SAASA,EAAYC,EAAc,CAEjC,OADcA,EAAK,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,EACxC,MAAM,EAAG,CAAC,EAAE,IAAKC,GAASA,EAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,eAAiB,GAC5E,CAEO,SAASC,EAAO,CAAE,UAAAC,EAAW,KAAAH,EAAM,QAAAI,EAAS,KAAAC,EAAO,KAAM,IAAAC,EAAK,GAAGC,GAAsB,CAC5F,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAC9CC,EAAU,CAACC,EAAAA,QAAO,OAAQA,EAAAA,QAAOP,CAAI,EAAGF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC3EU,EAAY,EAAQP,GAAQ,CAACE,EAEnCM,EAAAA,UAAU,IAAM,CACdL,EAAe,EAAK,CACtB,EAAG,CAACH,CAAG,CAAC,EAER,SAASS,EAAYC,EAA2C,CAC9DP,EAAe,EAAI,EACnBL,GAAA,MAAAA,EAAUY,EACZ,CAEA,OAAKH,EAQEI,MAAC,MAAA,CAAK,GAAGV,EAAO,UAAWI,EAAS,IAAAL,EAAU,IAAKN,EAAM,QAASe,CAAA,CAAa,EANlFE,EAAAA,IAAC,OAAA,CAAM,GAAGV,EAAO,UAAWI,EAAS,KAAK,MAAM,aAAYX,EACzD,SAAAD,EAAYC,CAAI,CAAA,CACnB,CAKN"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useEffect as d } from "react";
|
|
3
|
+
import m from "./Avatar.module.css.js";
|
|
4
|
+
function h(t) {
|
|
5
|
+
return t.trim().split(/\s+/).filter(Boolean).slice(0, 2).map((e) => e[0]).join("").toUpperCase() || "?";
|
|
6
|
+
}
|
|
7
|
+
function v({ className: t, name: a, onError: e, size: r = "md", src: s, ...i }) {
|
|
8
|
+
const [f, l] = g(!1), n = [m.avatar, m[r], t].filter(Boolean).join(" "), c = !!s && !f;
|
|
9
|
+
d(() => {
|
|
10
|
+
l(!1);
|
|
11
|
+
}, [s]);
|
|
12
|
+
function u(p) {
|
|
13
|
+
l(!0), e == null || e(p);
|
|
14
|
+
}
|
|
15
|
+
return c ? /* @__PURE__ */ o("img", { ...i, className: n, src: s, alt: a, onError: u }) : /* @__PURE__ */ o("span", { ...i, className: n, role: "img", "aria-label": a, children: h(a) });
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
v as Avatar
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../../../../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import { useEffect, useState, type HTMLAttributes, type SyntheticEvent } from 'react';\nimport styles from './Avatar.module.css';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport interface AvatarProps extends HTMLAttributes<HTMLElement> {\n name: string;\n size?: AvatarSize;\n src?: string;\n}\n\nfunction getInitials(name: string) {\n const names = name.trim().split(/\\s+/).filter(Boolean);\n return names.slice(0, 2).map((part) => part[0]).join('').toUpperCase() || '?';\n}\n\nexport function Avatar({ className, name, onError, size = 'md', src, ...props }: AvatarProps) {\n const [imageFailed, setImageFailed] = useState(false);\n const classes = [styles.avatar, styles[size], className].filter(Boolean).join(' ');\n const showImage = Boolean(src) && !imageFailed;\n\n useEffect(() => {\n setImageFailed(false);\n }, [src]);\n\n function handleError(event: SyntheticEvent<HTMLElement, Event>) {\n setImageFailed(true);\n onError?.(event);\n }\n\n if (!showImage) {\n return (\n <span {...props} className={classes} role=\"img\" aria-label={name}>\n {getInitials(name)}\n </span>\n );\n }\n\n return <img {...props} className={classes} src={src} alt={name} onError={handleError} />;\n}\n"],"names":["getInitials","name","part","Avatar","className","onError","size","src","props","imageFailed","setImageFailed","useState","classes","styles","showImage","useEffect","handleError","event","jsx"],"mappings":";;;AAWA,SAASA,EAAYC,GAAc;AAEjC,SADcA,EAAK,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,EACxC,MAAM,GAAG,CAAC,EAAE,IAAI,CAACC,MAASA,EAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB;AAC5E;AAEO,SAASC,EAAO,EAAE,WAAAC,GAAW,MAAAH,GAAM,SAAAI,GAAS,MAAAC,IAAO,MAAM,KAAAC,GAAK,GAAGC,KAAsB;AAC5F,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9CC,IAAU,CAACC,EAAO,QAAQA,EAAOP,CAAI,GAAGF,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAC3EU,IAAY,EAAQP,KAAQ,CAACE;AAEnC,EAAAM,EAAU,MAAM;AACd,IAAAL,EAAe,EAAK;AAAA,EACtB,GAAG,CAACH,CAAG,CAAC;AAER,WAASS,EAAYC,GAA2C;AAC9D,IAAAP,EAAe,EAAI,GACnBL,KAAA,QAAAA,EAAUY;AAAA,EACZ;AAEA,SAAKH,IAQE,gBAAAI,EAAC,OAAA,EAAK,GAAGV,GAAO,WAAWI,GAAS,KAAAL,GAAU,KAAKN,GAAM,SAASe,EAAA,CAAa,IANlF,gBAAAE,EAAC,QAAA,EAAM,GAAGV,GAAO,WAAWI,GAAS,MAAK,OAAM,cAAYX,GACzD,UAAAD,EAAYC,CAAI,EAAA,CACnB;AAKN;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_avatar_16peg_1",t="_sm_16peg_14",a="_md_16peg_20",s="_lg_16peg_26",_={avatar:e,sm:t,md:a,lg:s};exports.avatar=e;exports.default=_;exports.lg=s;exports.md=a;exports.sm=t;
|
|
2
|
+
//# sourceMappingURL=Avatar.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const _ = "_avatar_16peg_1", a = "_sm_16peg_14", s = "_md_16peg_20", t = "_lg_16peg_26", e = {
|
|
2
|
+
avatar: _,
|
|
3
|
+
sm: a,
|
|
4
|
+
md: s,
|
|
5
|
+
lg: t
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
_ as avatar,
|
|
9
|
+
e as default,
|
|
10
|
+
t as lg,
|
|
11
|
+
s as md,
|
|
12
|
+
a as sm
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=Avatar.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("./Badge.module.css.cjs");function o({children:t,className:s,dot:l=!1,outline:n=!1,tone:u="neutral",...d}){const r=[e.default.badge,e.default[u],n&&e.default.outline,s].filter(Boolean).join(" ");return a.jsxs("span",{...d,className:r,children:[l&&a.jsx("span",{className:e.default.dot,"aria-hidden":"true"}),t]})}exports.Badge=o;
|
|
2
|
+
//# sourceMappingURL=Badge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.cjs","sources":["../../../../src/components/data-display/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Badge.module.css';\n\nexport type BadgeTone = 'ok' | 'warn' | 'info' | 'danger' | 'primary' | 'neutral';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n dot?: boolean;\n outline?: boolean;\n tone?: BadgeTone;\n}\n\nexport function Badge({ children, className, dot = false, outline = false, tone = 'neutral', ...props }: BadgeProps) {\n const classes = [styles.badge, styles[tone], outline && styles.outline, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span {...props} className={classes}>\n {dot && <span className={styles.dot} aria-hidden=\"true\" />}\n {children}\n </span>\n );\n}\n"],"names":["Badge","children","className","dot","outline","tone","props","classes","styles","jsxs"],"mappings":"yJAWO,SAASA,EAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,IAAAC,EAAM,GAAO,QAAAC,EAAU,GAAO,KAAAC,EAAO,UAAW,GAAGC,CAAA,EAAqB,CACnH,MAAMC,EAAU,CAACC,EAAAA,QAAO,MAAOA,EAAAA,QAAOH,CAAI,EAAGD,GAAWI,EAAAA,QAAO,QAASN,CAAS,EAC9E,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEO,EAAAA,KAAC,OAAA,CAAM,GAAGH,EAAO,UAAWC,EACzB,SAAA,CAAAJ,SAAQ,OAAA,CAAK,UAAWK,EAAAA,QAAO,IAAK,cAAY,OAAO,EACvDP,CAAA,EACH,CAEJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsxs as i, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import e from "./Badge.module.css.js";
|
|
3
|
+
function m({ children: s, className: a, dot: n = !1, outline: o = !1, tone: r = "neutral", ...t }) {
|
|
4
|
+
const l = [e.badge, e[r], o && e.outline, a].filter(Boolean).join(" ");
|
|
5
|
+
return /* @__PURE__ */ i("span", { ...t, className: l, children: [
|
|
6
|
+
n && /* @__PURE__ */ c("span", { className: e.dot, "aria-hidden": "true" }),
|
|
7
|
+
s
|
|
8
|
+
] });
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
m as Badge
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../../src/components/data-display/Badge/Badge.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport styles from './Badge.module.css';\n\nexport type BadgeTone = 'ok' | 'warn' | 'info' | 'danger' | 'primary' | 'neutral';\n\nexport interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {\n dot?: boolean;\n outline?: boolean;\n tone?: BadgeTone;\n}\n\nexport function Badge({ children, className, dot = false, outline = false, tone = 'neutral', ...props }: BadgeProps) {\n const classes = [styles.badge, styles[tone], outline && styles.outline, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span {...props} className={classes}>\n {dot && <span className={styles.dot} aria-hidden=\"true\" />}\n {children}\n </span>\n );\n}\n"],"names":["Badge","children","className","dot","outline","tone","props","classes","styles","jsxs"],"mappings":";;AAWO,SAASA,EAAM,EAAE,UAAAC,GAAU,WAAAC,GAAW,KAAAC,IAAM,IAAO,SAAAC,IAAU,IAAO,MAAAC,IAAO,WAAW,GAAGC,EAAA,GAAqB;AACnH,QAAMC,IAAU,CAACC,EAAO,OAAOA,EAAOH,CAAI,GAAGD,KAAWI,EAAO,SAASN,CAAS,EAC9E,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAO,EAAC,QAAA,EAAM,GAAGH,GAAO,WAAWC,GACzB,UAAA;AAAA,IAAAJ,uBAAQ,QAAA,EAAK,WAAWK,EAAO,KAAK,eAAY,QAAO;AAAA,IACvDP;AAAA,EAAA,GACH;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_badge_baviu_1",a="_dot_baviu_19",n="_ok_baviu_27",e="_warn_baviu_32",t="_info_baviu_37",_="_danger_baviu_42",i="_primary_baviu_47",r="_outline_baviu_52",u={badge:o,dot:a,ok:n,warn:e,info:t,danger:_,primary:i,outline:r};exports.badge=o;exports.danger=_;exports.default=u;exports.dot=a;exports.info=t;exports.ok=n;exports.outline=r;exports.primary=i;exports.warn=e;
|
|
2
|
+
//# sourceMappingURL=Badge.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const _ = "_badge_baviu_1", a = "_dot_baviu_19", o = "_ok_baviu_27", n = "_warn_baviu_32", t = "_info_baviu_37", i = "_danger_baviu_42", r = "_primary_baviu_47", e = "_outline_baviu_52", s = {
|
|
2
|
+
badge: _,
|
|
3
|
+
dot: a,
|
|
4
|
+
ok: o,
|
|
5
|
+
warn: n,
|
|
6
|
+
info: t,
|
|
7
|
+
danger: i,
|
|
8
|
+
primary: r,
|
|
9
|
+
outline: e
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
_ as badge,
|
|
13
|
+
i as danger,
|
|
14
|
+
s as default,
|
|
15
|
+
a as dot,
|
|
16
|
+
t as info,
|
|
17
|
+
o as ok,
|
|
18
|
+
e as outline,
|
|
19
|
+
r as primary,
|
|
20
|
+
n as warn
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Badge.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),t=require("./Card.module.css.cjs"),f=d.createContext(void 0);function C(r){const a=d.useContext(f);if(!a)throw new Error(r+" deve ser usado dentro de Card.");return a}function i({"aria-labelledby":r,children:a,className:c,...u}){const s=d.useId(),[l,o]=d.useState(!1),n=s+"-title",x={registerTitle:d.useCallback(()=>(o(!0),()=>o(!1)),[]),titleId:n};return e.jsx("section",{...u,"aria-labelledby":r??(l?n:void 0),className:[t.default.card,c].filter(Boolean).join(" "),children:e.jsx(f.Provider,{value:x,children:a})})}function h({badge:r,description:a,headingLevel:c=3,title:u,trailing:s}){const{registerTitle:l,titleId:o}=C("Card.Header"),n="h"+c;return d.useEffect(l,[l]),e.jsxs("header",{className:t.default.header,children:[e.jsxs("div",{className:t.default.headline,children:[e.jsxs("div",{className:t.default.titleRow,children:[e.jsx(n,{className:t.default.title,id:o,children:u}),r]}),a&&e.jsx("p",{className:t.default.description,children:a})]}),s&&e.jsx("div",{className:t.default.trailing,children:s})]})}function j({children:r,flush:a=!1}){return e.jsx("div",{className:a?t.default.bodyFlush:t.default.body,children:r})}function m({children:r}){return e.jsx("footer",{className:t.default.footer,children:r})}i.Header=h;i.Body=j;i.Footer=m;exports.Card=i;
|
|
2
|
+
//# sourceMappingURL=Card.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.cjs","sources":["../../../../src/components/data-display/Card/Card.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useState,\n type ComponentPropsWithRef,\n type ReactNode,\n} from 'react';\nimport styles from './Card.module.css';\n\nexport type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface CardProps extends ComponentPropsWithRef<'section'> {\n children: ReactNode;\n}\n\ninterface CardContextValue {\n registerTitle: () => () => void;\n titleId: string;\n}\n\nconst CardContext = createContext<CardContextValue | undefined>(undefined);\n\nfunction useCardContext(part: string) {\n const context = useContext(CardContext);\n\n if (!context) {\n throw new Error(part + ' deve ser usado dentro de Card.');\n }\n\n return context;\n}\n\nexport function Card({ 'aria-labelledby': ariaLabelledBy, children, className, ...props }: CardProps) {\n const baseId = useId();\n const [titled, setTitled] = useState(false);\n const titleId = baseId + '-title';\n\n // O titulo que sai da tela desfaz o registro; senao o cartao apontava para um id que nao existe mais.\n const context: CardContextValue = {\n registerTitle: useCallback(() => {\n setTitled(true);\n return () => setTitled(false);\n }, []),\n titleId,\n };\n\n return (\n <section\n {...props}\n aria-labelledby={ariaLabelledBy ?? (titled ? titleId : undefined)}\n className={[styles.card, className].filter(Boolean).join(' ')}\n >\n <CardContext.Provider value={context}>{children}</CardContext.Provider>\n </section>\n );\n}\n\nexport interface CardHeaderProps {\n badge?: ReactNode;\n description?: ReactNode;\n headingLevel?: CardHeadingLevel;\n title: string;\n trailing?: ReactNode;\n}\n\nfunction CardHeader({ badge, description, headingLevel = 3, title, trailing }: CardHeaderProps) {\n const { registerTitle, titleId } = useCardContext('Card.Header');\n const Heading = ('h' + headingLevel) as 'h2';\n\n useEffect(registerTitle, [registerTitle]);\n\n return (\n <header className={styles.header}>\n <div className={styles.headline}>\n <div className={styles.titleRow}>\n <Heading className={styles.title} id={titleId}>\n {title}\n </Heading>\n {badge}\n </div>\n {description && <p className={styles.description}>{description}</p>}\n </div>\n {trailing && <div className={styles.trailing}>{trailing}</div>}\n </header>\n );\n}\n\nexport interface CardBodyProps {\n children: ReactNode;\n flush?: boolean;\n}\n\nfunction CardBody({ children, flush = false }: CardBodyProps) {\n return <div className={flush ? styles.bodyFlush : styles.body}>{children}</div>;\n}\n\nexport interface CardFooterProps {\n children: ReactNode;\n}\n\nfunction CardFooter({ children }: CardFooterProps) {\n return <footer className={styles.footer}>{children}</footer>;\n}\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\n"],"names":["CardContext","createContext","useCardContext","part","context","useContext","Card","ariaLabelledBy","children","className","props","baseId","useId","titled","setTitled","useState","titleId","useCallback","jsx","styles","CardHeader","badge","description","headingLevel","title","trailing","registerTitle","Heading","useEffect","jsxs","CardBody","flush","CardFooter"],"mappings":"2KAuBMA,EAAcC,EAAAA,cAA4C,MAAS,EAEzE,SAASC,EAAeC,EAAc,CACpC,MAAMC,EAAUC,EAAAA,WAAWL,CAAW,EAEtC,GAAI,CAACI,EACH,MAAM,IAAI,MAAMD,EAAO,iCAAiC,EAG1D,OAAOC,CACT,CAEO,SAASE,EAAK,CAAE,kBAAmBC,EAAgB,SAAAC,EAAU,UAAAC,EAAW,GAAGC,GAAoB,CACpG,MAAMC,EAASC,EAAAA,MAAA,EACT,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpCC,EAAUL,EAAS,SAGnBP,EAA4B,CAChC,cAAea,EAAAA,YAAY,KACzBH,EAAU,EAAI,EACP,IAAMA,EAAU,EAAK,GAC3B,CAAA,CAAE,EACL,QAAAE,CAAA,EAGF,OACEE,EAAAA,IAAC,UAAA,CACE,GAAGR,EACJ,kBAAiBH,IAAmBM,EAASG,EAAU,QACvD,UAAW,CAACG,UAAO,KAAMV,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAE5D,eAACT,EAAY,SAAZ,CAAqB,MAAOI,EAAU,SAAAI,CAAA,CAAS,CAAA,CAAA,CAGtD,CAUA,SAASY,EAAW,CAAE,MAAAC,EAAO,YAAAC,EAAa,aAAAC,EAAe,EAAG,MAAAC,EAAO,SAAAC,GAA6B,CAC9F,KAAM,CAAE,cAAAC,EAAe,QAAAV,GAAYd,EAAe,aAAa,EACzDyB,EAAW,IAAMJ,EAEvBK,OAAAA,YAAUF,EAAe,CAACA,CAAa,CAAC,EAGtCG,EAAAA,KAAC,SAAA,CAAO,UAAWV,EAAAA,QAAO,OACxB,SAAA,CAAAU,EAAAA,KAAC,MAAA,CAAI,UAAWV,EAAAA,QAAO,SACrB,SAAA,CAAAU,EAAAA,KAAC,MAAA,CAAI,UAAWV,EAAAA,QAAO,SACrB,SAAA,CAAAD,MAACS,GAAQ,UAAWR,EAAAA,QAAO,MAAO,GAAIH,EACnC,SAAAQ,EACH,EACCH,CAAA,EACH,EACCC,GAAeJ,EAAAA,IAAC,IAAA,CAAE,UAAWC,EAAAA,QAAO,YAAc,SAAAG,CAAA,CAAY,CAAA,EACjE,EACCG,GAAYP,EAAAA,IAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,SAAW,SAAAM,CAAA,CAAS,CAAA,EAC1D,CAEJ,CAOA,SAASK,EAAS,CAAE,SAAAtB,EAAU,MAAAuB,EAAQ,IAAwB,CAC5D,OAAOb,MAAC,OAAI,UAAWa,EAAQZ,UAAO,UAAYA,EAAAA,QAAO,KAAO,SAAAX,EAAS,CAC3E,CAMA,SAASwB,EAAW,CAAE,SAAAxB,GAA6B,CACjD,OAAOU,EAAAA,IAAC,SAAA,CAAO,UAAWC,EAAAA,QAAO,OAAS,SAAAX,EAAS,CACrD,CAEAF,EAAK,OAASc,EACdd,EAAK,KAAOwB,EACZxB,EAAK,OAAS0B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as a, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { useId as h, useState as C, useCallback as v, createContext as x, useEffect as N, useContext as b } from "react";
|
|
3
|
+
import e from "./Card.module.css.js";
|
|
4
|
+
const f = x(void 0);
|
|
5
|
+
function y(t) {
|
|
6
|
+
const r = b(f);
|
|
7
|
+
if (!r)
|
|
8
|
+
throw new Error(t + " deve ser usado dentro de Card.");
|
|
9
|
+
return r;
|
|
10
|
+
}
|
|
11
|
+
function u({ "aria-labelledby": t, children: r, className: i, ...l }) {
|
|
12
|
+
const o = h(), [s, d] = C(!1), n = o + "-title", m = {
|
|
13
|
+
registerTitle: v(() => (d(!0), () => d(!1)), []),
|
|
14
|
+
titleId: n
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ a(
|
|
17
|
+
"section",
|
|
18
|
+
{
|
|
19
|
+
...l,
|
|
20
|
+
"aria-labelledby": t ?? (s ? n : void 0),
|
|
21
|
+
className: [e.card, i].filter(Boolean).join(" "),
|
|
22
|
+
children: /* @__PURE__ */ a(f.Provider, { value: m, children: r })
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function p({ badge: t, description: r, headingLevel: i = 3, title: l, trailing: o }) {
|
|
27
|
+
const { registerTitle: s, titleId: d } = y("Card.Header"), n = "h" + i;
|
|
28
|
+
return N(s, [s]), /* @__PURE__ */ c("header", { className: e.header, children: [
|
|
29
|
+
/* @__PURE__ */ c("div", { className: e.headline, children: [
|
|
30
|
+
/* @__PURE__ */ c("div", { className: e.titleRow, children: [
|
|
31
|
+
/* @__PURE__ */ a(n, { className: e.title, id: d, children: l }),
|
|
32
|
+
t
|
|
33
|
+
] }),
|
|
34
|
+
r && /* @__PURE__ */ a("p", { className: e.description, children: r })
|
|
35
|
+
] }),
|
|
36
|
+
o && /* @__PURE__ */ a("div", { className: e.trailing, children: o })
|
|
37
|
+
] });
|
|
38
|
+
}
|
|
39
|
+
function H({ children: t, flush: r = !1 }) {
|
|
40
|
+
return /* @__PURE__ */ a("div", { className: r ? e.bodyFlush : e.body, children: t });
|
|
41
|
+
}
|
|
42
|
+
function I({ children: t }) {
|
|
43
|
+
return /* @__PURE__ */ a("footer", { className: e.footer, children: t });
|
|
44
|
+
}
|
|
45
|
+
u.Header = p;
|
|
46
|
+
u.Body = H;
|
|
47
|
+
u.Footer = I;
|
|
48
|
+
export {
|
|
49
|
+
u as Card
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../src/components/data-display/Card/Card.tsx"],"sourcesContent":["import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useState,\n type ComponentPropsWithRef,\n type ReactNode,\n} from 'react';\nimport styles from './Card.module.css';\n\nexport type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface CardProps extends ComponentPropsWithRef<'section'> {\n children: ReactNode;\n}\n\ninterface CardContextValue {\n registerTitle: () => () => void;\n titleId: string;\n}\n\nconst CardContext = createContext<CardContextValue | undefined>(undefined);\n\nfunction useCardContext(part: string) {\n const context = useContext(CardContext);\n\n if (!context) {\n throw new Error(part + ' deve ser usado dentro de Card.');\n }\n\n return context;\n}\n\nexport function Card({ 'aria-labelledby': ariaLabelledBy, children, className, ...props }: CardProps) {\n const baseId = useId();\n const [titled, setTitled] = useState(false);\n const titleId = baseId + '-title';\n\n // O titulo que sai da tela desfaz o registro; senao o cartao apontava para um id que nao existe mais.\n const context: CardContextValue = {\n registerTitle: useCallback(() => {\n setTitled(true);\n return () => setTitled(false);\n }, []),\n titleId,\n };\n\n return (\n <section\n {...props}\n aria-labelledby={ariaLabelledBy ?? (titled ? titleId : undefined)}\n className={[styles.card, className].filter(Boolean).join(' ')}\n >\n <CardContext.Provider value={context}>{children}</CardContext.Provider>\n </section>\n );\n}\n\nexport interface CardHeaderProps {\n badge?: ReactNode;\n description?: ReactNode;\n headingLevel?: CardHeadingLevel;\n title: string;\n trailing?: ReactNode;\n}\n\nfunction CardHeader({ badge, description, headingLevel = 3, title, trailing }: CardHeaderProps) {\n const { registerTitle, titleId } = useCardContext('Card.Header');\n const Heading = ('h' + headingLevel) as 'h2';\n\n useEffect(registerTitle, [registerTitle]);\n\n return (\n <header className={styles.header}>\n <div className={styles.headline}>\n <div className={styles.titleRow}>\n <Heading className={styles.title} id={titleId}>\n {title}\n </Heading>\n {badge}\n </div>\n {description && <p className={styles.description}>{description}</p>}\n </div>\n {trailing && <div className={styles.trailing}>{trailing}</div>}\n </header>\n );\n}\n\nexport interface CardBodyProps {\n children: ReactNode;\n flush?: boolean;\n}\n\nfunction CardBody({ children, flush = false }: CardBodyProps) {\n return <div className={flush ? styles.bodyFlush : styles.body}>{children}</div>;\n}\n\nexport interface CardFooterProps {\n children: ReactNode;\n}\n\nfunction CardFooter({ children }: CardFooterProps) {\n return <footer className={styles.footer}>{children}</footer>;\n}\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\n"],"names":["CardContext","createContext","useCardContext","part","context","useContext","Card","ariaLabelledBy","children","className","props","baseId","useId","titled","setTitled","useState","titleId","useCallback","jsx","styles","CardHeader","badge","description","headingLevel","title","trailing","registerTitle","Heading","useEffect","jsxs","CardBody","flush","CardFooter"],"mappings":";;;AAuBA,MAAMA,IAAcC,EAA4C,MAAS;AAEzE,SAASC,EAAeC,GAAc;AACpC,QAAMC,IAAUC,EAAWL,CAAW;AAEtC,MAAI,CAACI;AACH,UAAM,IAAI,MAAMD,IAAO,iCAAiC;AAG1D,SAAOC;AACT;AAEO,SAASE,EAAK,EAAE,mBAAmBC,GAAgB,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAoB;AACpG,QAAMC,IAASC,EAAA,GACT,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAUL,IAAS,UAGnBP,IAA4B;AAAA,IAChC,eAAea,EAAY,OACzBH,EAAU,EAAI,GACP,MAAMA,EAAU,EAAK,IAC3B,CAAA,CAAE;AAAA,IACL,SAAAE;AAAA,EAAA;AAGF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,mBAAiBH,MAAmBM,IAASG,IAAU;AAAA,MACvD,WAAW,CAACG,EAAO,MAAMV,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAE5D,4BAACT,EAAY,UAAZ,EAAqB,OAAOI,GAAU,UAAAI,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGtD;AAUA,SAASY,EAAW,EAAE,OAAAC,GAAO,aAAAC,GAAa,cAAAC,IAAe,GAAG,OAAAC,GAAO,UAAAC,KAA6B;AAC9F,QAAM,EAAE,eAAAC,GAAe,SAAAV,MAAYd,EAAe,aAAa,GACzDyB,IAAW,MAAMJ;AAEvB,SAAAK,EAAUF,GAAe,CAACA,CAAa,CAAC,GAGtC,gBAAAG,EAAC,UAAA,EAAO,WAAWV,EAAO,QACxB,UAAA;AAAA,IAAA,gBAAAU,EAAC,OAAA,EAAI,WAAWV,EAAO,UACrB,UAAA;AAAA,MAAA,gBAAAU,EAAC,OAAA,EAAI,WAAWV,EAAO,UACrB,UAAA;AAAA,QAAA,gBAAAD,EAACS,KAAQ,WAAWR,EAAO,OAAO,IAAIH,GACnC,UAAAQ,GACH;AAAA,QACCH;AAAA,MAAA,GACH;AAAA,MACCC,KAAe,gBAAAJ,EAAC,KAAA,EAAE,WAAWC,EAAO,aAAc,UAAAG,EAAA,CAAY;AAAA,IAAA,GACjE;AAAA,IACCG,KAAY,gBAAAP,EAAC,OAAA,EAAI,WAAWC,EAAO,UAAW,UAAAM,EAAA,CAAS;AAAA,EAAA,GAC1D;AAEJ;AAOA,SAASK,EAAS,EAAE,UAAAtB,GAAU,OAAAuB,IAAQ,MAAwB;AAC5D,SAAO,gBAAAb,EAAC,SAAI,WAAWa,IAAQZ,EAAO,YAAYA,EAAO,MAAO,UAAAX,GAAS;AAC3E;AAMA,SAASwB,EAAW,EAAE,UAAAxB,KAA6B;AACjD,SAAO,gBAAAU,EAAC,UAAA,EAAO,WAAWC,EAAO,QAAS,UAAAX,GAAS;AACrD;AAEAF,EAAK,SAASc;AACdd,EAAK,OAAOwB;AACZxB,EAAK,SAAS0B;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="_card_1rokj_1",t="_header_1rokj_15",e="_headline_1rokj_23",r="_titleRow_1rokj_30",i="_title_1rokj_30",_="_description_1rokj_45",d="_trailing_1rokj_53",l="_body_1rokj_60",n="_bodyFlush_1rokj_64",s="_footer_1rokj_68",c={card:o,header:t,headline:e,titleRow:r,title:i,description:_,trailing:d,body:l,bodyFlush:n,footer:s};exports.body=l;exports.bodyFlush=n;exports.card=o;exports.default=c;exports.description=_;exports.footer=s;exports.header=t;exports.headline=e;exports.title=i;exports.titleRow=r;exports.trailing=d;
|
|
2
|
+
//# sourceMappingURL=Card.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const o = "_card_1rokj_1", t = "_header_1rokj_15", _ = "_headline_1rokj_23", e = "_titleRow_1rokj_30", r = "_title_1rokj_30", i = "_description_1rokj_45", n = "_trailing_1rokj_53", s = "_body_1rokj_60", d = "_bodyFlush_1rokj_64", c = "_footer_1rokj_68", l = {
|
|
2
|
+
card: o,
|
|
3
|
+
header: t,
|
|
4
|
+
headline: _,
|
|
5
|
+
titleRow: e,
|
|
6
|
+
title: r,
|
|
7
|
+
description: i,
|
|
8
|
+
trailing: n,
|
|
9
|
+
body: s,
|
|
10
|
+
bodyFlush: d,
|
|
11
|
+
footer: c
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
s as body,
|
|
15
|
+
d as bodyFlush,
|
|
16
|
+
o as card,
|
|
17
|
+
l as default,
|
|
18
|
+
i as description,
|
|
19
|
+
c as footer,
|
|
20
|
+
t as header,
|
|
21
|
+
_ as headline,
|
|
22
|
+
r as title,
|
|
23
|
+
e as titleRow,
|
|
24
|
+
n as trailing
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=Card.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),m=require("react"),e=require("./CodeBlock.module.css.cjs"),h=require("./syntax.cjs"),b=require("../../actions/Button/Button.cjs"),k=2e3;function q({className:j,code:r,copyable:c=!0,fileName:n,highlightedLines:p=[],language:x,lineNumbers:B=!1,syntax:o,wrap:d=!1,...N}){const[t,u]=m.useState(!1);m.useEffect(()=>{if(!t)return;const a=setTimeout(()=>u(!1),k);return()=>clearTimeout(a)},[t]);const C=new Set(p),i=x??(o&&h.SYNTAX_LABELS[o]),g=!!(n||i)||c;return s.jsxs("div",{...N,className:[e.default.codeBlock,j].filter(Boolean).join(" "),children:[g&&s.jsxs("div",{className:e.default.header,children:[s.jsxs("span",{className:e.default.meta,children:[n&&s.jsx("span",{className:e.default.fileName,children:n}),i&&s.jsx("span",{className:e.default.language,children:i})]}),c&&s.jsx(b.Button,{onClick:()=>{var a;return void((a=navigator.clipboard)==null?void 0:a.writeText(r).then(()=>u(!0)))},size:"sm",variant:"ghost",children:t?"Copiado":"Copiar"}),s.jsx("span",{className:e.default.status,role:"status",children:t?"Código copiado":""})]}),s.jsx("pre",{className:[e.default.body,d&&e.default.wrap,B&&e.default.numbered].filter(Boolean).join(" "),tabIndex:d?void 0:0,children:s.jsx("code",{className:e.default.code,children:h.tokenizeLines(r,o).map((a,f)=>{const v=C.has(f+1)?"mark":"span";return s.jsx(v,{className:e.default.line,children:s.jsx("span",{className:e.default.content,children:a.map((l,S)=>l.kind?s.jsx("span",{className:e.default[l.kind],children:l.text},S):l.text)})},f)})})})]})}exports.CodeBlock=q;
|
|
2
|
+
//# sourceMappingURL=CodeBlock.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeBlock.cjs","sources":["../../../../src/components/data-display/CodeBlock/CodeBlock.tsx"],"sourcesContent":["import { useEffect, useState, type ComponentPropsWithRef } from 'react';\nimport { Button } from '../../actions/Button';\nimport styles from './CodeBlock.module.css';\nimport { SYNTAX_LABELS, tokenizeLines, type CodeSyntax } from './syntax';\n\nconst COPY_FEEDBACK_MS = 2000;\n\nexport interface CodeBlockProps extends Omit<ComponentPropsWithRef<'div'>, 'children'> {\n code: string;\n copyable?: boolean;\n fileName?: string;\n /** Linhas destacadas, contadas a partir de 1. */\n highlightedLines?: readonly number[];\n /** Rotulo do cabecalho. Sem ele, vale o nome da sintaxe. */\n language?: string;\n lineNumbers?: boolean;\n /** Linguagem do realce de cores. Sem ela, o codigo sai numa cor so. */\n syntax?: CodeSyntax;\n wrap?: boolean;\n}\n\nexport function CodeBlock({\n className,\n code,\n copyable = true,\n fileName,\n highlightedLines = [],\n language,\n lineNumbers = false,\n syntax,\n wrap = false,\n ...props\n}: CodeBlockProps) {\n const [copied, setCopied] = useState(false);\n\n useEffect(() => {\n if (!copied) {\n return;\n }\n\n const timer = setTimeout(() => setCopied(false), COPY_FEEDBACK_MS);\n\n return () => clearTimeout(timer);\n }, [copied]);\n\n const highlighted = new Set(highlightedLines);\n const label = language ?? (syntax && SYNTAX_LABELS[syntax]);\n const hasHeader = Boolean(fileName || label) || copyable;\n\n return (\n <div {...props} className={[styles.codeBlock, className].filter(Boolean).join(' ')}>\n {hasHeader && (\n <div className={styles.header}>\n <span className={styles.meta}>\n {fileName && <span className={styles.fileName}>{fileName}</span>}\n {label && <span className={styles.language}>{label}</span>}\n </span>\n {copyable && (\n <Button\n onClick={() => void navigator.clipboard?.writeText(code).then(() => setCopied(true))}\n size=\"sm\"\n variant=\"ghost\"\n >\n {copied ? 'Copiado' : 'Copiar'}\n </Button>\n )}\n <span className={styles.status} role=\"status\">\n {copied ? 'Código copiado' : ''}\n </span>\n </div>\n )}\n {/* Sem quebra, a linha longa rola de lado, e quem usa teclado so a alcanca se o bloco receber foco. */}\n <pre\n className={[styles.body, wrap && styles.wrap, lineNumbers && styles.numbered].filter(Boolean).join(' ')}\n tabIndex={wrap ? undefined : 0}\n >\n <code className={styles.code}>\n {tokenizeLines(code, syntax).map((tokens, index) => {\n const Line = highlighted.has(index + 1) ? 'mark' : 'span';\n\n return (\n <Line className={styles.line} key={index}>\n <span className={styles.content}>\n {tokens.map((token, position) =>\n token.kind ? (\n <span className={styles[token.kind]} key={position}>\n {token.text}\n </span>\n ) : (\n token.text\n ),\n )}\n </span>\n </Line>\n );\n })}\n </code>\n </pre>\n </div>\n );\n}\n"],"names":["COPY_FEEDBACK_MS","CodeBlock","className","code","copyable","fileName","highlightedLines","language","lineNumbers","syntax","wrap","props","copied","setCopied","useState","useEffect","timer","highlighted","label","SYNTAX_LABELS","hasHeader","jsxs","styles","jsx","Button","_a","tokenizeLines","tokens","index","Line","token","position"],"mappings":"uPAKMA,EAAmB,IAgBlB,SAASC,EAAU,CACxB,UAAAC,EACA,KAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EACA,iBAAAC,EAAmB,CAAA,EACnB,SAAAC,EACA,YAAAC,EAAc,GAAA,OACdC,EACA,KAAAC,EAAO,GACP,GAAGC,CACL,EAAmB,CACjB,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EAE1CC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACH,EACH,OAGF,MAAMI,EAAQ,WAAW,IAAMH,EAAU,EAAK,EAAGb,CAAgB,EAEjE,MAAO,IAAM,aAAagB,CAAK,CACjC,EAAG,CAACJ,CAAM,CAAC,EAEX,MAAMK,EAAc,IAAI,IAAIX,CAAgB,EACtCY,EAAQX,IAAaE,GAAUU,EAAAA,cAAcV,CAAM,GACnDW,EAAY,GAAQf,GAAYa,IAAUd,EAEhD,OACEiB,EAAAA,KAAC,MAAA,CAAK,GAAGV,EAAO,UAAW,CAACW,UAAO,UAAWpB,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EAC9E,SAAA,CAAAkB,GACCC,EAAAA,KAAC,MAAA,CAAI,UAAWC,EAAAA,QAAO,OACrB,SAAA,CAAAD,EAAAA,KAAC,OAAA,CAAK,UAAWC,EAAAA,QAAO,KACrB,SAAA,CAAAjB,GAAYkB,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,SAAW,SAAAjB,EAAS,EACxDa,GAASK,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,SAAW,SAAAJ,CAAA,CAAM,CAAA,EACrD,EACCd,GACCmB,EAAAA,IAACC,EAAAA,OAAA,CACC,QAAS,IAAA,OAAM,aAAKC,EAAA,UAAU,YAAV,YAAAA,EAAqB,UAAUtB,GAAM,KAAK,IAAMU,EAAU,EAAI,KAClF,KAAK,KACL,QAAQ,QAEP,WAAS,UAAY,QAAA,CAAA,EAG1BU,EAAAA,IAAC,QAAK,UAAWD,EAAAA,QAAO,OAAQ,KAAK,SAClC,SAAAV,EAAS,iBAAmB,EAAA,CAC/B,CAAA,EACF,EAGFW,EAAAA,IAAC,MAAA,CACC,UAAW,CAACD,EAAAA,QAAO,KAAMZ,GAAQY,EAAAA,QAAO,KAAMd,GAAec,EAAAA,QAAO,QAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,EACtG,SAAUZ,EAAO,OAAY,EAE7B,SAAAa,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,QAAO,KACrB,SAAAI,EAAAA,cAAcvB,EAAMM,CAAM,EAAE,IAAI,CAACkB,EAAQC,IAAU,CAClD,MAAMC,EAAOZ,EAAY,IAAIW,EAAQ,CAAC,EAAI,OAAS,OAEnD,OACEL,EAAAA,IAACM,EAAA,CAAK,UAAWP,EAAAA,QAAO,KACtB,eAAC,OAAA,CAAK,UAAWA,EAAAA,QAAO,QACrB,SAAAK,EAAO,IAAI,CAACG,EAAOC,IAClBD,EAAM,WACH,OAAA,CAAK,UAAWR,EAAAA,QAAOQ,EAAM,IAAI,EAC/B,SAAAA,EAAM,MADiCC,CAE1C,EAEAD,EAAM,IAAA,CAEV,CACF,GAXiCF,CAYnC,CAEJ,CAAC,CAAA,CACH,CAAA,CAAA,CACF,EACF,CAEJ"}
|