tempest-react-sdk 0.77.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/bin/lib/alias/collect.mjs +20 -3
- package/bin/lib/alias/index.mjs +12 -1
- package/bin/lib/alias/index.test.mjs +24 -0
- package/bin/lib/css/analyze.test.mjs +21 -1
- package/bin/lib/css/collect.mjs +14 -0
- package/bin/lib/css/extract.mjs +63 -5
- package/bin/lib/css/extract.test.mjs +110 -1
- package/bin/lib/css/fix.e2e.test.mjs +50 -0
- package/bin/lib/css/index.mjs +6 -1
- package/bin/lib/fs/contain.mjs +50 -0
- package/bin/lib/icons/generate.mjs +28 -3
- package/bin/lib/icons/generate.test.mjs +57 -1
- package/bin/lib/openapi/escape.mjs +20 -6
- package/bin/lib/openapi/generate.encode.test.mjs +120 -0
- package/bin/lib/openapi/generate.hostile.test.mjs +38 -9
- package/bin/lib/openapi/generate.mjs +203 -64
- package/bin/lib/openapi/generate.pagination.test.mjs +3 -2
- package/bin/lib/openapi/generate.test.mjs +270 -3
- package/bin/lib/openapi/schema-to-zod.mjs +5 -3
- package/bin/tempest-gen.test.mjs +188 -0
- package/bin/tempest.mjs +120 -44
- package/dist/access/Can.cjs.map +1 -1
- package/dist/access/Can.js.map +1 -1
- package/dist/access/access-control-context.cjs.map +1 -1
- package/dist/access/access-control-context.js.map +1 -1
- package/dist/access/create-role-access-control.cjs.map +1 -1
- package/dist/access/create-role-access-control.js.map +1 -1
- package/dist/access/permissions-from-token.cjs.map +1 -1
- package/dist/access/permissions-from-token.js.map +1 -1
- package/dist/access/use-can.cjs.map +1 -1
- package/dist/access/use-can.js.map +1 -1
- package/dist/app/AppProviders.cjs.map +1 -1
- package/dist/app/AppProviders.js.map +1 -1
- package/dist/audio/audio-bus.cjs.map +1 -1
- package/dist/audio/audio-bus.js.map +1 -1
- package/dist/audio/audio-output.cjs.map +1 -1
- package/dist/audio/audio-output.js.map +1 -1
- package/dist/audio/audio-player.cjs.map +1 -1
- package/dist/audio/audio-player.js.map +1 -1
- package/dist/audio/audio-recorder.cjs.map +1 -1
- package/dist/audio/audio-recorder.js.map +1 -1
- package/dist/audio/duration.cjs.map +1 -1
- package/dist/audio/duration.js.map +1 -1
- package/dist/audio/level-meter.cjs.map +1 -1
- package/dist/audio/level-meter.js.map +1 -1
- package/dist/audio/media-access.cjs.map +1 -1
- package/dist/audio/media-access.js.map +1 -1
- package/dist/audio/noise-floor.cjs.map +1 -1
- package/dist/audio/noise-floor.js.map +1 -1
- package/dist/audio/sfx-pool.cjs.map +1 -1
- package/dist/audio/sfx-pool.js.map +1 -1
- package/dist/audio/use-audio-bus.cjs.map +1 -1
- package/dist/audio/use-audio-bus.js.map +1 -1
- package/dist/audio/use-audio-recorder.cjs.map +1 -1
- package/dist/audio/use-audio-recorder.js.map +1 -1
- package/dist/audio/use-audio.cjs.map +1 -1
- package/dist/audio/use-audio.js.map +1 -1
- package/dist/audio/use-microphone.cjs +1 -1
- package/dist/audio/use-microphone.cjs.map +1 -1
- package/dist/audio/use-microphone.js +1 -5
- package/dist/audio/use-microphone.js.map +1 -1
- package/dist/audio/use-sfx-pool.cjs.map +1 -1
- package/dist/audio/use-sfx-pool.js.map +1 -1
- package/dist/audio/voice-activity.cjs.map +1 -1
- package/dist/audio/voice-activity.js.map +1 -1
- package/dist/audio/voice-chain-stages.cjs.map +1 -1
- package/dist/audio/voice-chain-stages.js.map +1 -1
- package/dist/audio/voice-chain.cjs.map +1 -1
- package/dist/audio/voice-chain.js.map +1 -1
- package/dist/audio/wav.cjs.map +1 -1
- package/dist/audio/wav.js.map +1 -1
- package/dist/auth/AuthGuard.cjs.map +1 -1
- package/dist/auth/AuthGuard.js.map +1 -1
- package/dist/auth/create-auth-store.cjs.map +1 -1
- package/dist/auth/create-auth-store.js.map +1 -1
- package/dist/auth/create-tempest-auth.cjs +1 -1
- package/dist/auth/create-tempest-auth.cjs.map +1 -1
- package/dist/auth/create-tempest-auth.js +185 -114
- package/dist/auth/create-tempest-auth.js.map +1 -1
- package/dist/auth/jwt.cjs.map +1 -1
- package/dist/auth/jwt.js.map +1 -1
- package/dist/auth/lazy-with-retry.cjs.map +1 -1
- package/dist/auth/lazy-with-retry.js.map +1 -1
- package/dist/auth/passkey.cjs.map +1 -1
- package/dist/auth/passkey.js.map +1 -1
- package/dist/auth/refresh-queue.cjs.map +1 -1
- package/dist/auth/refresh-queue.js.map +1 -1
- package/dist/auth/use-passkey.cjs +1 -1
- package/dist/auth/use-passkey.cjs.map +1 -1
- package/dist/auth/use-passkey.js +1 -1
- package/dist/auth/use-passkey.js.map +1 -1
- package/dist/br/BrazilMap.cjs.map +1 -1
- package/dist/br/BrazilMap.js.map +1 -1
- package/dist/br/BrazilMap.module.cjs.map +1 -1
- package/dist/br/BrazilMap.module.js.map +1 -1
- package/dist/br/BrazilStateCitySelect.cjs.map +1 -1
- package/dist/br/BrazilStateCitySelect.js.map +1 -1
- package/dist/br/BrazilStateMap.cjs.map +1 -1
- package/dist/br/BrazilStateMap.js.map +1 -1
- package/dist/br/MapLegend.cjs.map +1 -1
- package/dist/br/MapLegend.js.map +1 -1
- package/dist/br/MapLegend.module.cjs.map +1 -1
- package/dist/br/MapLegend.module.js.map +1 -1
- package/dist/br/MapMarkers.cjs.map +1 -1
- package/dist/br/MapMarkers.js.map +1 -1
- package/dist/br/MapTooltip.cjs.map +1 -1
- package/dist/br/MapTooltip.js.map +1 -1
- package/dist/br/MunicipalitySearch.cjs +1 -1
- package/dist/br/MunicipalitySearch.cjs.map +1 -1
- package/dist/br/MunicipalitySearch.js +2 -5
- package/dist/br/MunicipalitySearch.js.map +1 -1
- package/dist/br/MunicipalitySearch.module.cjs.map +1 -1
- package/dist/br/MunicipalitySearch.module.js.map +1 -1
- package/dist/br/PixQRCode.cjs.map +1 -1
- package/dist/br/PixQRCode.js.map +1 -1
- package/dist/br/PixQRCode.module.cjs.map +1 -1
- package/dist/br/PixQRCode.module.js.map +1 -1
- package/dist/br/boleto.cjs.map +1 -1
- package/dist/br/boleto.js.map +1 -1
- package/dist/br/br-geo.cjs.map +1 -1
- package/dist/br/br-geo.js.map +1 -1
- package/dist/br/data/br-centroids.cjs.map +1 -1
- package/dist/br/data/br-centroids.js.map +1 -1
- package/dist/br/data/br-locations.cjs.map +1 -1
- package/dist/br/data/br-locations.js.map +1 -1
- package/dist/br/data/br-uf-geo.cjs.map +1 -1
- package/dist/br/data/br-uf-geo.js.map +1 -1
- package/dist/br/data/mun/AC.cjs.map +1 -1
- package/dist/br/data/mun/AC.js.map +1 -1
- package/dist/br/data/mun/AL.cjs.map +1 -1
- package/dist/br/data/mun/AL.js.map +1 -1
- package/dist/br/data/mun/AM.cjs.map +1 -1
- package/dist/br/data/mun/AM.js.map +1 -1
- package/dist/br/data/mun/AP.cjs.map +1 -1
- package/dist/br/data/mun/AP.js.map +1 -1
- package/dist/br/data/mun/BA.cjs.map +1 -1
- package/dist/br/data/mun/BA.js.map +1 -1
- package/dist/br/data/mun/CE.cjs.map +1 -1
- package/dist/br/data/mun/CE.js.map +1 -1
- package/dist/br/data/mun/DF.cjs.map +1 -1
- package/dist/br/data/mun/DF.js.map +1 -1
- package/dist/br/data/mun/ES.cjs.map +1 -1
- package/dist/br/data/mun/ES.js.map +1 -1
- package/dist/br/data/mun/GO.cjs.map +1 -1
- package/dist/br/data/mun/GO.js.map +1 -1
- package/dist/br/data/mun/MA.cjs.map +1 -1
- package/dist/br/data/mun/MA.js.map +1 -1
- package/dist/br/data/mun/MG.cjs.map +1 -1
- package/dist/br/data/mun/MG.js.map +1 -1
- package/dist/br/data/mun/MS.cjs.map +1 -1
- package/dist/br/data/mun/MS.js.map +1 -1
- package/dist/br/data/mun/MT.cjs.map +1 -1
- package/dist/br/data/mun/MT.js.map +1 -1
- package/dist/br/data/mun/PA.cjs.map +1 -1
- package/dist/br/data/mun/PA.js.map +1 -1
- package/dist/br/data/mun/PB.cjs.map +1 -1
- package/dist/br/data/mun/PB.js.map +1 -1
- package/dist/br/data/mun/PE.cjs.map +1 -1
- package/dist/br/data/mun/PE.js.map +1 -1
- package/dist/br/data/mun/PI.cjs.map +1 -1
- package/dist/br/data/mun/PI.js.map +1 -1
- package/dist/br/data/mun/PR.cjs.map +1 -1
- package/dist/br/data/mun/PR.js.map +1 -1
- package/dist/br/data/mun/RJ.cjs.map +1 -1
- package/dist/br/data/mun/RJ.js.map +1 -1
- package/dist/br/data/mun/RN.cjs.map +1 -1
- package/dist/br/data/mun/RN.js.map +1 -1
- package/dist/br/data/mun/RO.cjs.map +1 -1
- package/dist/br/data/mun/RO.js.map +1 -1
- package/dist/br/data/mun/RR.cjs.map +1 -1
- package/dist/br/data/mun/RR.js.map +1 -1
- package/dist/br/data/mun/RS.cjs.map +1 -1
- package/dist/br/data/mun/RS.js.map +1 -1
- package/dist/br/data/mun/SC.cjs.map +1 -1
- package/dist/br/data/mun/SC.js.map +1 -1
- package/dist/br/data/mun/SE.cjs.map +1 -1
- package/dist/br/data/mun/SE.js.map +1 -1
- package/dist/br/data/mun/SP.cjs.map +1 -1
- package/dist/br/data/mun/SP.js.map +1 -1
- package/dist/br/data/mun/TO.cjs.map +1 -1
- package/dist/br/data/mun/TO.js.map +1 -1
- package/dist/br/geocode.cjs.map +1 -1
- package/dist/br/geocode.js.map +1 -1
- package/dist/br/holidays.cjs.map +1 -1
- package/dist/br/holidays.js.map +1 -1
- package/dist/br/locations.cjs.map +1 -1
- package/dist/br/locations.js.map +1 -1
- package/dist/br/nfe.cjs.map +1 -1
- package/dist/br/nfe.js.map +1 -1
- package/dist/br/pix.cjs +1 -1
- package/dist/br/pix.cjs.map +1 -1
- package/dist/br/pix.js +108 -71
- package/dist/br/pix.js.map +1 -1
- package/dist/br/regions.cjs.map +1 -1
- package/dist/br/regions.js.map +1 -1
- package/dist/br/scales.cjs.map +1 -1
- package/dist/br/scales.js.map +1 -1
- package/dist/br/state-geo.cjs.map +1 -1
- package/dist/br/state-geo.js.map +1 -1
- package/dist/br/svg-utils.cjs.map +1 -1
- package/dist/br/svg-utils.js.map +1 -1
- package/dist/br/use-map-hover.cjs.map +1 -1
- package/dist/br/use-map-hover.js.map +1 -1
- package/dist/br/use-map-zoom.cjs.map +1 -1
- package/dist/br/use-map-zoom.js.map +1 -1
- package/dist/br/whatsapp.cjs.map +1 -1
- package/dist/br/whatsapp.js.map +1 -1
- package/dist/br.cjs.map +1 -1
- package/dist/br.d.ts +16 -5
- package/dist/br.js.map +1 -1
- package/dist/capture/barcode.cjs.map +1 -1
- package/dist/capture/barcode.js.map +1 -1
- package/dist/capture/media-recorder.cjs.map +1 -1
- package/dist/capture/media-recorder.js.map +1 -1
- package/dist/capture/use-barcode-scanner.cjs.map +1 -1
- package/dist/capture/use-barcode-scanner.js.map +1 -1
- package/dist/capture/use-screen-capture.cjs +1 -1
- package/dist/capture/use-screen-capture.cjs.map +1 -1
- package/dist/capture/use-screen-capture.js +1 -7
- package/dist/capture/use-screen-capture.js.map +1 -1
- package/dist/capture/use-speech-recognition.cjs +1 -1
- package/dist/capture/use-speech-recognition.cjs.map +1 -1
- package/dist/capture/use-speech-recognition.js +35 -36
- package/dist/capture/use-speech-recognition.js.map +1 -1
- package/dist/capture/use-torch.cjs.map +1 -1
- package/dist/capture/use-torch.js.map +1 -1
- package/dist/capture/use-video-recorder.cjs.map +1 -1
- package/dist/capture/use-video-recorder.js.map +1 -1
- package/dist/capture/video-recorder.cjs.map +1 -1
- package/dist/capture/video-recorder.js.map +1 -1
- package/dist/charts/AreaChart.cjs.map +1 -1
- package/dist/charts/AreaChart.js.map +1 -1
- package/dist/charts/BarChart.cjs.map +1 -1
- package/dist/charts/BarChart.js.map +1 -1
- package/dist/charts/LineChart.cjs.map +1 -1
- package/dist/charts/LineChart.js.map +1 -1
- package/dist/charts/PieChart.cjs.map +1 -1
- package/dist/charts/PieChart.js.map +1 -1
- package/dist/charts/RadarChart.cjs.map +1 -1
- package/dist/charts/RadarChart.js.map +1 -1
- package/dist/charts/palette.cjs.map +1 -1
- package/dist/charts/palette.js.map +1 -1
- package/dist/charts/scales.cjs.map +1 -1
- package/dist/charts/scales.js.map +1 -1
- package/dist/charts/types.cjs.map +1 -1
- package/dist/charts/types.js.map +1 -1
- package/dist/charts/use-chart-colors.cjs.map +1 -1
- package/dist/charts/use-chart-colors.js.map +1 -1
- package/dist/components/AIChat/AIChat.cjs +1 -1
- package/dist/components/AIChat/AIChat.cjs.map +1 -1
- package/dist/components/AIChat/AIChat.js +1 -5
- package/dist/components/AIChat/AIChat.js.map +1 -1
- package/dist/components/AIChat/AIChat.module.cjs.map +1 -1
- package/dist/components/AIChat/AIChat.module.js.map +1 -1
- package/dist/components/AIChat/AIChatComposer.cjs +1 -1
- package/dist/components/AIChat/AIChatComposer.cjs.map +1 -1
- package/dist/components/AIChat/AIChatComposer.js +1 -7
- package/dist/components/AIChat/AIChatComposer.js.map +1 -1
- package/dist/components/AIChat/AIChatTurn.cjs.map +1 -1
- package/dist/components/AIChat/AIChatTurn.js.map +1 -1
- package/dist/components/AIChat/ai-chat-turns.cjs.map +1 -1
- package/dist/components/AIChat/ai-chat-turns.js.map +1 -1
- package/dist/components/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/Accordion.module.cjs.map +1 -1
- package/dist/components/Accordion/Accordion.module.js.map +1 -1
- package/dist/components/Alert/Alert.cjs.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/Alert/Alert.module.cjs.map +1 -1
- package/dist/components/Alert/Alert.module.js.map +1 -1
- package/dist/components/AppBar/AppBar.cjs.map +1 -1
- package/dist/components/AppBar/AppBar.js.map +1 -1
- package/dist/components/AppBar/AppBar.module.cjs.map +1 -1
- package/dist/components/AppBar/AppBar.module.js.map +1 -1
- package/dist/components/AppBar/use-sticky-body-warning.cjs +1 -1
- package/dist/components/AppBar/use-sticky-body-warning.cjs.map +1 -1
- package/dist/components/AppBar/use-sticky-body-warning.js +1 -1
- package/dist/components/AppBar/use-sticky-body-warning.js.map +1 -1
- package/dist/components/AppShell/AppShell.cjs.map +1 -1
- package/dist/components/AppShell/AppShell.js.map +1 -1
- package/dist/components/AppShell/AppShell.module.cjs.map +1 -1
- package/dist/components/AppShell/AppShell.module.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.cjs.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.module.cjs.map +1 -1
- package/dist/components/AspectRatio/AspectRatio.module.js.map +1 -1
- package/dist/components/AudioPlayer/AudioPlayer.cjs +1 -1
- package/dist/components/AudioPlayer/AudioPlayer.cjs.map +1 -1
- package/dist/components/AudioPlayer/AudioPlayer.js +1 -7
- package/dist/components/AudioPlayer/AudioPlayer.js.map +1 -1
- package/dist/components/AudioPlayer/AudioPlayer.module.cjs.map +1 -1
- package/dist/components/AudioPlayer/AudioPlayer.module.js.map +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.cjs +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.cjs.map +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.js +16 -21
- package/dist/components/AudioRecorder/AudioRecorder.js.map +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.module.cjs.map +1 -1
- package/dist/components/AudioRecorder/AudioRecorder.module.js.map +1 -1
- package/dist/components/Avatar/Avatar.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.module.cjs.map +1 -1
- package/dist/components/Avatar/Avatar.module.js.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.cjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.module.cjs.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.module.js.map +1 -1
- package/dist/components/Badge/Badge.cjs.map +1 -1
- package/dist/components/Badge/Badge.js.map +1 -1
- package/dist/components/Badge/Badge.module.cjs.map +1 -1
- package/dist/components/Badge/Badge.module.js.map +1 -1
- package/dist/components/Banner/Banner.cjs.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/Banner.module.cjs.map +1 -1
- package/dist/components/Banner/Banner.module.js.map +1 -1
- package/dist/components/BarList/BarList.cjs.map +1 -1
- package/dist/components/BarList/BarList.js.map +1 -1
- package/dist/components/BarList/BarList.module.cjs.map +1 -1
- package/dist/components/BarList/BarList.module.js.map +1 -1
- package/dist/components/BarList/bar-list-model.cjs.map +1 -1
- package/dist/components/BarList/bar-list-model.js.map +1 -1
- package/dist/components/BarcodeScanner/BarcodeScanner.cjs.map +1 -1
- package/dist/components/BarcodeScanner/BarcodeScanner.js.map +1 -1
- package/dist/components/BarcodeScanner/BarcodeScanner.module.cjs.map +1 -1
- package/dist/components/BarcodeScanner/BarcodeScanner.module.js.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.cjs.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.js.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.module.cjs.map +1 -1
- package/dist/components/BottomNavigation/BottomNavigation.module.js.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.cjs.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.module.cjs.map +1 -1
- package/dist/components/BottomSheet/BottomSheet.module.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.cjs.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.module.cjs.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.module.js.map +1 -1
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.module.cjs.map +1 -1
- package/dist/components/Button/Button.module.js.map +1 -1
- package/dist/components/Button/ButtonContent.cjs.map +1 -1
- package/dist/components/Button/ButtonContent.js.map +1 -1
- package/dist/components/Button/ButtonSlot.cjs.map +1 -1
- package/dist/components/Button/ButtonSlot.js.map +1 -1
- package/dist/components/Button/button-class.cjs.map +1 -1
- package/dist/components/Button/button-class.js.map +1 -1
- package/dist/components/Button/link-rel.cjs.map +1 -1
- package/dist/components/Button/link-rel.js.map +1 -1
- package/dist/components/Button/slot.cjs.map +1 -1
- package/dist/components/Button/slot.js.map +1 -1
- package/dist/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/Calendar/Calendar.module.cjs.map +1 -1
- package/dist/components/Calendar/Calendar.module.js.map +1 -1
- package/dist/components/Card/Card.cjs.map +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.module.cjs.map +1 -1
- package/dist/components/Card/Card.module.js.map +1 -1
- package/dist/components/Carousel/Carousel.cjs.map +1 -1
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/Carousel/Carousel.module.cjs.map +1 -1
- package/dist/components/Carousel/Carousel.module.js.map +1 -1
- package/dist/components/Center/Center.cjs.map +1 -1
- package/dist/components/Center/Center.js.map +1 -1
- package/dist/components/Center/Center.module.cjs.map +1 -1
- package/dist/components/Center/Center.module.js.map +1 -1
- package/dist/components/Chat/Chat.cjs.map +1 -1
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/Chat/Chat.module.cjs.map +1 -1
- package/dist/components/Chat/Chat.module.js.map +1 -1
- package/dist/components/Chat/ChatActionsMenu.cjs.map +1 -1
- package/dist/components/Chat/ChatActionsMenu.js.map +1 -1
- package/dist/components/Chat/ChatAttachments.cjs.map +1 -1
- package/dist/components/Chat/ChatAttachments.js.map +1 -1
- package/dist/components/Chat/ChatBubble.cjs.map +1 -1
- package/dist/components/Chat/ChatBubble.js.map +1 -1
- package/dist/components/Chat/ChatComposer.cjs.map +1 -1
- package/dist/components/Chat/ChatComposer.js.map +1 -1
- package/dist/components/Chat/chat-groups.cjs +1 -1
- package/dist/components/Chat/chat-groups.cjs.map +1 -1
- package/dist/components/Chat/chat-groups.js +2 -6
- package/dist/components/Chat/chat-groups.js.map +1 -1
- package/dist/components/Chat/chat-receipt.cjs.map +1 -1
- package/dist/components/Chat/chat-receipt.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.cjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.js.map +1 -1
- package/dist/components/ChipInput/ChipInput.cjs +1 -1
- package/dist/components/ChipInput/ChipInput.cjs.map +1 -1
- package/dist/components/ChipInput/ChipInput.js +2 -12
- package/dist/components/ChipInput/ChipInput.js.map +1 -1
- package/dist/components/ChipInput/ChipInput.module.cjs.map +1 -1
- package/dist/components/ChipInput/ChipInput.module.js.map +1 -1
- package/dist/components/ClickOutside/ClickOutside.cjs.map +1 -1
- package/dist/components/ClickOutside/ClickOutside.js.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.cjs +1 -1
- package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.js +1 -1
- package/dist/components/CodeBlock/CodeBlock.js.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.module.cjs.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.module.js.map +1 -1
- package/dist/components/CodeBlock/tokenize.cjs +1 -1
- package/dist/components/CodeBlock/tokenize.cjs.map +1 -1
- package/dist/components/CodeBlock/tokenize.js +54 -25
- package/dist/components/CodeBlock/tokenize.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.cjs.map +1 -1
- package/dist/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.cjs.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.js.map +1 -1
- package/dist/components/Combobox/Combobox.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.js.map +1 -1
- package/dist/components/Combobox/Combobox.module.cjs.map +1 -1
- package/dist/components/Combobox/Combobox.module.js.map +1 -1
- package/dist/components/Combobox/use-listbox-dismiss.cjs.map +1 -1
- package/dist/components/Combobox/use-listbox-dismiss.js.map +1 -1
- package/dist/components/Command/Command.cjs +1 -1
- package/dist/components/Command/Command.cjs.map +1 -1
- package/dist/components/Command/Command.js +4 -11
- package/dist/components/Command/Command.js.map +1 -1
- package/dist/components/Command/Command.module.cjs.map +1 -1
- package/dist/components/Command/Command.module.js.map +1 -1
- package/dist/components/ConditionalWrapper/ConditionalWrapper.cjs.map +1 -1
- package/dist/components/ConditionalWrapper/ConditionalWrapper.js.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.cjs.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.cjs +1 -1
- package/dist/components/ContextMenu/ContextMenu.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +1 -1
- package/dist/components/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.module.cjs.map +1 -1
- package/dist/components/ContextMenu/ContextMenu.module.js.map +1 -1
- package/dist/components/CopyButton/CopyButton.cjs.map +1 -1
- package/dist/components/CopyButton/CopyButton.js.map +1 -1
- package/dist/components/CopyButton/CopyButton.module.cjs.map +1 -1
- package/dist/components/CopyButton/CopyButton.module.js.map +1 -1
- package/dist/components/DataList/DataList.cjs.map +1 -1
- package/dist/components/DataList/DataList.js.map +1 -1
- package/dist/components/DataList/DataList.module.cjs.map +1 -1
- package/dist/components/DataList/DataList.module.js.map +1 -1
- package/dist/components/DataTable/DataTable.cjs +1 -1
- package/dist/components/DataTable/DataTable.cjs.map +1 -1
- package/dist/components/DataTable/DataTable.js +6 -14
- package/dist/components/DataTable/DataTable.js.map +1 -1
- package/dist/components/DataTable/DataTable.module.cjs.map +1 -1
- package/dist/components/DataTable/DataTable.module.js.map +1 -1
- package/dist/components/DataTable/EditableCell.cjs +1 -1
- package/dist/components/DataTable/EditableCell.cjs.map +1 -1
- package/dist/components/DataTable/EditableCell.js +1 -9
- package/dist/components/DataTable/EditableCell.js.map +1 -1
- package/dist/components/DataTable/LoadingRows.cjs.map +1 -1
- package/dist/components/DataTable/LoadingRows.js.map +1 -1
- package/dist/components/DataTable/edit-labels.cjs.map +1 -1
- package/dist/components/DataTable/edit-labels.js.map +1 -1
- package/dist/components/DataTable/use-dev-warnings.cjs.map +1 -1
- package/dist/components/DataTable/use-dev-warnings.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.cjs.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.cjs.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.module.js.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.cjs.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.module.cjs.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.module.js.map +1 -1
- package/dist/components/Divider/Divider.cjs.map +1 -1
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/Divider/Divider.module.cjs.map +1 -1
- package/dist/components/Divider/Divider.module.js.map +1 -1
- package/dist/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/Drawer.module.cjs.map +1 -1
- package/dist/components/Drawer/Drawer.module.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +2 -14
- package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.module.cjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.module.js.map +1 -1
- package/dist/components/Dropzone/Dropzone.cjs.map +1 -1
- package/dist/components/Dropzone/Dropzone.js.map +1 -1
- package/dist/components/Dropzone/Dropzone.module.cjs.map +1 -1
- package/dist/components/Dropzone/Dropzone.module.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.cjs.map +1 -1
- package/dist/components/EmptyState/EmptyState.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.module.cjs.map +1 -1
- package/dist/components/EmptyState/EmptyState.module.js.map +1 -1
- package/dist/components/ErrorState/ErrorState.cjs.map +1 -1
- package/dist/components/ErrorState/ErrorState.js.map +1 -1
- package/dist/components/ErrorState/ErrorState.module.cjs.map +1 -1
- package/dist/components/ErrorState/ErrorState.module.js.map +1 -1
- package/dist/components/ErrorText/ErrorText.cjs.map +1 -1
- package/dist/components/ErrorText/ErrorText.js.map +1 -1
- package/dist/components/ErrorText/ErrorText.module.cjs.map +1 -1
- package/dist/components/ErrorText/ErrorText.module.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.cjs +1 -1
- package/dist/components/FileUpload/FileUpload.cjs.map +1 -1
- package/dist/components/FileUpload/FileUpload.js +7 -17
- package/dist/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.module.cjs.map +1 -1
- package/dist/components/FileUpload/FileUpload.module.js.map +1 -1
- package/dist/components/FilterBar/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar/FilterBar.js.map +1 -1
- package/dist/components/FilterBar/FilterBar.module.cjs.map +1 -1
- package/dist/components/FilterBar/FilterBar.module.js.map +1 -1
- package/dist/components/FilterBar/filter-apply.cjs.map +1 -1
- package/dist/components/FilterBar/filter-apply.js.map +1 -1
- package/dist/components/FilterBar/filter-model.cjs.map +1 -1
- package/dist/components/FilterBar/filter-model.js.map +1 -1
- package/dist/components/FilterBar/filter-query.cjs +1 -1
- package/dist/components/FilterBar/filter-query.cjs.map +1 -1
- package/dist/components/FilterBar/filter-query.js +2 -5
- package/dist/components/FilterBar/filter-query.js.map +1 -1
- package/dist/components/FilterPanel/FilterPanel.cjs.map +1 -1
- package/dist/components/FilterPanel/FilterPanel.js.map +1 -1
- package/dist/components/FilterPanel/FilterPanel.module.cjs.map +1 -1
- package/dist/components/FilterPanel/FilterPanel.module.js.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.cjs.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.js.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.module.cjs.map +1 -1
- package/dist/components/FloatingActionButton/FloatingActionButton.module.js.map +1 -1
- package/dist/components/For/For.cjs.map +1 -1
- package/dist/components/For/For.js.map +1 -1
- package/dist/components/Form/Form.cjs.map +1 -1
- package/dist/components/Form/Form.js.map +1 -1
- package/dist/components/Form/Form.module.cjs.map +1 -1
- package/dist/components/Form/Form.module.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.module.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.module.js.map +1 -1
- package/dist/components/Image/Image.cjs.map +1 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/Image/Image.module.cjs.map +1 -1
- package/dist/components/Image/Image.module.js.map +1 -1
- package/dist/components/ImageCropper/ImageCropper.cjs +1 -1
- package/dist/components/ImageCropper/ImageCropper.cjs.map +1 -1
- package/dist/components/ImageCropper/ImageCropper.js +4 -8
- package/dist/components/ImageCropper/ImageCropper.js.map +1 -1
- package/dist/components/ImageCropper/ImageCropper.module.cjs.map +1 -1
- package/dist/components/ImageCropper/ImageCropper.module.js.map +1 -1
- package/dist/components/ImageCropper/crop-geometry.cjs.map +1 -1
- package/dist/components/ImageCropper/crop-geometry.js.map +1 -1
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.module.cjs.map +1 -1
- package/dist/components/Input/Input.module.js.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.cjs.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.js.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.module.cjs.map +1 -1
- package/dist/components/InstallBanner/InstallBanner.module.js.map +1 -1
- package/dist/components/InstallButton/InstallButton.cjs.map +1 -1
- package/dist/components/InstallButton/InstallButton.js.map +1 -1
- package/dist/components/InstallButton/InstallButton.module.cjs.map +1 -1
- package/dist/components/InstallButton/InstallButton.module.js.map +1 -1
- package/dist/components/InstallButton/install-hints.cjs.map +1 -1
- package/dist/components/InstallButton/install-hints.js.map +1 -1
- package/dist/components/Kanban/Kanban.cjs.map +1 -1
- package/dist/components/Kanban/Kanban.js.map +1 -1
- package/dist/components/Kanban/Kanban.module.cjs.map +1 -1
- package/dist/components/Kanban/Kanban.module.js.map +1 -1
- package/dist/components/Kbd/Kbd.cjs.map +1 -1
- package/dist/components/Kbd/Kbd.js.map +1 -1
- package/dist/components/Kbd/Kbd.module.cjs.map +1 -1
- package/dist/components/Kbd/Kbd.module.js.map +1 -1
- package/dist/components/Label/Label.cjs.map +1 -1
- package/dist/components/Label/Label.js.map +1 -1
- package/dist/components/Label/Label.module.cjs.map +1 -1
- package/dist/components/Label/Label.module.js.map +1 -1
- package/dist/components/Layout/Layout.cjs.map +1 -1
- package/dist/components/Layout/Layout.js.map +1 -1
- package/dist/components/Layout/Layout.module.cjs.map +1 -1
- package/dist/components/Layout/Layout.module.js.map +1 -1
- package/dist/components/Lightbox/Lightbox.cjs +1 -1
- package/dist/components/Lightbox/Lightbox.cjs.map +1 -1
- package/dist/components/Lightbox/Lightbox.js +1 -1
- package/dist/components/Lightbox/Lightbox.js.map +1 -1
- package/dist/components/Lightbox/Lightbox.module.cjs.map +1 -1
- package/dist/components/Lightbox/Lightbox.module.js.map +1 -1
- package/dist/components/ListTile/ListTile.cjs.map +1 -1
- package/dist/components/ListTile/ListTile.js.map +1 -1
- package/dist/components/ListTile/ListTile.module.cjs.map +1 -1
- package/dist/components/ListTile/ListTile.module.js.map +1 -1
- package/dist/components/Markdown/Markdown.cjs.map +1 -1
- package/dist/components/Markdown/Markdown.js.map +1 -1
- package/dist/components/Markdown/Markdown.module.cjs.map +1 -1
- package/dist/components/Markdown/Markdown.module.js.map +1 -1
- package/dist/components/Markdown/markdown-parse.cjs +6 -6
- package/dist/components/Markdown/markdown-parse.cjs.map +1 -1
- package/dist/components/Markdown/markdown-parse.js +94 -96
- package/dist/components/Markdown/markdown-parse.js.map +1 -1
- package/dist/components/Masonry/Masonry.cjs.map +1 -1
- package/dist/components/Masonry/Masonry.js.map +1 -1
- package/dist/components/Masonry/Masonry.module.cjs.map +1 -1
- package/dist/components/Masonry/Masonry.module.js.map +1 -1
- package/dist/components/Masonry/masonry-layout.cjs.map +1 -1
- package/dist/components/Masonry/masonry-layout.js.map +1 -1
- package/dist/components/Menubar/Menubar.cjs.map +1 -1
- package/dist/components/Menubar/Menubar.js.map +1 -1
- package/dist/components/Menubar/Menubar.module.cjs.map +1 -1
- package/dist/components/Menubar/Menubar.module.js.map +1 -1
- package/dist/components/Modal/Modal.cjs.map +1 -1
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/Modal.module.cjs.map +1 -1
- package/dist/components/Modal/Modal.module.js.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.cjs.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.js.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.module.cjs.map +1 -1
- package/dist/components/ModalsManager/ModalsManager.module.js.map +1 -1
- package/dist/components/Money/Money.cjs.map +1 -1
- package/dist/components/Money/Money.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.module.cjs.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.module.js.map +1 -1
- package/dist/components/NProgress/NProgress.cjs.map +1 -1
- package/dist/components/NProgress/NProgress.js.map +1 -1
- package/dist/components/NProgress/NProgress.module.cjs.map +1 -1
- package/dist/components/NProgress/NProgress.module.js.map +1 -1
- package/dist/components/Navbar/Navbar.cjs.map +1 -1
- package/dist/components/Navbar/Navbar.js.map +1 -1
- package/dist/components/Navbar/Navbar.module.cjs.map +1 -1
- package/dist/components/Navbar/Navbar.module.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenu.module.js.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.cjs.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.js.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.module.cjs.map +1 -1
- package/dist/components/NavigationRail/NavigationRail.module.js.map +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.cjs.map +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.js.map +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.module.cjs.map +1 -1
- package/dist/components/NotificationCenter/NotificationCenter.module.js.map +1 -1
- package/dist/components/NotificationCenter/use-notification-inbox.cjs.map +1 -1
- package/dist/components/NotificationCenter/use-notification-inbox.js.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.cjs.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.js.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.module.cjs.map +1 -1
- package/dist/components/OfflineIndicator/OfflineIndicator.module.js.map +1 -1
- package/dist/components/Page/Page.cjs.map +1 -1
- package/dist/components/Page/Page.js.map +1 -1
- package/dist/components/Page/Page.module.cjs.map +1 -1
- package/dist/components/Page/Page.module.js.map +1 -1
- package/dist/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Pagination/Pagination.module.cjs.map +1 -1
- package/dist/components/Pagination/Pagination.module.js.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.cjs.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.module.cjs.map +1 -1
- package/dist/components/PasswordInput/PasswordInput.module.js.map +1 -1
- package/dist/components/PinInput/PinInput.cjs.map +1 -1
- package/dist/components/PinInput/PinInput.js.map +1 -1
- package/dist/components/PinInput/PinInput.module.cjs.map +1 -1
- package/dist/components/PinInput/PinInput.module.js.map +1 -1
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/Popover.module.cjs.map +1 -1
- package/dist/components/Popover/Popover.module.js.map +1 -1
- package/dist/components/Portal/Portal.cjs.map +1 -1
- package/dist/components/Portal/Portal.js.map +1 -1
- package/dist/components/Portal/anchor-position.cjs.map +1 -1
- package/dist/components/Portal/anchor-position.js.map +1 -1
- package/dist/components/Portal/escape-layer.cjs.map +1 -1
- package/dist/components/Portal/escape-layer.js.map +1 -1
- package/dist/components/Portal/portal-host.cjs.map +1 -1
- package/dist/components/Portal/portal-host.js.map +1 -1
- package/dist/components/Portal/tab-bridge.cjs +1 -1
- package/dist/components/Portal/tab-bridge.cjs.map +1 -1
- package/dist/components/Portal/tab-bridge.js +1 -5
- package/dist/components/Portal/tab-bridge.js.map +1 -1
- package/dist/components/Progress/Progress.cjs.map +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/Progress/Progress.module.cjs.map +1 -1
- package/dist/components/Progress/Progress.module.js.map +1 -1
- package/dist/components/QRCode/QRCode.cjs.map +1 -1
- package/dist/components/QRCode/QRCode.js.map +1 -1
- package/dist/components/QRCode/QRCode.module.cjs.map +1 -1
- package/dist/components/QRCode/QRCode.module.js.map +1 -1
- package/dist/components/QRCode/qr-encode.cjs +1 -1
- package/dist/components/QRCode/qr-encode.cjs.map +1 -1
- package/dist/components/QRCode/qr-encode.js +7 -13
- package/dist/components/QRCode/qr-encode.js.map +1 -1
- package/dist/components/QRCode/qr-tables.cjs.map +1 -1
- package/dist/components/QRCode/qr-tables.js.map +1 -1
- package/dist/components/Radio/Radio.cjs.map +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/Radio.module.cjs.map +1 -1
- package/dist/components/Radio/Radio.module.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.cjs.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.module.cjs.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.module.js.map +1 -1
- package/dist/components/RatingStars/RatingStars.cjs.map +1 -1
- package/dist/components/RatingStars/RatingStars.js.map +1 -1
- package/dist/components/RatingStars/RatingStars.module.cjs.map +1 -1
- package/dist/components/RatingStars/RatingStars.module.js.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.cjs.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.js +10 -18
- package/dist/components/RefreshIndicator/RefreshIndicator.js.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.module.cjs.map +1 -1
- package/dist/components/RefreshIndicator/RefreshIndicator.module.js.map +1 -1
- package/dist/components/RelativeTime/RelativeTime.cjs.map +1 -1
- package/dist/components/RelativeTime/RelativeTime.js.map +1 -1
- package/dist/components/Resizable/Resizable.cjs +1 -1
- package/dist/components/Resizable/Resizable.cjs.map +1 -1
- package/dist/components/Resizable/Resizable.js +1 -9
- package/dist/components/Resizable/Resizable.js.map +1 -1
- package/dist/components/Resizable/Resizable.module.cjs.map +1 -1
- package/dist/components/Resizable/Resizable.module.js.map +1 -1
- package/dist/components/Responsive/Responsive.cjs.map +1 -1
- package/dist/components/Responsive/Responsive.js.map +1 -1
- package/dist/components/Reveal/Reveal.cjs.map +1 -1
- package/dist/components/Reveal/Reveal.js.map +1 -1
- package/dist/components/Reveal/Reveal.module.cjs.map +1 -1
- package/dist/components/Reveal/Reveal.module.js.map +1 -1
- package/dist/components/Reveal/reveal-threshold.cjs.map +1 -1
- package/dist/components/Reveal/reveal-threshold.js.map +1 -1
- package/dist/components/SafeArea/SafeArea.cjs.map +1 -1
- package/dist/components/SafeArea/SafeArea.js.map +1 -1
- package/dist/components/SafeArea/SafeArea.module.cjs.map +1 -1
- package/dist/components/SafeArea/SafeArea.module.js.map +1 -1
- package/dist/components/Scheduler/Scheduler.cjs.map +1 -1
- package/dist/components/Scheduler/Scheduler.js.map +1 -1
- package/dist/components/Scheduler/Scheduler.module.cjs.map +1 -1
- package/dist/components/Scheduler/Scheduler.module.js.map +1 -1
- package/dist/components/Scheduler/scheduler-layout.cjs.map +1 -1
- package/dist/components/Scheduler/scheduler-layout.js.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.cjs.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.module.cjs.map +1 -1
- package/dist/components/ScrollArea/ScrollArea.module.js.map +1 -1
- package/dist/components/SearchBar/SearchBar.cjs.map +1 -1
- package/dist/components/SearchBar/SearchBar.js.map +1 -1
- package/dist/components/SearchBar/SearchBar.module.cjs.map +1 -1
- package/dist/components/SearchBar/SearchBar.module.js.map +1 -1
- package/dist/components/SectionHeader/SectionHeader.cjs.map +1 -1
- package/dist/components/SectionHeader/SectionHeader.js.map +1 -1
- package/dist/components/SectionHeader/SectionHeader.module.cjs.map +1 -1
- package/dist/components/SectionHeader/SectionHeader.module.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.module.js.map +1 -1
- package/dist/components/Select/CaretIcon.cjs.map +1 -1
- package/dist/components/Select/CaretIcon.js.map +1 -1
- package/dist/components/Select/Select.cjs.map +1 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/Select.module.cjs.map +1 -1
- package/dist/components/Select/Select.module.js.map +1 -1
- package/dist/components/Select/options.cjs.map +1 -1
- package/dist/components/Select/options.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.cjs +1 -1
- package/dist/components/Sidebar/Sidebar.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.js +13 -23
- package/dist/components/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.module.cjs.map +1 -1
- package/dist/components/Sidebar/Sidebar.module.js.map +1 -1
- package/dist/components/Sidebar/SidebarEntry.cjs.map +1 -1
- package/dist/components/Sidebar/SidebarEntry.js.map +1 -1
- package/dist/components/Sidebar/active-nav-key.cjs.map +1 -1
- package/dist/components/Sidebar/active-nav-key.js.map +1 -1
- package/dist/components/SignaturePad/SignaturePad.cjs +1 -1
- package/dist/components/SignaturePad/SignaturePad.cjs.map +1 -1
- package/dist/components/SignaturePad/SignaturePad.js +1 -5
- package/dist/components/SignaturePad/SignaturePad.js.map +1 -1
- package/dist/components/SignaturePad/SignaturePad.module.cjs.map +1 -1
- package/dist/components/SignaturePad/SignaturePad.module.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.module.cjs.map +1 -1
- package/dist/components/Skeleton/Skeleton.module.js.map +1 -1
- package/dist/components/Slider/Slider.cjs.map +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/Slider.module.cjs.map +1 -1
- package/dist/components/Slider/Slider.module.js.map +1 -1
- package/dist/components/Spacer/Spacer.cjs.map +1 -1
- package/dist/components/Spacer/Spacer.js.map +1 -1
- package/dist/components/Spacer/Spacer.module.cjs.map +1 -1
- package/dist/components/Spacer/Spacer.module.js.map +1 -1
- package/dist/components/Sparkline/Sparkline.cjs.map +1 -1
- package/dist/components/Sparkline/Sparkline.js.map +1 -1
- package/dist/components/Sparkline/Sparkline.module.cjs.map +1 -1
- package/dist/components/Sparkline/Sparkline.module.js.map +1 -1
- package/dist/components/Sparkline/sparkline-geometry.cjs.map +1 -1
- package/dist/components/Sparkline/sparkline-geometry.js.map +1 -1
- package/dist/components/Spinner/Spinner.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner/Spinner.module.cjs.map +1 -1
- package/dist/components/Spinner/Spinner.module.js.map +1 -1
- package/dist/components/Stat/Stat.cjs.map +1 -1
- package/dist/components/Stat/Stat.js.map +1 -1
- package/dist/components/Stat/Stat.module.cjs.map +1 -1
- package/dist/components/Stat/Stat.module.js.map +1 -1
- package/dist/components/Stepper/Stepper.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.js.map +1 -1
- package/dist/components/Stepper/Stepper.module.cjs.map +1 -1
- package/dist/components/Stepper/Stepper.module.js.map +1 -1
- package/dist/components/StepperInput/StepperInput.cjs.map +1 -1
- package/dist/components/StepperInput/StepperInput.js.map +1 -1
- package/dist/components/StepperInput/StepperInput.module.cjs.map +1 -1
- package/dist/components/StepperInput/StepperInput.module.js.map +1 -1
- package/dist/components/Switch/Switch.cjs.map +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Switch/Switch.module.cjs.map +1 -1
- package/dist/components/Switch/Switch.module.js.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.cjs.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.js.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.cjs.map +1 -1
- package/dist/components/SyncStatusBadge/SyncStatusBadge.module.js.map +1 -1
- package/dist/components/Table/Table.cjs.map +1 -1
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/Table.module.cjs.map +1 -1
- package/dist/components/Table/Table.module.js.map +1 -1
- package/dist/components/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/Tabs.module.cjs.map +1 -1
- package/dist/components/Tabs/Tabs.module.js.map +1 -1
- package/dist/components/Tag/Tag.cjs.map +1 -1
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Tag/Tag.module.cjs.map +1 -1
- package/dist/components/Tag/Tag.module.js.map +1 -1
- package/dist/components/Textarea/Textarea.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Textarea/Textarea.module.cjs.map +1 -1
- package/dist/components/Textarea/Textarea.module.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.cjs.map +1 -1
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.module.cjs.map +1 -1
- package/dist/components/TimePicker/TimePicker.module.js.map +1 -1
- package/dist/components/Timeline/Timeline.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.js.map +1 -1
- package/dist/components/Timeline/Timeline.module.cjs.map +1 -1
- package/dist/components/Timeline/Timeline.module.js.map +1 -1
- package/dist/components/Toast/Toast.module.cjs.map +1 -1
- package/dist/components/Toast/Toast.module.js.map +1 -1
- package/dist/components/Toast/ToastProvider.cjs.map +1 -1
- package/dist/components/Toast/ToastProvider.js.map +1 -1
- package/dist/components/Toggle/Toggle.cjs.map +1 -1
- package/dist/components/Toggle/Toggle.js.map +1 -1
- package/dist/components/Toggle/Toggle.module.cjs.map +1 -1
- package/dist/components/Toggle/Toggle.module.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.cjs.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.cjs.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.module.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.module.js.map +1 -1
- package/dist/components/Tour/Tour.cjs +1 -1
- package/dist/components/Tour/Tour.cjs.map +1 -1
- package/dist/components/Tour/Tour.js +1 -5
- package/dist/components/Tour/Tour.js.map +1 -1
- package/dist/components/Tour/Tour.module.cjs.map +1 -1
- package/dist/components/Tour/Tour.module.js.map +1 -1
- package/dist/components/Tour/tour-position.cjs.map +1 -1
- package/dist/components/Tour/tour-position.js.map +1 -1
- package/dist/components/Transfer/Transfer.cjs.map +1 -1
- package/dist/components/Transfer/Transfer.js.map +1 -1
- package/dist/components/Transfer/Transfer.module.cjs.map +1 -1
- package/dist/components/Transfer/Transfer.module.js.map +1 -1
- package/dist/components/Transfer/transfer-state.cjs.map +1 -1
- package/dist/components/Transfer/transfer-state.js.map +1 -1
- package/dist/components/TreeView/TreeView.cjs.map +1 -1
- package/dist/components/TreeView/TreeView.js.map +1 -1
- package/dist/components/TreeView/TreeView.module.cjs.map +1 -1
- package/dist/components/TreeView/TreeView.module.js.map +1 -1
- package/dist/components/TruncateText/TruncateText.cjs.map +1 -1
- package/dist/components/TruncateText/TruncateText.js.map +1 -1
- package/dist/components/TruncateText/TruncateText.module.cjs.map +1 -1
- package/dist/components/TruncateText/TruncateText.module.js.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.cjs.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.js.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.module.cjs.map +1 -1
- package/dist/components/UpdatePrompt/UpdatePrompt.module.js.map +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.cjs +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.cjs.map +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.js +1 -7
- package/dist/components/VideoPlayer/VideoPlayer.js.map +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.module.cjs.map +1 -1
- package/dist/components/VideoPlayer/VideoPlayer.module.js.map +1 -1
- package/dist/components/VideoPlayer/playback-rates.cjs.map +1 -1
- package/dist/components/VideoPlayer/playback-rates.js.map +1 -1
- package/dist/components/VirtualList/VirtualList.cjs.map +1 -1
- package/dist/components/VirtualList/VirtualList.js.map +1 -1
- package/dist/components/VirtualList/VirtualList.module.cjs.map +1 -1
- package/dist/components/VirtualList/VirtualList.module.js.map +1 -1
- package/dist/components/VirtualTable/VirtualTable.cjs.map +1 -1
- package/dist/components/VirtualTable/VirtualTable.js.map +1 -1
- package/dist/components/VirtualTable/VirtualTable.module.cjs.map +1 -1
- package/dist/components/VirtualTable/VirtualTable.module.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.cjs.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.module.js.map +1 -1
- package/dist/components/Wizard/Wizard.cjs +1 -1
- package/dist/components/Wizard/Wizard.cjs.map +1 -1
- package/dist/components/Wizard/Wizard.js +4 -11
- package/dist/components/Wizard/Wizard.js.map +1 -1
- package/dist/components/Wizard/Wizard.module.cjs.map +1 -1
- package/dist/components/Wizard/Wizard.module.js.map +1 -1
- package/dist/data/create-data-provider.cjs.map +1 -1
- package/dist/data/create-data-provider.js.map +1 -1
- package/dist/data/data-provider-context.cjs.map +1 -1
- package/dist/data/data-provider-context.js.map +1 -1
- package/dist/data/use-resource.cjs.map +1 -1
- package/dist/data/use-resource.js.map +1 -1
- package/dist/editor/RichTextEditor.cjs.map +1 -1
- package/dist/editor/RichTextEditor.js.map +1 -1
- package/dist/editor/RichTextEditor.module.cjs.map +1 -1
- package/dist/editor/RichTextEditor.module.js.map +1 -1
- package/dist/editor.js +1 -2
- package/dist/error-boundary/ErrorBoundary.cjs.map +1 -1
- package/dist/error-boundary/ErrorBoundary.js.map +1 -1
- package/dist/error-boundary/use-error-handler.cjs.map +1 -1
- package/dist/error-boundary/use-error-handler.js.map +1 -1
- package/dist/feature-flags/FeatureFlagsProvider.cjs.map +1 -1
- package/dist/feature-flags/FeatureFlagsProvider.js.map +1 -1
- package/dist/feature-flags/growthbook-adapter.cjs.map +1 -1
- package/dist/feature-flags/growthbook-adapter.js.map +1 -1
- package/dist/feature-flags/in-memory-adapter.cjs.map +1 -1
- package/dist/feature-flags/in-memory-adapter.js.map +1 -1
- package/dist/feature-flags/launchdarkly-adapter.cjs.map +1 -1
- package/dist/feature-flags/launchdarkly-adapter.js.map +1 -1
- package/dist/forms/FormField.cjs.map +1 -1
- package/dist/forms/FormField.js.map +1 -1
- package/dist/forms/br-validators.cjs.map +1 -1
- package/dist/forms/br-validators.js.map +1 -1
- package/dist/forms/masked-inputs.cjs.map +1 -1
- package/dist/forms/masked-inputs.js.map +1 -1
- package/dist/forms/use-viacep.cjs.map +1 -1
- package/dist/forms/use-viacep.js.map +1 -1
- package/dist/forms/use-zod-form.cjs.map +1 -1
- package/dist/forms/use-zod-form.js.map +1 -1
- package/dist/forms/validate-form.cjs.map +1 -1
- package/dist/forms/validate-form.js.map +1 -1
- package/dist/forms/zod-resolver.cjs.map +1 -1
- package/dist/forms/zod-resolver.js.map +1 -1
- package/dist/geo/TrajectoryMap.cjs.map +1 -1
- package/dist/geo/TrajectoryMap.js.map +1 -1
- package/dist/geo/TrajectoryMap.module.cjs.map +1 -1
- package/dist/geo/TrajectoryMap.module.js.map +1 -1
- package/dist/geo/bounds.cjs.map +1 -1
- package/dist/geo/bounds.js.map +1 -1
- package/dist/geo/create-position-tracker.cjs +1 -1
- package/dist/geo/create-position-tracker.cjs.map +1 -1
- package/dist/geo/create-position-tracker.js +1 -7
- package/dist/geo/create-position-tracker.js.map +1 -1
- package/dist/geo/distance.cjs.map +1 -1
- package/dist/geo/distance.js.map +1 -1
- package/dist/geo/estimate.cjs.map +1 -1
- package/dist/geo/estimate.js.map +1 -1
- package/dist/geo/leaflet-map.cjs.map +1 -1
- package/dist/geo/leaflet-map.js.map +1 -1
- package/dist/geo/projection.cjs.map +1 -1
- package/dist/geo/projection.js.map +1 -1
- package/dist/geo/routing.cjs.map +1 -1
- package/dist/geo/routing.js.map +1 -1
- package/dist/geo/types.cjs.map +1 -1
- package/dist/geo/types.js.map +1 -1
- package/dist/geo/use-position-tracker.cjs.map +1 -1
- package/dist/geo/use-position-tracker.js.map +1 -1
- package/dist/hooks/pwa-env.cjs.map +1 -1
- package/dist/hooks/pwa-env.js.map +1 -1
- package/dist/hooks/tab-sequence.cjs.map +1 -1
- package/dist/hooks/tab-sequence.js.map +1 -1
- package/dist/hooks/use-announce.cjs +1 -1
- package/dist/hooks/use-announce.cjs.map +1 -1
- package/dist/hooks/use-announce.js +2 -2
- package/dist/hooks/use-announce.js.map +1 -1
- package/dist/hooks/use-async.cjs.map +1 -1
- package/dist/hooks/use-async.js.map +1 -1
- package/dist/hooks/use-before-install-prompt.cjs.map +1 -1
- package/dist/hooks/use-before-install-prompt.js.map +1 -1
- package/dist/hooks/use-breakpoint.cjs.map +1 -1
- package/dist/hooks/use-breakpoint.js.map +1 -1
- package/dist/hooks/use-click-outside.cjs.map +1 -1
- package/dist/hooks/use-click-outside.js.map +1 -1
- package/dist/hooks/use-client-filter.cjs.map +1 -1
- package/dist/hooks/use-client-filter.js.map +1 -1
- package/dist/hooks/use-clipboard.cjs.map +1 -1
- package/dist/hooks/use-clipboard.js.map +1 -1
- package/dist/hooks/use-countdown.cjs.map +1 -1
- package/dist/hooks/use-countdown.js.map +1 -1
- package/dist/hooks/use-counter.cjs.map +1 -1
- package/dist/hooks/use-counter.js.map +1 -1
- package/dist/hooks/use-debounce.cjs.map +1 -1
- package/dist/hooks/use-debounce.js.map +1 -1
- package/dist/hooks/use-deep-memo.cjs.map +1 -1
- package/dist/hooks/use-deep-memo.js.map +1 -1
- package/dist/hooks/use-disclosure.cjs.map +1 -1
- package/dist/hooks/use-disclosure.js.map +1 -1
- package/dist/hooks/use-document-title.cjs.map +1 -1
- package/dist/hooks/use-document-title.js.map +1 -1
- package/dist/hooks/use-document-visibility.cjs.map +1 -1
- package/dist/hooks/use-document-visibility.js.map +1 -1
- package/dist/hooks/use-draft-filters.cjs.map +1 -1
- package/dist/hooks/use-draft-filters.js.map +1 -1
- package/dist/hooks/use-event-listener.cjs.map +1 -1
- package/dist/hooks/use-event-listener.js.map +1 -1
- package/dist/hooks/use-favicon.cjs.map +1 -1
- package/dist/hooks/use-favicon.js.map +1 -1
- package/dist/hooks/use-focus-trap.cjs.map +1 -1
- package/dist/hooks/use-focus-trap.js.map +1 -1
- package/dist/hooks/use-fullscreen-element.cjs.map +1 -1
- package/dist/hooks/use-fullscreen-element.js.map +1 -1
- package/dist/hooks/use-fullscreen.cjs +1 -1
- package/dist/hooks/use-fullscreen.cjs.map +1 -1
- package/dist/hooks/use-fullscreen.js +7 -23
- package/dist/hooks/use-fullscreen.js.map +1 -1
- package/dist/hooks/use-geolocation.cjs.map +1 -1
- package/dist/hooks/use-geolocation.js.map +1 -1
- package/dist/hooks/use-hover.cjs.map +1 -1
- package/dist/hooks/use-hover.js.map +1 -1
- package/dist/hooks/use-idle.cjs.map +1 -1
- package/dist/hooks/use-idle.js.map +1 -1
- package/dist/hooks/use-install-prompt.cjs +1 -1
- package/dist/hooks/use-install-prompt.cjs.map +1 -1
- package/dist/hooks/use-install-prompt.js +1 -1
- package/dist/hooks/use-install-prompt.js.map +1 -1
- package/dist/hooks/use-intersection-observer.cjs.map +1 -1
- package/dist/hooks/use-intersection-observer.js.map +1 -1
- package/dist/hooks/use-interval.cjs.map +1 -1
- package/dist/hooks/use-interval.js.map +1 -1
- package/dist/hooks/use-is-first-render.cjs.map +1 -1
- package/dist/hooks/use-is-first-render.js.map +1 -1
- package/dist/hooks/use-keyboard-shortcut.cjs.map +1 -1
- package/dist/hooks/use-keyboard-shortcut.js.map +1 -1
- package/dist/hooks/use-latest-ref.cjs.map +1 -1
- package/dist/hooks/use-latest-ref.js.map +1 -1
- package/dist/hooks/use-list-state.cjs.map +1 -1
- package/dist/hooks/use-list-state.js.map +1 -1
- package/dist/hooks/use-local-storage.cjs +1 -1
- package/dist/hooks/use-local-storage.cjs.map +1 -1
- package/dist/hooks/use-local-storage.js +2 -5
- package/dist/hooks/use-local-storage.js.map +1 -1
- package/dist/hooks/use-long-press-handlers.cjs.map +1 -1
- package/dist/hooks/use-long-press-handlers.js.map +1 -1
- package/dist/hooks/use-long-press.cjs.map +1 -1
- package/dist/hooks/use-long-press.js.map +1 -1
- package/dist/hooks/use-map.cjs.map +1 -1
- package/dist/hooks/use-map.js.map +1 -1
- package/dist/hooks/use-media-devices.cjs.map +1 -1
- package/dist/hooks/use-media-devices.js.map +1 -1
- package/dist/hooks/use-media-permission.cjs +1 -1
- package/dist/hooks/use-media-permission.cjs.map +1 -1
- package/dist/hooks/use-media-permission.js +2 -5
- package/dist/hooks/use-media-permission.js.map +1 -1
- package/dist/hooks/use-media-query.cjs.map +1 -1
- package/dist/hooks/use-media-query.js.map +1 -1
- package/dist/hooks/use-object-url.cjs.map +1 -1
- package/dist/hooks/use-object-url.js.map +1 -1
- package/dist/hooks/use-online.cjs.map +1 -1
- package/dist/hooks/use-online.js.map +1 -1
- package/dist/hooks/use-pagination.cjs.map +1 -1
- package/dist/hooks/use-pagination.js.map +1 -1
- package/dist/hooks/use-previous.cjs.map +1 -1
- package/dist/hooks/use-previous.js.map +1 -1
- package/dist/hooks/use-push-to-talk.cjs.map +1 -1
- package/dist/hooks/use-push-to-talk.js.map +1 -1
- package/dist/hooks/use-queue.cjs.map +1 -1
- package/dist/hooks/use-queue.js.map +1 -1
- package/dist/hooks/use-resize-observer.cjs.map +1 -1
- package/dist/hooks/use-resize-observer.js.map +1 -1
- package/dist/hooks/use-scroll-lock.cjs.map +1 -1
- package/dist/hooks/use-scroll-lock.js.map +1 -1
- package/dist/hooks/use-scroll-overflow.cjs.map +1 -1
- package/dist/hooks/use-scroll-overflow.js.map +1 -1
- package/dist/hooks/use-service-worker-update.cjs.map +1 -1
- package/dist/hooks/use-service-worker-update.js.map +1 -1
- package/dist/hooks/use-set.cjs.map +1 -1
- package/dist/hooks/use-set.js.map +1 -1
- package/dist/hooks/use-sortable.cjs.map +1 -1
- package/dist/hooks/use-sortable.js.map +1 -1
- package/dist/hooks/use-stable-callback.cjs.map +1 -1
- package/dist/hooks/use-stable-callback.js.map +1 -1
- package/dist/hooks/use-storage-estimate.cjs.map +1 -1
- package/dist/hooks/use-storage-estimate.js.map +1 -1
- package/dist/hooks/use-throttle.cjs.map +1 -1
- package/dist/hooks/use-throttle.js.map +1 -1
- package/dist/hooks/use-timeout.cjs.map +1 -1
- package/dist/hooks/use-timeout.js.map +1 -1
- package/dist/hooks/use-toggle.cjs.map +1 -1
- package/dist/hooks/use-toggle.js.map +1 -1
- package/dist/hooks/use-typewriter.cjs.map +1 -1
- package/dist/hooks/use-typewriter.js.map +1 -1
- package/dist/hooks/use-window-size.cjs.map +1 -1
- package/dist/hooks/use-window-size.js.map +1 -1
- package/dist/http/api-client.cjs.map +1 -1
- package/dist/http/api-client.js.map +1 -1
- package/dist/http/build-url.cjs.map +1 -1
- package/dist/http/build-url.js.map +1 -1
- package/dist/http/credential-scope.cjs.map +1 -1
- package/dist/http/credential-scope.js.map +1 -1
- package/dist/http/csrf.cjs.map +1 -1
- package/dist/http/csrf.js.map +1 -1
- package/dist/http/decode-response.cjs.map +1 -1
- package/dist/http/decode-response.js.map +1 -1
- package/dist/http/describe-api-error.cjs.map +1 -1
- package/dist/http/describe-api-error.js.map +1 -1
- package/dist/http/errors.cjs.map +1 -1
- package/dist/http/errors.js.map +1 -1
- package/dist/http/idempotency.cjs.map +1 -1
- package/dist/http/idempotency.js.map +1 -1
- package/dist/http/parse-response.cjs.map +1 -1
- package/dist/http/parse-response.js.map +1 -1
- package/dist/http/resumable-upload.cjs +1 -1
- package/dist/http/resumable-upload.cjs.map +1 -1
- package/dist/http/resumable-upload.js +141 -105
- package/dist/http/resumable-upload.js.map +1 -1
- package/dist/http/retry.cjs +1 -1
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.js +5 -6
- package/dist/http/retry.js.map +1 -1
- package/dist/http/timeout.cjs.map +1 -1
- package/dist/http/timeout.js.map +1 -1
- package/dist/http/upload-with-progress.cjs +1 -1
- package/dist/http/upload-with-progress.cjs.map +1 -1
- package/dist/http/upload-with-progress.js +2 -7
- package/dist/http/upload-with-progress.js.map +1 -1
- package/dist/http/use-describe-api-error.cjs.map +1 -1
- package/dist/http/use-describe-api-error.js.map +1 -1
- package/dist/http/use-poll.cjs +1 -1
- package/dist/http/use-poll.cjs.map +1 -1
- package/dist/http/use-poll.js +2 -5
- package/dist/http/use-poll.js.map +1 -1
- package/dist/i18n/I18nProvider.cjs.map +1 -1
- package/dist/i18n/I18nProvider.js.map +1 -1
- package/dist/i18n/create-i18n.cjs.map +1 -1
- package/dist/i18n/create-i18n.js.map +1 -1
- package/dist/icons/Icon.cjs.map +1 -1
- package/dist/icons/Icon.js.map +1 -1
- package/dist/icons/IconPicker.cjs.map +1 -1
- package/dist/icons/IconPicker.js.map +1 -1
- package/dist/icons/IconPicker.module.cjs.map +1 -1
- package/dist/icons/IconPicker.module.js.map +1 -1
- package/dist/icons/IconProvider.cjs.map +1 -1
- package/dist/icons/IconProvider.js.map +1 -1
- package/dist/icons/alias.cjs.map +1 -1
- package/dist/icons/alias.js.map +1 -1
- package/dist/icons/generated/aliases.cjs.map +1 -1
- package/dist/icons/generated/aliases.js.map +1 -1
- package/dist/icons/generated/icon-names.cjs.map +1 -1
- package/dist/icons/generated/icon-names.js.map +1 -1
- package/dist/icons/generated/loaders.cjs.map +1 -1
- package/dist/icons/generated/loaders.js.map +1 -1
- package/dist/icons/generated/shard-00.cjs.map +1 -1
- package/dist/icons/generated/shard-00.js.map +1 -1
- package/dist/icons/generated/shard-01.cjs.map +1 -1
- package/dist/icons/generated/shard-01.js.map +1 -1
- package/dist/icons/generated/shard-02.cjs.map +1 -1
- package/dist/icons/generated/shard-02.js.map +1 -1
- package/dist/icons/generated/shard-03.cjs.map +1 -1
- package/dist/icons/generated/shard-03.js.map +1 -1
- package/dist/icons/generated/shard-04.cjs.map +1 -1
- package/dist/icons/generated/shard-04.js.map +1 -1
- package/dist/icons/generated/shard-05.cjs.map +1 -1
- package/dist/icons/generated/shard-05.js.map +1 -1
- package/dist/icons/generated/shard-06.cjs.map +1 -1
- package/dist/icons/generated/shard-06.js.map +1 -1
- package/dist/icons/generated/shard-07.cjs.map +1 -1
- package/dist/icons/generated/shard-07.js.map +1 -1
- package/dist/icons/generated/shard-08.cjs.map +1 -1
- package/dist/icons/generated/shard-08.js.map +1 -1
- package/dist/icons/generated/shard-09.cjs.map +1 -1
- package/dist/icons/generated/shard-09.js.map +1 -1
- package/dist/icons/generated/shard-10.cjs.map +1 -1
- package/dist/icons/generated/shard-10.js.map +1 -1
- package/dist/icons/generated/shard-11.cjs.map +1 -1
- package/dist/icons/generated/shard-11.js.map +1 -1
- package/dist/icons/generated/shard-12.cjs.map +1 -1
- package/dist/icons/generated/shard-12.js.map +1 -1
- package/dist/icons/generated/shard-13.cjs.map +1 -1
- package/dist/icons/generated/shard-13.js.map +1 -1
- package/dist/icons/generated/shard-14.cjs.map +1 -1
- package/dist/icons/generated/shard-14.js.map +1 -1
- package/dist/icons/generated/shard-15.cjs.map +1 -1
- package/dist/icons/generated/shard-15.js.map +1 -1
- package/dist/icons/generated/shard-16.cjs.map +1 -1
- package/dist/icons/generated/shard-16.js.map +1 -1
- package/dist/icons/generated/shard-17.cjs.map +1 -1
- package/dist/icons/generated/shard-17.js.map +1 -1
- package/dist/icons/generated/shard-18.cjs.map +1 -1
- package/dist/icons/generated/shard-18.js.map +1 -1
- package/dist/icons/generated/shard-19.cjs.map +1 -1
- package/dist/icons/generated/shard-19.js.map +1 -1
- package/dist/icons/generated/shard-20.cjs.map +1 -1
- package/dist/icons/generated/shard-20.js.map +1 -1
- package/dist/icons/generated/shard-21.cjs.map +1 -1
- package/dist/icons/generated/shard-21.js.map +1 -1
- package/dist/icons/generated/shard-22.cjs.map +1 -1
- package/dist/icons/generated/shard-22.js.map +1 -1
- package/dist/icons/generated/shard-23.cjs.map +1 -1
- package/dist/icons/generated/shard-23.js.map +1 -1
- package/dist/icons/generated/shard-24.cjs.map +1 -1
- package/dist/icons/generated/shard-24.js.map +1 -1
- package/dist/icons/generated/shard-25.cjs.map +1 -1
- package/dist/icons/generated/shard-25.js.map +1 -1
- package/dist/icons/generated/shard-26.cjs.map +1 -1
- package/dist/icons/generated/shard-26.js.map +1 -1
- package/dist/icons/generated/shard-27.cjs.map +1 -1
- package/dist/icons/generated/shard-27.js.map +1 -1
- package/dist/icons/generated/shard-28.cjs.map +1 -1
- package/dist/icons/generated/shard-28.js.map +1 -1
- package/dist/icons/generated/shard-29.cjs.map +1 -1
- package/dist/icons/generated/shard-29.js.map +1 -1
- package/dist/icons/generated/shard-30.cjs.map +1 -1
- package/dist/icons/generated/shard-30.js.map +1 -1
- package/dist/icons/generated/shard-31.cjs.map +1 -1
- package/dist/icons/generated/shard-31.js.map +1 -1
- package/dist/icons/generated/shard-32.cjs.map +1 -1
- package/dist/icons/generated/shard-32.js.map +1 -1
- package/dist/icons/generated/shard-33.cjs.map +1 -1
- package/dist/icons/generated/shard-33.js.map +1 -1
- package/dist/icons/generated/shard-34.cjs.map +1 -1
- package/dist/icons/generated/shard-34.js.map +1 -1
- package/dist/icons/generated/shard-35.cjs.map +1 -1
- package/dist/icons/generated/shard-35.js.map +1 -1
- package/dist/icons/generated/shard-36.cjs.map +1 -1
- package/dist/icons/generated/shard-36.js.map +1 -1
- package/dist/icons/generated/shard-37.cjs.map +1 -1
- package/dist/icons/generated/shard-37.js.map +1 -1
- package/dist/icons/generated/shard-38.cjs.map +1 -1
- package/dist/icons/generated/shard-38.js.map +1 -1
- package/dist/icons/generated/shard-39.cjs.map +1 -1
- package/dist/icons/generated/shard-39.js.map +1 -1
- package/dist/icons/generated/shard-40.cjs.map +1 -1
- package/dist/icons/generated/shard-40.js.map +1 -1
- package/dist/icons/generated/shard-41.cjs.map +1 -1
- package/dist/icons/generated/shard-41.js.map +1 -1
- package/dist/icons/generated/shard-42.cjs.map +1 -1
- package/dist/icons/generated/shard-42.js.map +1 -1
- package/dist/icons/generated/shard-43.cjs.map +1 -1
- package/dist/icons/generated/shard-43.js.map +1 -1
- package/dist/icons/generated/shard-44.cjs.map +1 -1
- package/dist/icons/generated/shard-44.js.map +1 -1
- package/dist/icons/generated/shard-45.cjs.map +1 -1
- package/dist/icons/generated/shard-45.js.map +1 -1
- package/dist/icons/icon-context.cjs.map +1 -1
- package/dist/icons/icon-context.js.map +1 -1
- package/dist/icons/is-icon-name.cjs.map +1 -1
- package/dist/icons/is-icon-name.js.map +1 -1
- package/dist/icons/material-symbols.cjs.map +1 -1
- package/dist/icons/material-symbols.js.map +1 -1
- package/dist/icons/normalize-icon-name.cjs.map +1 -1
- package/dist/icons/normalize-icon-name.js.map +1 -1
- package/dist/icons/shard-cache.cjs +1 -1
- package/dist/icons/shard-cache.cjs.map +1 -1
- package/dist/icons/shard-cache.js +2 -5
- package/dist/icons/shard-cache.js.map +1 -1
- package/dist/icons/use-icon.cjs.map +1 -1
- package/dist/icons/use-icon.js.map +1 -1
- package/dist/icons/validate-icon-name.cjs.map +1 -1
- package/dist/icons/validate-icon-name.js.map +1 -1
- package/dist/icons-virtual.cjs.map +1 -1
- package/dist/icons-virtual.js.map +1 -1
- package/dist/imaging/canvas.cjs.map +1 -1
- package/dist/imaging/canvas.js.map +1 -1
- package/dist/imaging/compress.cjs.map +1 -1
- package/dist/imaging/compress.js.map +1 -1
- package/dist/imaging/decode.cjs.map +1 -1
- package/dist/imaging/decode.js.map +1 -1
- package/dist/imaging/encode.cjs.map +1 -1
- package/dist/imaging/encode.js.map +1 -1
- package/dist/imaging/exceptions.cjs.map +1 -1
- package/dist/imaging/exceptions.js.map +1 -1
- package/dist/imaging/frame.cjs.map +1 -1
- package/dist/imaging/frame.js.map +1 -1
- package/dist/imaging/thumbnails.cjs.map +1 -1
- package/dist/imaging/thumbnails.js.map +1 -1
- package/dist/imaging/transform.cjs.map +1 -1
- package/dist/imaging/transform.js.map +1 -1
- package/dist/imaging/use-image-processing.cjs.map +1 -1
- package/dist/imaging/use-image-processing.js.map +1 -1
- package/dist/logger/logger.cjs.map +1 -1
- package/dist/logger/logger.js.map +1 -1
- package/dist/neural.cjs.map +1 -1
- package/dist/neural.js.map +1 -1
- package/dist/oauth/GoogleSignIn.cjs +1 -1
- package/dist/oauth/GoogleSignIn.cjs.map +1 -1
- package/dist/oauth/GoogleSignIn.js +6 -9
- package/dist/oauth/GoogleSignIn.js.map +1 -1
- package/dist/oauth/callback.cjs.map +1 -1
- package/dist/oauth/callback.js.map +1 -1
- package/dist/oauth/use-oauth-callback.cjs.map +1 -1
- package/dist/oauth/use-oauth-callback.js.map +1 -1
- package/dist/offline/conflict.cjs.map +1 -1
- package/dist/offline/conflict.js.map +1 -1
- package/dist/offline/create-offline-database.cjs.map +1 -1
- package/dist/offline/create-offline-database.js.map +1 -1
- package/dist/offline/create-offline-store.cjs +1 -1
- package/dist/offline/create-offline-store.cjs.map +1 -1
- package/dist/offline/create-offline-store.js +1 -5
- package/dist/offline/create-offline-store.js.map +1 -1
- package/dist/offline/create-offline-sync.cjs +1 -1
- package/dist/offline/create-offline-sync.cjs.map +1 -1
- package/dist/offline/create-offline-sync.js +9 -14
- package/dist/offline/create-offline-sync.js.map +1 -1
- package/dist/offline/use-offline-sync.cjs.map +1 -1
- package/dist/offline/use-offline-sync.js.map +1 -1
- package/dist/perf/cache-size.cjs.map +1 -1
- package/dist/perf/cache-size.js.map +1 -1
- package/dist/perf/device.cjs.map +1 -1
- package/dist/perf/device.js.map +1 -1
- package/dist/perf/format.cjs.map +1 -1
- package/dist/perf/format.js.map +1 -1
- package/dist/perf/profiler.cjs.map +1 -1
- package/dist/perf/profiler.js.map +1 -1
- package/dist/push/use-push-subscription.cjs.map +1 -1
- package/dist/push/use-push-subscription.js.map +1 -1
- package/dist/push/utils.cjs.map +1 -1
- package/dist/push/utils.js.map +1 -1
- package/dist/push/web-push-client.cjs.map +1 -1
- package/dist/push/web-push-client.js.map +1 -1
- package/dist/query/QueryProvider.cjs.map +1 -1
- package/dist/query/QueryProvider.js.map +1 -1
- package/dist/query/constants.cjs.map +1 -1
- package/dist/query/constants.js.map +1 -1
- package/dist/query/create-query-keys.cjs.map +1 -1
- package/dist/query/create-query-keys.js.map +1 -1
- package/dist/query/foreign-client-warning.cjs.map +1 -1
- package/dist/query/foreign-client-warning.js.map +1 -1
- package/dist/query/offline-persistence.cjs +1 -1
- package/dist/query/offline-persistence.cjs.map +1 -1
- package/dist/query/offline-persistence.js +2 -10
- package/dist/query/offline-persistence.js.map +1 -1
- package/dist/query/optimistic.cjs.map +1 -1
- package/dist/query/optimistic.js.map +1 -1
- package/dist/query/pagination.cjs.map +1 -1
- package/dist/query/pagination.js.map +1 -1
- package/dist/query/retry-policy.cjs.map +1 -1
- package/dist/query/retry-policy.js.map +1 -1
- package/dist/query/use-cursor-query.cjs.map +1 -1
- package/dist/query/use-cursor-query.js.map +1 -1
- package/dist/query/use-offline-mutation.cjs.map +1 -1
- package/dist/query/use-offline-mutation.js.map +1 -1
- package/dist/query/use-paginated-query.cjs.map +1 -1
- package/dist/query/use-paginated-query.js.map +1 -1
- package/dist/router/AppRouter.cjs.map +1 -1
- package/dist/router/AppRouter.js.map +1 -1
- package/dist/router/RouteGuard.cjs.map +1 -1
- package/dist/router/RouteGuard.js.map +1 -1
- package/dist/router/index.js +2 -2
- package/dist/share/share-or-download.cjs.map +1 -1
- package/dist/share/share-or-download.js.map +1 -1
- package/dist/share/share.cjs.map +1 -1
- package/dist/share/share.js.map +1 -1
- package/dist/sse/create-event-stream.cjs.map +1 -1
- package/dist/sse/create-event-stream.js.map +1 -1
- package/dist/sse/use-event-stream.cjs.map +1 -1
- package/dist/sse/use-event-stream.js.map +1 -1
- package/dist/store/create-selectors.cjs.map +1 -1
- package/dist/store/create-selectors.js.map +1 -1
- package/dist/store/create-store.cjs.map +1 -1
- package/dist/store/create-store.js.map +1 -1
- package/dist/sw/background-sync.cjs +1 -1
- package/dist/sw/background-sync.cjs.map +1 -1
- package/dist/sw/background-sync.js +32 -31
- package/dist/sw/background-sync.js.map +1 -1
- package/dist/sw/cache-inspect.cjs.map +1 -1
- package/dist/sw/cache-inspect.js.map +1 -1
- package/dist/sw/cache.cjs +1 -1
- package/dist/sw/cache.cjs.map +1 -1
- package/dist/sw/cache.js +2 -6
- package/dist/sw/cache.js.map +1 -1
- package/dist/sw/create-push-handler.cjs.map +1 -1
- package/dist/sw/create-push-handler.js.map +1 -1
- package/dist/sw/credential-headers.cjs.map +1 -1
- package/dist/sw/credential-headers.js.map +1 -1
- package/dist/sw/periodic-sync.cjs.map +1 -1
- package/dist/sw/periodic-sync.js.map +1 -1
- package/dist/sw/register-service-worker.cjs.map +1 -1
- package/dist/sw/register-service-worker.js.map +1 -1
- package/dist/sw/session-data.cjs.map +1 -1
- package/dist/sw/session-data.js.map +1 -1
- package/dist/sw.d.ts +46 -8
- package/dist/tabular/assets.cjs.map +1 -1
- package/dist/tabular/assets.js.map +1 -1
- package/dist/tabular/cache.cjs.map +1 -1
- package/dist/tabular/cache.js.map +1 -1
- package/dist/tabular/compact.cjs.map +1 -1
- package/dist/tabular/compact.js.map +1 -1
- package/dist/tabular/exceptions.cjs.map +1 -1
- package/dist/tabular/exceptions.js.map +1 -1
- package/dist/tabular/manifest.cjs.map +1 -1
- package/dist/tabular/manifest.js.map +1 -1
- package/dist/tabular/predictor.cjs.map +1 -1
- package/dist/tabular/predictor.js.map +1 -1
- package/dist/tabular/use-tabular-predictor.cjs.map +1 -1
- package/dist/tabular/use-tabular-predictor.js.map +1 -1
- package/dist/telemetry/TelemetryProvider.cjs.map +1 -1
- package/dist/telemetry/TelemetryProvider.js.map +1 -1
- package/dist/telemetry/app-error-adapter.cjs.map +1 -1
- package/dist/telemetry/app-error-adapter.js.map +1 -1
- package/dist/telemetry/app-error-queue.cjs.map +1 -1
- package/dist/telemetry/app-error-queue.js.map +1 -1
- package/dist/telemetry/app-error-reporter.cjs +1 -1
- package/dist/telemetry/app-error-reporter.cjs.map +1 -1
- package/dist/telemetry/app-error-reporter.js +1 -1
- package/dist/telemetry/app-error-reporter.js.map +1 -1
- package/dist/telemetry/app-error-schema.cjs.map +1 -1
- package/dist/telemetry/app-error-schema.js.map +1 -1
- package/dist/telemetry/app-error-transport.cjs.map +1 -1
- package/dist/telemetry/app-error-transport.js.map +1 -1
- package/dist/telemetry/console-adapter.cjs.map +1 -1
- package/dist/telemetry/console-adapter.js.map +1 -1
- package/dist/telemetry/describe-app-error.cjs.map +1 -1
- package/dist/telemetry/describe-app-error.js.map +1 -1
- package/dist/telemetry/posthog-adapter.cjs +1 -1
- package/dist/telemetry/posthog-adapter.cjs.map +1 -1
- package/dist/telemetry/posthog-adapter.js +1 -5
- package/dist/telemetry/posthog-adapter.js.map +1 -1
- package/dist/telemetry/sentry-adapter.cjs.map +1 -1
- package/dist/telemetry/sentry-adapter.js.map +1 -1
- package/dist/tempest-react-sdk.cjs +1 -1
- package/dist/tempest-react-sdk.d.ts +448 -15
- package/dist/tempest-react-sdk.js +119 -119
- package/dist/testing/create-mock-handlers.cjs.map +1 -1
- package/dist/testing/create-mock-handlers.js.map +1 -1
- package/dist/testing.js +1 -2
- package/dist/theme/ThemeProvider.cjs.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/apply-theme.cjs.map +1 -1
- package/dist/theme/apply-theme.js.map +1 -1
- package/dist/theme/color.cjs.map +1 -1
- package/dist/theme/color.js.map +1 -1
- package/dist/theme/create-theme.cjs.map +1 -1
- package/dist/theme/create-theme.js.map +1 -1
- package/dist/theme/data-viz-ramps.cjs.map +1 -1
- package/dist/theme/data-viz-ramps.js.map +1 -1
- package/dist/theme/initial-theme.cjs.map +1 -1
- package/dist/theme/initial-theme.js.map +1 -1
- package/dist/theme/inverse-render.cjs.map +1 -1
- package/dist/theme/inverse-render.js.map +1 -1
- package/dist/theme/inverse-restore.cjs.map +1 -1
- package/dist/theme/inverse-restore.js.map +1 -1
- package/dist/theme/inverse-surface.cjs.map +1 -1
- package/dist/theme/inverse-surface.js.map +1 -1
- package/dist/theme/status-tokens.cjs.map +1 -1
- package/dist/theme/status-tokens.js.map +1 -1
- package/dist/theme/theme-presets.cjs.map +1 -1
- package/dist/theme/theme-presets.js.map +1 -1
- package/dist/utils/absent.cjs.map +1 -1
- package/dist/utils/absent.js.map +1 -1
- package/dist/utils/arrays.cjs.map +1 -1
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/base64.cjs.map +1 -1
- package/dist/utils/base64.js.map +1 -1
- package/dist/utils/cn.cjs.map +1 -1
- package/dist/utils/cn.js.map +1 -1
- package/dist/utils/compare-values.cjs.map +1 -1
- package/dist/utils/compare-values.js.map +1 -1
- package/dist/utils/compressed-storage.cjs.map +1 -1
- package/dist/utils/compressed-storage.js.map +1 -1
- package/dist/utils/csv.cjs +3 -3
- package/dist/utils/csv.cjs.map +1 -1
- package/dist/utils/csv.js +11 -10
- package/dist/utils/csv.js.map +1 -1
- package/dist/utils/dev-mode.cjs.map +1 -1
- package/dist/utils/dev-mode.js.map +1 -1
- package/dist/utils/duplicate-instance.cjs.map +1 -1
- package/dist/utils/duplicate-instance.js.map +1 -1
- package/dist/utils/format.cjs.map +1 -1
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/functions.cjs +1 -1
- package/dist/utils/functions.cjs.map +1 -1
- package/dist/utils/functions.js +1 -1
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/guards.cjs.map +1 -1
- package/dist/utils/guards.js.map +1 -1
- package/dist/utils/ids.cjs.map +1 -1
- package/dist/utils/ids.js.map +1 -1
- package/dist/utils/intl-cache.cjs.map +1 -1
- package/dist/utils/intl-cache.js.map +1 -1
- package/dist/utils/json-frame.cjs.map +1 -1
- package/dist/utils/json-frame.js.map +1 -1
- package/dist/utils/numbers.cjs.map +1 -1
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/objects.cjs.map +1 -1
- package/dist/utils/objects.js.map +1 -1
- package/dist/{telemetry/app-error-owner.cjs → utils/owner-fingerprint.cjs} +2 -2
- package/dist/utils/owner-fingerprint.cjs.map +1 -0
- package/dist/{telemetry/app-error-owner.js → utils/owner-fingerprint.js} +3 -3
- package/dist/utils/owner-fingerprint.js.map +1 -0
- package/dist/utils/promises.cjs.map +1 -1
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/relative-time.cjs.map +1 -1
- package/dist/utils/relative-time.js.map +1 -1
- package/dist/utils/safe-url.cjs.map +1 -1
- package/dist/utils/safe-url.js.map +1 -1
- package/dist/utils/schema-like.cjs.map +1 -1
- package/dist/utils/schema-like.js.map +1 -1
- package/dist/utils/storage.cjs +1 -1
- package/dist/utils/storage.cjs.map +1 -1
- package/dist/utils/storage.js +2 -2
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/strings.cjs.map +1 -1
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/xlsx.cjs.map +1 -1
- package/dist/utils/xlsx.js.map +1 -1
- package/dist/vision/core/canvas.cjs.map +1 -1
- package/dist/vision/core/canvas.js.map +1 -1
- package/dist/vision/core/dtypes.cjs.map +1 -1
- package/dist/vision/core/dtypes.js.map +1 -1
- package/dist/vision/core/exceptions.cjs.map +1 -1
- package/dist/vision/core/exceptions.js.map +1 -1
- package/dist/vision/core/graph.cjs.map +1 -1
- package/dist/vision/core/graph.js.map +1 -1
- package/dist/vision/core/metadata.cjs +1 -1
- package/dist/vision/core/metadata.cjs.map +1 -1
- package/dist/vision/core/metadata.js +9 -26
- package/dist/vision/core/metadata.js.map +1 -1
- package/dist/vision/core/providers.cjs.map +1 -1
- package/dist/vision/core/providers.js.map +1 -1
- package/dist/vision/core/session.cjs.map +1 -1
- package/dist/vision/core/session.js.map +1 -1
- package/dist/vision/core/timing.cjs.map +1 -1
- package/dist/vision/core/timing.js.map +1 -1
- package/dist/vision/fusion.cjs.map +1 -1
- package/dist/vision/fusion.js.map +1 -1
- package/dist/vision/index.cjs.map +1 -1
- package/dist/vision/index.js.map +1 -1
- package/dist/vision/io/image.cjs.map +1 -1
- package/dist/vision/io/image.js.map +1 -1
- package/dist/vision/labels.cjs.map +1 -1
- package/dist/vision/labels.js.map +1 -1
- package/dist/vision/luminance.cjs.map +1 -1
- package/dist/vision/luminance.js.map +1 -1
- package/dist/vision/normalization.cjs.map +1 -1
- package/dist/vision/normalization.js.map +1 -1
- package/dist/vision/postprocess/classification.cjs.map +1 -1
- package/dist/vision/postprocess/classification.js.map +1 -1
- package/dist/vision/postprocess/detection.cjs.map +1 -1
- package/dist/vision/postprocess/detection.js.map +1 -1
- package/dist/vision/postprocess/segmentation.cjs.map +1 -1
- package/dist/vision/postprocess/segmentation.js.map +1 -1
- package/dist/vision/preprocess/image.cjs.map +1 -1
- package/dist/vision/preprocess/image.js.map +1 -1
- package/dist/vision/preprocess/pipeline.cjs.map +1 -1
- package/dist/vision/preprocess/pipeline.js.map +1 -1
- package/dist/vision/results.cjs.map +1 -1
- package/dist/vision/results.js.map +1 -1
- package/dist/vision/tasks/base.cjs.map +1 -1
- package/dist/vision/tasks/base.js.map +1 -1
- package/dist/vision/tasks/classifier.cjs.map +1 -1
- package/dist/vision/tasks/classifier.js.map +1 -1
- package/dist/vision/tasks/detectClassify.cjs.map +1 -1
- package/dist/vision/tasks/detectClassify.js.map +1 -1
- package/dist/vision/tasks/detector.cjs.map +1 -1
- package/dist/vision/tasks/detector.js.map +1 -1
- package/dist/vision/tasks/segmenter.cjs.map +1 -1
- package/dist/vision/tasks/segmenter.js.map +1 -1
- package/dist/vision/types.cjs.map +1 -1
- package/dist/vision/types.js.map +1 -1
- package/dist/vision/use-camera-stream.cjs +1 -1
- package/dist/vision/use-camera-stream.cjs.map +1 -1
- package/dist/vision/use-camera-stream.js +3 -9
- package/dist/vision/use-camera-stream.js.map +1 -1
- package/dist/vision/use-live-luminance.cjs +1 -1
- package/dist/vision/use-live-luminance.cjs.map +1 -1
- package/dist/vision/use-live-luminance.js +1 -5
- package/dist/vision/use-live-luminance.js.map +1 -1
- package/dist/vite/base-url.cjs.map +1 -1
- package/dist/vite/base-url.js.map +1 -1
- package/dist/vite/create-vite-config.cjs.map +1 -1
- package/dist/vite/create-vite-config.js.map +1 -1
- package/dist/vite/narrow-tokens.cjs.map +1 -1
- package/dist/vite/narrow-tokens.js.map +1 -1
- package/dist/vite/tempest-csp.cjs +2 -2
- package/dist/vite/tempest-csp.cjs.map +1 -1
- package/dist/vite/tempest-csp.js +69 -66
- package/dist/vite/tempest-csp.js.map +1 -1
- package/dist/vite/tempest-icons.cjs.map +1 -1
- package/dist/vite/tempest-icons.js.map +1 -1
- package/dist/vite/tempest-pwa-dev-sw.cjs +1 -1
- package/dist/vite/tempest-pwa-dev-sw.cjs.map +1 -1
- package/dist/vite/tempest-pwa-dev-sw.js +9 -16
- package/dist/vite/tempest-pwa-dev-sw.js.map +1 -1
- package/dist/vite/tempest-pwa-icons.cjs.map +1 -1
- package/dist/vite/tempest-pwa-icons.js.map +1 -1
- package/dist/vite/tempest-pwa-manifest.cjs.map +1 -1
- package/dist/vite/tempest-pwa-manifest.js.map +1 -1
- package/dist/vite/tempest-styles.cjs.map +1 -1
- package/dist/vite/tempest-styles.js.map +1 -1
- package/dist/vite/tempest-vitest.cjs.map +1 -1
- package/dist/vite/tempest-vitest.js.map +1 -1
- package/dist/vite.d.ts +5 -3
- package/dist/webrtc/link-stats.cjs.map +1 -1
- package/dist/webrtc/link-stats.js.map +1 -1
- package/dist/webrtc/mesh-quality.cjs.map +1 -1
- package/dist/webrtc/mesh-quality.js.map +1 -1
- package/dist/webrtc/opus-sdp.cjs.map +1 -1
- package/dist/webrtc/opus-sdp.js.map +1 -1
- package/dist/webrtc/peer-link.cjs +1 -1
- package/dist/webrtc/peer-link.cjs.map +1 -1
- package/dist/webrtc/peer-link.js +2 -5
- package/dist/webrtc/peer-link.js.map +1 -1
- package/dist/webrtc/peer-mesh.cjs +1 -1
- package/dist/webrtc/peer-mesh.cjs.map +1 -1
- package/dist/webrtc/peer-mesh.js +8 -24
- package/dist/webrtc/peer-mesh.js.map +1 -1
- package/dist/webrtc/sender-bitrate.cjs.map +1 -1
- package/dist/webrtc/sender-bitrate.js.map +1 -1
- package/dist/webrtc/use-link-stats.cjs.map +1 -1
- package/dist/webrtc/use-link-stats.js.map +1 -1
- package/dist/ws/create-web-socket.cjs +1 -1
- package/dist/ws/create-web-socket.cjs.map +1 -1
- package/dist/ws/create-web-socket.js +4 -22
- package/dist/ws/create-web-socket.js.map +1 -1
- package/dist/ws/resilience.cjs.map +1 -1
- package/dist/ws/resilience.js.map +1 -1
- package/dist/ws/use-web-socket.cjs.map +1 -1
- package/dist/ws/use-web-socket.js.map +1 -1
- package/package.json +9 -6
- package/template/package.json +1 -1
- package/dist/telemetry/app-error-owner.cjs.map +0 -1
- package/dist/telemetry/app-error-owner.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.module.cjs","names":[],"sources":["../../../src/components/Spacer/Spacer.module.css"],"sourcesContent":[".spacer.both {\n flex: 1 1 auto;\n}\n\n.spacer.x {\n flex: 1 0 auto;\n width: auto;\n}\n\n.spacer.y {\n flex: 1 0 auto;\n height: auto;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Spacer.module.cjs","names":["spacer","both","x","y","Spacer_module_default"],"sources":["../../../src/components/Spacer/Spacer.module.css"],"sourcesContent":[".spacer.both {\n flex: 1 1 auto;\n}\n\n.spacer.x {\n flex: 1 0 auto;\n width: auto;\n}\n\n.spacer.y {\n flex: 1 0 auto;\n height: auto;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.module.js","names":[],"sources":["../../../src/components/Spacer/Spacer.module.css"],"sourcesContent":[".spacer.both {\n flex: 1 1 auto;\n}\n\n.spacer.x {\n flex: 1 0 auto;\n width: auto;\n}\n\n.spacer.y {\n flex: 1 0 auto;\n height: auto;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Spacer.module.js","names":["spacer","both","x","y","Spacer_module_default"],"sources":["../../../src/components/Spacer/Spacer.module.css"],"sourcesContent":[".spacer.both {\n flex: 1 1 auto;\n}\n\n.spacer.x {\n flex: 1 0 auto;\n width: auto;\n}\n\n.spacer.y {\n flex: 1 0 auto;\n height: auto;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sparkline.cjs","names":[],"sources":["../../../src/components/Sparkline/Sparkline.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — an inline chart with no chart library: data plus its\n * scale (min, max), its box (width, height), its look (variant, color, showEnd) and\n * its accessibility (valueFormatter, label). The formatter and label matter because\n * a sparkline has no axes to read.\n */\nimport type { HTMLAttributes } from \"react\";\n\nimport { cn } from \"@/utils/cn\";\n\nimport { areaPath, barRects, describeSeries, linePath, sparkPoints } from \"./sparkline-geometry\";\nimport styles from \"./Sparkline.module.css\";\n\nexport type SparklineVariant = \"line\" | \"area\" | \"bar\";\n\nexport interface SparklineProps extends Omit<HTMLAttributes<HTMLSpanElement>, \"children\"> {\n /** The series, in order. Non-finite entries are skipped. */\n data: readonly number[];\n /** Drawing width in px. Default `88`. */\n width?: number;\n /** Drawing height in px. Default `24`. */\n height?: number;\n /** Which mark to draw. Default `\"line\"`. */\n variant?: SparklineVariant;\n /** Any CSS colour. Defaults to the first chart series token. */\n color?: string;\n /** Draw a dot on the last point. Default `true` for line and area. */\n showEnd?: boolean;\n /** Force the low end of the value axis — use it to compare several sparklines. */\n min?: number;\n /** Force the high end. */\n max?: number;\n /** Render a value; used in the accessible description. */\n valueFormatter?: (value: number) => string;\n /**\n * Accessible name. Defaults to a sentence describing the series.\n *\n * Pass one when the surrounding text already says what is plotted — the default\n * still appends the shape, so a caller never ends up with an unlabelled image.\n */\n label?: string;\n}\n\n/**\n * A tiny inline chart: shape only, no axes, no legend.\n *\n * Sized to sit in a table cell or beside a number, which is why it is plain SVG on\n * the root entry rather than a recharts wrapper — a sparkline in a data table should\n * not oblige an app to install a charting library.\n *\n * It carries `role=\"img\"` and a spoken description of the series (direction, ends,\n * extremes). Without that it is an unlabelled image: a sparkline has no axis or\n * legend to fall back on, so a screen reader would reach it and read nothing. Pair it\n * with the number it annotates — the shape is context, never the only way to read the\n * value.\n *\n * @example\n * <Sparkline data={last30Days} />\n * <Sparkline data={revenue} variant=\"area\" width={120} height={32} />\n *\n * // Same axis across a column, so the rows are comparable\n * <Sparkline data={row.series} min={0} max={columnMax} />\n */\nexport function Sparkline({\n data,\n width = 88,\n height = 24,\n variant = \"line\",\n color = \"var(--tempest-chart-1)\",\n showEnd,\n min,\n max,\n valueFormatter,\n label,\n className,\n ...rest\n}: SparklineProps) {\n const points = sparkPoints({ values: data, width, height, min, max });\n const description = label ?? describeSeries(data, valueFormatter);\n const withEnd = showEnd ?? variant !== \"bar\";\n const last = points[points.length - 1];\n\n /*\n * Bars grow from the bottom of the box; line and area close against it. Both use\n * the same edge so a sparkline swapped between variants keeps its footprint.\n */\n const baselineY = height - 2;\n\n return (\n <span className={cn(styles.wrapper, className)} {...rest}>\n <svg\n className={styles.svg}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n role=\"img\"\n aria-label={description}\n >\n {points.length > 0 && variant === \"area\" && (\n <path d={areaPath(points, baselineY)} fill={color} className={styles.area} />\n )}\n\n {points.length > 0 && variant !== \"bar\" && (\n <path\n d={linePath(points)}\n fill=\"none\"\n stroke={color}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n )}\n\n {variant === \"bar\" &&\n barRects(points, { width, baselineY }).map((rect) => (\n <rect\n key={rect.point.index}\n x={rect.x}\n y={rect.y}\n width={rect.width}\n height={rect.height}\n rx={1}\n fill={color}\n />\n ))}\n\n {withEnd && last && (\n /*\n * The ring is drawn in the surface colour rather than as a stroke on\n * the dot: it keeps the marker legible where it sits on top of the\n * line without adding ink that is not data.\n */\n <circle\n cx={last.x}\n cy={last.y}\n r={3}\n fill={color}\n stroke=\"var(--tempest-bg)\"\n strokeWidth={2}\n />\n )}\n </svg>\n </span>\n );\n}\n"],"mappings":"mJA+DA,
|
|
1
|
+
{"version":3,"file":"Sparkline.cjs","names":["sparkPoints","describeSeries","cn","styles","areaPath","linePath","barRects","require_cn","require_sparkline_geometry","require_Sparkline_module","react_jsx_runtime","Sparkline","rest","points","data","description","label","valueFormatter","withEnd","showEnd","variant","last","baselineY","height","className","width","color","rect"],"sources":["../../../src/components/Sparkline/Sparkline.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — an inline chart with no chart library: data plus its\n * scale (min, max), its box (width, height), its look (variant, color, showEnd) and\n * its accessibility (valueFormatter, label). The formatter and label matter because\n * a sparkline has no axes to read.\n */\nimport type { HTMLAttributes } from \"react\";\n\nimport { cn } from \"@/utils/cn\";\n\nimport { areaPath, barRects, describeSeries, linePath, sparkPoints } from \"./sparkline-geometry\";\nimport styles from \"./Sparkline.module.css\";\n\nexport type SparklineVariant = \"line\" | \"area\" | \"bar\";\n\nexport interface SparklineProps extends Omit<HTMLAttributes<HTMLSpanElement>, \"children\"> {\n /** The series, in order. Non-finite entries are skipped. */\n data: readonly number[];\n /** Drawing width in px. Default `88`. */\n width?: number;\n /** Drawing height in px. Default `24`. */\n height?: number;\n /** Which mark to draw. Default `\"line\"`. */\n variant?: SparklineVariant;\n /** Any CSS colour. Defaults to the first chart series token. */\n color?: string;\n /** Draw a dot on the last point. Default `true` for line and area. */\n showEnd?: boolean;\n /** Force the low end of the value axis — use it to compare several sparklines. */\n min?: number;\n /** Force the high end. */\n max?: number;\n /** Render a value; used in the accessible description. */\n valueFormatter?: (value: number) => string;\n /**\n * Accessible name. Defaults to a sentence describing the series.\n *\n * Pass one when the surrounding text already says what is plotted — the default\n * still appends the shape, so a caller never ends up with an unlabelled image.\n */\n label?: string;\n}\n\n/**\n * A tiny inline chart: shape only, no axes, no legend.\n *\n * Sized to sit in a table cell or beside a number, which is why it is plain SVG on\n * the root entry rather than a recharts wrapper — a sparkline in a data table should\n * not oblige an app to install a charting library.\n *\n * It carries `role=\"img\"` and a spoken description of the series (direction, ends,\n * extremes). Without that it is an unlabelled image: a sparkline has no axis or\n * legend to fall back on, so a screen reader would reach it and read nothing. Pair it\n * with the number it annotates — the shape is context, never the only way to read the\n * value.\n *\n * @example\n * <Sparkline data={last30Days} />\n * <Sparkline data={revenue} variant=\"area\" width={120} height={32} />\n *\n * // Same axis across a column, so the rows are comparable\n * <Sparkline data={row.series} min={0} max={columnMax} />\n */\nexport function Sparkline({\n data,\n width = 88,\n height = 24,\n variant = \"line\",\n color = \"var(--tempest-chart-1)\",\n showEnd,\n min,\n max,\n valueFormatter,\n label,\n className,\n ...rest\n}: SparklineProps) {\n const points = sparkPoints({ values: data, width, height, min, max });\n const description = label ?? describeSeries(data, valueFormatter);\n const withEnd = showEnd ?? variant !== \"bar\";\n const last = points[points.length - 1];\n\n /*\n * Bars grow from the bottom of the box; line and area close against it. Both use\n * the same edge so a sparkline swapped between variants keeps its footprint.\n */\n const baselineY = height - 2;\n\n return (\n <span className={cn(styles.wrapper, className)} {...rest}>\n <svg\n className={styles.svg}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n role=\"img\"\n aria-label={description}\n >\n {points.length > 0 && variant === \"area\" && (\n <path d={areaPath(points, baselineY)} fill={color} className={styles.area} />\n )}\n\n {points.length > 0 && variant !== \"bar\" && (\n <path\n d={linePath(points)}\n fill=\"none\"\n stroke={color}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n )}\n\n {variant === \"bar\" &&\n barRects(points, { width, baselineY }).map((rect) => (\n <rect\n key={rect.point.index}\n x={rect.x}\n y={rect.y}\n width={rect.width}\n height={rect.height}\n rx={1}\n fill={color}\n />\n ))}\n\n {withEnd && last && (\n /*\n * The ring is drawn in the surface colour rather than as a stroke on\n * the dot: it keeps the marker legible where it sits on top of the\n * line without adding ink that is not data.\n */\n <circle\n cx={last.x}\n cy={last.y}\n r={3}\n fill={color}\n stroke=\"var(--tempest-bg)\"\n strokeWidth={2}\n />\n )}\n </svg>\n </span>\n );\n}\n"],"mappings":"A,mJA+DA,SAAgBW,EAAU,CACtB,OACA,QAAQ,GACR,SAAS,GACT,UAAU,OACV,QAAQ,yBACR,UACA,MACA,MACA,iBACA,QACA,YACA,GAAGC,GACY,CACf,IAAMC,EAASb,EAAAA,YAAY,CAAE,OAAQc,EAAM,QAAO,SAAQ,MAAK,KAAI,CAAC,EAC9DC,EAAcC,GAASf,EAAAA,eAAea,EAAMG,CAAc,EAC1DC,EAAUC,GAAWC,IAAY,MACjCC,EAAOR,EAAOA,EAAO,OAAS,GAM9BS,EAAYC,EAAS,EAE3B,OACI,EAAAb,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWR,EAAAA,GAAGC,EAAAA,QAAO,QAASqB,CAAS,EAAG,GAAIZ,EAChD,UAAA,EAAAF,EAAA,KAAA,CAAC,MAAD,CACI,UAAWP,EAAAA,QAAO,IACX,QACC,SACR,QAAS,OAAOsB,EAAM,GAAGF,IACzB,KAAK,MACL,aAAYR,EANhB,SAAA,CAQKF,EAAO,OAAS,GAAKO,IAAY,SAC9B,EAAAV,EAAA,IAAA,CAAC,OAAD,CAAM,EAAGN,EAAAA,SAASS,EAAQS,CAAS,EAAG,KAAMI,EAAO,UAAWvB,EAAAA,QAAO,IAAO,CAAA,EAG/EU,EAAO,OAAS,GAAKO,IAAY,QAC9B,EAAAV,EAAA,IAAA,CAAC,OAAD,CACI,EAAGL,EAAAA,SAASQ,CAAM,EAClB,KAAK,OACL,OAAQa,EACR,YAAa,EACb,cAAc,QACd,eAAe,OAClB,CAAA,EAGJN,IAAY,OACTd,EAAAA,SAASO,EAAQ,CAAE,QAAO,WAAU,CAAC,CAAC,CAAC,IAAK,IACxC,EAAAH,EAAA,IAAA,CAAC,OAAD,CAEI,EAAGiB,EAAK,EACR,EAAGA,EAAK,EACR,MAAOA,EAAK,MACZ,OAAQA,EAAK,OACb,GAAI,EACJ,KAAMD,CACT,EAPQC,EAAK,MAAM,KAOnB,CACJ,EAEJT,GAAWG,IAMR,EAAAX,EAAA,IAAA,CAAC,SAAD,CACI,GAAIW,EAAK,EACT,GAAIA,EAAK,EACT,EAAG,EACH,KAAMK,EACN,OAAO,oBACP,YAAa,CAChB,CAAA,CAEJ,C,EACH,CAAA,CAEd,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sparkline.js","names":[],"sources":["../../../src/components/Sparkline/Sparkline.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — an inline chart with no chart library: data plus its\n * scale (min, max), its box (width, height), its look (variant, color, showEnd) and\n * its accessibility (valueFormatter, label). The formatter and label matter because\n * a sparkline has no axes to read.\n */\nimport type { HTMLAttributes } from \"react\";\n\nimport { cn } from \"@/utils/cn\";\n\nimport { areaPath, barRects, describeSeries, linePath, sparkPoints } from \"./sparkline-geometry\";\nimport styles from \"./Sparkline.module.css\";\n\nexport type SparklineVariant = \"line\" | \"area\" | \"bar\";\n\nexport interface SparklineProps extends Omit<HTMLAttributes<HTMLSpanElement>, \"children\"> {\n /** The series, in order. Non-finite entries are skipped. */\n data: readonly number[];\n /** Drawing width in px. Default `88`. */\n width?: number;\n /** Drawing height in px. Default `24`. */\n height?: number;\n /** Which mark to draw. Default `\"line\"`. */\n variant?: SparklineVariant;\n /** Any CSS colour. Defaults to the first chart series token. */\n color?: string;\n /** Draw a dot on the last point. Default `true` for line and area. */\n showEnd?: boolean;\n /** Force the low end of the value axis — use it to compare several sparklines. */\n min?: number;\n /** Force the high end. */\n max?: number;\n /** Render a value; used in the accessible description. */\n valueFormatter?: (value: number) => string;\n /**\n * Accessible name. Defaults to a sentence describing the series.\n *\n * Pass one when the surrounding text already says what is plotted — the default\n * still appends the shape, so a caller never ends up with an unlabelled image.\n */\n label?: string;\n}\n\n/**\n * A tiny inline chart: shape only, no axes, no legend.\n *\n * Sized to sit in a table cell or beside a number, which is why it is plain SVG on\n * the root entry rather than a recharts wrapper — a sparkline in a data table should\n * not oblige an app to install a charting library.\n *\n * It carries `role=\"img\"` and a spoken description of the series (direction, ends,\n * extremes). Without that it is an unlabelled image: a sparkline has no axis or\n * legend to fall back on, so a screen reader would reach it and read nothing. Pair it\n * with the number it annotates — the shape is context, never the only way to read the\n * value.\n *\n * @example\n * <Sparkline data={last30Days} />\n * <Sparkline data={revenue} variant=\"area\" width={120} height={32} />\n *\n * // Same axis across a column, so the rows are comparable\n * <Sparkline data={row.series} min={0} max={columnMax} />\n */\nexport function Sparkline({\n data,\n width = 88,\n height = 24,\n variant = \"line\",\n color = \"var(--tempest-chart-1)\",\n showEnd,\n min,\n max,\n valueFormatter,\n label,\n className,\n ...rest\n}: SparklineProps) {\n const points = sparkPoints({ values: data, width, height, min, max });\n const description = label ?? describeSeries(data, valueFormatter);\n const withEnd = showEnd ?? variant !== \"bar\";\n const last = points[points.length - 1];\n\n /*\n * Bars grow from the bottom of the box; line and area close against it. Both use\n * the same edge so a sparkline swapped between variants keeps its footprint.\n */\n const baselineY = height - 2;\n\n return (\n <span className={cn(styles.wrapper, className)} {...rest}>\n <svg\n className={styles.svg}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n role=\"img\"\n aria-label={description}\n >\n {points.length > 0 && variant === \"area\" && (\n <path d={areaPath(points, baselineY)} fill={color} className={styles.area} />\n )}\n\n {points.length > 0 && variant !== \"bar\" && (\n <path\n d={linePath(points)}\n fill=\"none\"\n stroke={color}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n )}\n\n {variant === \"bar\" &&\n barRects(points, { width, baselineY }).map((rect) => (\n <rect\n key={rect.point.index}\n x={rect.x}\n y={rect.y}\n width={rect.width}\n height={rect.height}\n rx={1}\n fill={color}\n />\n ))}\n\n {withEnd && last && (\n /*\n * The ring is drawn in the surface colour rather than as a stroke on\n * the dot: it keeps the marker legible where it sits on top of the\n * line without adding ink that is not data.\n */\n <circle\n cx={last.x}\n cy={last.y}\n r={3}\n fill={color}\n stroke=\"var(--tempest-bg)\"\n strokeWidth={2}\n />\n )}\n </svg>\n </span>\n );\n}\n"],"mappings":";;;;;AA+DA,
|
|
1
|
+
{"version":3,"file":"Sparkline.js","names":["styles","Sparkline_module_default","Sparkline","rest","points","sparkPoints","data","description","label","describeSeries","valueFormatter","withEnd","showEnd","variant","last","baselineY","height","cn","className","width","areaPath","color","linePath","barRects","rect"],"sources":["../../../src/components/Sparkline/Sparkline.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — an inline chart with no chart library: data plus its\n * scale (min, max), its box (width, height), its look (variant, color, showEnd) and\n * its accessibility (valueFormatter, label). The formatter and label matter because\n * a sparkline has no axes to read.\n */\nimport type { HTMLAttributes } from \"react\";\n\nimport { cn } from \"@/utils/cn\";\n\nimport { areaPath, barRects, describeSeries, linePath, sparkPoints } from \"./sparkline-geometry\";\nimport styles from \"./Sparkline.module.css\";\n\nexport type SparklineVariant = \"line\" | \"area\" | \"bar\";\n\nexport interface SparklineProps extends Omit<HTMLAttributes<HTMLSpanElement>, \"children\"> {\n /** The series, in order. Non-finite entries are skipped. */\n data: readonly number[];\n /** Drawing width in px. Default `88`. */\n width?: number;\n /** Drawing height in px. Default `24`. */\n height?: number;\n /** Which mark to draw. Default `\"line\"`. */\n variant?: SparklineVariant;\n /** Any CSS colour. Defaults to the first chart series token. */\n color?: string;\n /** Draw a dot on the last point. Default `true` for line and area. */\n showEnd?: boolean;\n /** Force the low end of the value axis — use it to compare several sparklines. */\n min?: number;\n /** Force the high end. */\n max?: number;\n /** Render a value; used in the accessible description. */\n valueFormatter?: (value: number) => string;\n /**\n * Accessible name. Defaults to a sentence describing the series.\n *\n * Pass one when the surrounding text already says what is plotted — the default\n * still appends the shape, so a caller never ends up with an unlabelled image.\n */\n label?: string;\n}\n\n/**\n * A tiny inline chart: shape only, no axes, no legend.\n *\n * Sized to sit in a table cell or beside a number, which is why it is plain SVG on\n * the root entry rather than a recharts wrapper — a sparkline in a data table should\n * not oblige an app to install a charting library.\n *\n * It carries `role=\"img\"` and a spoken description of the series (direction, ends,\n * extremes). Without that it is an unlabelled image: a sparkline has no axis or\n * legend to fall back on, so a screen reader would reach it and read nothing. Pair it\n * with the number it annotates — the shape is context, never the only way to read the\n * value.\n *\n * @example\n * <Sparkline data={last30Days} />\n * <Sparkline data={revenue} variant=\"area\" width={120} height={32} />\n *\n * // Same axis across a column, so the rows are comparable\n * <Sparkline data={row.series} min={0} max={columnMax} />\n */\nexport function Sparkline({\n data,\n width = 88,\n height = 24,\n variant = \"line\",\n color = \"var(--tempest-chart-1)\",\n showEnd,\n min,\n max,\n valueFormatter,\n label,\n className,\n ...rest\n}: SparklineProps) {\n const points = sparkPoints({ values: data, width, height, min, max });\n const description = label ?? describeSeries(data, valueFormatter);\n const withEnd = showEnd ?? variant !== \"bar\";\n const last = points[points.length - 1];\n\n /*\n * Bars grow from the bottom of the box; line and area close against it. Both use\n * the same edge so a sparkline swapped between variants keeps its footprint.\n */\n const baselineY = height - 2;\n\n return (\n <span className={cn(styles.wrapper, className)} {...rest}>\n <svg\n className={styles.svg}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n role=\"img\"\n aria-label={description}\n >\n {points.length > 0 && variant === \"area\" && (\n <path d={areaPath(points, baselineY)} fill={color} className={styles.area} />\n )}\n\n {points.length > 0 && variant !== \"bar\" && (\n <path\n d={linePath(points)}\n fill=\"none\"\n stroke={color}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n )}\n\n {variant === \"bar\" &&\n barRects(points, { width, baselineY }).map((rect) => (\n <rect\n key={rect.point.index}\n x={rect.x}\n y={rect.y}\n width={rect.width}\n height={rect.height}\n rx={1}\n fill={color}\n />\n ))}\n\n {withEnd && last && (\n /*\n * The ring is drawn in the surface colour rather than as a stroke on\n * the dot: it keeps the marker legible where it sits on top of the\n * line without adding ink that is not data.\n */\n <circle\n cx={last.x}\n cy={last.y}\n r={3}\n fill={color}\n stroke=\"var(--tempest-bg)\"\n strokeWidth={2}\n />\n )}\n </svg>\n </span>\n );\n}\n"],"mappings":";;;;;AA+DA,SAAgBE,EAAU,EACtB,SACA,WAAQ,IACR,YAAS,IACT,aAAU,QACV,WAAQ,0BACR,YACA,QACA,QACA,mBACA,UACA,cACA,GAAGC,KACY;CACf,IAAMC,IAASC,EAAY;EAAE,QAAQC;EAAM;EAAO;EAAQ;EAAK;CAAI,CAAC,GAC9DC,IAAcC,KAASC,EAAeH,GAAMI,CAAc,GAC1DC,IAAUC,KAAWC,MAAY,OACjCC,IAAOV,EAAOA,EAAO,SAAS,IAM9BW,IAAYC,IAAS;CAE3B,OACI,kBAAC,QAAD;EAAM,WAAWC,EAAGjB,EAAO,SAASkB,CAAS;EAAG,GAAIf;EAChD,UAAA,kBAAC,OAAD;GACI,WAAWH,EAAO;GACX;GACC;GACR,SAAS,OAAOmB,EAAM,GAAGH;GACzB,MAAK;GACL,cAAYT;GANhB,UAAA;IAQKH,EAAO,SAAS,KAAKS,MAAY,UAC9B,kBAAC,QAAD;KAAM,GAAGO,EAAShB,GAAQW,CAAS;KAAG,MAAMM;KAAO,WAAWrB,EAAO;IAAO,CAAA;IAG/EI,EAAO,SAAS,KAAKS,MAAY,SAC9B,kBAAC,QAAD;KACI,GAAGS,EAASlB,CAAM;KAClB,MAAK;KACL,QAAQiB;KACR,aAAa;KACb,eAAc;KACd,gBAAe;IAClB,CAAA;IAGJR,MAAY,SACTU,EAASnB,GAAQ;KAAE;KAAO;IAAU,CAAC,CAAC,CAAC,KAAK,MACxC,kBAAC,QAAD;KAEI,GAAGoB,EAAK;KACR,GAAGA,EAAK;KACR,OAAOA,EAAK;KACZ,QAAQA,EAAK;KACb,IAAI;KACJ,MAAMH;IACT,GAPQG,EAAK,MAAM,KAOnB,CACJ;IAEJb,KAAWG,KAMR,kBAAC,UAAD;KACI,IAAIA,EAAK;KACT,IAAIA,EAAK;KACT,GAAG;KACH,MAAMO;KACN,QAAO;KACP,aAAa;IAChB,CAAA;GAEJ;;CACH,CAAA;AAEd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sparkline.module.cjs","names":[],"sources":["../../../src/components/Sparkline/Sparkline.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n align-items: center;\n /*\n * `middle` rather than the inline default: a sparkline sits beside a number, and\n * a baseline-aligned SVG hangs low enough to look like it fell off the line.\n */\n vertical-align: middle;\n line-height: 0;\n}\n\n.svg {\n display: block;\n overflow: visible;\n}\n\n/*\n * A wash, never a saturated block — the fill is context for the line, and at full\n * strength it competes with the mark that actually carries the data.\n */\n.area {\n opacity: 0.12;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Sparkline.module.cjs","names":["wrapper","svg","area","Sparkline_module_default"],"sources":["../../../src/components/Sparkline/Sparkline.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n align-items: center;\n /*\n * `middle` rather than the inline default: a sparkline sits beside a number, and\n * a baseline-aligned SVG hangs low enough to look like it fell off the line.\n */\n vertical-align: middle;\n line-height: 0;\n}\n\n.svg {\n display: block;\n overflow: visible;\n}\n\n/*\n * A wash, never a saturated block — the fill is context for the line, and at full\n * strength it competes with the mark that actually carries the data.\n */\n.area {\n opacity: 0.12;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sparkline.module.js","names":[],"sources":["../../../src/components/Sparkline/Sparkline.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n align-items: center;\n /*\n * `middle` rather than the inline default: a sparkline sits beside a number, and\n * a baseline-aligned SVG hangs low enough to look like it fell off the line.\n */\n vertical-align: middle;\n line-height: 0;\n}\n\n.svg {\n display: block;\n overflow: visible;\n}\n\n/*\n * A wash, never a saturated block — the fill is context for the line, and at full\n * strength it competes with the mark that actually carries the data.\n */\n.area {\n opacity: 0.12;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Sparkline.module.js","names":["wrapper","svg","area","Sparkline_module_default"],"sources":["../../../src/components/Sparkline/Sparkline.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n align-items: center;\n /*\n * `middle` rather than the inline default: a sparkline sits beside a number, and\n * a baseline-aligned SVG hangs low enough to look like it fell off the line.\n */\n vertical-align: middle;\n line-height: 0;\n}\n\n.svg {\n display: block;\n overflow: visible;\n}\n\n/*\n * A wash, never a saturated block — the fill is context for the line, and at full\n * strength it competes with the mark that actually carries the data.\n */\n.area {\n opacity: 0.12;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-geometry.cjs","names":[],"sources":["../../../src/components/Sparkline/sparkline-geometry.ts"],"sourcesContent":["/** A point in the sparkline's own coordinate space. */\nexport interface SparkPoint {\n x: number;\n y: number;\n /** The datum this point came from. */\n value: number;\n /** Its position in the input series. */\n index: number;\n}\n\nexport interface SparkGeometryOptions {\n values: readonly number[];\n width: number;\n height: number;\n /** Room reserved on every side for the end marker's ring, so it is never clipped. */\n padding?: number;\n /** Force the low end of the value axis. Defaults to the series minimum. */\n min?: number;\n /** Force the high end. Defaults to the series maximum. */\n max?: number;\n}\n\n/**\n * Project a series onto the drawing box.\n *\n * `y` is inverted — SVG grows downward and a chart grows upward — and a flat series\n * is centred rather than pinned to an edge, which is the honest reading of \"no\n * variation\" and avoids dividing by a zero-height domain.\n *\n * Non-finite values are dropped rather than drawn: a `NaN` in the middle of a path\n * silently voids the whole `d` attribute and the sparkline disappears with no error.\n *\n * @param options - The series and the box to fit it in.\n * @returns The projected points, in input order.\n */\nexport function sparkPoints({\n values,\n width,\n height,\n padding = 2,\n min,\n max,\n}: SparkGeometryOptions): SparkPoint[] {\n const usable = values\n .map((value, index) => ({ value, index }))\n .filter((item) => Number.isFinite(item.value));\n if (usable.length === 0 || width <= 0 || height <= 0) return [];\n\n const numbers = usable.map((item) => item.value);\n const lo = min ?? Math.min(...numbers);\n const hi = max ?? Math.max(...numbers);\n const span = hi - lo;\n\n const innerW = Math.max(0, width - padding * 2);\n const innerH = Math.max(0, height - padding * 2);\n const lastIndex = usable.length - 1;\n\n return usable.map((item, i) => {\n const t = lastIndex === 0 ? 0.5 : i / lastIndex;\n const v = span === 0 ? 0.5 : (item.value - lo) / span;\n return {\n x: padding + t * innerW,\n y: padding + (1 - Math.min(1, Math.max(0, v))) * innerH,\n value: item.value,\n index: item.index,\n };\n });\n}\n\n/** An SVG `d` for a polyline through the points. */\nexport function linePath(points: readonly SparkPoint[]): string {\n if (points.length === 0) return \"\";\n if (points.length === 1) {\n // A lone point has no line; emit a zero-length segment so the round cap\n // still paints a dot rather than nothing at all.\n const [only] = points;\n return `M ${only.x} ${only.y} L ${only.x} ${only.y}`;\n }\n return points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n}\n\n/**\n * An SVG `d` for the area under the line, closed along the baseline.\n *\n * @param points - The projected points.\n * @param baselineY - Where the fill closes, in the same space as the points.\n */\nexport function areaPath(points: readonly SparkPoint[], baselineY: number): string {\n if (points.length === 0) return \"\";\n const line = points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n const first = points[0];\n const last = points[points.length - 1];\n return `${line} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;\n}\n\n/** Bar rectangles growing from the baseline, with the band's leftover left as air. */\nexport function barRects(\n points: readonly SparkPoint[],\n { width, baselineY, gap = 2 }: { width: number; baselineY: number; gap?: number },\n): { x: number; y: number; width: number; height: number; point: SparkPoint }[] {\n if (points.length === 0) return [];\n const band = width / points.length;\n // Never fill the slot: the gap between bars is what separates them, not a stroke.\n const barWidth = Math.max(1, Math.min(24, band - gap));\n return points.map((point) => {\n /*\n * The minimum value sits on the baseline, where the raw height is 0. It still\n * needs a visible sliver — but growing *up* from the baseline, not down: the\n * naive `Math.max(1, …)` on height alone leaves the bar hanging one pixel\n * below the axis it is supposed to stand on.\n */\n const height = Math.max(1, Math.abs(baselineY - point.y));\n return {\n x: point.x - barWidth / 2,\n y: Math.min(point.y, baselineY - height),\n width: barWidth,\n height,\n point,\n };\n });\n}\n\n/**\n * A one-sentence description of the series, for the chart's accessible name.\n *\n * A sparkline has no axes and no legend, so without this it is an unlabelled image:\n * a screen reader reaches it and reads nothing. Direction is stated in words rather\n * than implied by the shape.\n *\n * @param values - The series, in order.\n * @param format - How to render a single value.\n * @returns Text suitable for `aria-label`.\n */\nexport function describeSeries(\n values: readonly number[],\n format: (value: number) => string = String,\n): string {\n const usable = values.filter((v) => Number.isFinite(v));\n if (usable.length === 0) return \"Sem dados\";\n if (usable.length === 1) return `Valor único: ${format(usable[0])}`;\n\n const first = usable[0];\n const last = usable[usable.length - 1];\n const direction = last > first ? \"subindo\" : last < first ? \"descendo\" : \"estável\";\n return (\n `${usable.length} pontos, ${direction}. ` +\n `Início ${format(first)}, fim ${format(last)}. ` +\n `Mínimo ${format(Math.min(...usable))}, máximo ${format(Math.max(...usable))}.`\n );\n}\n"],"mappings":"AAmCA,
|
|
1
|
+
{"version":3,"file":"sparkline-geometry.cjs","names":["sparkPoints","usable","values","item","width","height","numbers","lo","min","span","max","innerW","padding","innerH","lastIndex","t","i","v","linePath","points","only","p","areaPath","line","first","baselineY","barRects","band","barWidth","gap","point","describeSeries","format","last","direction"],"sources":["../../../src/components/Sparkline/sparkline-geometry.ts"],"sourcesContent":["/** A point in the sparkline's own coordinate space. */\nexport interface SparkPoint {\n x: number;\n y: number;\n /** The datum this point came from. */\n value: number;\n /** Its position in the input series. */\n index: number;\n}\n\nexport interface SparkGeometryOptions {\n values: readonly number[];\n width: number;\n height: number;\n /** Room reserved on every side for the end marker's ring, so it is never clipped. */\n padding?: number;\n /** Force the low end of the value axis. Defaults to the series minimum. */\n min?: number;\n /** Force the high end. Defaults to the series maximum. */\n max?: number;\n}\n\n/**\n * Project a series onto the drawing box.\n *\n * `y` is inverted — SVG grows downward and a chart grows upward — and a flat series\n * is centred rather than pinned to an edge, which is the honest reading of \"no\n * variation\" and avoids dividing by a zero-height domain.\n *\n * Non-finite values are dropped rather than drawn: a `NaN` in the middle of a path\n * silently voids the whole `d` attribute and the sparkline disappears with no error.\n *\n * @param options - The series and the box to fit it in.\n * @returns The projected points, in input order.\n */\nexport function sparkPoints({\n values,\n width,\n height,\n padding = 2,\n min,\n max,\n}: SparkGeometryOptions): SparkPoint[] {\n const usable = values\n .map((value, index) => ({ value, index }))\n .filter((item) => Number.isFinite(item.value));\n if (usable.length === 0 || width <= 0 || height <= 0) return [];\n\n const numbers = usable.map((item) => item.value);\n const lo = min ?? Math.min(...numbers);\n const hi = max ?? Math.max(...numbers);\n const span = hi - lo;\n\n const innerW = Math.max(0, width - padding * 2);\n const innerH = Math.max(0, height - padding * 2);\n const lastIndex = usable.length - 1;\n\n return usable.map((item, i) => {\n const t = lastIndex === 0 ? 0.5 : i / lastIndex;\n const v = span === 0 ? 0.5 : (item.value - lo) / span;\n return {\n x: padding + t * innerW,\n y: padding + (1 - Math.min(1, Math.max(0, v))) * innerH,\n value: item.value,\n index: item.index,\n };\n });\n}\n\n/** An SVG `d` for a polyline through the points. */\nexport function linePath(points: readonly SparkPoint[]): string {\n if (points.length === 0) return \"\";\n if (points.length === 1) {\n // A lone point has no line; emit a zero-length segment so the round cap\n // still paints a dot rather than nothing at all.\n const [only] = points;\n return `M ${only.x} ${only.y} L ${only.x} ${only.y}`;\n }\n return points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n}\n\n/**\n * An SVG `d` for the area under the line, closed along the baseline.\n *\n * @param points - The projected points.\n * @param baselineY - Where the fill closes, in the same space as the points.\n */\nexport function areaPath(points: readonly SparkPoint[], baselineY: number): string {\n if (points.length === 0) return \"\";\n const line = points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n const first = points[0];\n const last = points[points.length - 1];\n return `${line} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;\n}\n\n/** Bar rectangles growing from the baseline, with the band's leftover left as air. */\nexport function barRects(\n points: readonly SparkPoint[],\n { width, baselineY, gap = 2 }: { width: number; baselineY: number; gap?: number },\n): { x: number; y: number; width: number; height: number; point: SparkPoint }[] {\n if (points.length === 0) return [];\n const band = width / points.length;\n // Never fill the slot: the gap between bars is what separates them, not a stroke.\n const barWidth = Math.max(1, Math.min(24, band - gap));\n return points.map((point) => {\n /*\n * The minimum value sits on the baseline, where the raw height is 0. It still\n * needs a visible sliver — but growing *up* from the baseline, not down: the\n * naive `Math.max(1, …)` on height alone leaves the bar hanging one pixel\n * below the axis it is supposed to stand on.\n */\n const height = Math.max(1, Math.abs(baselineY - point.y));\n return {\n x: point.x - barWidth / 2,\n y: Math.min(point.y, baselineY - height),\n width: barWidth,\n height,\n point,\n };\n });\n}\n\n/**\n * A one-sentence description of the series, for the chart's accessible name.\n *\n * A sparkline has no axes and no legend, so without this it is an unlabelled image:\n * a screen reader reaches it and reads nothing. Direction is stated in words rather\n * than implied by the shape.\n *\n * @param values - The series, in order.\n * @param format - How to render a single value.\n * @returns Text suitable for `aria-label`.\n */\nexport function describeSeries(\n values: readonly number[],\n format: (value: number) => string = String,\n): string {\n const usable = values.filter((v) => Number.isFinite(v));\n if (usable.length === 0) return \"Sem dados\";\n if (usable.length === 1) return `Valor único: ${format(usable[0])}`;\n\n const first = usable[0];\n const last = usable[usable.length - 1];\n const direction = last > first ? \"subindo\" : last < first ? \"descendo\" : \"estável\";\n return (\n `${usable.length} pontos, ${direction}. ` +\n `Início ${format(first)}, fim ${format(last)}. ` +\n `Mínimo ${format(Math.min(...usable))}, máximo ${format(Math.max(...usable))}.`\n );\n}\n"],"mappings":"AAmCA,SAAgBA,EAAY,CACxB,SACA,QACA,SACA,UAAU,EACV,MACA,OACmC,CACnC,IAAMC,EAASC,EACV,KAAK,EAAO,KAAW,CAAE,QAAO,OAAM,EAAE,CAAC,CACzC,OAAQ,GAAS,OAAO,SAASC,EAAK,KAAK,CAAC,EACjD,GAAIF,EAAO,SAAW,GAAKG,GAAS,GAAKC,GAAU,EAAG,MAAO,CAAC,EAE9D,IAAMC,EAAUL,EAAO,IAAK,GAASE,EAAK,KAAK,EACzCI,EAAKC,GAAO,KAAK,IAAI,GAAGF,CAAO,EAE/BG,GADKC,GAAO,KAAK,IAAI,GAAGJ,CAAO,GACnBC,EAEZI,EAAS,KAAK,IAAI,EAAGP,EAAQQ,EAAU,CAAC,EACxCC,EAAS,KAAK,IAAI,EAAGR,EAASO,EAAU,CAAC,EACzCE,EAAYb,EAAO,OAAS,EAElC,OAAOA,EAAO,KAAK,EAAM,IAAM,CAC3B,IAAMc,EAAID,IAAc,EAAI,GAAME,EAAIF,EAChCG,EAAIR,IAAS,EAAI,IAAON,EAAK,MAAQI,GAAME,EACjD,MAAO,CACH,EAAGG,EAAUG,EAAIJ,EACjB,EAAGC,GAAW,EAAI,KAAK,IAAI,EAAG,KAAK,IAAI,EAAGK,CAAC,CAAC,GAAKJ,EACjD,MAAOV,EAAK,MACZ,MAAOA,EAAK,KAChB,CACJ,CAAC,CACL,CAGA,SAAgBe,EAAS,EAAuC,CAC5D,GAAIC,EAAO,SAAW,EAAG,MAAO,GAChC,GAAIA,EAAO,SAAW,EAAG,CAGrB,GAAM,CAACC,GAAQD,EACf,MAAO,KAAKC,EAAK,EAAE,GAAGA,EAAK,EAAE,KAAKA,EAAK,EAAE,GAAGA,EAAK,GACrD,CACA,OAAOD,EAAO,KAAK,EAAG,IAAM,GAAGH,IAAM,EAAI,IAAM,IAAI,GAAGK,EAAE,EAAE,GAAGA,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAChF,CAQA,SAAgBC,EAAS,EAA+B,EAA2B,CAC/E,GAAIH,EAAO,SAAW,EAAG,MAAO,GAChC,IAAMI,EAAOJ,EAAO,KAAK,EAAG,IAAM,GAAGH,IAAM,EAAI,IAAM,IAAI,GAAGK,EAAE,EAAE,GAAGA,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,EAC5EG,EAAQL,EAAO,GAErB,MAAO,GAAGI,EAAK,KADFJ,EAAOA,EAAO,OAAS,EAChB,CAAK,EAAE,GAAGM,EAAU,KAAKD,EAAM,EAAE,GAAGC,EAAU,GACtE,CAGA,SAAgBC,EACZ,EACA,CAAE,QAAO,YAAW,MAAM,GACkD,CAC5E,GAAIP,EAAO,SAAW,EAAG,MAAO,CAAC,EACjC,IAAMQ,EAAOvB,EAAQe,EAAO,OAEtBS,EAAW,KAAK,IAAI,EAAG,KAAK,IAAI,GAAID,EAAOE,CAAG,CAAC,EACrD,OAAOV,EAAO,IAAK,GAAU,CAOzB,IAAMd,EAAS,KAAK,IAAI,EAAG,KAAK,IAAIoB,EAAYK,EAAM,CAAC,CAAC,EACxD,MAAO,CACH,EAAGA,EAAM,EAAIF,EAAW,EACxB,EAAG,KAAK,IAAIE,EAAM,EAAGL,EAAYpB,CAAM,EACvC,MAAOuB,EACP,SACA,OACJ,CACJ,CAAC,CACL,CAaA,SAAgBG,EACZ,EACA,EAAoC,OAC9B,CACN,IAAM9B,EAASC,EAAO,OAAQ,GAAM,OAAO,SAASe,CAAC,CAAC,EACtD,GAAIhB,EAAO,SAAW,EAAG,MAAO,YAChC,GAAIA,EAAO,SAAW,EAAG,MAAO,gBAAgB+B,EAAO/B,EAAO,EAAE,IAEhE,IAAMuB,EAAQvB,EAAO,GACfgC,EAAOhC,EAAOA,EAAO,OAAS,GAC9BiC,EAAYD,EAAOT,EAAQ,UAAYS,EAAOT,EAAQ,WAAa,UACzE,MACI,GAAGvB,EAAO,OAAO,WAAWiC,EAAU,WAC5BF,EAAOR,CAAK,EAAE,QAAQQ,EAAOC,CAAI,EAAE,WACnCD,EAAO,KAAK,IAAI,GAAG/B,CAAM,CAAC,EAAE,WAAW+B,EAAO,KAAK,IAAI,GAAG/B,CAAM,CAAC,EAAE,EAErF,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-geometry.js","names":[],"sources":["../../../src/components/Sparkline/sparkline-geometry.ts"],"sourcesContent":["/** A point in the sparkline's own coordinate space. */\nexport interface SparkPoint {\n x: number;\n y: number;\n /** The datum this point came from. */\n value: number;\n /** Its position in the input series. */\n index: number;\n}\n\nexport interface SparkGeometryOptions {\n values: readonly number[];\n width: number;\n height: number;\n /** Room reserved on every side for the end marker's ring, so it is never clipped. */\n padding?: number;\n /** Force the low end of the value axis. Defaults to the series minimum. */\n min?: number;\n /** Force the high end. Defaults to the series maximum. */\n max?: number;\n}\n\n/**\n * Project a series onto the drawing box.\n *\n * `y` is inverted — SVG grows downward and a chart grows upward — and a flat series\n * is centred rather than pinned to an edge, which is the honest reading of \"no\n * variation\" and avoids dividing by a zero-height domain.\n *\n * Non-finite values are dropped rather than drawn: a `NaN` in the middle of a path\n * silently voids the whole `d` attribute and the sparkline disappears with no error.\n *\n * @param options - The series and the box to fit it in.\n * @returns The projected points, in input order.\n */\nexport function sparkPoints({\n values,\n width,\n height,\n padding = 2,\n min,\n max,\n}: SparkGeometryOptions): SparkPoint[] {\n const usable = values\n .map((value, index) => ({ value, index }))\n .filter((item) => Number.isFinite(item.value));\n if (usable.length === 0 || width <= 0 || height <= 0) return [];\n\n const numbers = usable.map((item) => item.value);\n const lo = min ?? Math.min(...numbers);\n const hi = max ?? Math.max(...numbers);\n const span = hi - lo;\n\n const innerW = Math.max(0, width - padding * 2);\n const innerH = Math.max(0, height - padding * 2);\n const lastIndex = usable.length - 1;\n\n return usable.map((item, i) => {\n const t = lastIndex === 0 ? 0.5 : i / lastIndex;\n const v = span === 0 ? 0.5 : (item.value - lo) / span;\n return {\n x: padding + t * innerW,\n y: padding + (1 - Math.min(1, Math.max(0, v))) * innerH,\n value: item.value,\n index: item.index,\n };\n });\n}\n\n/** An SVG `d` for a polyline through the points. */\nexport function linePath(points: readonly SparkPoint[]): string {\n if (points.length === 0) return \"\";\n if (points.length === 1) {\n // A lone point has no line; emit a zero-length segment so the round cap\n // still paints a dot rather than nothing at all.\n const [only] = points;\n return `M ${only.x} ${only.y} L ${only.x} ${only.y}`;\n }\n return points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n}\n\n/**\n * An SVG `d` for the area under the line, closed along the baseline.\n *\n * @param points - The projected points.\n * @param baselineY - Where the fill closes, in the same space as the points.\n */\nexport function areaPath(points: readonly SparkPoint[], baselineY: number): string {\n if (points.length === 0) return \"\";\n const line = points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n const first = points[0];\n const last = points[points.length - 1];\n return `${line} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;\n}\n\n/** Bar rectangles growing from the baseline, with the band's leftover left as air. */\nexport function barRects(\n points: readonly SparkPoint[],\n { width, baselineY, gap = 2 }: { width: number; baselineY: number; gap?: number },\n): { x: number; y: number; width: number; height: number; point: SparkPoint }[] {\n if (points.length === 0) return [];\n const band = width / points.length;\n // Never fill the slot: the gap between bars is what separates them, not a stroke.\n const barWidth = Math.max(1, Math.min(24, band - gap));\n return points.map((point) => {\n /*\n * The minimum value sits on the baseline, where the raw height is 0. It still\n * needs a visible sliver — but growing *up* from the baseline, not down: the\n * naive `Math.max(1, …)` on height alone leaves the bar hanging one pixel\n * below the axis it is supposed to stand on.\n */\n const height = Math.max(1, Math.abs(baselineY - point.y));\n return {\n x: point.x - barWidth / 2,\n y: Math.min(point.y, baselineY - height),\n width: barWidth,\n height,\n point,\n };\n });\n}\n\n/**\n * A one-sentence description of the series, for the chart's accessible name.\n *\n * A sparkline has no axes and no legend, so without this it is an unlabelled image:\n * a screen reader reaches it and reads nothing. Direction is stated in words rather\n * than implied by the shape.\n *\n * @param values - The series, in order.\n * @param format - How to render a single value.\n * @returns Text suitable for `aria-label`.\n */\nexport function describeSeries(\n values: readonly number[],\n format: (value: number) => string = String,\n): string {\n const usable = values.filter((v) => Number.isFinite(v));\n if (usable.length === 0) return \"Sem dados\";\n if (usable.length === 1) return `Valor único: ${format(usable[0])}`;\n\n const first = usable[0];\n const last = usable[usable.length - 1];\n const direction = last > first ? \"subindo\" : last < first ? \"descendo\" : \"estável\";\n return (\n `${usable.length} pontos, ${direction}. ` +\n `Início ${format(first)}, fim ${format(last)}. ` +\n `Mínimo ${format(Math.min(...usable))}, máximo ${format(Math.max(...usable))}.`\n );\n}\n"],"mappings":";AAmCA,
|
|
1
|
+
{"version":3,"file":"sparkline-geometry.js","names":["sparkPoints","usable","values","item","width","height","numbers","lo","min","span","max","innerW","padding","innerH","lastIndex","t","i","v","linePath","points","only","p","areaPath","line","first","baselineY","barRects","band","barWidth","gap","point","describeSeries","format","last","direction"],"sources":["../../../src/components/Sparkline/sparkline-geometry.ts"],"sourcesContent":["/** A point in the sparkline's own coordinate space. */\nexport interface SparkPoint {\n x: number;\n y: number;\n /** The datum this point came from. */\n value: number;\n /** Its position in the input series. */\n index: number;\n}\n\nexport interface SparkGeometryOptions {\n values: readonly number[];\n width: number;\n height: number;\n /** Room reserved on every side for the end marker's ring, so it is never clipped. */\n padding?: number;\n /** Force the low end of the value axis. Defaults to the series minimum. */\n min?: number;\n /** Force the high end. Defaults to the series maximum. */\n max?: number;\n}\n\n/**\n * Project a series onto the drawing box.\n *\n * `y` is inverted — SVG grows downward and a chart grows upward — and a flat series\n * is centred rather than pinned to an edge, which is the honest reading of \"no\n * variation\" and avoids dividing by a zero-height domain.\n *\n * Non-finite values are dropped rather than drawn: a `NaN` in the middle of a path\n * silently voids the whole `d` attribute and the sparkline disappears with no error.\n *\n * @param options - The series and the box to fit it in.\n * @returns The projected points, in input order.\n */\nexport function sparkPoints({\n values,\n width,\n height,\n padding = 2,\n min,\n max,\n}: SparkGeometryOptions): SparkPoint[] {\n const usable = values\n .map((value, index) => ({ value, index }))\n .filter((item) => Number.isFinite(item.value));\n if (usable.length === 0 || width <= 0 || height <= 0) return [];\n\n const numbers = usable.map((item) => item.value);\n const lo = min ?? Math.min(...numbers);\n const hi = max ?? Math.max(...numbers);\n const span = hi - lo;\n\n const innerW = Math.max(0, width - padding * 2);\n const innerH = Math.max(0, height - padding * 2);\n const lastIndex = usable.length - 1;\n\n return usable.map((item, i) => {\n const t = lastIndex === 0 ? 0.5 : i / lastIndex;\n const v = span === 0 ? 0.5 : (item.value - lo) / span;\n return {\n x: padding + t * innerW,\n y: padding + (1 - Math.min(1, Math.max(0, v))) * innerH,\n value: item.value,\n index: item.index,\n };\n });\n}\n\n/** An SVG `d` for a polyline through the points. */\nexport function linePath(points: readonly SparkPoint[]): string {\n if (points.length === 0) return \"\";\n if (points.length === 1) {\n // A lone point has no line; emit a zero-length segment so the round cap\n // still paints a dot rather than nothing at all.\n const [only] = points;\n return `M ${only.x} ${only.y} L ${only.x} ${only.y}`;\n }\n return points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n}\n\n/**\n * An SVG `d` for the area under the line, closed along the baseline.\n *\n * @param points - The projected points.\n * @param baselineY - Where the fill closes, in the same space as the points.\n */\nexport function areaPath(points: readonly SparkPoint[], baselineY: number): string {\n if (points.length === 0) return \"\";\n const line = points.map((p, i) => `${i === 0 ? \"M\" : \"L\"} ${p.x} ${p.y}`).join(\" \");\n const first = points[0];\n const last = points[points.length - 1];\n return `${line} L ${last.x} ${baselineY} L ${first.x} ${baselineY} Z`;\n}\n\n/** Bar rectangles growing from the baseline, with the band's leftover left as air. */\nexport function barRects(\n points: readonly SparkPoint[],\n { width, baselineY, gap = 2 }: { width: number; baselineY: number; gap?: number },\n): { x: number; y: number; width: number; height: number; point: SparkPoint }[] {\n if (points.length === 0) return [];\n const band = width / points.length;\n // Never fill the slot: the gap between bars is what separates them, not a stroke.\n const barWidth = Math.max(1, Math.min(24, band - gap));\n return points.map((point) => {\n /*\n * The minimum value sits on the baseline, where the raw height is 0. It still\n * needs a visible sliver — but growing *up* from the baseline, not down: the\n * naive `Math.max(1, …)` on height alone leaves the bar hanging one pixel\n * below the axis it is supposed to stand on.\n */\n const height = Math.max(1, Math.abs(baselineY - point.y));\n return {\n x: point.x - barWidth / 2,\n y: Math.min(point.y, baselineY - height),\n width: barWidth,\n height,\n point,\n };\n });\n}\n\n/**\n * A one-sentence description of the series, for the chart's accessible name.\n *\n * A sparkline has no axes and no legend, so without this it is an unlabelled image:\n * a screen reader reaches it and reads nothing. Direction is stated in words rather\n * than implied by the shape.\n *\n * @param values - The series, in order.\n * @param format - How to render a single value.\n * @returns Text suitable for `aria-label`.\n */\nexport function describeSeries(\n values: readonly number[],\n format: (value: number) => string = String,\n): string {\n const usable = values.filter((v) => Number.isFinite(v));\n if (usable.length === 0) return \"Sem dados\";\n if (usable.length === 1) return `Valor único: ${format(usable[0])}`;\n\n const first = usable[0];\n const last = usable[usable.length - 1];\n const direction = last > first ? \"subindo\" : last < first ? \"descendo\" : \"estável\";\n return (\n `${usable.length} pontos, ${direction}. ` +\n `Início ${format(first)}, fim ${format(last)}. ` +\n `Mínimo ${format(Math.min(...usable))}, máximo ${format(Math.max(...usable))}.`\n );\n}\n"],"mappings":";AAmCA,SAAgBA,EAAY,EACxB,WACA,UACA,WACA,aAAU,GACV,QACA,UACmC;CACnC,IAAMC,IAASC,EACV,KAAK,GAAO,OAAW;EAAE;EAAO;CAAM,EAAE,CAAC,CACzC,QAAQ,MAAS,OAAO,SAASC,EAAK,KAAK,CAAC;CACjD,IAAIF,EAAO,WAAW,KAAKG,KAAS,KAAKC,KAAU,GAAG,OAAO,CAAC;CAE9D,IAAMC,IAAUL,EAAO,KAAK,MAASE,EAAK,KAAK,GACzCI,IAAKC,KAAO,KAAK,IAAI,GAAGF,CAAO,GAE/BG,KADKC,KAAO,KAAK,IAAI,GAAGJ,CAAO,KACnBC,GAEZI,IAAS,KAAK,IAAI,GAAGP,IAAQQ,IAAU,CAAC,GACxCC,IAAS,KAAK,IAAI,GAAGR,IAASO,IAAU,CAAC,GACzCE,IAAYb,EAAO,SAAS;CAElC,OAAOA,EAAO,KAAK,GAAM,MAAM;EAC3B,IAAMc,IAAID,MAAc,IAAI,KAAME,IAAIF,GAChCG,IAAIR,MAAS,IAAI,MAAON,EAAK,QAAQI,KAAME;EACjD,OAAO;GACH,GAAGG,IAAUG,IAAIJ;GACjB,GAAGC,KAAW,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGK,CAAC,CAAC,KAAKJ;GACjD,OAAOV,EAAK;GACZ,OAAOA,EAAK;EAChB;CACJ,CAAC;AACL;AAGA,SAAgBe,EAAS,GAAuC;CAC5D,IAAIC,EAAO,WAAW,GAAG,OAAO;CAChC,IAAIA,EAAO,WAAW,GAAG;EAGrB,IAAM,CAACC,KAAQD;EACf,OAAO,KAAKC,EAAK,EAAE,GAAGA,EAAK,EAAE,KAAKA,EAAK,EAAE,GAAGA,EAAK;CACrD;CACA,OAAOD,EAAO,KAAK,GAAG,MAAM,GAAGH,MAAM,IAAI,MAAM,IAAI,GAAGK,EAAE,EAAE,GAAGA,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG;AAChF;AAQA,SAAgBC,EAAS,GAA+B,GAA2B;CAC/E,IAAIH,EAAO,WAAW,GAAG,OAAO;CAChC,IAAMI,IAAOJ,EAAO,KAAK,GAAG,MAAM,GAAGH,MAAM,IAAI,MAAM,IAAI,GAAGK,EAAE,EAAE,GAAGA,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,GAC5EG,IAAQL,EAAO;CAErB,OAAO,GAAGI,EAAK,KADFJ,EAAOA,EAAO,SAAS,EAChB,CAAK,EAAE,GAAGM,EAAU,KAAKD,EAAM,EAAE,GAAGC,EAAU;AACtE;AAGA,SAAgBC,EACZ,GACA,EAAE,UAAO,cAAW,SAAM,KACkD;CAC5E,IAAIP,EAAO,WAAW,GAAG,OAAO,CAAC;CACjC,IAAMQ,IAAOvB,IAAQe,EAAO,QAEtBS,IAAW,KAAK,IAAI,GAAG,KAAK,IAAI,IAAID,IAAOE,CAAG,CAAC;CACrD,OAAOV,EAAO,KAAK,MAAU;EAOzB,IAAMd,IAAS,KAAK,IAAI,GAAG,KAAK,IAAIoB,IAAYK,EAAM,CAAC,CAAC;EACxD,OAAO;GACH,GAAGA,EAAM,IAAIF,IAAW;GACxB,GAAG,KAAK,IAAIE,EAAM,GAAGL,IAAYpB,CAAM;GACvC,OAAOuB;GACP;GACA;EACJ;CACJ,CAAC;AACL;AAaA,SAAgBG,EACZ,GACA,IAAoC,QAC9B;CACN,IAAM9B,IAASC,EAAO,QAAQ,MAAM,OAAO,SAASe,CAAC,CAAC;CACtD,IAAIhB,EAAO,WAAW,GAAG,OAAO;CAChC,IAAIA,EAAO,WAAW,GAAG,OAAO,gBAAgB+B,EAAO/B,EAAO,EAAE;CAEhE,IAAMuB,IAAQvB,EAAO,IACfgC,IAAOhC,EAAOA,EAAO,SAAS,IAC9BiC,IAAYD,IAAOT,IAAQ,YAAYS,IAAOT,IAAQ,aAAa;CACzE,OACI,GAAGvB,EAAO,OAAO,WAAWiC,EAAU,WAC5BF,EAAOR,CAAK,EAAE,QAAQQ,EAAOC,CAAI,EAAE,WACnCD,EAAO,KAAK,IAAI,GAAG/B,CAAM,CAAC,EAAE,WAAW+B,EAAO,KAAK,IAAI,GAAG/B,CAAM,CAAC,EAAE;AAErF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.cjs","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Spinner.module.css\";\n\nexport type SpinnerSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface SpinnerProps {\n size?: SpinnerSize;\n className?: string;\n /** Accessible label announced by screen readers. */\n label?: string;\n /**\n * Visible caption rendered under the spinner. When set, the spinner and\n * caption are wrapped in a centered column.\n */\n caption?: ReactNode;\n /**\n * Center the spinner inside a full-area overlay (fills the nearest\n * positioned ancestor; pair with a relative container or a route fallback).\n * Implies the wrapped layout.\n */\n overlay?: boolean;\n}\n\n/**\n * Loading spinner with preset sizes (xs..xl). Provide `label` for screen\n * readers, `caption` for a visible message, and `overlay` to center it inside a\n * full-area container (e.g. a Suspense / route fallback).\n *\n * @example\n * <Spinner />\n * <Spinner size=\"lg\" caption=\"Carregando…\" overlay />\n */\nexport function Spinner({\n size = \"md\",\n className,\n label = \"Carregando\",\n caption,\n overlay = false,\n}: SpinnerProps) {\n const dot = <span aria-hidden className={cn(styles.spinner, styles[size])} />;\n\n if (!overlay && caption === undefined) {\n return (\n <span\n role=\"status\"\n aria-label={label}\n className={cn(styles.spinner, styles[size], className)}\n />\n );\n }\n\n return (\n <div\n role=\"status\"\n aria-label={label}\n aria-live=\"polite\"\n className={cn(styles.wrap, overlay && styles.overlay, className)}\n >\n {dot}\n {caption !== undefined && <span className={styles.caption}>{caption}</span>}\n </div>\n );\n}\n"],"mappings":"2GAiCA,
|
|
1
|
+
{"version":3,"file":"Spinner.cjs","names":["cn","styles","require_cn","require_Spinner_module","react_jsx_runtime","Spinner","dot","size","overlay","caption","label","className"],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Spinner.module.css\";\n\nexport type SpinnerSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface SpinnerProps {\n size?: SpinnerSize;\n className?: string;\n /** Accessible label announced by screen readers. */\n label?: string;\n /**\n * Visible caption rendered under the spinner. When set, the spinner and\n * caption are wrapped in a centered column.\n */\n caption?: ReactNode;\n /**\n * Center the spinner inside a full-area overlay (fills the nearest\n * positioned ancestor; pair with a relative container or a route fallback).\n * Implies the wrapped layout.\n */\n overlay?: boolean;\n}\n\n/**\n * Loading spinner with preset sizes (xs..xl). Provide `label` for screen\n * readers, `caption` for a visible message, and `overlay` to center it inside a\n * full-area container (e.g. a Suspense / route fallback).\n *\n * @example\n * <Spinner />\n * <Spinner size=\"lg\" caption=\"Carregando…\" overlay />\n */\nexport function Spinner({\n size = \"md\",\n className,\n label = \"Carregando\",\n caption,\n overlay = false,\n}: SpinnerProps) {\n const dot = <span aria-hidden className={cn(styles.spinner, styles[size])} />;\n\n if (!overlay && caption === undefined) {\n return (\n <span\n role=\"status\"\n aria-label={label}\n className={cn(styles.spinner, styles[size], className)}\n />\n );\n }\n\n return (\n <div\n role=\"status\"\n aria-label={label}\n aria-live=\"polite\"\n className={cn(styles.wrap, overlay && styles.overlay, className)}\n >\n {dot}\n {caption !== undefined && <span className={styles.caption}>{caption}</span>}\n </div>\n );\n}\n"],"mappings":"A,2GAiCA,SAAgBK,EAAQ,CACpB,OAAO,KACP,YACA,QAAQ,aACR,UACA,UAAU,IACG,CACb,IAAMC,GAAM,EAAAF,EAAA,IAAA,CAAC,OAAD,CAAM,cAAA,GAAY,UAAWJ,EAAAA,GAAGC,EAAAA,QAAO,QAASA,EAAAA,QAAOM,EAAK,CAAI,CAAA,EAY5E,MAVI,CAACC,GAAWC,IAAY,IAAA,IAEpB,EAAAL,EAAA,IAAA,CAAC,OAAD,CACI,KAAK,SACL,aAAYM,EACZ,UAAWV,EAAAA,GAAGC,EAAAA,QAAO,QAASA,EAAAA,QAAOM,GAAOI,CAAS,CACxD,CAAA,GAKL,EAAAP,EAAA,KAAA,CAAC,MAAD,CACI,KAAK,SACL,aAAYM,EACZ,YAAU,SACV,UAAWV,EAAAA,GAAGC,EAAAA,QAAO,KAAMO,GAAWP,EAAAA,QAAO,QAASU,CAAS,EAJnE,SAAA,CAMKL,EACAG,IAAY,IAAA,KAAa,EAAAL,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWH,EAAAA,QAAO,QAAU,SAAAQ,CAAc,CAAA,CACzE,C,EAEb,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","names":[],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Spinner.module.css\";\n\nexport type SpinnerSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface SpinnerProps {\n size?: SpinnerSize;\n className?: string;\n /** Accessible label announced by screen readers. */\n label?: string;\n /**\n * Visible caption rendered under the spinner. When set, the spinner and\n * caption are wrapped in a centered column.\n */\n caption?: ReactNode;\n /**\n * Center the spinner inside a full-area overlay (fills the nearest\n * positioned ancestor; pair with a relative container or a route fallback).\n * Implies the wrapped layout.\n */\n overlay?: boolean;\n}\n\n/**\n * Loading spinner with preset sizes (xs..xl). Provide `label` for screen\n * readers, `caption` for a visible message, and `overlay` to center it inside a\n * full-area container (e.g. a Suspense / route fallback).\n *\n * @example\n * <Spinner />\n * <Spinner size=\"lg\" caption=\"Carregando…\" overlay />\n */\nexport function Spinner({\n size = \"md\",\n className,\n label = \"Carregando\",\n caption,\n overlay = false,\n}: SpinnerProps) {\n const dot = <span aria-hidden className={cn(styles.spinner, styles[size])} />;\n\n if (!overlay && caption === undefined) {\n return (\n <span\n role=\"status\"\n aria-label={label}\n className={cn(styles.spinner, styles[size], className)}\n />\n );\n }\n\n return (\n <div\n role=\"status\"\n aria-label={label}\n aria-live=\"polite\"\n className={cn(styles.wrap, overlay && styles.overlay, className)}\n >\n {dot}\n {caption !== undefined && <span className={styles.caption}>{caption}</span>}\n </div>\n );\n}\n"],"mappings":";;;;AAiCA,
|
|
1
|
+
{"version":3,"file":"Spinner.js","names":["styles","Spinner_module_default","Spinner","dot","cn","size","overlay","caption","label","className"],"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Spinner.module.css\";\n\nexport type SpinnerSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface SpinnerProps {\n size?: SpinnerSize;\n className?: string;\n /** Accessible label announced by screen readers. */\n label?: string;\n /**\n * Visible caption rendered under the spinner. When set, the spinner and\n * caption are wrapped in a centered column.\n */\n caption?: ReactNode;\n /**\n * Center the spinner inside a full-area overlay (fills the nearest\n * positioned ancestor; pair with a relative container or a route fallback).\n * Implies the wrapped layout.\n */\n overlay?: boolean;\n}\n\n/**\n * Loading spinner with preset sizes (xs..xl). Provide `label` for screen\n * readers, `caption` for a visible message, and `overlay` to center it inside a\n * full-area container (e.g. a Suspense / route fallback).\n *\n * @example\n * <Spinner />\n * <Spinner size=\"lg\" caption=\"Carregando…\" overlay />\n */\nexport function Spinner({\n size = \"md\",\n className,\n label = \"Carregando\",\n caption,\n overlay = false,\n}: SpinnerProps) {\n const dot = <span aria-hidden className={cn(styles.spinner, styles[size])} />;\n\n if (!overlay && caption === undefined) {\n return (\n <span\n role=\"status\"\n aria-label={label}\n className={cn(styles.spinner, styles[size], className)}\n />\n );\n }\n\n return (\n <div\n role=\"status\"\n aria-label={label}\n aria-live=\"polite\"\n className={cn(styles.wrap, overlay && styles.overlay, className)}\n >\n {dot}\n {caption !== undefined && <span className={styles.caption}>{caption}</span>}\n </div>\n );\n}\n"],"mappings":";;;;AAiCA,SAAgBE,EAAQ,EACpB,UAAO,MACP,cACA,WAAQ,cACR,YACA,aAAU,MACG;CACb,IAAMC,IAAM,kBAAC,QAAD;EAAM,eAAA;EAAY,WAAWC,EAAGJ,EAAO,SAASA,EAAOK,EAAK;CAAI,CAAA;CAY5E,OAVI,CAACC,KAAWC,MAAY,KAAA,IAEpB,kBAAC,QAAD;EACI,MAAK;EACL,cAAYC;EACZ,WAAWJ,EAAGJ,EAAO,SAASA,EAAOK,IAAOI,CAAS;CACxD,CAAA,IAKL,kBAAC,OAAD;EACI,MAAK;EACL,cAAYD;EACZ,aAAU;EACV,WAAWJ,EAAGJ,EAAO,MAAMM,KAAWN,EAAO,SAASS,CAAS;EAJnE,UAAA,CAMKN,GACAI,MAAY,KAAA,KAAa,kBAAC,QAAD;GAAM,WAAWP,EAAO;GAAU,UAAAO;EAAc,CAAA,CACzE;;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.module.cjs","names":[],"sources":["../../../src/components/Spinner/Spinner.module.css"],"sourcesContent":[".spinner {\n display: inline-block;\n border: 2px solid var(--tempest-surface-2);\n border-top-color: var(--tempest-primary);\n border-radius: 50%;\n animation: tempest-spinner 0.7s linear infinite;\n flex-shrink: 0;\n}\n\n.xs {\n width: 10px;\n height: 10px;\n border-width: 1.5px;\n}\n.sm {\n width: 14px;\n height: 14px;\n border-width: 2px;\n}\n.md {\n width: 20px;\n height: 20px;\n border-width: 2px;\n}\n.lg {\n width: 32px;\n height: 32px;\n border-width: 3px;\n}\n.xl {\n width: 48px;\n height: 48px;\n border-width: 4px;\n}\n\n.wrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--tempest-space-3);\n color: var(--tempest-text-muted);\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n min-height: 60vh;\n}\n\n.caption {\n font-size: var(--tempest-text-sm);\n}\n\n@keyframes tempest-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner {\n animation-duration: 2s;\n }\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Spinner.module.cjs","names":["spinner","tempestSpinner","xs","sm","md","lg","xl","wrap","overlay","caption","Spinner_module_default"],"sources":["../../../src/components/Spinner/Spinner.module.css"],"sourcesContent":[".spinner {\n display: inline-block;\n border: 2px solid var(--tempest-surface-2);\n border-top-color: var(--tempest-primary);\n border-radius: 50%;\n animation: tempest-spinner 0.7s linear infinite;\n flex-shrink: 0;\n}\n\n.xs {\n width: 10px;\n height: 10px;\n border-width: 1.5px;\n}\n.sm {\n width: 14px;\n height: 14px;\n border-width: 2px;\n}\n.md {\n width: 20px;\n height: 20px;\n border-width: 2px;\n}\n.lg {\n width: 32px;\n height: 32px;\n border-width: 3px;\n}\n.xl {\n width: 48px;\n height: 48px;\n border-width: 4px;\n}\n\n.wrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--tempest-space-3);\n color: var(--tempest-text-muted);\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n min-height: 60vh;\n}\n\n.caption {\n font-size: var(--tempest-text-sm);\n}\n\n@keyframes tempest-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner {\n animation-duration: 2s;\n }\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.module.js","names":[],"sources":["../../../src/components/Spinner/Spinner.module.css"],"sourcesContent":[".spinner {\n display: inline-block;\n border: 2px solid var(--tempest-surface-2);\n border-top-color: var(--tempest-primary);\n border-radius: 50%;\n animation: tempest-spinner 0.7s linear infinite;\n flex-shrink: 0;\n}\n\n.xs {\n width: 10px;\n height: 10px;\n border-width: 1.5px;\n}\n.sm {\n width: 14px;\n height: 14px;\n border-width: 2px;\n}\n.md {\n width: 20px;\n height: 20px;\n border-width: 2px;\n}\n.lg {\n width: 32px;\n height: 32px;\n border-width: 3px;\n}\n.xl {\n width: 48px;\n height: 48px;\n border-width: 4px;\n}\n\n.wrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--tempest-space-3);\n color: var(--tempest-text-muted);\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n min-height: 60vh;\n}\n\n.caption {\n font-size: var(--tempest-text-sm);\n}\n\n@keyframes tempest-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner {\n animation-duration: 2s;\n }\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Spinner.module.js","names":["spinner","tempestSpinner","xs","sm","md","lg","xl","wrap","overlay","caption","Spinner_module_default"],"sources":["../../../src/components/Spinner/Spinner.module.css"],"sourcesContent":[".spinner {\n display: inline-block;\n border: 2px solid var(--tempest-surface-2);\n border-top-color: var(--tempest-primary);\n border-radius: 50%;\n animation: tempest-spinner 0.7s linear infinite;\n flex-shrink: 0;\n}\n\n.xs {\n width: 10px;\n height: 10px;\n border-width: 1.5px;\n}\n.sm {\n width: 14px;\n height: 14px;\n border-width: 2px;\n}\n.md {\n width: 20px;\n height: 20px;\n border-width: 2px;\n}\n.lg {\n width: 32px;\n height: 32px;\n border-width: 3px;\n}\n.xl {\n width: 48px;\n height: 48px;\n border-width: 4px;\n}\n\n.wrap {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--tempest-space-3);\n color: var(--tempest-text-muted);\n}\n\n.overlay {\n position: absolute;\n inset: 0;\n min-height: 60vh;\n}\n\n.caption {\n font-size: var(--tempest-text-sm);\n}\n\n@keyframes tempest-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner {\n animation-duration: 2s;\n }\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stat.cjs","names":[],"sources":["../../../src/components/Stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stat.module.css\";\n\nexport type StatTrend = \"up\" | \"down\" | \"flat\";\n\nexport interface StatProps extends HTMLAttributes<HTMLDivElement> {\n /** Metric label (e.g. \"Revenue\", \"Active users\"). */\n label: ReactNode;\n /** Metric value (e.g. \"R$ 12.345\", \"1.2k\"). */\n value: ReactNode;\n /** Optional comparison delta — when set, renders alongside the value. */\n delta?: ReactNode;\n /** Trend direction for the delta. Default inferred from delta string. */\n trend?: StatTrend;\n /** Optional supporting context line below the value. */\n hint?: ReactNode;\n /** Optional leading icon. */\n icon?: ReactNode;\n}\n\nfunction inferTrend(delta: ReactNode | undefined): StatTrend | undefined {\n if (typeof delta !== \"string\") return undefined;\n const trimmed = delta.trim();\n if (trimmed.startsWith(\"+\")) return \"up\";\n if (trimmed.startsWith(\"-\") || trimmed.startsWith(\"−\")) return \"down\";\n return undefined;\n}\n\n/**\n * KPI card. Dashboard widget showing a label + big value + optional\n * delta/trend and hint.\n *\n * @example\n * <Stat label=\"Receita\" value=\"R$ 12.345\" delta=\"+12,4%\" trend=\"up\" hint=\"vs. mês anterior\" />\n */\nexport function Stat({ label, value, delta, trend, hint, icon, className, ...props }: StatProps) {\n const resolvedTrend: StatTrend | undefined = trend ?? inferTrend(delta);\n return (\n <div className={cn(styles.stat, className)} {...props}>\n <div className={styles.header}>\n {icon && <span className={styles.icon}>{icon}</span>}\n <span className={styles.label}>{label}</span>\n </div>\n <div className={styles.row}>\n <span className={styles.value}>{value}</span>\n {delta !== undefined && (\n <span\n className={cn(\n styles.delta,\n resolvedTrend === \"up\" && styles.up,\n resolvedTrend === \"down\" && styles.down,\n resolvedTrend === \"flat\" && styles.flat,\n )}\n >\n {delta}\n </span>\n )}\n </div>\n {hint && <p className={styles.hint}>{hint}</p>}\n </div>\n );\n}\n"],"mappings":"wGAqBA,
|
|
1
|
+
{"version":3,"file":"Stat.cjs","names":["cn","styles","require_cn","require_Stat_module","react_jsx_runtime","inferTrend","delta","trimmed","Stat","props","resolvedTrend","trend","className","icon","label","value","hint"],"sources":["../../../src/components/Stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stat.module.css\";\n\nexport type StatTrend = \"up\" | \"down\" | \"flat\";\n\nexport interface StatProps extends HTMLAttributes<HTMLDivElement> {\n /** Metric label (e.g. \"Revenue\", \"Active users\"). */\n label: ReactNode;\n /** Metric value (e.g. \"R$ 12.345\", \"1.2k\"). */\n value: ReactNode;\n /** Optional comparison delta — when set, renders alongside the value. */\n delta?: ReactNode;\n /** Trend direction for the delta. Default inferred from delta string. */\n trend?: StatTrend;\n /** Optional supporting context line below the value. */\n hint?: ReactNode;\n /** Optional leading icon. */\n icon?: ReactNode;\n}\n\nfunction inferTrend(delta: ReactNode | undefined): StatTrend | undefined {\n if (typeof delta !== \"string\") return undefined;\n const trimmed = delta.trim();\n if (trimmed.startsWith(\"+\")) return \"up\";\n if (trimmed.startsWith(\"-\") || trimmed.startsWith(\"−\")) return \"down\";\n return undefined;\n}\n\n/**\n * KPI card. Dashboard widget showing a label + big value + optional\n * delta/trend and hint.\n *\n * @example\n * <Stat label=\"Receita\" value=\"R$ 12.345\" delta=\"+12,4%\" trend=\"up\" hint=\"vs. mês anterior\" />\n */\nexport function Stat({ label, value, delta, trend, hint, icon, className, ...props }: StatProps) {\n const resolvedTrend: StatTrend | undefined = trend ?? inferTrend(delta);\n return (\n <div className={cn(styles.stat, className)} {...props}>\n <div className={styles.header}>\n {icon && <span className={styles.icon}>{icon}</span>}\n <span className={styles.label}>{label}</span>\n </div>\n <div className={styles.row}>\n <span className={styles.value}>{value}</span>\n {delta !== undefined && (\n <span\n className={cn(\n styles.delta,\n resolvedTrend === \"up\" && styles.up,\n resolvedTrend === \"down\" && styles.down,\n resolvedTrend === \"flat\" && styles.flat,\n )}\n >\n {delta}\n </span>\n )}\n </div>\n {hint && <p className={styles.hint}>{hint}</p>}\n </div>\n );\n}\n"],"mappings":"A,wGAqBA,SAASK,EAAW,EAAqD,CACrE,GAAI,OAAOC,GAAU,SAAU,OAC/B,IAAMC,EAAUD,EAAM,KAAK,EAC3B,GAAIC,EAAQ,WAAW,GAAG,EAAG,MAAO,KACpC,GAAIA,EAAQ,WAAW,GAAG,GAAKA,EAAQ,WAAW,GAAG,EAAG,MAAO,MAEnE,CASA,SAAgBC,EAAK,CAAE,QAAO,QAAO,QAAO,QAAO,OAAM,OAAM,YAAW,GAAGC,GAAoB,CAC7F,IAAMC,EAAuCC,GAASN,EAAWC,CAAK,EACtE,OACI,EAAAF,EAAA,KAAA,CAAC,MAAD,CAAK,UAAWJ,EAAAA,GAAGC,EAAAA,QAAO,KAAMW,CAAS,EAAG,GAAIH,EAAhD,SAAA,EACI,EAAAL,EAAA,KAAA,CAAC,MAAD,CAAK,UAAWH,EAAAA,QAAO,OAAvB,SAAA,CACKY,IAAQ,EAAAT,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWH,EAAAA,QAAO,KAAO,SAAAY,CAAW,CAAA,GACnD,EAAAT,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWH,EAAAA,QAAO,MAAQ,SAAAa,CAAY,CAAA,CAC3C,C,IACL,EAAAV,EAAA,KAAA,CAAC,MAAD,CAAK,UAAWH,EAAAA,QAAO,IAAvB,SAAA,EACI,EAAAG,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWH,EAAAA,QAAO,MAAQ,SAAAc,CAAY,CAAA,EAC3CT,IAAU,IAAA,KACP,EAAAF,EAAA,IAAA,CAAC,OAAD,CACI,UAAWJ,EAAAA,GACPC,EAAAA,QAAO,MACPS,IAAkB,MAAQT,EAAAA,QAAO,GACjCS,IAAkB,QAAUT,EAAAA,QAAO,KACnCS,IAAkB,QAAUT,EAAAA,QAAO,IACvC,EAEC,SAAAK,CACC,CAAA,CAET,C,GACJU,IAAQ,EAAAZ,EAAA,IAAA,CAAC,IAAD,CAAG,UAAWH,EAAAA,QAAO,KAAO,SAAAe,CAAQ,CAAA,CAC5C,C,EAEb,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stat.js","names":[],"sources":["../../../src/components/Stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stat.module.css\";\n\nexport type StatTrend = \"up\" | \"down\" | \"flat\";\n\nexport interface StatProps extends HTMLAttributes<HTMLDivElement> {\n /** Metric label (e.g. \"Revenue\", \"Active users\"). */\n label: ReactNode;\n /** Metric value (e.g. \"R$ 12.345\", \"1.2k\"). */\n value: ReactNode;\n /** Optional comparison delta — when set, renders alongside the value. */\n delta?: ReactNode;\n /** Trend direction for the delta. Default inferred from delta string. */\n trend?: StatTrend;\n /** Optional supporting context line below the value. */\n hint?: ReactNode;\n /** Optional leading icon. */\n icon?: ReactNode;\n}\n\nfunction inferTrend(delta: ReactNode | undefined): StatTrend | undefined {\n if (typeof delta !== \"string\") return undefined;\n const trimmed = delta.trim();\n if (trimmed.startsWith(\"+\")) return \"up\";\n if (trimmed.startsWith(\"-\") || trimmed.startsWith(\"−\")) return \"down\";\n return undefined;\n}\n\n/**\n * KPI card. Dashboard widget showing a label + big value + optional\n * delta/trend and hint.\n *\n * @example\n * <Stat label=\"Receita\" value=\"R$ 12.345\" delta=\"+12,4%\" trend=\"up\" hint=\"vs. mês anterior\" />\n */\nexport function Stat({ label, value, delta, trend, hint, icon, className, ...props }: StatProps) {\n const resolvedTrend: StatTrend | undefined = trend ?? inferTrend(delta);\n return (\n <div className={cn(styles.stat, className)} {...props}>\n <div className={styles.header}>\n {icon && <span className={styles.icon}>{icon}</span>}\n <span className={styles.label}>{label}</span>\n </div>\n <div className={styles.row}>\n <span className={styles.value}>{value}</span>\n {delta !== undefined && (\n <span\n className={cn(\n styles.delta,\n resolvedTrend === \"up\" && styles.up,\n resolvedTrend === \"down\" && styles.down,\n resolvedTrend === \"flat\" && styles.flat,\n )}\n >\n {delta}\n </span>\n )}\n </div>\n {hint && <p className={styles.hint}>{hint}</p>}\n </div>\n );\n}\n"],"mappings":";;;;AAqBA,
|
|
1
|
+
{"version":3,"file":"Stat.js","names":["styles","Stat_module_default","inferTrend","delta","trimmed","Stat","props","resolvedTrend","trend","cn","className","icon","label","value","hint"],"sources":["../../../src/components/Stat/Stat.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stat.module.css\";\n\nexport type StatTrend = \"up\" | \"down\" | \"flat\";\n\nexport interface StatProps extends HTMLAttributes<HTMLDivElement> {\n /** Metric label (e.g. \"Revenue\", \"Active users\"). */\n label: ReactNode;\n /** Metric value (e.g. \"R$ 12.345\", \"1.2k\"). */\n value: ReactNode;\n /** Optional comparison delta — when set, renders alongside the value. */\n delta?: ReactNode;\n /** Trend direction for the delta. Default inferred from delta string. */\n trend?: StatTrend;\n /** Optional supporting context line below the value. */\n hint?: ReactNode;\n /** Optional leading icon. */\n icon?: ReactNode;\n}\n\nfunction inferTrend(delta: ReactNode | undefined): StatTrend | undefined {\n if (typeof delta !== \"string\") return undefined;\n const trimmed = delta.trim();\n if (trimmed.startsWith(\"+\")) return \"up\";\n if (trimmed.startsWith(\"-\") || trimmed.startsWith(\"−\")) return \"down\";\n return undefined;\n}\n\n/**\n * KPI card. Dashboard widget showing a label + big value + optional\n * delta/trend and hint.\n *\n * @example\n * <Stat label=\"Receita\" value=\"R$ 12.345\" delta=\"+12,4%\" trend=\"up\" hint=\"vs. mês anterior\" />\n */\nexport function Stat({ label, value, delta, trend, hint, icon, className, ...props }: StatProps) {\n const resolvedTrend: StatTrend | undefined = trend ?? inferTrend(delta);\n return (\n <div className={cn(styles.stat, className)} {...props}>\n <div className={styles.header}>\n {icon && <span className={styles.icon}>{icon}</span>}\n <span className={styles.label}>{label}</span>\n </div>\n <div className={styles.row}>\n <span className={styles.value}>{value}</span>\n {delta !== undefined && (\n <span\n className={cn(\n styles.delta,\n resolvedTrend === \"up\" && styles.up,\n resolvedTrend === \"down\" && styles.down,\n resolvedTrend === \"flat\" && styles.flat,\n )}\n >\n {delta}\n </span>\n )}\n </div>\n {hint && <p className={styles.hint}>{hint}</p>}\n </div>\n );\n}\n"],"mappings":";;;;AAqBA,SAASE,EAAW,GAAqD;CACrE,IAAI,OAAOC,KAAU,UAAU;CAC/B,IAAMC,IAAUD,EAAM,KAAK;CAC3B,IAAIC,EAAQ,WAAW,GAAG,GAAG,OAAO;CACpC,IAAIA,EAAQ,WAAW,GAAG,KAAKA,EAAQ,WAAW,GAAG,GAAG,OAAO;AAEnE;AASA,SAAgBC,EAAK,EAAE,UAAO,UAAO,UAAO,UAAO,SAAM,SAAM,cAAW,GAAGC,KAAoB;CAC7F,IAAMC,IAAuCC,KAASN,EAAWC,CAAK;CACtE,OACI,kBAAC,OAAD;EAAK,WAAWM,EAAGT,EAAO,MAAMU,CAAS;EAAG,GAAIJ;EAAhD,UAAA;GACI,kBAAC,OAAD;IAAK,WAAWN,EAAO;IAAvB,UAAA,CACKW,KAAQ,kBAAC,QAAD;KAAM,WAAWX,EAAO;KAAO,UAAAW;IAAW,CAAA,GACnD,kBAAC,QAAD;KAAM,WAAWX,EAAO;KAAQ,UAAAY;IAAY,CAAA,CAC3C;;GACL,kBAAC,OAAD;IAAK,WAAWZ,EAAO;IAAvB,UAAA,CACI,kBAAC,QAAD;KAAM,WAAWA,EAAO;KAAQ,UAAAa;IAAY,CAAA,GAC3CV,MAAU,KAAA,KACP,kBAAC,QAAD;KACI,WAAWM,EACPT,EAAO,OACPO,MAAkB,QAAQP,EAAO,IACjCO,MAAkB,UAAUP,EAAO,MACnCO,MAAkB,UAAUP,EAAO,IACvC;KAEC,UAAAG;IACC,CAAA,CAET;;GACJW,KAAQ,kBAAC,KAAD;IAAG,WAAWd,EAAO;IAAO,UAAAc;GAAQ,CAAA;EAC5C;;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stat.module.cjs","names":[],"sources":["../../../src/components/Stat/Stat.module.css"],"sourcesContent":[".stat {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n padding: var(--tempest-space-4);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n min-width: 0;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n}\n\n.label {\n line-height: var(--tempest-leading-snug);\n}\n\n.row {\n display: flex;\n align-items: baseline;\n gap: var(--tempest-space-2);\n flex-wrap: wrap;\n}\n\n.value {\n font-size: var(--tempest-text-2xl);\n font-weight: var(--tempest-weight-semibold);\n color: var(--tempest-text);\n line-height: var(--tempest-leading-tight);\n}\n\n.delta {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text-muted);\n}\n\n.delta.up {\n color: var(--tempest-success-fg);\n}\n\n.delta.down {\n color: var(--tempest-danger-fg);\n}\n\n.delta.flat {\n color: var(--tempest-text-muted);\n}\n\n.hint {\n margin: 0;\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Stat.module.cjs","names":["stat","header","icon","label","row","value","delta","up","down","flat","hint","Stat_module_default"],"sources":["../../../src/components/Stat/Stat.module.css"],"sourcesContent":[".stat {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n padding: var(--tempest-space-4);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n min-width: 0;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n}\n\n.label {\n line-height: var(--tempest-leading-snug);\n}\n\n.row {\n display: flex;\n align-items: baseline;\n gap: var(--tempest-space-2);\n flex-wrap: wrap;\n}\n\n.value {\n font-size: var(--tempest-text-2xl);\n font-weight: var(--tempest-weight-semibold);\n color: var(--tempest-text);\n line-height: var(--tempest-leading-tight);\n}\n\n.delta {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text-muted);\n}\n\n.delta.up {\n color: var(--tempest-success-fg);\n}\n\n.delta.down {\n color: var(--tempest-danger-fg);\n}\n\n.delta.flat {\n color: var(--tempest-text-muted);\n}\n\n.hint {\n margin: 0;\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stat.module.js","names":[],"sources":["../../../src/components/Stat/Stat.module.css"],"sourcesContent":[".stat {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n padding: var(--tempest-space-4);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n min-width: 0;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n}\n\n.label {\n line-height: var(--tempest-leading-snug);\n}\n\n.row {\n display: flex;\n align-items: baseline;\n gap: var(--tempest-space-2);\n flex-wrap: wrap;\n}\n\n.value {\n font-size: var(--tempest-text-2xl);\n font-weight: var(--tempest-weight-semibold);\n color: var(--tempest-text);\n line-height: var(--tempest-leading-tight);\n}\n\n.delta {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text-muted);\n}\n\n.delta.up {\n color: var(--tempest-success-fg);\n}\n\n.delta.down {\n color: var(--tempest-danger-fg);\n}\n\n.delta.flat {\n color: var(--tempest-text-muted);\n}\n\n.hint {\n margin: 0;\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Stat.module.js","names":["stat","header","icon","label","row","value","delta","up","down","flat","hint","Stat_module_default"],"sources":["../../../src/components/Stat/Stat.module.css"],"sourcesContent":[".stat {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n padding: var(--tempest-space-4);\n background: var(--tempest-surface);\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-lg);\n font-family: var(--tempest-font-sans);\n min-width: 0;\n}\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n color: var(--tempest-text-muted);\n font-size: var(--tempest-text-sm);\n}\n\n.icon {\n display: inline-flex;\n align-items: center;\n}\n\n.label {\n line-height: var(--tempest-leading-snug);\n}\n\n.row {\n display: flex;\n align-items: baseline;\n gap: var(--tempest-space-2);\n flex-wrap: wrap;\n}\n\n.value {\n font-size: var(--tempest-text-2xl);\n font-weight: var(--tempest-weight-semibold);\n color: var(--tempest-text);\n line-height: var(--tempest-leading-tight);\n}\n\n.delta {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text-muted);\n}\n\n.delta.up {\n color: var(--tempest-success-fg);\n}\n\n.delta.down {\n color: var(--tempest-danger-fg);\n}\n\n.delta.flat {\n color: var(--tempest-text-muted);\n}\n\n.hint {\n margin: 0;\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-muted);\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.cjs","names":[],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stepper.module.css\";\n\nexport interface StepItem {\n label: ReactNode;\n /** Secondary line under the label — a hint, or \"optional\". */\n description?: ReactNode;\n}\n\nexport interface StepperProps {\n steps: StepItem[];\n /** Index of the currently active step (0-based). */\n current: number;\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Makes each step activatable. Without it the steps are a read-only\n * indicator, which is the right default — in a gated flow, jumping ahead\n * would skip the gates.\n */\n onStepClick?: (index: number) => void;\n className?: string;\n}\n\n/**\n * Linear progress indicator for multi-step flows. Steps before `current`\n * render as completed; the step at `current` is active; later steps are\n * upcoming.\n */\nexport function Stepper({\n steps,\n current,\n orientation = \"horizontal\",\n onStepClick,\n className,\n}: StepperProps) {\n return (\n <ol\n className={cn(styles.stepper, orientation === \"vertical\" && styles.vertical, className)}\n >\n {steps.map((step, index) => {\n const completed = index < current;\n const active = index === current;\n return (\n <Fragment key={index}>\n <li\n className={cn(\n styles.step,\n completed && styles.completed,\n active && styles.active,\n )}\n aria-current={active ? \"step\" : undefined}\n >\n {onStepClick ? (\n <button\n type=\"button\"\n className={styles.trigger}\n aria-current={active ? \"step\" : undefined}\n onClick={() => onStepClick(index)}\n >\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </button>\n ) : (\n <>\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </>\n )}\n </li>\n {index < steps.length - 1 && (\n <span\n className={cn(styles.connector, completed && styles.completed)}\n aria-hidden\n />\n )}\n </Fragment>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"8HA8BA,
|
|
1
|
+
{"version":3,"file":"Stepper.cjs","names":["cn","styles","Fragment","_Fragment","require_cn","require_Stepper_module","react","react_jsx_runtime","Stepper","orientation","className","steps","completed","index","current","active","onStepClick","step"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stepper.module.css\";\n\nexport interface StepItem {\n label: ReactNode;\n /** Secondary line under the label — a hint, or \"optional\". */\n description?: ReactNode;\n}\n\nexport interface StepperProps {\n steps: StepItem[];\n /** Index of the currently active step (0-based). */\n current: number;\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Makes each step activatable. Without it the steps are a read-only\n * indicator, which is the right default — in a gated flow, jumping ahead\n * would skip the gates.\n */\n onStepClick?: (index: number) => void;\n className?: string;\n}\n\n/**\n * Linear progress indicator for multi-step flows. Steps before `current`\n * render as completed; the step at `current` is active; later steps are\n * upcoming.\n */\nexport function Stepper({\n steps,\n current,\n orientation = \"horizontal\",\n onStepClick,\n className,\n}: StepperProps) {\n return (\n <ol\n className={cn(styles.stepper, orientation === \"vertical\" && styles.vertical, className)}\n >\n {steps.map((step, index) => {\n const completed = index < current;\n const active = index === current;\n return (\n <Fragment key={index}>\n <li\n className={cn(\n styles.step,\n completed && styles.completed,\n active && styles.active,\n )}\n aria-current={active ? \"step\" : undefined}\n >\n {onStepClick ? (\n <button\n type=\"button\"\n className={styles.trigger}\n aria-current={active ? \"step\" : undefined}\n onClick={() => onStepClick(index)}\n >\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </button>\n ) : (\n <>\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </>\n )}\n </li>\n {index < steps.length - 1 && (\n <span\n className={cn(styles.connector, completed && styles.completed)}\n aria-hidden\n />\n )}\n </Fragment>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"A,8HA8BA,SAAgBQ,EAAQ,CACpB,QACA,UACA,cAAc,aACd,cACA,aACa,CACb,OACI,EAAAD,EAAA,IAAA,CAAC,KAAD,CACI,UAAWP,EAAAA,GAAGC,EAAAA,QAAO,QAASQ,IAAgB,YAAcR,EAAAA,QAAO,SAAUS,CAAS,EAErF,SAAAC,EAAM,KAAK,EAAM,IAAU,CACxB,IAAMC,EAAYC,EAAQC,EACpBC,EAASF,IAAUC,EACzB,OACI,EAAAP,EAAA,KAAA,CAACL,EAAAA,SAAD,CAAA,SAAA,EACI,EAAAK,EAAA,IAAA,CAAC,KAAD,CACI,UAAWP,EAAAA,GACPC,EAAAA,QAAO,KACPW,GAAaX,EAAAA,QAAO,UACpBc,GAAUd,EAAAA,QAAO,MACrB,EACA,eAAcc,EAAS,OAAS,IAAA,GAE/B,SAAAC,GACG,EAAAT,EAAA,KAAA,CAAC,SAAD,CACI,KAAK,SACL,UAAWN,EAAAA,QAAO,QAClB,eAAcc,EAAS,OAAS,IAAA,GAChC,YAAeC,EAAYH,CAAK,EAJpC,SAAA,EAMI,EAAAN,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,IACnB,SAAAW,EAAY,IAAMC,EAAQ,CACzB,CAAA,GACN,EAAAN,EAAA,KAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,WAAxB,SAAA,EACI,EAAAM,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,MAAQ,SAAAgB,EAAK,KAAY,CAAA,EAChDA,EAAK,aACF,EAAAV,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,YACnB,SAAAgB,EAAK,WACJ,CAAA,EACN,IACF,CACF,CAAA,CAAA,CAER,CAAA,GAAA,EAAAV,EAAA,KAAA,CAAAJ,EAAAA,SAAA,CAAA,SAAA,EACI,EAAAI,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,IACnB,SAAAW,EAAY,IAAMC,EAAQ,CACzB,CAAA,GACN,EAAAN,EAAA,KAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,WAAxB,SAAA,EACI,EAAAM,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,MAAQ,SAAAgB,EAAK,KAAY,CAAA,EAChDA,EAAK,aACF,EAAAV,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWN,EAAAA,QAAO,YACnB,SAAAgB,EAAK,WACJ,CAAA,EACN,IACF,CACR,CAAA,CAAA,CAAA,CAAA,CAEN,CAAA,EACHJ,EAAQF,EAAM,OAAS,IACpB,EAAAJ,EAAA,IAAA,CAAC,OAAD,CACI,UAAWP,EAAAA,GAAGC,EAAAA,QAAO,UAAWW,GAAaX,EAAAA,QAAO,SAAS,EAC7D,cAAA,EACH,CAAA,CAEC,CAAA,EAlDKY,CAkDL,CAElB,CAAC,CACD,CAAA,CAEZ,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","names":[],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stepper.module.css\";\n\nexport interface StepItem {\n label: ReactNode;\n /** Secondary line under the label — a hint, or \"optional\". */\n description?: ReactNode;\n}\n\nexport interface StepperProps {\n steps: StepItem[];\n /** Index of the currently active step (0-based). */\n current: number;\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Makes each step activatable. Without it the steps are a read-only\n * indicator, which is the right default — in a gated flow, jumping ahead\n * would skip the gates.\n */\n onStepClick?: (index: number) => void;\n className?: string;\n}\n\n/**\n * Linear progress indicator for multi-step flows. Steps before `current`\n * render as completed; the step at `current` is active; later steps are\n * upcoming.\n */\nexport function Stepper({\n steps,\n current,\n orientation = \"horizontal\",\n onStepClick,\n className,\n}: StepperProps) {\n return (\n <ol\n className={cn(styles.stepper, orientation === \"vertical\" && styles.vertical, className)}\n >\n {steps.map((step, index) => {\n const completed = index < current;\n const active = index === current;\n return (\n <Fragment key={index}>\n <li\n className={cn(\n styles.step,\n completed && styles.completed,\n active && styles.active,\n )}\n aria-current={active ? \"step\" : undefined}\n >\n {onStepClick ? (\n <button\n type=\"button\"\n className={styles.trigger}\n aria-current={active ? \"step\" : undefined}\n onClick={() => onStepClick(index)}\n >\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </button>\n ) : (\n <>\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </>\n )}\n </li>\n {index < steps.length - 1 && (\n <span\n className={cn(styles.connector, completed && styles.completed)}\n aria-hidden\n />\n )}\n </Fragment>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;;AA8BA,
|
|
1
|
+
{"version":3,"file":"Stepper.js","names":["styles","_Fragment","Stepper_module_default","Fragment$1","Stepper","cn","orientation","className","steps","completed","index","current","active","Fragment","onStepClick","step"],"sources":["../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Stepper.module.css\";\n\nexport interface StepItem {\n label: ReactNode;\n /** Secondary line under the label — a hint, or \"optional\". */\n description?: ReactNode;\n}\n\nexport interface StepperProps {\n steps: StepItem[];\n /** Index of the currently active step (0-based). */\n current: number;\n orientation?: \"horizontal\" | \"vertical\";\n /**\n * Makes each step activatable. Without it the steps are a read-only\n * indicator, which is the right default — in a gated flow, jumping ahead\n * would skip the gates.\n */\n onStepClick?: (index: number) => void;\n className?: string;\n}\n\n/**\n * Linear progress indicator for multi-step flows. Steps before `current`\n * render as completed; the step at `current` is active; later steps are\n * upcoming.\n */\nexport function Stepper({\n steps,\n current,\n orientation = \"horizontal\",\n onStepClick,\n className,\n}: StepperProps) {\n return (\n <ol\n className={cn(styles.stepper, orientation === \"vertical\" && styles.vertical, className)}\n >\n {steps.map((step, index) => {\n const completed = index < current;\n const active = index === current;\n return (\n <Fragment key={index}>\n <li\n className={cn(\n styles.step,\n completed && styles.completed,\n active && styles.active,\n )}\n aria-current={active ? \"step\" : undefined}\n >\n {onStepClick ? (\n <button\n type=\"button\"\n className={styles.trigger}\n aria-current={active ? \"step\" : undefined}\n onClick={() => onStepClick(index)}\n >\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </button>\n ) : (\n <>\n <span className={styles.dot}>\n {completed ? \"✓\" : index + 1}\n </span>\n <span className={styles.labelGroup}>\n <span className={styles.label}>{step.label}</span>\n {step.description ? (\n <span className={styles.description}>\n {step.description}\n </span>\n ) : null}\n </span>\n </>\n )}\n </li>\n {index < steps.length - 1 && (\n <span\n className={cn(styles.connector, completed && styles.completed)}\n aria-hidden\n />\n )}\n </Fragment>\n );\n })}\n </ol>\n );\n}\n"],"mappings":";;;;;AA8BA,SAAgBI,EAAQ,EACpB,UACA,YACA,iBAAc,cACd,gBACA,gBACa;CACb,OACI,kBAAC,MAAD;EACI,WAAWC,EAAGL,EAAO,SAASM,MAAgB,cAAcN,EAAO,UAAUO,CAAS;EAErF,UAAAC,EAAM,KAAK,GAAM,MAAU;GACxB,IAAMC,IAAYC,IAAQC,GACpBC,IAASF,MAAUC;GACzB,OACI,kBAACE,GAAD,EAAA,UAAA,CACI,kBAAC,MAAD;IACI,WAAWR,EACPL,EAAO,MACPS,KAAaT,EAAO,WACpBY,KAAUZ,EAAO,MACrB;IACA,gBAAcY,IAAS,SAAS,KAAA;IAE/B,UAAAE,IACG,kBAAC,UAAD;KACI,MAAK;KACL,WAAWd,EAAO;KAClB,gBAAcY,IAAS,SAAS,KAAA;KAChC,eAAeE,EAAYJ,CAAK;KAJpC,UAAA,CAMI,kBAAC,QAAD;MAAM,WAAWV,EAAO;MACnB,UAAAS,IAAY,MAAMC,IAAQ;KACzB,CAAA,GACN,kBAAC,QAAD;MAAM,WAAWV,EAAO;MAAxB,UAAA,CACI,kBAAC,QAAD;OAAM,WAAWA,EAAO;OAAQ,UAAAe,EAAK;MAAY,CAAA,GAChDA,EAAK,cACF,kBAAC,QAAD;OAAM,WAAWf,EAAO;OACnB,UAAAe,EAAK;MACJ,CAAA,IACN,IACF;KACF,CAAA,CAAA;IAER,CAAA,IAAA,kBAAAd,GAAA,EAAA,UAAA,CACI,kBAAC,QAAD;KAAM,WAAWD,EAAO;KACnB,UAAAS,IAAY,MAAMC,IAAQ;IACzB,CAAA,GACN,kBAAC,QAAD;KAAM,WAAWV,EAAO;KAAxB,UAAA,CACI,kBAAC,QAAD;MAAM,WAAWA,EAAO;MAAQ,UAAAe,EAAK;KAAY,CAAA,GAChDA,EAAK,cACF,kBAAC,QAAD;MAAM,WAAWf,EAAO;MACnB,UAAAe,EAAK;KACJ,CAAA,IACN,IACF;IACR,CAAA,CAAA,EAAA,CAAA;GAEN,CAAA,GACHL,IAAQF,EAAM,SAAS,KACpB,kBAAC,QAAD;IACI,WAAWH,EAAGL,EAAO,WAAWS,KAAaT,EAAO,SAAS;IAC7D,eAAA;GACH,CAAA,CAEC,EAAA,GAlDKU,CAkDL;EAElB,CAAC;CACD,CAAA;AAEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.module.cjs","names":[],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".stepper {\n display: flex;\n align-items: flex-start;\n gap: var(--tempest-space-2);\n width: 100%;\n font-family: var(--tempest-font-sans);\n}\n\n.stepper.vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n flex: 1;\n}\n\n.dot {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: 2px solid var(--tempest-border-strong);\n background-color: var(--tempest-bg);\n color: var(--tempest-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--tempest-text-xs);\n font-weight: var(--tempest-weight-bold);\n flex-shrink: 0;\n transition: var(--tempest-transition-color);\n}\n\n.step.completed .dot {\n background-color: var(--tempest-primary);\n border-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.step.active .dot {\n border-color: var(--tempest-primary-on-soft);\n color: var(--tempest-primary-on-soft);\n box-shadow: 0 0 0 4px var(--tempest-primary-soft);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n line-height: var(--tempest-leading-snug);\n}\n\n.step.active .label,\n.step.completed .label {\n color: var(--tempest-text);\n}\n\n.connector {\n flex: 1;\n height: 2px;\n background-color: var(--tempest-border);\n margin: 0 var(--tempest-space-1);\n transition: background-color var(--tempest-duration-base) var(--tempest-ease-out);\n}\n\n.connector.completed {\n background-color: var(--tempest-primary);\n}\n\n.stepper.vertical .connector {\n width: 2px;\n height: 24px;\n margin: 0 0 0 13px;\n}\n\n/* Mobile — horizontal stepper becomes vertical automatically. */\n@media (max-width: 639.98px) {\n .stepper:not(.vertical) {\n flex-direction: column;\n align-items: stretch;\n }\n .stepper:not(.vertical) .connector {\n width: 2px;\n height: 16px;\n margin: 0 0 0 13px;\n }\n}\n\n.labelGroup {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n min-width: 0;\n}\n\n.description {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-subtle);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n padding: 0;\n background: none;\n border: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border-radius: var(--tempest-radius-sm);\n}\n\n.trigger:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Stepper.module.cjs","names":["stepper","vertical","step","dot","completed","active","label","connector","labelGroup","description","trigger","Stepper_module_default"],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".stepper {\n display: flex;\n align-items: flex-start;\n gap: var(--tempest-space-2);\n width: 100%;\n font-family: var(--tempest-font-sans);\n}\n\n.stepper.vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n flex: 1;\n}\n\n.dot {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: 2px solid var(--tempest-border-strong);\n background-color: var(--tempest-bg);\n color: var(--tempest-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--tempest-text-xs);\n font-weight: var(--tempest-weight-bold);\n flex-shrink: 0;\n transition: var(--tempest-transition-color);\n}\n\n.step.completed .dot {\n background-color: var(--tempest-primary);\n border-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.step.active .dot {\n border-color: var(--tempest-primary-on-soft);\n color: var(--tempest-primary-on-soft);\n box-shadow: 0 0 0 4px var(--tempest-primary-soft);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n line-height: var(--tempest-leading-snug);\n}\n\n.step.active .label,\n.step.completed .label {\n color: var(--tempest-text);\n}\n\n.connector {\n flex: 1;\n height: 2px;\n background-color: var(--tempest-border);\n margin: 0 var(--tempest-space-1);\n transition: background-color var(--tempest-duration-base) var(--tempest-ease-out);\n}\n\n.connector.completed {\n background-color: var(--tempest-primary);\n}\n\n.stepper.vertical .connector {\n width: 2px;\n height: 24px;\n margin: 0 0 0 13px;\n}\n\n/* Mobile — horizontal stepper becomes vertical automatically. */\n@media (max-width: 639.98px) {\n .stepper:not(.vertical) {\n flex-direction: column;\n align-items: stretch;\n }\n .stepper:not(.vertical) .connector {\n width: 2px;\n height: 16px;\n margin: 0 0 0 13px;\n }\n}\n\n.labelGroup {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n min-width: 0;\n}\n\n.description {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-subtle);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n padding: 0;\n background: none;\n border: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border-radius: var(--tempest-radius-sm);\n}\n\n.trigger:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.module.js","names":[],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".stepper {\n display: flex;\n align-items: flex-start;\n gap: var(--tempest-space-2);\n width: 100%;\n font-family: var(--tempest-font-sans);\n}\n\n.stepper.vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n flex: 1;\n}\n\n.dot {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: 2px solid var(--tempest-border-strong);\n background-color: var(--tempest-bg);\n color: var(--tempest-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--tempest-text-xs);\n font-weight: var(--tempest-weight-bold);\n flex-shrink: 0;\n transition: var(--tempest-transition-color);\n}\n\n.step.completed .dot {\n background-color: var(--tempest-primary);\n border-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.step.active .dot {\n border-color: var(--tempest-primary-on-soft);\n color: var(--tempest-primary-on-soft);\n box-shadow: 0 0 0 4px var(--tempest-primary-soft);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n line-height: var(--tempest-leading-snug);\n}\n\n.step.active .label,\n.step.completed .label {\n color: var(--tempest-text);\n}\n\n.connector {\n flex: 1;\n height: 2px;\n background-color: var(--tempest-border);\n margin: 0 var(--tempest-space-1);\n transition: background-color var(--tempest-duration-base) var(--tempest-ease-out);\n}\n\n.connector.completed {\n background-color: var(--tempest-primary);\n}\n\n.stepper.vertical .connector {\n width: 2px;\n height: 24px;\n margin: 0 0 0 13px;\n}\n\n/* Mobile — horizontal stepper becomes vertical automatically. */\n@media (max-width: 639.98px) {\n .stepper:not(.vertical) {\n flex-direction: column;\n align-items: stretch;\n }\n .stepper:not(.vertical) .connector {\n width: 2px;\n height: 16px;\n margin: 0 0 0 13px;\n }\n}\n\n.labelGroup {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n min-width: 0;\n}\n\n.description {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-subtle);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n padding: 0;\n background: none;\n border: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border-radius: var(--tempest-radius-sm);\n}\n\n.trigger:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Stepper.module.js","names":["stepper","vertical","step","dot","completed","active","label","connector","labelGroup","description","trigger","Stepper_module_default"],"sources":["../../../src/components/Stepper/Stepper.module.css"],"sourcesContent":[".stepper {\n display: flex;\n align-items: flex-start;\n gap: var(--tempest-space-2);\n width: 100%;\n font-family: var(--tempest-font-sans);\n}\n\n.stepper.vertical {\n flex-direction: column;\n align-items: stretch;\n}\n\n.step {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n flex: 1;\n}\n\n.dot {\n width: 28px;\n height: 28px;\n border-radius: 50%;\n border: 2px solid var(--tempest-border-strong);\n background-color: var(--tempest-bg);\n color: var(--tempest-text-muted);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--tempest-text-xs);\n font-weight: var(--tempest-weight-bold);\n flex-shrink: 0;\n transition: var(--tempest-transition-color);\n}\n\n.step.completed .dot {\n background-color: var(--tempest-primary);\n border-color: var(--tempest-primary);\n color: var(--tempest-primary-foreground);\n}\n\n.step.active .dot {\n border-color: var(--tempest-primary-on-soft);\n color: var(--tempest-primary-on-soft);\n box-shadow: 0 0 0 4px var(--tempest-primary-soft);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n color: var(--tempest-text-muted);\n font-weight: var(--tempest-weight-semibold);\n line-height: var(--tempest-leading-snug);\n}\n\n.step.active .label,\n.step.completed .label {\n color: var(--tempest-text);\n}\n\n.connector {\n flex: 1;\n height: 2px;\n background-color: var(--tempest-border);\n margin: 0 var(--tempest-space-1);\n transition: background-color var(--tempest-duration-base) var(--tempest-ease-out);\n}\n\n.connector.completed {\n background-color: var(--tempest-primary);\n}\n\n.stepper.vertical .connector {\n width: 2px;\n height: 24px;\n margin: 0 0 0 13px;\n}\n\n/* Mobile — horizontal stepper becomes vertical automatically. */\n@media (max-width: 639.98px) {\n .stepper:not(.vertical) {\n flex-direction: column;\n align-items: stretch;\n }\n .stepper:not(.vertical) .connector {\n width: 2px;\n height: 16px;\n margin: 0 0 0 13px;\n }\n}\n\n.labelGroup {\n display: flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n min-width: 0;\n}\n\n.description {\n font-size: var(--tempest-text-xs);\n color: var(--tempest-text-subtle);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n gap: var(--tempest-space-2);\n padding: 0;\n background: none;\n border: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n border-radius: var(--tempest-radius-sm);\n}\n\n.trigger:focus-visible {\n outline: var(--tempest-focus-ring-width) solid var(--tempest-focus-ring-color);\n outline-offset: var(--tempest-focus-ring-offset);\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperInput.cjs","names":[],"sources":["../../../src/components/StepperInput/StepperInput.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — value/onChange/min/max/step is the numeric contract,\n * format renders it, labels names the increment and decrement buttons for screen\n * readers, and size/disabled/label/className are the field. The button labels cannot\n * be defaulted: they are the only text those buttons have.\n */\nimport { forwardRef } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { clamp } from \"@/utils/numbers\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./StepperInput.module.css\";\n\nexport interface StepperInputProps {\n /** Current value. */\n value: number;\n /** Fires with the new value (already clamped to min/max). */\n onChange: (value: number) => void;\n /** Lower bound. Default `0`. */\n min?: number;\n /** Upper bound. Default `Number.POSITIVE_INFINITY`. */\n max?: number;\n /** Increment per click. Default `1`. */\n step?: number;\n /** Visual size. Default `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Disable the whole control. */\n disabled?: boolean;\n /** Optional label rendered above. */\n label?: ReactNode;\n /** Optional formatter for the displayed value. */\n format?: (value: number) => string;\n /** Custom button labels for accessibility. */\n labels?: { decrement: string; increment: string };\n className?: string;\n}\n\n/**\n * Numeric +/− stepper. Common in checkout quantity selectors and admin\n * forms. Clamps to `[min, max]` and emits already-bounded values.\n *\n * @example\n * <StepperInput value={qty} onChange={setQty} min={1} max={10} />\n */\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(function StepperInput(\n {\n value,\n onChange,\n min = 0,\n max = Number.POSITIVE_INFINITY,\n step = 1,\n size = \"md\",\n disabled = false,\n label,\n format,\n labels = { decrement: \"Diminuir\", increment: \"Aumentar\" },\n className,\n },\n ref,\n) {\n const decrement = (): void => {\n if (disabled) return;\n onChange(clamp(value - step, min, max));\n };\n const increment = (): void => {\n if (disabled) return;\n onChange(clamp(value + step, min, max));\n };\n\n const display = format ? format(value) : String(value);\n const canDecrement = !disabled && value > min;\n const canIncrement = !disabled && value < max;\n\n return (\n <div ref={ref} className={cn(styles.wrapper, className)}>\n {label && <label className={styles.label}>{label}</label>}\n <div className={cn(styles.row, styles[size], disabled && styles.disabled)}>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.decrement}\n onClick={decrement}\n disabled={!canDecrement}\n >\n −\n </button>\n <span className={styles.value} role=\"status\" aria-live=\"polite\">\n {display}\n </span>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.increment}\n onClick={increment}\n disabled={!canIncrement}\n >\n +\n </button>\n </div>\n </div>\n );\n});\n"],"mappings":"wKA2CA,
|
|
1
|
+
{"version":3,"file":"StepperInput.cjs","names":["forwardRef","clamp","cn","styles","require_cn","require_numbers","require_StepperInput_module","react","react_jsx_runtime","StepperInput","decrement","disabled","onChange","value","step","min","max","increment","display","format","canDecrement","canIncrement","className","label","size","labels"],"sources":["../../../src/components/StepperInput/StepperInput.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — value/onChange/min/max/step is the numeric contract,\n * format renders it, labels names the increment and decrement buttons for screen\n * readers, and size/disabled/label/className are the field. The button labels cannot\n * be defaulted: they are the only text those buttons have.\n */\nimport { forwardRef } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { clamp } from \"@/utils/numbers\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./StepperInput.module.css\";\n\nexport interface StepperInputProps {\n /** Current value. */\n value: number;\n /** Fires with the new value (already clamped to min/max). */\n onChange: (value: number) => void;\n /** Lower bound. Default `0`. */\n min?: number;\n /** Upper bound. Default `Number.POSITIVE_INFINITY`. */\n max?: number;\n /** Increment per click. Default `1`. */\n step?: number;\n /** Visual size. Default `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Disable the whole control. */\n disabled?: boolean;\n /** Optional label rendered above. */\n label?: ReactNode;\n /** Optional formatter for the displayed value. */\n format?: (value: number) => string;\n /** Custom button labels for accessibility. */\n labels?: { decrement: string; increment: string };\n className?: string;\n}\n\n/**\n * Numeric +/− stepper. Common in checkout quantity selectors and admin\n * forms. Clamps to `[min, max]` and emits already-bounded values.\n *\n * @example\n * <StepperInput value={qty} onChange={setQty} min={1} max={10} />\n */\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(function StepperInput(\n {\n value,\n onChange,\n min = 0,\n max = Number.POSITIVE_INFINITY,\n step = 1,\n size = \"md\",\n disabled = false,\n label,\n format,\n labels = { decrement: \"Diminuir\", increment: \"Aumentar\" },\n className,\n },\n ref,\n) {\n const decrement = (): void => {\n if (disabled) return;\n onChange(clamp(value - step, min, max));\n };\n const increment = (): void => {\n if (disabled) return;\n onChange(clamp(value + step, min, max));\n };\n\n const display = format ? format(value) : String(value);\n const canDecrement = !disabled && value > min;\n const canIncrement = !disabled && value < max;\n\n return (\n <div ref={ref} className={cn(styles.wrapper, className)}>\n {label && <label className={styles.label}>{label}</label>}\n <div className={cn(styles.row, styles[size], disabled && styles.disabled)}>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.decrement}\n onClick={decrement}\n disabled={!canDecrement}\n >\n −\n </button>\n <span className={styles.value} role=\"status\" aria-live=\"polite\">\n {display}\n </span>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.increment}\n onClick={increment}\n disabled={!canIncrement}\n >\n +\n </button>\n </div>\n </div>\n );\n});\n"],"mappings":"A,wKA2CA,IAAaS,GAAA,EAAeT,EAAAA,WAAAA,CAA8C,SACtE,CACI,QACA,WACA,MAAM,EACN,MAAM,IACN,OAAO,EACP,OAAO,KACP,WAAW,GACX,QACA,SACA,SAAS,CAAE,UAAW,WAAY,UAAW,UAAW,EACxD,aAEJ,EACF,CACE,IAAMU,MAAwB,CACtBC,GACJC,EAASX,EAAAA,MAAMY,EAAQC,EAAMC,EAAKC,CAAG,CAAC,CAC1C,EACMC,MAAwB,CACtBN,GACJC,EAASX,EAAAA,MAAMY,EAAQC,EAAMC,EAAKC,CAAG,CAAC,CAC1C,EAEME,EAAUC,EAASA,EAAON,CAAK,EAAI,OAAOA,CAAK,EAC/CO,EAAe,CAACT,GAAYE,EAAQE,EACpCM,EAAe,CAACV,GAAYE,EAAQG,EAE1C,OACI,EAAAR,EAAA,KAAA,CAAC,MAAD,CAAU,MAAK,UAAWN,EAAAA,GAAGC,EAAAA,QAAO,QAASmB,CAAS,EAAtD,SAAA,CACKC,IAAS,EAAAf,EAAA,IAAA,CAAC,QAAD,CAAO,UAAWL,EAAAA,QAAO,MAAQ,SAAAoB,CAAa,CAAA,GACxD,EAAAf,EAAA,KAAA,CAAC,MAAD,CAAK,UAAWN,EAAAA,GAAGC,EAAAA,QAAO,IAAKA,EAAAA,QAAOqB,GAAOb,GAAYR,EAAAA,QAAO,QAAQ,EAAxE,SAAA,EACI,EAAAK,EAAA,IAAA,CAAC,SAAD,CACI,KAAK,SACL,UAAWL,EAAAA,QAAO,IAClB,aAAYsB,EAAO,UACnB,QAASf,EACT,SAAU,CAACU,EACd,SAAA,GAEO,CAAA,GACR,EAAAZ,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWL,EAAAA,QAAO,MAAO,KAAK,SAAS,YAAU,SAClD,SAAAe,CACC,CAAA,GACN,EAAAV,EAAA,IAAA,CAAC,SAAD,CACI,KAAK,SACL,UAAWL,EAAAA,QAAO,IAClB,aAAYsB,EAAO,UACnB,QAASR,EACT,SAAU,CAACI,EACd,SAAA,GAEO,CAAA,CACP,CACJ,CAAA,CAAA,C,EAEb,CAAC,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperInput.js","names":[],"sources":["../../../src/components/StepperInput/StepperInput.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — value/onChange/min/max/step is the numeric contract,\n * format renders it, labels names the increment and decrement buttons for screen\n * readers, and size/disabled/label/className are the field. The button labels cannot\n * be defaulted: they are the only text those buttons have.\n */\nimport { forwardRef } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { clamp } from \"@/utils/numbers\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./StepperInput.module.css\";\n\nexport interface StepperInputProps {\n /** Current value. */\n value: number;\n /** Fires with the new value (already clamped to min/max). */\n onChange: (value: number) => void;\n /** Lower bound. Default `0`. */\n min?: number;\n /** Upper bound. Default `Number.POSITIVE_INFINITY`. */\n max?: number;\n /** Increment per click. Default `1`. */\n step?: number;\n /** Visual size. Default `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Disable the whole control. */\n disabled?: boolean;\n /** Optional label rendered above. */\n label?: ReactNode;\n /** Optional formatter for the displayed value. */\n format?: (value: number) => string;\n /** Custom button labels for accessibility. */\n labels?: { decrement: string; increment: string };\n className?: string;\n}\n\n/**\n * Numeric +/− stepper. Common in checkout quantity selectors and admin\n * forms. Clamps to `[min, max]` and emits already-bounded values.\n *\n * @example\n * <StepperInput value={qty} onChange={setQty} min={1} max={10} />\n */\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(function StepperInput(\n {\n value,\n onChange,\n min = 0,\n max = Number.POSITIVE_INFINITY,\n step = 1,\n size = \"md\",\n disabled = false,\n label,\n format,\n labels = { decrement: \"Diminuir\", increment: \"Aumentar\" },\n className,\n },\n ref,\n) {\n const decrement = (): void => {\n if (disabled) return;\n onChange(clamp(value - step, min, max));\n };\n const increment = (): void => {\n if (disabled) return;\n onChange(clamp(value + step, min, max));\n };\n\n const display = format ? format(value) : String(value);\n const canDecrement = !disabled && value > min;\n const canIncrement = !disabled && value < max;\n\n return (\n <div ref={ref} className={cn(styles.wrapper, className)}>\n {label && <label className={styles.label}>{label}</label>}\n <div className={cn(styles.row, styles[size], disabled && styles.disabled)}>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.decrement}\n onClick={decrement}\n disabled={!canDecrement}\n >\n −\n </button>\n <span className={styles.value} role=\"status\" aria-live=\"polite\">\n {display}\n </span>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.increment}\n onClick={increment}\n disabled={!canIncrement}\n >\n +\n </button>\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;;AA2CA,
|
|
1
|
+
{"version":3,"file":"StepperInput.js","names":["styles","StepperInput_module_default","StepperInput","forwardRef","decrement","disabled","onChange","clamp","value","step","min","max","increment","display","format","canDecrement","canIncrement","cn","className","label","size","labels"],"sources":["../../../src/components/StepperInput/StepperInput.tsx"],"sourcesContent":["/**\n * @tempest-limits props-count — value/onChange/min/max/step is the numeric contract,\n * format renders it, labels names the increment and decrement buttons for screen\n * readers, and size/disabled/label/className are the field. The button labels cannot\n * be defaulted: they are the only text those buttons have.\n */\nimport { forwardRef } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { clamp } from \"@/utils/numbers\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./StepperInput.module.css\";\n\nexport interface StepperInputProps {\n /** Current value. */\n value: number;\n /** Fires with the new value (already clamped to min/max). */\n onChange: (value: number) => void;\n /** Lower bound. Default `0`. */\n min?: number;\n /** Upper bound. Default `Number.POSITIVE_INFINITY`. */\n max?: number;\n /** Increment per click. Default `1`. */\n step?: number;\n /** Visual size. Default `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Disable the whole control. */\n disabled?: boolean;\n /** Optional label rendered above. */\n label?: ReactNode;\n /** Optional formatter for the displayed value. */\n format?: (value: number) => string;\n /** Custom button labels for accessibility. */\n labels?: { decrement: string; increment: string };\n className?: string;\n}\n\n/**\n * Numeric +/− stepper. Common in checkout quantity selectors and admin\n * forms. Clamps to `[min, max]` and emits already-bounded values.\n *\n * @example\n * <StepperInput value={qty} onChange={setQty} min={1} max={10} />\n */\nexport const StepperInput = forwardRef<HTMLDivElement, StepperInputProps>(function StepperInput(\n {\n value,\n onChange,\n min = 0,\n max = Number.POSITIVE_INFINITY,\n step = 1,\n size = \"md\",\n disabled = false,\n label,\n format,\n labels = { decrement: \"Diminuir\", increment: \"Aumentar\" },\n className,\n },\n ref,\n) {\n const decrement = (): void => {\n if (disabled) return;\n onChange(clamp(value - step, min, max));\n };\n const increment = (): void => {\n if (disabled) return;\n onChange(clamp(value + step, min, max));\n };\n\n const display = format ? format(value) : String(value);\n const canDecrement = !disabled && value > min;\n const canIncrement = !disabled && value < max;\n\n return (\n <div ref={ref} className={cn(styles.wrapper, className)}>\n {label && <label className={styles.label}>{label}</label>}\n <div className={cn(styles.row, styles[size], disabled && styles.disabled)}>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.decrement}\n onClick={decrement}\n disabled={!canDecrement}\n >\n −\n </button>\n <span className={styles.value} role=\"status\" aria-live=\"polite\">\n {display}\n </span>\n <button\n type=\"button\"\n className={styles.btn}\n aria-label={labels.increment}\n onClick={increment}\n disabled={!canIncrement}\n >\n +\n </button>\n </div>\n </div>\n );\n});\n"],"mappings":";;;;;;AA2CA,IAAaE,IAAeC,EAA8C,SACtE,EACI,UACA,aACA,SAAM,GACN,SAAM,UACN,UAAO,GACP,UAAO,MACP,cAAW,IACX,UACA,WACA,YAAS;CAAE,WAAW;CAAY,WAAW;AAAW,GACxD,gBAEJ,GACF;CACE,IAAMC,UAAwB;EAC1B,AAAIC,KACJC,EAASC,EAAMC,IAAQC,GAAMC,GAAKC,CAAG,CAAC;CAC1C,GACMC,UAAwB;EAC1B,AAAIP,KACJC,EAASC,EAAMC,IAAQC,GAAMC,GAAKC,CAAG,CAAC;CAC1C,GAEME,IAAUC,IAASA,EAAON,CAAK,IAAI,OAAOA,CAAK,GAC/CO,IAAe,CAACV,KAAYG,IAAQE,GACpCM,IAAe,CAACX,KAAYG,IAAQG;CAE1C,OACI,kBAAC,OAAD;EAAU;EAAK,WAAWM,EAAGjB,EAAO,SAASkB,CAAS;EAAtD,UAAA,CACKC,KAAS,kBAAC,SAAD;GAAO,WAAWnB,EAAO;GAAQ,UAAAmB;EAAa,CAAA,GACxD,kBAAC,OAAD;GAAK,WAAWF,EAAGjB,EAAO,KAAKA,EAAOoB,IAAOf,KAAYL,EAAO,QAAQ;GAAxE,UAAA;IACI,kBAAC,UAAD;KACI,MAAK;KACL,WAAWA,EAAO;KAClB,cAAYqB,EAAO;KACnB,SAASjB;KACT,UAAU,CAACW;KACd,UAAA;IAEO,CAAA;IACR,kBAAC,QAAD;KAAM,WAAWf,EAAO;KAAO,MAAK;KAAS,aAAU;KAClD,UAAAa;IACC,CAAA;IACN,kBAAC,UAAD;KACI,MAAK;KACL,WAAWb,EAAO;KAClB,cAAYqB,EAAO;KACnB,SAAST;KACT,UAAU,CAACI;KACd,UAAA;IAEO,CAAA;GACP;EACJ,CAAA,CAAA;;AAEb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperInput.module.cjs","names":[],"sources":["../../../src/components/StepperInput/StepperInput.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n font-family: var(--tempest-font-sans);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text);\n}\n\n.row {\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n overflow: hidden;\n}\n\n.row.sm {\n font-size: var(--tempest-text-sm);\n}\n.row.md {\n font-size: var(--tempest-text-md);\n}\n.row.lg {\n font-size: var(--tempest-text-lg);\n}\n\n.row.disabled {\n opacity: 0.5;\n}\n\n.btn {\n background: transparent;\n border: 0;\n color: var(--tempest-text);\n cursor: pointer;\n line-height: 1;\n font: inherit;\n font-weight: var(--tempest-weight-semibold);\n}\n\n.row.sm .btn {\n width: 28px;\n height: 28px;\n}\n\n.row.md .btn {\n width: 36px;\n height: 36px;\n}\n\n.row.lg .btn {\n width: 44px;\n height: 44px;\n}\n\n.btn:hover:not(:disabled) {\n background: var(--tempest-surface-2);\n}\n\n.btn:disabled {\n color: var(--tempest-text-muted);\n cursor: not-allowed;\n}\n\n.value {\n min-width: 2ch;\n padding: 0 var(--tempest-space-3);\n text-align: center;\n font-variant-numeric: tabular-nums;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"StepperInput.module.cjs","names":["wrapper","label","row","sm","md","lg","disabled","btn","value","StepperInput_module_default"],"sources":["../../../src/components/StepperInput/StepperInput.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n font-family: var(--tempest-font-sans);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text);\n}\n\n.row {\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n overflow: hidden;\n}\n\n.row.sm {\n font-size: var(--tempest-text-sm);\n}\n.row.md {\n font-size: var(--tempest-text-md);\n}\n.row.lg {\n font-size: var(--tempest-text-lg);\n}\n\n.row.disabled {\n opacity: 0.5;\n}\n\n.btn {\n background: transparent;\n border: 0;\n color: var(--tempest-text);\n cursor: pointer;\n line-height: 1;\n font: inherit;\n font-weight: var(--tempest-weight-semibold);\n}\n\n.row.sm .btn {\n width: 28px;\n height: 28px;\n}\n\n.row.md .btn {\n width: 36px;\n height: 36px;\n}\n\n.row.lg .btn {\n width: 44px;\n height: 44px;\n}\n\n.btn:hover:not(:disabled) {\n background: var(--tempest-surface-2);\n}\n\n.btn:disabled {\n color: var(--tempest-text-muted);\n cursor: not-allowed;\n}\n\n.value {\n min-width: 2ch;\n padding: 0 var(--tempest-space-3);\n text-align: center;\n font-variant-numeric: tabular-nums;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepperInput.module.js","names":[],"sources":["../../../src/components/StepperInput/StepperInput.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n font-family: var(--tempest-font-sans);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text);\n}\n\n.row {\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n overflow: hidden;\n}\n\n.row.sm {\n font-size: var(--tempest-text-sm);\n}\n.row.md {\n font-size: var(--tempest-text-md);\n}\n.row.lg {\n font-size: var(--tempest-text-lg);\n}\n\n.row.disabled {\n opacity: 0.5;\n}\n\n.btn {\n background: transparent;\n border: 0;\n color: var(--tempest-text);\n cursor: pointer;\n line-height: 1;\n font: inherit;\n font-weight: var(--tempest-weight-semibold);\n}\n\n.row.sm .btn {\n width: 28px;\n height: 28px;\n}\n\n.row.md .btn {\n width: 36px;\n height: 36px;\n}\n\n.row.lg .btn {\n width: 44px;\n height: 44px;\n}\n\n.btn:hover:not(:disabled) {\n background: var(--tempest-surface-2);\n}\n\n.btn:disabled {\n color: var(--tempest-text-muted);\n cursor: not-allowed;\n}\n\n.value {\n min-width: 2ch;\n padding: 0 var(--tempest-space-3);\n text-align: center;\n font-variant-numeric: tabular-nums;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"StepperInput.module.js","names":["wrapper","label","row","sm","md","lg","disabled","btn","value","StepperInput_module_default"],"sources":["../../../src/components/StepperInput/StepperInput.module.css"],"sourcesContent":[".wrapper {\n display: inline-flex;\n flex-direction: column;\n gap: var(--tempest-space-1);\n font-family: var(--tempest-font-sans);\n}\n\n.label {\n font-size: var(--tempest-text-sm);\n font-weight: var(--tempest-weight-medium);\n color: var(--tempest-text);\n}\n\n.row {\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--tempest-border);\n border-radius: var(--tempest-radius-md);\n background: var(--tempest-surface);\n overflow: hidden;\n}\n\n.row.sm {\n font-size: var(--tempest-text-sm);\n}\n.row.md {\n font-size: var(--tempest-text-md);\n}\n.row.lg {\n font-size: var(--tempest-text-lg);\n}\n\n.row.disabled {\n opacity: 0.5;\n}\n\n.btn {\n background: transparent;\n border: 0;\n color: var(--tempest-text);\n cursor: pointer;\n line-height: 1;\n font: inherit;\n font-weight: var(--tempest-weight-semibold);\n}\n\n.row.sm .btn {\n width: 28px;\n height: 28px;\n}\n\n.row.md .btn {\n width: 36px;\n height: 36px;\n}\n\n.row.lg .btn {\n width: 44px;\n height: 44px;\n}\n\n.btn:hover:not(:disabled) {\n background: var(--tempest-surface-2);\n}\n\n.btn:disabled {\n color: var(--tempest-text-muted);\n cursor: not-allowed;\n}\n\n.value {\n min-width: 2ch;\n padding: 0 var(--tempest-space-3);\n text-align: center;\n font-variant-numeric: tabular-nums;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.cjs","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { InputHTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n label?: ReactNode;\n wrapperClassName?: string;\n}\n\n/** Toggle switch backed by a checkbox input. Accessible via keyboard. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n { label, disabled, wrapperClassName, className, ...props },\n ref,\n) {\n return (\n <label className={cn(styles.wrapper, disabled && styles.disabled, wrapperClassName)}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n disabled={disabled}\n className={cn(styles.input, className)}\n {...props}\n />\n <span className={styles.track} aria-hidden>\n <span className={styles.thumb} />\n </span>\n {label && <span className={styles.label}>{label}</span>}\n </label>\n );\n});\n"],"mappings":"6HAWA,
|
|
1
|
+
{"version":3,"file":"Switch.cjs","names":["forwardRef","cn","styles","require_cn","require_Switch_module","react","react_jsx_runtime","Switch","props","disabled","wrapperClassName","className","label"],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { InputHTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n label?: ReactNode;\n wrapperClassName?: string;\n}\n\n/** Toggle switch backed by a checkbox input. Accessible via keyboard. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n { label, disabled, wrapperClassName, className, ...props },\n ref,\n) {\n return (\n <label className={cn(styles.wrapper, disabled && styles.disabled, wrapperClassName)}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n disabled={disabled}\n className={cn(styles.input, className)}\n {...props}\n />\n <span className={styles.track} aria-hidden>\n <span className={styles.thumb} />\n </span>\n {label && <span className={styles.label}>{label}</span>}\n </label>\n );\n});\n"],"mappings":"A,6HAWA,IAAaO,GAAA,EAASP,EAAAA,WAAAA,CAA0C,SAC5D,CAAE,QAAO,WAAU,mBAAkB,YAAW,GAAGQ,GACnD,EACF,CACE,OACI,EAAAF,EAAA,KAAA,CAAC,QAAD,CAAO,UAAWL,EAAAA,GAAGC,EAAAA,QAAO,QAASO,GAAYP,EAAAA,QAAO,SAAUQ,CAAgB,EAAlF,SAAA,EACI,EAAAJ,EAAA,IAAA,CAAC,QAAD,CACS,MACL,KAAK,WACL,KAAK,SACK,WACV,UAAWL,EAAAA,GAAGC,EAAAA,QAAO,MAAOS,CAAS,EACrC,GAAIH,CACP,CAAA,GACD,EAAAF,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWJ,EAAAA,QAAO,MAAO,cAAA,GAC3B,UAAA,EAAAI,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWJ,EAAAA,QAAO,KAAQ,CAAA,CAC9B,CAAA,EACLU,IAAS,EAAAN,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWJ,EAAAA,QAAO,MAAQ,SAAAU,CAAY,CAAA,CACnD,C,EAEf,CAAC,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":[],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { InputHTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n label?: ReactNode;\n wrapperClassName?: string;\n}\n\n/** Toggle switch backed by a checkbox input. Accessible via keyboard. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n { label, disabled, wrapperClassName, className, ...props },\n ref,\n) {\n return (\n <label className={cn(styles.wrapper, disabled && styles.disabled, wrapperClassName)}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n disabled={disabled}\n className={cn(styles.input, className)}\n {...props}\n />\n <span className={styles.track} aria-hidden>\n <span className={styles.thumb} />\n </span>\n {label && <span className={styles.label}>{label}</span>}\n </label>\n );\n});\n"],"mappings":";;;;;AAWA,
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["styles","Switch_module_default","Switch","forwardRef","props","cn","disabled","wrapperClassName","className","label"],"sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { InputHTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Switch.module.css\";\n\nexport interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\"> {\n label?: ReactNode;\n wrapperClassName?: string;\n}\n\n/** Toggle switch backed by a checkbox input. Accessible via keyboard. */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(function Switch(\n { label, disabled, wrapperClassName, className, ...props },\n ref,\n) {\n return (\n <label className={cn(styles.wrapper, disabled && styles.disabled, wrapperClassName)}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n disabled={disabled}\n className={cn(styles.input, className)}\n {...props}\n />\n <span className={styles.track} aria-hidden>\n <span className={styles.thumb} />\n </span>\n {label && <span className={styles.label}>{label}</span>}\n </label>\n );\n});\n"],"mappings":";;;;;AAWA,IAAaE,IAASC,EAA0C,SAC5D,EAAE,UAAO,aAAU,qBAAkB,cAAW,GAAGC,KACnD,GACF;CACE,OACI,kBAAC,SAAD;EAAO,WAAWC,EAAGL,EAAO,SAASM,KAAYN,EAAO,UAAUO,CAAgB;EAAlF,UAAA;GACI,kBAAC,SAAD;IACS;IACL,MAAK;IACL,MAAK;IACK;IACV,WAAWF,EAAGL,EAAO,OAAOQ,CAAS;IACrC,GAAIJ;GACP,CAAA;GACD,kBAAC,QAAD;IAAM,WAAWJ,EAAO;IAAO,eAAA;IAC3B,UAAA,kBAAC,QAAD,EAAM,WAAWA,EAAO,MAAQ,CAAA;GAC9B,CAAA;GACLS,KAAS,kBAAC,QAAD;IAAM,WAAWT,EAAO;IAAQ,UAAAS;GAAY,CAAA;EACnD;;AAEf,CAAC"}
|