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":"RefreshIndicator.cjs","names":[],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — pull-to-refresh is a gesture with a threshold, a\n * rubber-band offset and a release animation, and the body is those three reading\n * one pointer delta.\n */\nimport { useRef, useState, type ReactNode, type TouchEvent } from \"react\";\nimport { Spinner } from \"@/components/Spinner\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./RefreshIndicator.module.css\";\n\nexport interface RefreshIndicatorProps {\n /** Invoked when the user pulls past `threshold` and releases. May be async. */\n onRefresh: () => void | Promise<void>;\n /** Scrollable content to wrap. */\n children: ReactNode;\n /** Pixels the user must pull past to trigger a refresh. Defaults to `80`. */\n threshold?: number;\n /** When true, pull-to-refresh is inert. */\n disabled?: boolean;\n className?: string;\n}\n\n/** Apply resistance so the content lags behind the finger and the pull never runs away. */\nfunction applyResistance(distance: number, threshold: number): number {\n const cap = threshold * 1.5;\n return Math.min(distance / 2, cap);\n}\n\n/**\n * RefreshIndicator — pull-to-refresh wrapper for touch devices.\n *\n * Wraps scrollable `children` and listens for a downward drag that starts while the\n * container is scrolled to the top. Pulling past `threshold` and releasing triggers\n * `onRefresh`; the SDK {@link Spinner} is shown while pulling and during the refresh.\n */\nexport function RefreshIndicator({\n onRefresh,\n children,\n threshold = 80,\n disabled,\n className,\n}: RefreshIndicatorProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const startYRef = useRef<number | null>(null);\n const [pull, setPull] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n /**\n * Whether a drag is in progress. Kept in state, not derived from\n * `startYRef.current`: a ref is not reactive, so reading it during render ties\n * the rendered class to a value React never re-renders for — it only looked\n * correct here because the touch handlers happen to call `setPull` too.\n */\n const [engaged, setEngaged] = useState(false);\n\n const handleTouchStart = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const container = containerRef.current;\n if (!container || container.scrollTop > 0) return;\n const touch = event.touches[0];\n if (!touch) return;\n startYRef.current = touch.clientY;\n setEngaged(true);\n };\n\n const handleTouchMove = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const startY = startYRef.current;\n if (startY === null) return;\n const touch = event.touches[0];\n if (!touch) return;\n const delta = touch.clientY - startY;\n if (delta <= 0) {\n setPull(0);\n return;\n }\n setPull(applyResistance(delta, threshold));\n };\n\n const reset = (): void => {\n startYRef.current = null;\n setEngaged(false);\n setPull(0);\n };\n\n const handleTouchEnd = async (): Promise<void> => {\n if (disabled || refreshing) {\n reset();\n return;\n }\n const startY = startYRef.current;\n const triggered = startY !== null && pull >= threshold;\n if (!triggered) {\n reset();\n return;\n }\n startYRef.current = null;\n setEngaged(false);\n setRefreshing(true);\n setPull(threshold);\n try {\n await onRefresh();\n } finally {\n setRefreshing(false);\n setPull(0);\n }\n };\n\n const showIndicator = refreshing || pull > 0;\n const progress = Math.min(1, pull / threshold);\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.wrapper, className)}\n data-refreshing={refreshing}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n >\n <div\n className={styles.indicator}\n aria-hidden={!showIndicator}\n style={{\n opacity: refreshing ? 1 : progress,\n transform: `translateX(-50%) translateY(${showIndicator ? pull : 0}px) rotate(${progress * 360}deg)`,\n }}\n >\n <Spinner size=\"sm\" label=\"Atualizando\" />\n </div>\n <div\n className={cn(styles.content, (engaged || refreshing) && styles.dragging)}\n style={{ transform: `translateY(${showIndicator ? pull : 0}px)` }}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":"2KAuBA,
|
|
1
|
+
{"version":3,"file":"RefreshIndicator.cjs","names":["useRef","useState","cn","styles","Spinner","require_cn","require_Spinner","require_RefreshIndicator_module","react","react_jsx_runtime","applyResistance","cap","threshold","distance","RefreshIndicator","containerRef","startYRef","pull","setPull","refreshing","setRefreshing","engaged","setEngaged","handleTouchStart","disabled","container","touch","event","handleTouchMove","startY","delta","reset","handleTouchEnd","onRefresh","showIndicator","progress","className"],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — pull-to-refresh is a gesture with a threshold, a\n * rubber-band offset and a release animation, and the body is those three reading\n * one pointer delta.\n */\nimport { useRef, useState, type ReactNode, type TouchEvent } from \"react\";\nimport { Spinner } from \"@/components/Spinner\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./RefreshIndicator.module.css\";\n\nexport interface RefreshIndicatorProps {\n /** Invoked when the user pulls past `threshold` and releases. May be async. */\n onRefresh: () => void | Promise<void>;\n /** Scrollable content to wrap. */\n children: ReactNode;\n /** Pixels the user must pull past to trigger a refresh. Defaults to `80`. */\n threshold?: number;\n /** When true, pull-to-refresh is inert. */\n disabled?: boolean;\n className?: string;\n}\n\n/** Apply resistance so the content lags behind the finger and the pull never runs away. */\nfunction applyResistance(distance: number, threshold: number): number {\n const cap = threshold * 1.5;\n return Math.min(distance / 2, cap);\n}\n\n/**\n * RefreshIndicator — pull-to-refresh wrapper for touch devices.\n *\n * Wraps scrollable `children` and listens for a downward drag that starts while the\n * container is scrolled to the top. Pulling past `threshold` and releasing triggers\n * `onRefresh`; the SDK {@link Spinner} is shown while pulling and during the refresh.\n */\nexport function RefreshIndicator({\n onRefresh,\n children,\n threshold = 80,\n disabled,\n className,\n}: RefreshIndicatorProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const startYRef = useRef<number | null>(null);\n const [pull, setPull] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n /**\n * Whether a drag is in progress. Kept in state, not derived from\n * `startYRef.current`: a ref is not reactive, so reading it during render ties\n * the rendered class to a value React never re-renders for — it only looked\n * correct here because the touch handlers happen to call `setPull` too.\n */\n const [engaged, setEngaged] = useState(false);\n\n const handleTouchStart = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const container = containerRef.current;\n if (!container || container.scrollTop > 0) return;\n const touch = event.touches[0];\n if (!touch) return;\n startYRef.current = touch.clientY;\n setEngaged(true);\n };\n\n const handleTouchMove = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const startY = startYRef.current;\n if (startY === null) return;\n const touch = event.touches[0];\n if (!touch) return;\n const delta = touch.clientY - startY;\n if (delta <= 0) {\n setPull(0);\n return;\n }\n setPull(applyResistance(delta, threshold));\n };\n\n const reset = (): void => {\n startYRef.current = null;\n setEngaged(false);\n setPull(0);\n };\n\n const handleTouchEnd = async (): Promise<void> => {\n if (disabled || refreshing) {\n reset();\n return;\n }\n const startY = startYRef.current;\n const triggered = startY !== null && pull >= threshold;\n if (!triggered) {\n reset();\n return;\n }\n startYRef.current = null;\n setEngaged(false);\n setRefreshing(true);\n setPull(threshold);\n try {\n await onRefresh();\n } finally {\n setRefreshing(false);\n setPull(0);\n }\n };\n\n const showIndicator = refreshing || pull > 0;\n const progress = Math.min(1, pull / threshold);\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.wrapper, className)}\n data-refreshing={refreshing}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n >\n <div\n className={styles.indicator}\n aria-hidden={!showIndicator}\n style={{\n opacity: refreshing ? 1 : progress,\n transform: `translateX(-50%) translateY(${showIndicator ? pull : 0}px) rotate(${progress * 360}deg)`,\n }}\n >\n <Spinner size=\"sm\" label=\"Atualizando\" />\n </div>\n <div\n className={cn(styles.content, (engaged || refreshing) && styles.dragging)}\n style={{ transform: `translateY(${showIndicator ? pull : 0}px)` }}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":"A,2KAuBA,SAASU,EAAgB,EAAkB,EAA2B,CAClE,IAAMC,EAAMC,EAAY,IACxB,OAAO,KAAK,IAAIC,EAAW,EAAGF,CAAG,CACrC,CASA,SAAgBG,EAAiB,CAC7B,YACA,WACA,YAAY,GACZ,WACA,aACsB,CACtB,IAAMC,GAAA,EAAef,EAAAA,OAAAA,CAAuB,IAAI,EAC1CgB,GAAA,EAAYhB,EAAAA,OAAAA,CAAsB,IAAI,EACtC,CAACiB,EAAMC,IAAA,EAAWjB,EAAAA,SAAAA,CAAS,CAAC,EAC5B,CAACkB,EAAYC,IAAA,EAAiBnB,EAAAA,SAAAA,CAAS,EAAK,EAO5C,CAACoB,EAASC,IAAA,EAAcrB,EAAAA,SAAAA,CAAS,EAAK,EAEtCsB,EAAoB,GAA4C,CAClE,GAAIC,GAAYL,EAAY,OAC5B,IAAMM,EAAYV,EAAa,QAC/B,GAAI,CAACU,GAAaA,EAAU,UAAY,EAAG,OAC3C,IAAMC,EAAQC,EAAM,QAAQ,GACvBD,IACL,EAAU,QAAUA,EAAM,QAC1BJ,EAAW,EAAI,EACnB,EAEMM,EAAmB,GAA4C,CACjE,GAAIJ,GAAYL,EAAY,OAC5B,IAAMU,EAASb,EAAU,QACzB,GAAIa,IAAW,KAAM,OACrB,IAAMH,EAAQC,EAAM,QAAQ,GAC5B,GAAI,CAACD,EAAO,OACZ,IAAMI,EAAQJ,EAAM,QAAUG,EAE1BX,EADAY,GAAS,EACD,EAGJpB,EAAgBoB,EAAOlB,CAAS,CADxC,CAEJ,EAEMmB,MAAoB,CACtB,EAAU,QAAU,KACpBT,EAAW,EAAK,EAChBJ,EAAQ,CAAC,CACb,EAEMc,EAAiB,SAA2B,CAC9C,GAAIR,GAAYL,EACZY,EAAM,OAKV,GAAI,EAFWf,EAAU,UACI,MAAQC,GAAQL,GAEzCmB,EAAM,MAGV,GAAU,QAAU,KACpBT,EAAW,EAAK,EAChBF,EAAc,EAAI,EAClBF,EAAQN,CAAS,EACjB,GAAI,CACA,MAAMqB,EAAU,CACpB,QAAU,CACNb,EAAc,EAAK,EACnBF,EAAQ,CAAC,CACb,CAToB,CAUxB,EAEMgB,EAAgBf,GAAcF,EAAO,EACrCkB,EAAW,KAAK,IAAI,EAAGlB,EAAOL,CAAS,EAE7C,OACI,EAAAH,EAAA,KAAA,CAAC,MAAD,CACI,IAAKM,EACL,UAAWb,EAAAA,GAAGC,EAAAA,QAAO,QAASiC,CAAS,EACvC,kBAAiBjB,EACjB,aAAcI,EACd,YAAaK,EACb,WAAYI,EANhB,SAAA,EAQI,EAAAvB,EAAA,IAAA,CAAC,MAAD,CACI,UAAWN,EAAAA,QAAO,UAClB,cAAa,CAAC+B,EACd,MAAO,CACH,QAASf,EAAa,EAAIgB,EAC1B,UAAW,+BAA+BD,EAAgBjB,EAAO,EAAE,aAAakB,EAAW,IAAI,KACnG,EAEA,UAAA,EAAA1B,EAAA,IAAA,CAACL,EAAAA,QAAD,CAAS,KAAK,KAAK,MAAM,aAAe,CAAA,CACvC,CAAA,GACL,EAAAK,EAAA,IAAA,CAAC,MAAD,CACI,UAAWP,EAAAA,GAAGC,EAAAA,QAAO,SAAUkB,GAAWF,IAAehB,EAAAA,QAAO,QAAQ,EACxE,MAAO,CAAE,UAAW,cAAc+B,EAAgBjB,EAAO,EAAE,IAAK,EAE/D,UACA,CAAA,CACJ,C,EAEb,C"}
|
|
@@ -22,27 +22,19 @@ function c({ onRefresh: c, children: l, threshold: u = 80, disabled: d, classNam
|
|
|
22
22
|
let n = e.touches[0];
|
|
23
23
|
if (!n) return;
|
|
24
24
|
let r = n.clientY - t;
|
|
25
|
-
|
|
26
|
-
g(0);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
g(s(r, u));
|
|
25
|
+
g(r <= 0 ? 0 : s(r, u));
|
|
30
26
|
}, C = () => {
|
|
31
27
|
m.current = null, b(!1), g(0);
|
|
32
28
|
}, w = async () => {
|
|
33
|
-
if (d || _)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
await c();
|
|
44
|
-
} finally {
|
|
45
|
-
v(!1), g(0);
|
|
29
|
+
if (d || _) C();
|
|
30
|
+
else if (!(m.current !== null && h >= u)) C();
|
|
31
|
+
else {
|
|
32
|
+
m.current = null, b(!1), v(!0), g(u);
|
|
33
|
+
try {
|
|
34
|
+
await c();
|
|
35
|
+
} finally {
|
|
36
|
+
v(!1), g(0);
|
|
37
|
+
}
|
|
46
38
|
}
|
|
47
39
|
}, T = _ || h > 0, E = Math.min(1, h / u);
|
|
48
40
|
return /* @__PURE__ */ o("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshIndicator.js","names":[],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — pull-to-refresh is a gesture with a threshold, a\n * rubber-band offset and a release animation, and the body is those three reading\n * one pointer delta.\n */\nimport { useRef, useState, type ReactNode, type TouchEvent } from \"react\";\nimport { Spinner } from \"@/components/Spinner\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./RefreshIndicator.module.css\";\n\nexport interface RefreshIndicatorProps {\n /** Invoked when the user pulls past `threshold` and releases. May be async. */\n onRefresh: () => void | Promise<void>;\n /** Scrollable content to wrap. */\n children: ReactNode;\n /** Pixels the user must pull past to trigger a refresh. Defaults to `80`. */\n threshold?: number;\n /** When true, pull-to-refresh is inert. */\n disabled?: boolean;\n className?: string;\n}\n\n/** Apply resistance so the content lags behind the finger and the pull never runs away. */\nfunction applyResistance(distance: number, threshold: number): number {\n const cap = threshold * 1.5;\n return Math.min(distance / 2, cap);\n}\n\n/**\n * RefreshIndicator — pull-to-refresh wrapper for touch devices.\n *\n * Wraps scrollable `children` and listens for a downward drag that starts while the\n * container is scrolled to the top. Pulling past `threshold` and releasing triggers\n * `onRefresh`; the SDK {@link Spinner} is shown while pulling and during the refresh.\n */\nexport function RefreshIndicator({\n onRefresh,\n children,\n threshold = 80,\n disabled,\n className,\n}: RefreshIndicatorProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const startYRef = useRef<number | null>(null);\n const [pull, setPull] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n /**\n * Whether a drag is in progress. Kept in state, not derived from\n * `startYRef.current`: a ref is not reactive, so reading it during render ties\n * the rendered class to a value React never re-renders for — it only looked\n * correct here because the touch handlers happen to call `setPull` too.\n */\n const [engaged, setEngaged] = useState(false);\n\n const handleTouchStart = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const container = containerRef.current;\n if (!container || container.scrollTop > 0) return;\n const touch = event.touches[0];\n if (!touch) return;\n startYRef.current = touch.clientY;\n setEngaged(true);\n };\n\n const handleTouchMove = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const startY = startYRef.current;\n if (startY === null) return;\n const touch = event.touches[0];\n if (!touch) return;\n const delta = touch.clientY - startY;\n if (delta <= 0) {\n setPull(0);\n return;\n }\n setPull(applyResistance(delta, threshold));\n };\n\n const reset = (): void => {\n startYRef.current = null;\n setEngaged(false);\n setPull(0);\n };\n\n const handleTouchEnd = async (): Promise<void> => {\n if (disabled || refreshing) {\n reset();\n return;\n }\n const startY = startYRef.current;\n const triggered = startY !== null && pull >= threshold;\n if (!triggered) {\n reset();\n return;\n }\n startYRef.current = null;\n setEngaged(false);\n setRefreshing(true);\n setPull(threshold);\n try {\n await onRefresh();\n } finally {\n setRefreshing(false);\n setPull(0);\n }\n };\n\n const showIndicator = refreshing || pull > 0;\n const progress = Math.min(1, pull / threshold);\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.wrapper, className)}\n data-refreshing={refreshing}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n >\n <div\n className={styles.indicator}\n aria-hidden={!showIndicator}\n style={{\n opacity: refreshing ? 1 : progress,\n transform: `translateX(-50%) translateY(${showIndicator ? pull : 0}px) rotate(${progress * 360}deg)`,\n }}\n >\n <Spinner size=\"sm\" label=\"Atualizando\" />\n </div>\n <div\n className={cn(styles.content, (engaged || refreshing) && styles.dragging)}\n style={{ transform: `translateY(${showIndicator ? pull : 0}px)` }}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,
|
|
1
|
+
{"version":3,"file":"RefreshIndicator.js","names":["styles","RefreshIndicator_module_default","applyResistance","cap","threshold","distance","RefreshIndicator","containerRef","useRef","startYRef","pull","setPull","useState","refreshing","setRefreshing","engaged","setEngaged","handleTouchStart","disabled","container","touch","event","handleTouchMove","startY","delta","reset","handleTouchEnd","onRefresh","showIndicator","progress","cn","className","Spinner"],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — pull-to-refresh is a gesture with a threshold, a\n * rubber-band offset and a release animation, and the body is those three reading\n * one pointer delta.\n */\nimport { useRef, useState, type ReactNode, type TouchEvent } from \"react\";\nimport { Spinner } from \"@/components/Spinner\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./RefreshIndicator.module.css\";\n\nexport interface RefreshIndicatorProps {\n /** Invoked when the user pulls past `threshold` and releases. May be async. */\n onRefresh: () => void | Promise<void>;\n /** Scrollable content to wrap. */\n children: ReactNode;\n /** Pixels the user must pull past to trigger a refresh. Defaults to `80`. */\n threshold?: number;\n /** When true, pull-to-refresh is inert. */\n disabled?: boolean;\n className?: string;\n}\n\n/** Apply resistance so the content lags behind the finger and the pull never runs away. */\nfunction applyResistance(distance: number, threshold: number): number {\n const cap = threshold * 1.5;\n return Math.min(distance / 2, cap);\n}\n\n/**\n * RefreshIndicator — pull-to-refresh wrapper for touch devices.\n *\n * Wraps scrollable `children` and listens for a downward drag that starts while the\n * container is scrolled to the top. Pulling past `threshold` and releasing triggers\n * `onRefresh`; the SDK {@link Spinner} is shown while pulling and during the refresh.\n */\nexport function RefreshIndicator({\n onRefresh,\n children,\n threshold = 80,\n disabled,\n className,\n}: RefreshIndicatorProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const startYRef = useRef<number | null>(null);\n const [pull, setPull] = useState(0);\n const [refreshing, setRefreshing] = useState(false);\n /**\n * Whether a drag is in progress. Kept in state, not derived from\n * `startYRef.current`: a ref is not reactive, so reading it during render ties\n * the rendered class to a value React never re-renders for — it only looked\n * correct here because the touch handlers happen to call `setPull` too.\n */\n const [engaged, setEngaged] = useState(false);\n\n const handleTouchStart = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const container = containerRef.current;\n if (!container || container.scrollTop > 0) return;\n const touch = event.touches[0];\n if (!touch) return;\n startYRef.current = touch.clientY;\n setEngaged(true);\n };\n\n const handleTouchMove = (event: TouchEvent<HTMLDivElement>): void => {\n if (disabled || refreshing) return;\n const startY = startYRef.current;\n if (startY === null) return;\n const touch = event.touches[0];\n if (!touch) return;\n const delta = touch.clientY - startY;\n if (delta <= 0) {\n setPull(0);\n return;\n }\n setPull(applyResistance(delta, threshold));\n };\n\n const reset = (): void => {\n startYRef.current = null;\n setEngaged(false);\n setPull(0);\n };\n\n const handleTouchEnd = async (): Promise<void> => {\n if (disabled || refreshing) {\n reset();\n return;\n }\n const startY = startYRef.current;\n const triggered = startY !== null && pull >= threshold;\n if (!triggered) {\n reset();\n return;\n }\n startYRef.current = null;\n setEngaged(false);\n setRefreshing(true);\n setPull(threshold);\n try {\n await onRefresh();\n } finally {\n setRefreshing(false);\n setPull(0);\n }\n };\n\n const showIndicator = refreshing || pull > 0;\n const progress = Math.min(1, pull / threshold);\n\n return (\n <div\n ref={containerRef}\n className={cn(styles.wrapper, className)}\n data-refreshing={refreshing}\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n >\n <div\n className={styles.indicator}\n aria-hidden={!showIndicator}\n style={{\n opacity: refreshing ? 1 : progress,\n transform: `translateX(-50%) translateY(${showIndicator ? pull : 0}px) rotate(${progress * 360}deg)`,\n }}\n >\n <Spinner size=\"sm\" label=\"Atualizando\" />\n </div>\n <div\n className={cn(styles.content, (engaged || refreshing) && styles.dragging)}\n style={{ transform: `translateY(${showIndicator ? pull : 0}px)` }}\n >\n {children}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,SAASE,EAAgB,GAAkB,GAA2B;CAClE,IAAMC,IAAMC,IAAY;CACxB,OAAO,KAAK,IAAIC,IAAW,GAAGF,CAAG;AACrC;AASA,SAAgBG,EAAiB,EAC7B,cACA,aACA,eAAY,IACZ,aACA,gBACsB;CACtB,IAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAYD,EAAsB,IAAI,GACtC,CAACE,GAAMC,KAAWC,EAAS,CAAC,GAC5B,CAACC,GAAYC,KAAiBF,EAAS,EAAK,GAO5C,CAACG,GAASC,KAAcJ,EAAS,EAAK,GAEtCK,KAAoB,MAA4C;EAClE,IAAIC,KAAYL,GAAY;EAC5B,IAAMM,IAAYZ,EAAa;EAC/B,IAAI,CAACY,KAAaA,EAAU,YAAY,GAAG;EAC3C,IAAMC,IAAQC,EAAM,QAAQ;EAC5B,AAAKD,MACL,EAAU,UAAUA,EAAM,SAC1BJ,EAAW,EAAI;CACnB,GAEMM,KAAmB,MAA4C;EACjE,IAAIJ,KAAYL,GAAY;EAC5B,IAAMU,IAASd,EAAU;EACzB,IAAIc,MAAW,MAAM;EACrB,IAAMH,IAAQC,EAAM,QAAQ;EAC5B,IAAI,CAACD,GAAO;EACZ,IAAMI,IAAQJ,EAAM,UAAUG;EAC9B,AACIZ,EADAa,KAAS,IACD,IAGJtB,EAAgBsB,GAAOpB,CAAS,CADxC;CAEJ,GAEMqB,UAAoB;EAGtB,AAFA,EAAU,UAAU,MACpBT,EAAW,EAAK,GAChBL,EAAQ,CAAC;CACb,GAEMe,IAAiB,YAA2B;EAC9C,IAAIR,KAAYL,GACZ,EAAM;OAKV,IAAI,EAFWJ,EAAU,YACI,QAAQC,KAAQN,IAEzC,EAAM;OAGV;GAGA,AAHA,EAAU,UAAU,MACpBY,EAAW,EAAK,GAChBF,EAAc,EAAI,GAClBH,EAAQP,CAAS;GACjB,IAAI;IACA,MAAMuB,EAAU;GACpB,UAAU;IAEN,AADAb,EAAc,EAAK,GACnBH,EAAQ,CAAC;GACb;EAToB;CAUxB,GAEMiB,IAAgBf,KAAcH,IAAO,GACrCmB,IAAW,KAAK,IAAI,GAAGnB,IAAON,CAAS;CAE7C,OACI,kBAAC,OAAD;EACI,KAAKG;EACL,WAAWuB,EAAG9B,EAAO,SAAS+B,CAAS;EACvC,mBAAiBlB;EACjB,cAAcI;EACd,aAAaK;EACb,YAAYI;EANhB,UAAA,CAQI,kBAAC,OAAD;GACI,WAAW1B,EAAO;GAClB,eAAa,CAAC4B;GACd,OAAO;IACH,SAASf,IAAa,IAAIgB;IAC1B,WAAW,+BAA+BD,IAAgBlB,IAAO,EAAE,aAAamB,IAAW,IAAI;GACnG;GAEA,UAAA,kBAACG,GAAD;IAAS,MAAK;IAAK,OAAM;GAAe,CAAA;EACvC,CAAA,GACL,kBAAC,OAAD;GACI,WAAWF,EAAG9B,EAAO,UAAUe,KAAWF,MAAeb,EAAO,QAAQ;GACxE,OAAO,EAAE,WAAW,cAAc4B,IAAgBlB,IAAO,EAAE,KAAK;GAE/D;EACA,CAAA,CACJ;;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshIndicator.module.cjs","names":[],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n overflow-y: auto;\n height: 100%;\n width: 100%;\n font-family: var(--tempest-font-sans);\n -webkit-overflow-scrolling: touch;\n}\n\n.indicator {\n position: absolute;\n top: var(--tempest-space-2);\n left: 50%;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n color: var(--tempest-primary);\n box-shadow: var(--tempest-shadow-lg);\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n.content {\n will-change: transform;\n}\n\n.content.dragging {\n transition: transform 0.2s ease;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"RefreshIndicator.module.cjs","names":["wrapper","indicator","content","dragging","RefreshIndicator_module_default"],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n overflow-y: auto;\n height: 100%;\n width: 100%;\n font-family: var(--tempest-font-sans);\n -webkit-overflow-scrolling: touch;\n}\n\n.indicator {\n position: absolute;\n top: var(--tempest-space-2);\n left: 50%;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n color: var(--tempest-primary);\n box-shadow: var(--tempest-shadow-lg);\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n.content {\n will-change: transform;\n}\n\n.content.dragging {\n transition: transform 0.2s ease;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshIndicator.module.js","names":[],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n overflow-y: auto;\n height: 100%;\n width: 100%;\n font-family: var(--tempest-font-sans);\n -webkit-overflow-scrolling: touch;\n}\n\n.indicator {\n position: absolute;\n top: var(--tempest-space-2);\n left: 50%;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n color: var(--tempest-primary);\n box-shadow: var(--tempest-shadow-lg);\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n.content {\n will-change: transform;\n}\n\n.content.dragging {\n transition: transform 0.2s ease;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"RefreshIndicator.module.js","names":["wrapper","indicator","content","dragging","RefreshIndicator_module_default"],"sources":["../../../src/components/RefreshIndicator/RefreshIndicator.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n overflow-y: auto;\n height: 100%;\n width: 100%;\n font-family: var(--tempest-font-sans);\n -webkit-overflow-scrolling: touch;\n}\n\n.indicator {\n position: absolute;\n top: var(--tempest-space-2);\n left: 50%;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n color: var(--tempest-primary);\n box-shadow: var(--tempest-shadow-lg);\n pointer-events: none;\n transform: translateX(-50%);\n}\n\n.content {\n will-change: transform;\n}\n\n.content.dragging {\n transition: transform 0.2s ease;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelativeTime.cjs","names":[],"sources":["../../../src/components/RelativeTime/RelativeTime.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { relativeTime } from \"@/utils/relative-time\";\n\nexport interface RelativeTimeProps extends HTMLAttributes<HTMLTimeElement> {\n /** The instant to render relative to now. */\n date: Date | string | number;\n /** Output language. Defaults to \"pt\". */\n locale?: \"pt\" | \"en\";\n}\n\n/**\n * Render a date as a human-friendly relative-time string (e.g. \"5 min atrás\")\n * inside a semantic `<time>` element with a machine-readable `dateTime`.\n *\n * Delegates the wording to the `relativeTime` util; \"pt\" maps to its \"pt-BR\"\n * locale.\n *\n * @example\n * <RelativeTime date={post.createdAt} locale=\"en\" />\n */\nexport function RelativeTime({ date, locale = \"pt\", ...props }: RelativeTimeProps) {\n const target = date instanceof Date ? date : new Date(date);\n const iso = Number.isNaN(target.getTime()) ? undefined : target.toISOString();\n const label = relativeTime(date, { locale: locale === \"pt\" ? \"pt-BR\" : \"en\" });\n\n return (\n <time dateTime={iso} {...props}>\n {label}\n </time>\n );\n}\n"],"mappings":"oFAoBA,
|
|
1
|
+
{"version":3,"file":"RelativeTime.cjs","names":["relativeTime","require_relative_time","react_jsx_runtime","RelativeTime","props","target","date","iso","label","locale"],"sources":["../../../src/components/RelativeTime/RelativeTime.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { relativeTime } from \"@/utils/relative-time\";\n\nexport interface RelativeTimeProps extends HTMLAttributes<HTMLTimeElement> {\n /** The instant to render relative to now. */\n date: Date | string | number;\n /** Output language. Defaults to \"pt\". */\n locale?: \"pt\" | \"en\";\n}\n\n/**\n * Render a date as a human-friendly relative-time string (e.g. \"5 min atrás\")\n * inside a semantic `<time>` element with a machine-readable `dateTime`.\n *\n * Delegates the wording to the `relativeTime` util; \"pt\" maps to its \"pt-BR\"\n * locale.\n *\n * @example\n * <RelativeTime date={post.createdAt} locale=\"en\" />\n */\nexport function RelativeTime({ date, locale = \"pt\", ...props }: RelativeTimeProps) {\n const target = date instanceof Date ? date : new Date(date);\n const iso = Number.isNaN(target.getTime()) ? undefined : target.toISOString();\n const label = relativeTime(date, { locale: locale === \"pt\" ? \"pt-BR\" : \"en\" });\n\n return (\n <time dateTime={iso} {...props}>\n {label}\n </time>\n );\n}\n"],"mappings":"A,oFAoBA,SAAgBG,EAAa,CAAE,OAAM,SAAS,KAAM,GAAGC,GAA4B,CAC/E,IAAMC,EAASC,aAAgB,KAAOA,EAAO,IAAI,KAAKA,CAAI,EACpDC,EAAM,OAAO,MAAMF,EAAO,QAAQ,CAAC,EAAI,IAAA,GAAYA,EAAO,YAAY,EACtEG,EAAQR,EAAAA,aAAaM,EAAM,CAAE,OAAQG,IAAW,KAAO,QAAU,IAAK,CAAC,EAE7E,OACI,EAAAP,EAAA,IAAA,CAAC,OAAD,CAAM,SAAUK,EAAK,GAAIH,EACpB,SAAAI,CACC,CAAA,CAEd,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelativeTime.js","names":[],"sources":["../../../src/components/RelativeTime/RelativeTime.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { relativeTime } from \"@/utils/relative-time\";\n\nexport interface RelativeTimeProps extends HTMLAttributes<HTMLTimeElement> {\n /** The instant to render relative to now. */\n date: Date | string | number;\n /** Output language. Defaults to \"pt\". */\n locale?: \"pt\" | \"en\";\n}\n\n/**\n * Render a date as a human-friendly relative-time string (e.g. \"5 min atrás\")\n * inside a semantic `<time>` element with a machine-readable `dateTime`.\n *\n * Delegates the wording to the `relativeTime` util; \"pt\" maps to its \"pt-BR\"\n * locale.\n *\n * @example\n * <RelativeTime date={post.createdAt} locale=\"en\" />\n */\nexport function RelativeTime({ date, locale = \"pt\", ...props }: RelativeTimeProps) {\n const target = date instanceof Date ? date : new Date(date);\n const iso = Number.isNaN(target.getTime()) ? undefined : target.toISOString();\n const label = relativeTime(date, { locale: locale === \"pt\" ? \"pt-BR\" : \"en\" });\n\n return (\n <time dateTime={iso} {...props}>\n {label}\n </time>\n );\n}\n"],"mappings":";;;AAoBA,
|
|
1
|
+
{"version":3,"file":"RelativeTime.js","names":["RelativeTime","props","target","date","iso","label","relativeTime","locale"],"sources":["../../../src/components/RelativeTime/RelativeTime.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport { relativeTime } from \"@/utils/relative-time\";\n\nexport interface RelativeTimeProps extends HTMLAttributes<HTMLTimeElement> {\n /** The instant to render relative to now. */\n date: Date | string | number;\n /** Output language. Defaults to \"pt\". */\n locale?: \"pt\" | \"en\";\n}\n\n/**\n * Render a date as a human-friendly relative-time string (e.g. \"5 min atrás\")\n * inside a semantic `<time>` element with a machine-readable `dateTime`.\n *\n * Delegates the wording to the `relativeTime` util; \"pt\" maps to its \"pt-BR\"\n * locale.\n *\n * @example\n * <RelativeTime date={post.createdAt} locale=\"en\" />\n */\nexport function RelativeTime({ date, locale = \"pt\", ...props }: RelativeTimeProps) {\n const target = date instanceof Date ? date : new Date(date);\n const iso = Number.isNaN(target.getTime()) ? undefined : target.toISOString();\n const label = relativeTime(date, { locale: locale === \"pt\" ? \"pt-BR\" : \"en\" });\n\n return (\n <time dateTime={iso} {...props}>\n {label}\n </time>\n );\n}\n"],"mappings":";;;AAoBA,SAAgBA,EAAa,EAAE,SAAM,YAAS,MAAM,GAAGC,KAA4B;CAC/E,IAAMC,IAASC,aAAgB,OAAOA,IAAO,IAAI,KAAKA,CAAI,GACpDC,IAAM,OAAO,MAAMF,EAAO,QAAQ,CAAC,IAAI,KAAA,IAAYA,EAAO,YAAY,GACtEG,IAAQC,EAAaH,GAAM,EAAE,QAAQI,MAAW,OAAO,UAAU,KAAK,CAAC;CAE7E,OACI,kBAAC,QAAD;EAAM,UAAUH;EAAK,GAAIH;EACpB,UAAAI;CACC,CAAA;AAEd"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../../utils/cn.cjs"),t=require("./Resizable.module.cjs");let n=require("react"),r=require("react/jsx-runtime");var i=2;function a(e,t,n){return Math.min(n,Math.max(t,e))}function o({direction:o=`horizontal`,defaultSize:s=50,min:c=10,max:l=90,children:u,className:d,...f}){let[p,m]=(0,n.useState)(()=>a(s,c,l)),h=(0,n.useRef)(null),[g,_]=u,v=o===`horizontal`,y=(0,n.useCallback)((e,t)=>{let n=h.current;if(!n)return;let r=n.getBoundingClientRect(),i=v?r.width:r.height;if(i<=0)return;let o=(v?e-r.left:t-r.top)/i*100;m(a(o,c,l))},[v,c,l]),b=(0,n.useCallback)(e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);let t=e=>{y(e.clientX,e.clientY)},n=()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n)};window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n)},[y]),x=(0,n.useCallback)(e=>{let t=0;
|
|
1
|
+
const e=require("../../utils/cn.cjs"),t=require("./Resizable.module.cjs");let n=require("react"),r=require("react/jsx-runtime");var i=2;function a(e,t,n){return Math.min(n,Math.max(t,e))}function o({direction:o=`horizontal`,defaultSize:s=50,min:c=10,max:l=90,children:u,className:d,...f}){let[p,m]=(0,n.useState)(()=>a(s,c,l)),h=(0,n.useRef)(null),[g,_]=u,v=o===`horizontal`,y=(0,n.useCallback)((e,t)=>{let n=h.current;if(!n)return;let r=n.getBoundingClientRect(),i=v?r.width:r.height;if(i<=0)return;let o=(v?e-r.left:t-r.top)/i*100;m(a(o,c,l))},[v,c,l]),b=(0,n.useCallback)(e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);let t=e=>{y(e.clientX,e.clientY)},n=()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n)};window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n)},[y]),x=(0,n.useCallback)(e=>{let t=0;v?e.key===`ArrowRight`?t=i:e.key===`ArrowLeft`&&(t=-2):e.key===`ArrowDown`?t=i:e.key===`ArrowUp`&&(t=-2),e.key===`Home`?(e.preventDefault(),m(c)):e.key===`End`?(e.preventDefault(),m(l)):t!==0&&(e.preventDefault(),m(e=>a(e+t,c,l)))},[v,c,l]);return(0,r.jsxs)(`div`,{ref:h,className:e.cn(t.default.root,v?t.default.horizontal:t.default.vertical,d),...f,children:[(0,r.jsx)(`div`,{className:t.default.pane,style:{flexBasis:`${p}%`},children:g}),(0,r.jsx)(`div`,{role:`separator`,"aria-orientation":v?`vertical`:`horizontal`,"aria-valuenow":Math.round(p),"aria-valuemin":c,"aria-valuemax":l,tabIndex:0,className:t.default.divider,onPointerDown:b,onKeyDown:x,children:(0,r.jsx)(`span`,{className:t.default.handle,"aria-hidden":`true`})}),(0,r.jsx)(`div`,{className:t.default.pane,style:{flexBasis:`${100-p}%`},children:_})]})}exports.Resizable=o;
|
|
2
2
|
//# sourceMappingURL=Resizable.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.cjs","names":[],"sources":["../../../src/components/Resizable/Resizable.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body owns the pointer capture, the min/max\n * clamp and the keyboard resize step; all three write the same size and must agree\n * on the bounds.\n */\nimport { useCallback, useRef, useState } from \"react\";\nimport type { HTMLAttributes, KeyboardEvent, PointerEvent, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Resizable.module.css\";\n\nexport type ResizableDirection = \"horizontal\" | \"vertical\";\n\nexport interface ResizableProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Split orientation. `horizontal` (default) places panes side by side. */\n direction?: ResizableDirection;\n /** Initial size of the first pane, as a percentage. Defaults to `50`. */\n defaultSize?: number;\n /** Lower clamp for the first pane size, in percent. Defaults to `10`. */\n min?: number;\n /** Upper clamp for the first pane size, in percent. Defaults to `90`. */\n max?: number;\n /** Exactly two panes — `[paneA, paneB]`. */\n children: [ReactNode, ReactNode];\n}\n\nconst KEY_STEP = 2;\n\n/**\n * Clamp a number into the inclusive `[min, max]` range.\n *\n * @param value - The value to clamp.\n * @param min - Lower bound.\n * @param max - Upper bound.\n * @returns The clamped value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * A two-pane split layout with a draggable divider. The first pane is sized via\n * `flex-basis` as a percentage; the second pane fills the rest. Drag the divider\n * with a pointer, or focus it and use the arrow keys to adjust by 2% steps.\n *\n * The size is clamped to `[min, max]` at all times.\n */\nexport function Resizable({\n direction = \"horizontal\",\n defaultSize = 50,\n min = 10,\n max = 90,\n children,\n className,\n ...props\n}: ResizableProps) {\n const [size, setSize] = useState<number>(() => clamp(defaultSize, min, max));\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [paneA, paneB] = children;\n const isHorizontal = direction === \"horizontal\";\n\n const updateFromPointer = useCallback(\n (clientX: number, clientY: number): void => {\n const container = containerRef.current;\n if (!container) return;\n const rect = container.getBoundingClientRect();\n const total = isHorizontal ? rect.width : rect.height;\n if (total <= 0) return;\n const offset = isHorizontal ? clientX - rect.left : clientY - rect.top;\n const percent = (offset / total) * 100;\n setSize(clamp(percent, min, max));\n },\n [isHorizontal, min, max],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>): void => {\n event.preventDefault();\n const divider = event.currentTarget;\n divider.setPointerCapture(event.pointerId);\n\n const handleMove = (moveEvent: globalThis.PointerEvent): void => {\n updateFromPointer(moveEvent.clientX, moveEvent.clientY);\n };\n const handleUp = (): void => {\n window.removeEventListener(\"pointermove\", handleMove);\n window.removeEventListener(\"pointerup\", handleUp);\n };\n\n window.addEventListener(\"pointermove\", handleMove);\n window.addEventListener(\"pointerup\", handleUp);\n },\n [updateFromPointer],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>): void => {\n let delta = 0;\n if (isHorizontal) {\n if (event.key === \"ArrowRight\") delta = KEY_STEP;\n else if (event.key === \"ArrowLeft\") delta = -KEY_STEP;\n } else {\n if (event.key === \"ArrowDown\") delta = KEY_STEP;\n else if (event.key === \"ArrowUp\") delta = -KEY_STEP;\n }\n if (event.key === \"Home\") {\n event.preventDefault();\n setSize(min);\n return;\n }\n if (event.key === \"End\") {\n event.preventDefault();\n setSize(max);\n return;\n }\n if (delta === 0) return;\n event.preventDefault();\n setSize((current) => clamp(current + delta, min, max));\n },\n [isHorizontal, min, max],\n );\n\n return (\n <div\n ref={containerRef}\n className={cn(\n styles.root,\n isHorizontal ? styles.horizontal : styles.vertical,\n className,\n )}\n {...props}\n >\n <div className={styles.pane} style={{ flexBasis: `${size}%` }}>\n {paneA}\n </div>\n <div\n role=\"separator\"\n aria-orientation={isHorizontal ? \"vertical\" : \"horizontal\"}\n aria-valuenow={Math.round(size)}\n aria-valuemin={min}\n aria-valuemax={max}\n tabIndex={0}\n className={styles.divider}\n onPointerDown={handlePointerDown}\n onKeyDown={handleKeyDown}\n >\n <span className={styles.handle} aria-hidden=\"true\" />\n </div>\n <div className={styles.pane} style={{ flexBasis: `${100 - size}%` }}>\n {paneB}\n </div>\n </div>\n );\n}\n"],"mappings":"gIAyBA,
|
|
1
|
+
{"version":3,"file":"Resizable.cjs","names":["useState","useRef","useCallback","cn","styles","require_cn","require_Resizable_module","react","react_jsx_runtime","KEY_STEP","clamp","max","min","value","Resizable","props","size","setSize","defaultSize","containerRef","paneA","paneB","children","isHorizontal","direction","updateFromPointer","container","rect","total","percent","clientX","clientY","handlePointerDown","event","handleMove","moveEvent","handleUp","handleKeyDown","delta","current","className"],"sources":["../../../src/components/Resizable/Resizable.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body owns the pointer capture, the min/max\n * clamp and the keyboard resize step; all three write the same size and must agree\n * on the bounds.\n */\nimport { useCallback, useRef, useState } from \"react\";\nimport type { HTMLAttributes, KeyboardEvent, PointerEvent, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Resizable.module.css\";\n\nexport type ResizableDirection = \"horizontal\" | \"vertical\";\n\nexport interface ResizableProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Split orientation. `horizontal` (default) places panes side by side. */\n direction?: ResizableDirection;\n /** Initial size of the first pane, as a percentage. Defaults to `50`. */\n defaultSize?: number;\n /** Lower clamp for the first pane size, in percent. Defaults to `10`. */\n min?: number;\n /** Upper clamp for the first pane size, in percent. Defaults to `90`. */\n max?: number;\n /** Exactly two panes — `[paneA, paneB]`. */\n children: [ReactNode, ReactNode];\n}\n\nconst KEY_STEP = 2;\n\n/**\n * Clamp a number into the inclusive `[min, max]` range.\n *\n * @param value - The value to clamp.\n * @param min - Lower bound.\n * @param max - Upper bound.\n * @returns The clamped value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * A two-pane split layout with a draggable divider. The first pane is sized via\n * `flex-basis` as a percentage; the second pane fills the rest. Drag the divider\n * with a pointer, or focus it and use the arrow keys to adjust by 2% steps.\n *\n * The size is clamped to `[min, max]` at all times.\n */\nexport function Resizable({\n direction = \"horizontal\",\n defaultSize = 50,\n min = 10,\n max = 90,\n children,\n className,\n ...props\n}: ResizableProps) {\n const [size, setSize] = useState<number>(() => clamp(defaultSize, min, max));\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [paneA, paneB] = children;\n const isHorizontal = direction === \"horizontal\";\n\n const updateFromPointer = useCallback(\n (clientX: number, clientY: number): void => {\n const container = containerRef.current;\n if (!container) return;\n const rect = container.getBoundingClientRect();\n const total = isHorizontal ? rect.width : rect.height;\n if (total <= 0) return;\n const offset = isHorizontal ? clientX - rect.left : clientY - rect.top;\n const percent = (offset / total) * 100;\n setSize(clamp(percent, min, max));\n },\n [isHorizontal, min, max],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>): void => {\n event.preventDefault();\n const divider = event.currentTarget;\n divider.setPointerCapture(event.pointerId);\n\n const handleMove = (moveEvent: globalThis.PointerEvent): void => {\n updateFromPointer(moveEvent.clientX, moveEvent.clientY);\n };\n const handleUp = (): void => {\n window.removeEventListener(\"pointermove\", handleMove);\n window.removeEventListener(\"pointerup\", handleUp);\n };\n\n window.addEventListener(\"pointermove\", handleMove);\n window.addEventListener(\"pointerup\", handleUp);\n },\n [updateFromPointer],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>): void => {\n let delta = 0;\n if (isHorizontal) {\n if (event.key === \"ArrowRight\") delta = KEY_STEP;\n else if (event.key === \"ArrowLeft\") delta = -KEY_STEP;\n } else {\n if (event.key === \"ArrowDown\") delta = KEY_STEP;\n else if (event.key === \"ArrowUp\") delta = -KEY_STEP;\n }\n if (event.key === \"Home\") {\n event.preventDefault();\n setSize(min);\n return;\n }\n if (event.key === \"End\") {\n event.preventDefault();\n setSize(max);\n return;\n }\n if (delta === 0) return;\n event.preventDefault();\n setSize((current) => clamp(current + delta, min, max));\n },\n [isHorizontal, min, max],\n );\n\n return (\n <div\n ref={containerRef}\n className={cn(\n styles.root,\n isHorizontal ? styles.horizontal : styles.vertical,\n className,\n )}\n {...props}\n >\n <div className={styles.pane} style={{ flexBasis: `${size}%` }}>\n {paneA}\n </div>\n <div\n role=\"separator\"\n aria-orientation={isHorizontal ? \"vertical\" : \"horizontal\"}\n aria-valuenow={Math.round(size)}\n aria-valuemin={min}\n aria-valuemax={max}\n tabIndex={0}\n className={styles.divider}\n onPointerDown={handlePointerDown}\n onKeyDown={handleKeyDown}\n >\n <span className={styles.handle} aria-hidden=\"true\" />\n </div>\n <div className={styles.pane} style={{ flexBasis: `${100 - size}%` }}>\n {paneB}\n </div>\n </div>\n );\n}\n"],"mappings":"A,gIAyBA,IAAMS,EAAW,EAUjB,SAASC,EAAM,EAAe,EAAa,EAAqB,CAC5D,OAAO,KAAK,IAAIC,EAAK,KAAK,IAAIC,EAAKC,CAAK,CAAC,CAC7C,CASA,SAAgBC,EAAU,CACtB,YAAY,aACZ,cAAc,GACd,MAAM,GACN,MAAM,GACN,WACA,YACA,GAAGC,GACY,CACf,GAAM,CAACC,EAAMC,IAAA,EAAWjB,EAAAA,SAAAA,KAAuBU,EAAMQ,EAAaN,EAAKD,CAAG,CAAC,EACrEQ,GAAA,EAAelB,EAAAA,OAAAA,CAA8B,IAAI,EACjD,CAACmB,EAAOC,GAASC,EACjBC,EAAeC,IAAc,aAE7BC,GAAA,EAAoBvB,EAAAA,YAAAA,EACrB,EAAiB,IAA0B,CACxC,IAAMwB,EAAYP,EAAa,QAC/B,GAAI,CAACO,EAAW,OAChB,IAAMC,EAAOD,EAAU,sBAAsB,EACvCE,EAAQL,EAAeI,EAAK,MAAQA,EAAK,OAC/C,GAAIC,GAAS,EAAG,OAEhB,IAAMC,GADSN,EAAeO,EAAUH,EAAK,KAAOI,EAAUJ,EAAK,KACzCC,EAAS,IACnCX,EAAQP,EAAMmB,EAASjB,EAAKD,CAAG,CAAC,CACpC,EACA,CAACY,EAAcX,EAAKD,CAAG,CAC3B,EAEMqB,GAAA,EAAoB9B,EAAAA,YAAAA,CACrB,GAA8C,CAC3C+B,EAAM,eAAe,EAErBA,EADsB,cACd,kBAAkBA,EAAM,SAAS,EAEzC,IAAMC,EAAc,GAA6C,CAC7DT,EAAkBU,EAAU,QAASA,EAAU,OAAO,CAC1D,EACMC,MAAuB,CACzB,OAAO,oBAAoB,cAAeF,CAAU,EACpD,OAAO,oBAAoB,YAAaE,CAAQ,CACpD,EAEA,OAAO,iBAAiB,cAAeF,CAAU,EACjD,OAAO,iBAAiB,YAAaE,CAAQ,CACjD,EACA,CAACX,CAAiB,CACtB,EAEMY,GAAA,EAAgBnC,EAAAA,YAAAA,CACjB,GAA+C,CAC5C,IAAIoC,EAAQ,EACRf,EACIU,EAAM,MAAQ,aAAc,EAAQxB,EAC/BwB,EAAM,MAAQ,cAAa,EAAQ,IAExCA,EAAM,MAAQ,YAAa,EAAQxB,EAC9BwB,EAAM,MAAQ,YAAW,EAAQ,IAE1CA,EAAM,MAAQ,QACdA,EAAM,eAAe,EACrBhB,EAAQL,CAAG,GAGXqB,EAAM,MAAQ,OACdA,EAAM,eAAe,EACrBhB,EAAQN,CAAG,GAGX2B,IAAU,IACdL,EAAM,eAAe,EACrBhB,EAAS,GAAYP,EAAM6B,EAAUD,EAAO1B,EAAKD,CAAG,CAAC,EACzD,EACA,CAACY,EAAcX,EAAKD,CAAG,CAC3B,EAEA,OACI,EAAAH,EAAA,KAAA,CAAC,MAAD,CACI,IAAKW,EACL,UAAWhB,EAAAA,GACPC,EAAAA,QAAO,KACPmB,EAAenB,EAAAA,QAAO,WAAaA,EAAAA,QAAO,SAC1CoC,CACJ,EACA,GAAIzB,EAPR,SAAA,EASI,EAAAP,EAAA,IAAA,CAAC,MAAD,CAAK,UAAWJ,EAAAA,QAAO,KAAM,MAAO,CAAE,UAAW,GAAGY,EAAK,EAAG,EACvD,SAAAI,CACA,CAAA,GACL,EAAAZ,EAAA,IAAA,CAAC,MAAD,CACI,KAAK,YACL,mBAAkBe,EAAe,WAAa,aAC9C,gBAAe,KAAK,MAAMP,CAAI,EAC9B,gBAAeJ,EACf,gBAAeD,EACf,SAAU,EACV,UAAWP,EAAAA,QAAO,QAClB,cAAe4B,EACf,UAAWK,EAEX,UAAA,EAAA7B,EAAA,IAAA,CAAC,OAAD,CAAM,UAAWJ,EAAAA,QAAO,OAAQ,cAAY,MAAQ,CAAA,CACnD,CAAA,GACL,EAAAI,EAAA,IAAA,CAAC,MAAD,CAAK,UAAWJ,EAAAA,QAAO,KAAM,MAAO,CAAE,UAAW,GAAG,IAAMY,EAAK,EAAG,EAC7D,SAAAK,CACA,CAAA,CACJ,C,EAEb,C"}
|
|
@@ -29,15 +29,7 @@ function l({ direction: l = "horizontal", defaultSize: u = 50, min: d = 10, max:
|
|
|
29
29
|
window.addEventListener("pointermove", t), window.addEventListener("pointerup", n);
|
|
30
30
|
}, [S]), w = n((e) => {
|
|
31
31
|
let t = 0;
|
|
32
|
-
|
|
33
|
-
e.preventDefault(), _(d);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (e.key === "End") {
|
|
37
|
-
e.preventDefault(), _(f);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
t !== 0 && (e.preventDefault(), _((e) => c(e + t, d, f)));
|
|
32
|
+
x ? e.key === "ArrowRight" ? t = s : e.key === "ArrowLeft" && (t = -2) : e.key === "ArrowDown" ? t = s : e.key === "ArrowUp" && (t = -2), e.key === "Home" ? (e.preventDefault(), _(d)) : e.key === "End" ? (e.preventDefault(), _(f)) : t !== 0 && (e.preventDefault(), _((e) => c(e + t, d, f)));
|
|
41
33
|
}, [
|
|
42
34
|
x,
|
|
43
35
|
d,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.js","names":[],"sources":["../../../src/components/Resizable/Resizable.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body owns the pointer capture, the min/max\n * clamp and the keyboard resize step; all three write the same size and must agree\n * on the bounds.\n */\nimport { useCallback, useRef, useState } from \"react\";\nimport type { HTMLAttributes, KeyboardEvent, PointerEvent, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Resizable.module.css\";\n\nexport type ResizableDirection = \"horizontal\" | \"vertical\";\n\nexport interface ResizableProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Split orientation. `horizontal` (default) places panes side by side. */\n direction?: ResizableDirection;\n /** Initial size of the first pane, as a percentage. Defaults to `50`. */\n defaultSize?: number;\n /** Lower clamp for the first pane size, in percent. Defaults to `10`. */\n min?: number;\n /** Upper clamp for the first pane size, in percent. Defaults to `90`. */\n max?: number;\n /** Exactly two panes — `[paneA, paneB]`. */\n children: [ReactNode, ReactNode];\n}\n\nconst KEY_STEP = 2;\n\n/**\n * Clamp a number into the inclusive `[min, max]` range.\n *\n * @param value - The value to clamp.\n * @param min - Lower bound.\n * @param max - Upper bound.\n * @returns The clamped value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * A two-pane split layout with a draggable divider. The first pane is sized via\n * `flex-basis` as a percentage; the second pane fills the rest. Drag the divider\n * with a pointer, or focus it and use the arrow keys to adjust by 2% steps.\n *\n * The size is clamped to `[min, max]` at all times.\n */\nexport function Resizable({\n direction = \"horizontal\",\n defaultSize = 50,\n min = 10,\n max = 90,\n children,\n className,\n ...props\n}: ResizableProps) {\n const [size, setSize] = useState<number>(() => clamp(defaultSize, min, max));\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [paneA, paneB] = children;\n const isHorizontal = direction === \"horizontal\";\n\n const updateFromPointer = useCallback(\n (clientX: number, clientY: number): void => {\n const container = containerRef.current;\n if (!container) return;\n const rect = container.getBoundingClientRect();\n const total = isHorizontal ? rect.width : rect.height;\n if (total <= 0) return;\n const offset = isHorizontal ? clientX - rect.left : clientY - rect.top;\n const percent = (offset / total) * 100;\n setSize(clamp(percent, min, max));\n },\n [isHorizontal, min, max],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>): void => {\n event.preventDefault();\n const divider = event.currentTarget;\n divider.setPointerCapture(event.pointerId);\n\n const handleMove = (moveEvent: globalThis.PointerEvent): void => {\n updateFromPointer(moveEvent.clientX, moveEvent.clientY);\n };\n const handleUp = (): void => {\n window.removeEventListener(\"pointermove\", handleMove);\n window.removeEventListener(\"pointerup\", handleUp);\n };\n\n window.addEventListener(\"pointermove\", handleMove);\n window.addEventListener(\"pointerup\", handleUp);\n },\n [updateFromPointer],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>): void => {\n let delta = 0;\n if (isHorizontal) {\n if (event.key === \"ArrowRight\") delta = KEY_STEP;\n else if (event.key === \"ArrowLeft\") delta = -KEY_STEP;\n } else {\n if (event.key === \"ArrowDown\") delta = KEY_STEP;\n else if (event.key === \"ArrowUp\") delta = -KEY_STEP;\n }\n if (event.key === \"Home\") {\n event.preventDefault();\n setSize(min);\n return;\n }\n if (event.key === \"End\") {\n event.preventDefault();\n setSize(max);\n return;\n }\n if (delta === 0) return;\n event.preventDefault();\n setSize((current) => clamp(current + delta, min, max));\n },\n [isHorizontal, min, max],\n );\n\n return (\n <div\n ref={containerRef}\n className={cn(\n styles.root,\n isHorizontal ? styles.horizontal : styles.vertical,\n className,\n )}\n {...props}\n >\n <div className={styles.pane} style={{ flexBasis: `${size}%` }}>\n {paneA}\n </div>\n <div\n role=\"separator\"\n aria-orientation={isHorizontal ? \"vertical\" : \"horizontal\"}\n aria-valuenow={Math.round(size)}\n aria-valuemin={min}\n aria-valuemax={max}\n tabIndex={0}\n className={styles.divider}\n onPointerDown={handlePointerDown}\n onKeyDown={handleKeyDown}\n >\n <span className={styles.handle} aria-hidden=\"true\" />\n </div>\n <div className={styles.pane} style={{ flexBasis: `${100 - size}%` }}>\n {paneB}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAyBA,
|
|
1
|
+
{"version":3,"file":"Resizable.js","names":["styles","Resizable_module_default","KEY_STEP","clamp","max","min","value","Resizable","props","size","setSize","useState","defaultSize","containerRef","useRef","paneA","paneB","children","isHorizontal","direction","updateFromPointer","useCallback","container","rect","total","percent","clientX","clientY","handlePointerDown","event","handleMove","moveEvent","handleUp","handleKeyDown","delta","current","cn","className"],"sources":["../../../src/components/Resizable/Resizable.tsx"],"sourcesContent":["/**\n * @tempest-limits function-lines — the body owns the pointer capture, the min/max\n * clamp and the keyboard resize step; all three write the same size and must agree\n * on the bounds.\n */\nimport { useCallback, useRef, useState } from \"react\";\nimport type { HTMLAttributes, KeyboardEvent, PointerEvent, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./Resizable.module.css\";\n\nexport type ResizableDirection = \"horizontal\" | \"vertical\";\n\nexport interface ResizableProps extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\n /** Split orientation. `horizontal` (default) places panes side by side. */\n direction?: ResizableDirection;\n /** Initial size of the first pane, as a percentage. Defaults to `50`. */\n defaultSize?: number;\n /** Lower clamp for the first pane size, in percent. Defaults to `10`. */\n min?: number;\n /** Upper clamp for the first pane size, in percent. Defaults to `90`. */\n max?: number;\n /** Exactly two panes — `[paneA, paneB]`. */\n children: [ReactNode, ReactNode];\n}\n\nconst KEY_STEP = 2;\n\n/**\n * Clamp a number into the inclusive `[min, max]` range.\n *\n * @param value - The value to clamp.\n * @param min - Lower bound.\n * @param max - Upper bound.\n * @returns The clamped value.\n */\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value));\n}\n\n/**\n * A two-pane split layout with a draggable divider. The first pane is sized via\n * `flex-basis` as a percentage; the second pane fills the rest. Drag the divider\n * with a pointer, or focus it and use the arrow keys to adjust by 2% steps.\n *\n * The size is clamped to `[min, max]` at all times.\n */\nexport function Resizable({\n direction = \"horizontal\",\n defaultSize = 50,\n min = 10,\n max = 90,\n children,\n className,\n ...props\n}: ResizableProps) {\n const [size, setSize] = useState<number>(() => clamp(defaultSize, min, max));\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [paneA, paneB] = children;\n const isHorizontal = direction === \"horizontal\";\n\n const updateFromPointer = useCallback(\n (clientX: number, clientY: number): void => {\n const container = containerRef.current;\n if (!container) return;\n const rect = container.getBoundingClientRect();\n const total = isHorizontal ? rect.width : rect.height;\n if (total <= 0) return;\n const offset = isHorizontal ? clientX - rect.left : clientY - rect.top;\n const percent = (offset / total) * 100;\n setSize(clamp(percent, min, max));\n },\n [isHorizontal, min, max],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>): void => {\n event.preventDefault();\n const divider = event.currentTarget;\n divider.setPointerCapture(event.pointerId);\n\n const handleMove = (moveEvent: globalThis.PointerEvent): void => {\n updateFromPointer(moveEvent.clientX, moveEvent.clientY);\n };\n const handleUp = (): void => {\n window.removeEventListener(\"pointermove\", handleMove);\n window.removeEventListener(\"pointerup\", handleUp);\n };\n\n window.addEventListener(\"pointermove\", handleMove);\n window.addEventListener(\"pointerup\", handleUp);\n },\n [updateFromPointer],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>): void => {\n let delta = 0;\n if (isHorizontal) {\n if (event.key === \"ArrowRight\") delta = KEY_STEP;\n else if (event.key === \"ArrowLeft\") delta = -KEY_STEP;\n } else {\n if (event.key === \"ArrowDown\") delta = KEY_STEP;\n else if (event.key === \"ArrowUp\") delta = -KEY_STEP;\n }\n if (event.key === \"Home\") {\n event.preventDefault();\n setSize(min);\n return;\n }\n if (event.key === \"End\") {\n event.preventDefault();\n setSize(max);\n return;\n }\n if (delta === 0) return;\n event.preventDefault();\n setSize((current) => clamp(current + delta, min, max));\n },\n [isHorizontal, min, max],\n );\n\n return (\n <div\n ref={containerRef}\n className={cn(\n styles.root,\n isHorizontal ? styles.horizontal : styles.vertical,\n className,\n )}\n {...props}\n >\n <div className={styles.pane} style={{ flexBasis: `${size}%` }}>\n {paneA}\n </div>\n <div\n role=\"separator\"\n aria-orientation={isHorizontal ? \"vertical\" : \"horizontal\"}\n aria-valuenow={Math.round(size)}\n aria-valuemin={min}\n aria-valuemax={max}\n tabIndex={0}\n className={styles.divider}\n onPointerDown={handlePointerDown}\n onKeyDown={handleKeyDown}\n >\n <span className={styles.handle} aria-hidden=\"true\" />\n </div>\n <div className={styles.pane} style={{ flexBasis: `${100 - size}%` }}>\n {paneB}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;AAyBA,IAAME,IAAW;AAUjB,SAASC,EAAM,GAAe,GAAa,GAAqB;CAC5D,OAAO,KAAK,IAAIC,GAAK,KAAK,IAAIC,GAAKC,CAAK,CAAC;AAC7C;AASA,SAAgBC,EAAU,EACtB,eAAY,cACZ,iBAAc,IACd,SAAM,IACN,SAAM,IACN,aACA,cACA,GAAGC,KACY;CACf,IAAM,CAACC,GAAMC,KAAWC,QAAuBR,EAAMS,GAAaP,GAAKD,CAAG,CAAC,GACrES,IAAeC,EAA8B,IAAI,GACjD,CAACC,GAAOC,KAASC,GACjBC,IAAeC,MAAc,cAE7BC,IAAoBC,GACrB,GAAiB,MAA0B;EACxC,IAAMC,IAAYT,EAAa;EAC/B,IAAI,CAACS,GAAW;EAChB,IAAMC,IAAOD,EAAU,sBAAsB,GACvCE,IAAQN,IAAeK,EAAK,QAAQA,EAAK;EAC/C,IAAIC,KAAS,GAAG;EAEhB,IAAMC,KADSP,IAAeQ,IAAUH,EAAK,OAAOI,IAAUJ,EAAK,OACzCC,IAAS;EACnC,EAAQrB,EAAMsB,GAASpB,GAAKD,CAAG,CAAC;CACpC,GACA;EAACc;EAAcb;EAAKD;CAAG,CAC3B,GAEMwB,IAAoBP,GACrB,MAA8C;EAG3C,AAFAQ,EAAM,eAAe,GAErBA,EADsB,cACd,kBAAkBA,EAAM,SAAS;EAEzC,IAAMC,KAAc,MAA6C;GAC7D,EAAkBC,EAAU,SAASA,EAAU,OAAO;EAC1D,GACMC,UAAuB;GAEzB,AADA,OAAO,oBAAoB,eAAeF,CAAU,GACpD,OAAO,oBAAoB,aAAaE,CAAQ;EACpD;EAGA,AADA,OAAO,iBAAiB,eAAeF,CAAU,GACjD,OAAO,iBAAiB,aAAaE,CAAQ;CACjD,GACA,CAACZ,CAAiB,CACtB,GAEMa,IAAgBZ,GACjB,MAA+C;EAC5C,IAAIa,IAAQ;EAQZ,AAPIhB,IACIW,EAAM,QAAQ,eAAc,IAAQ3B,IAC/B2B,EAAM,QAAQ,gBAAa,IAAQ,MAExCA,EAAM,QAAQ,cAAa,IAAQ3B,IAC9B2B,EAAM,QAAQ,cAAW,IAAQ,KAE1CA,EAAM,QAAQ,UACdA,EAAM,eAAe,GACrBnB,EAAQL,CAAG,KAGXwB,EAAM,QAAQ,SACdA,EAAM,eAAe,GACrBnB,EAAQN,CAAG,KAGX8B,MAAU,MACdL,EAAM,eAAe,GACrBnB,GAAS,MAAYP,EAAMgC,IAAUD,GAAO7B,GAAKD,CAAG,CAAC;CACzD,GACA;EAACc;EAAcb;EAAKD;CAAG,CAC3B;CAEA,OACI,kBAAC,OAAD;EACI,KAAKS;EACL,WAAWuB,EACPpC,EAAO,MACPkB,IAAelB,EAAO,aAAaA,EAAO,UAC1CqC,CACJ;EACA,GAAI7B;EAPR,UAAA;GASI,kBAAC,OAAD;IAAK,WAAWR,EAAO;IAAM,OAAO,EAAE,WAAW,GAAGS,EAAK,GAAG;IACvD,UAAAM;GACA,CAAA;GACL,kBAAC,OAAD;IACI,MAAK;IACL,oBAAkBG,IAAe,aAAa;IAC9C,iBAAe,KAAK,MAAMT,CAAI;IAC9B,iBAAeJ;IACf,iBAAeD;IACf,UAAU;IACV,WAAWJ,EAAO;IAClB,eAAe4B;IACf,WAAWK;IAEX,UAAA,kBAAC,QAAD;KAAM,WAAWjC,EAAO;KAAQ,eAAY;IAAQ,CAAA;GACnD,CAAA;GACL,kBAAC,OAAD;IAAK,WAAWA,EAAO;IAAM,OAAO,EAAE,WAAW,GAAG,MAAMS,EAAK,GAAG;IAC7D,UAAAO;GACA,CAAA;EACJ;;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.module.cjs","names":[],"sources":["../../../src/components/Resizable/Resizable.module.css"],"sourcesContent":[".root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.horizontal {\n flex-direction: row;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n.pane {\n flex-grow: 0;\n flex-shrink: 0;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n}\n\n.divider {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--tempest-border);\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n touch-action: none;\n user-select: none;\n}\n\n.divider:hover,\n.divider:focus-visible {\n background-color: var(--tempest-primary);\n}\n\n.divider: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\n.horizontal > .divider {\n width: 6px;\n height: 100%;\n cursor: col-resize;\n}\n\n.vertical > .divider {\n width: 100%;\n height: 6px;\n cursor: row-resize;\n}\n\n.handle {\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n opacity: 0.7;\n}\n\n.horizontal > .divider .handle {\n width: 2px;\n height: 24px;\n}\n\n.vertical > .divider .handle {\n width: 24px;\n height: 2px;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Resizable.module.cjs","names":["root","horizontal","vertical","pane","divider","handle","Resizable_module_default"],"sources":["../../../src/components/Resizable/Resizable.module.css"],"sourcesContent":[".root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.horizontal {\n flex-direction: row;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n.pane {\n flex-grow: 0;\n flex-shrink: 0;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n}\n\n.divider {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--tempest-border);\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n touch-action: none;\n user-select: none;\n}\n\n.divider:hover,\n.divider:focus-visible {\n background-color: var(--tempest-primary);\n}\n\n.divider: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\n.horizontal > .divider {\n width: 6px;\n height: 100%;\n cursor: col-resize;\n}\n\n.vertical > .divider {\n width: 100%;\n height: 6px;\n cursor: row-resize;\n}\n\n.handle {\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n opacity: 0.7;\n}\n\n.horizontal > .divider .handle {\n width: 2px;\n height: 24px;\n}\n\n.vertical > .divider .handle {\n width: 24px;\n height: 2px;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resizable.module.js","names":[],"sources":["../../../src/components/Resizable/Resizable.module.css"],"sourcesContent":[".root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.horizontal {\n flex-direction: row;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n.pane {\n flex-grow: 0;\n flex-shrink: 0;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n}\n\n.divider {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--tempest-border);\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n touch-action: none;\n user-select: none;\n}\n\n.divider:hover,\n.divider:focus-visible {\n background-color: var(--tempest-primary);\n}\n\n.divider: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\n.horizontal > .divider {\n width: 6px;\n height: 100%;\n cursor: col-resize;\n}\n\n.vertical > .divider {\n width: 100%;\n height: 6px;\n cursor: row-resize;\n}\n\n.handle {\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n opacity: 0.7;\n}\n\n.horizontal > .divider .handle {\n width: 2px;\n height: 24px;\n}\n\n.vertical > .divider .handle {\n width: 24px;\n height: 2px;\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Resizable.module.js","names":["root","horizontal","vertical","pane","divider","handle","Resizable_module_default"],"sources":["../../../src/components/Resizable/Resizable.module.css"],"sourcesContent":[".root {\n display: flex;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.horizontal {\n flex-direction: row;\n}\n\n.vertical {\n flex-direction: column;\n}\n\n.pane {\n flex-grow: 0;\n flex-shrink: 0;\n min-width: 0;\n min-height: 0;\n overflow: auto;\n}\n\n.divider {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--tempest-border);\n transition: background-color var(--tempest-duration-fast) var(--tempest-ease-out);\n touch-action: none;\n user-select: none;\n}\n\n.divider:hover,\n.divider:focus-visible {\n background-color: var(--tempest-primary);\n}\n\n.divider: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\n.horizontal > .divider {\n width: 6px;\n height: 100%;\n cursor: col-resize;\n}\n\n.vertical > .divider {\n width: 100%;\n height: 6px;\n cursor: row-resize;\n}\n\n.handle {\n border-radius: var(--tempest-radius-full);\n background-color: var(--tempest-surface);\n opacity: 0.7;\n}\n\n.horizontal > .divider .handle {\n width: 2px;\n height: 24px;\n}\n\n.vertical > .divider .handle {\n width: 24px;\n height: 2px;\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Responsive.cjs","names":[],"sources":["../../../src/components/Responsive/Responsive.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { useBreakpoint, type Breakpoint } from \"@/hooks/use-breakpoint\";\n\nexport interface ShowProps {\n /** Render children only when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Render children only when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Render only on specific breakpoints. Wins over `above`/`below` when set. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\nfunction shouldRender(\n current: Breakpoint,\n above: Breakpoint | undefined,\n below: Breakpoint | undefined,\n only: Breakpoint | Breakpoint[] | undefined,\n helpers: { above: (bp: Breakpoint) => boolean; below: (bp: Breakpoint) => boolean },\n): boolean {\n if (only) {\n const list = Array.isArray(only) ? only : [only];\n return list.includes(current);\n }\n if (above && !helpers.above(above)) return false;\n if (below && !helpers.below(below)) return false;\n return true;\n}\n\n/**\n * Conditionally render children based on the viewport breakpoint.\n *\n * - `above` — render when viewport width is `>=` the given breakpoint.\n * - `below` — render when viewport width is `<` the given breakpoint.\n * - `only` — render only on the listed breakpoint(s).\n *\n * SSR-safe: first render uses `xs` (renders mobile content first); the\n * component re-renders once `useBreakpoint` has the real viewport width.\n */\nexport function Show({ above, below, only, children }: ShowProps): ReactNode {\n const bp = useBreakpoint();\n if (!shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n\nexport interface HideProps {\n /** Hide children when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Hide children when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Hide on specific breakpoints. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\n/** Inverse of `<Show>` — hides children when the condition matches. */\nexport function Hide({ above, below, only, children }: HideProps): ReactNode {\n const bp = useBreakpoint();\n if (shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n"],"mappings":"kDAaA,
|
|
1
|
+
{"version":3,"file":"Responsive.cjs","names":["useBreakpoint","require_use_breakpoint","shouldRender","only","current","above","helpers","below","Show","bp","children","Hide"],"sources":["../../../src/components/Responsive/Responsive.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { useBreakpoint, type Breakpoint } from \"@/hooks/use-breakpoint\";\n\nexport interface ShowProps {\n /** Render children only when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Render children only when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Render only on specific breakpoints. Wins over `above`/`below` when set. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\nfunction shouldRender(\n current: Breakpoint,\n above: Breakpoint | undefined,\n below: Breakpoint | undefined,\n only: Breakpoint | Breakpoint[] | undefined,\n helpers: { above: (bp: Breakpoint) => boolean; below: (bp: Breakpoint) => boolean },\n): boolean {\n if (only) {\n const list = Array.isArray(only) ? only : [only];\n return list.includes(current);\n }\n if (above && !helpers.above(above)) return false;\n if (below && !helpers.below(below)) return false;\n return true;\n}\n\n/**\n * Conditionally render children based on the viewport breakpoint.\n *\n * - `above` — render when viewport width is `>=` the given breakpoint.\n * - `below` — render when viewport width is `<` the given breakpoint.\n * - `only` — render only on the listed breakpoint(s).\n *\n * SSR-safe: first render uses `xs` (renders mobile content first); the\n * component re-renders once `useBreakpoint` has the real viewport width.\n */\nexport function Show({ above, below, only, children }: ShowProps): ReactNode {\n const bp = useBreakpoint();\n if (!shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n\nexport interface HideProps {\n /** Hide children when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Hide children when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Hide on specific breakpoints. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\n/** Inverse of `<Show>` — hides children when the condition matches. */\nexport function Hide({ above, below, only, children }: HideProps): ReactNode {\n const bp = useBreakpoint();\n if (shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n"],"mappings":"A,kDAaA,SAASE,EACL,EACA,EACA,EACA,EACA,EACO,CAOP,OANIC,GACa,MAAM,QAAQA,CAAI,EAAIA,EAAO,CAACA,CAAI,EAAA,CACnC,SAASC,CAAO,EAGhC,EADIC,GAAS,CAACC,EAAQ,MAAMD,CAAK,GAC7BE,GAAS,CAACD,EAAQ,MAAMC,CAAK,EAErC,CAYA,SAAgBC,EAAK,CAAE,QAAO,QAAO,OAAM,YAAkC,CACzE,IAAMC,EAAKT,EAAAA,cAAc,EAEzB,OADKE,EAAaO,EAAG,QAASJ,EAAOE,EAAOJ,EAAMM,CAAE,EAC7CC,EADuD,IAElE,CAaA,SAAgBC,EAAK,CAAE,QAAO,QAAO,OAAM,YAAkC,CACzE,IAAMF,EAAKT,EAAAA,cAAc,EAEzB,OADIE,EAAaO,EAAG,QAASJ,EAAOE,EAAOJ,EAAMM,CAAE,EAAU,KACtDC,CACX,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Responsive.js","names":[],"sources":["../../../src/components/Responsive/Responsive.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { useBreakpoint, type Breakpoint } from \"@/hooks/use-breakpoint\";\n\nexport interface ShowProps {\n /** Render children only when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Render children only when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Render only on specific breakpoints. Wins over `above`/`below` when set. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\nfunction shouldRender(\n current: Breakpoint,\n above: Breakpoint | undefined,\n below: Breakpoint | undefined,\n only: Breakpoint | Breakpoint[] | undefined,\n helpers: { above: (bp: Breakpoint) => boolean; below: (bp: Breakpoint) => boolean },\n): boolean {\n if (only) {\n const list = Array.isArray(only) ? only : [only];\n return list.includes(current);\n }\n if (above && !helpers.above(above)) return false;\n if (below && !helpers.below(below)) return false;\n return true;\n}\n\n/**\n * Conditionally render children based on the viewport breakpoint.\n *\n * - `above` — render when viewport width is `>=` the given breakpoint.\n * - `below` — render when viewport width is `<` the given breakpoint.\n * - `only` — render only on the listed breakpoint(s).\n *\n * SSR-safe: first render uses `xs` (renders mobile content first); the\n * component re-renders once `useBreakpoint` has the real viewport width.\n */\nexport function Show({ above, below, only, children }: ShowProps): ReactNode {\n const bp = useBreakpoint();\n if (!shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n\nexport interface HideProps {\n /** Hide children when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Hide children when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Hide on specific breakpoints. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\n/** Inverse of `<Show>` — hides children when the condition matches. */\nexport function Hide({ above, below, only, children }: HideProps): ReactNode {\n const bp = useBreakpoint();\n if (shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n"],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"Responsive.js","names":["shouldRender","only","current","above","helpers","below","Show","bp","useBreakpoint","children","Hide"],"sources":["../../../src/components/Responsive/Responsive.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { useBreakpoint, type Breakpoint } from \"@/hooks/use-breakpoint\";\n\nexport interface ShowProps {\n /** Render children only when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Render children only when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Render only on specific breakpoints. Wins over `above`/`below` when set. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\nfunction shouldRender(\n current: Breakpoint,\n above: Breakpoint | undefined,\n below: Breakpoint | undefined,\n only: Breakpoint | Breakpoint[] | undefined,\n helpers: { above: (bp: Breakpoint) => boolean; below: (bp: Breakpoint) => boolean },\n): boolean {\n if (only) {\n const list = Array.isArray(only) ? only : [only];\n return list.includes(current);\n }\n if (above && !helpers.above(above)) return false;\n if (below && !helpers.below(below)) return false;\n return true;\n}\n\n/**\n * Conditionally render children based on the viewport breakpoint.\n *\n * - `above` — render when viewport width is `>=` the given breakpoint.\n * - `below` — render when viewport width is `<` the given breakpoint.\n * - `only` — render only on the listed breakpoint(s).\n *\n * SSR-safe: first render uses `xs` (renders mobile content first); the\n * component re-renders once `useBreakpoint` has the real viewport width.\n */\nexport function Show({ above, below, only, children }: ShowProps): ReactNode {\n const bp = useBreakpoint();\n if (!shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n\nexport interface HideProps {\n /** Hide children when viewport width is `>=` this breakpoint. */\n above?: Breakpoint;\n /** Hide children when viewport width is `<` this breakpoint. */\n below?: Breakpoint;\n /** Hide on specific breakpoints. */\n only?: Breakpoint | Breakpoint[];\n children: ReactNode;\n}\n\n/** Inverse of `<Show>` — hides children when the condition matches. */\nexport function Hide({ above, below, only, children }: HideProps): ReactNode {\n const bp = useBreakpoint();\n if (shouldRender(bp.current, above, below, only, bp)) return null;\n return children;\n}\n"],"mappings":";;AAaA,SAASA,EACL,GACA,GACA,GACA,GACA,GACO;CAOP,OANIC,KACa,MAAM,QAAQA,CAAI,IAAIA,IAAO,CAACA,CAAI,EAAA,CACnC,SAASC,CAAO,IAGhC,EADIC,KAAS,CAACC,EAAQ,MAAMD,CAAK,KAC7BE,KAAS,CAACD,EAAQ,MAAMC,CAAK;AAErC;AAYA,SAAgBC,EAAK,EAAE,UAAO,UAAO,SAAM,eAAkC;CACzE,IAAMC,IAAKC,EAAc;CAEzB,OADKR,EAAaO,EAAG,SAASJ,GAAOE,GAAOJ,GAAMM,CAAE,IAC7CE,IADuD;AAElE;AAaA,SAAgBC,EAAK,EAAE,UAAO,UAAO,SAAM,eAAkC;CACzE,IAAMH,IAAKC,EAAc;CAEzB,OADIR,EAAaO,EAAG,SAASJ,GAAOE,GAAOJ,GAAMM,CAAE,IAAU,OACtDE;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reveal.cjs","names":[],"sources":["../../../src/components/Reveal/Reveal.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, HTMLAttributes, JSX, RefObject } from \"react\";\nimport { useEffect, useRef, useState, useSyncExternalStore } from \"react\";\nimport { useIntersectionObserver } from \"@/hooks/use-intersection-observer\";\nimport { cn } from \"@/utils/cn\";\nimport { RATIO_EPSILON, effectiveThreshold } from \"./reveal-threshold\";\nimport styles from \"./Reveal.module.css\";\n\n/** Direction the content travels from, or `\"fade\"` / `\"scale\"` for no travel. */\nexport type RevealVariant = \"fade\" | \"up\" | \"down\" | \"left\" | \"right\" | \"scale\";\n\n/** Visual state written to `data-state`. */\nexport type RevealState = \"static\" | \"hidden\" | \"shown\";\n\nexport interface RevealProps extends HTMLAttributes<HTMLElement> {\n /** Intrinsic element to render, e.g. `\"li\"` inside a list. Defaults to `\"div\"`. */\n as?: keyof JSX.IntrinsicElements;\n /** How the content enters. Defaults to `\"up\"`. */\n variant?: RevealVariant;\n /** Wait before the entrance starts, in ms. Stagger siblings with `index * step`. */\n delay?: number;\n /** Length of the entrance, in ms. Defaults to `--tempest-duration-slower`. */\n duration?: number;\n /** Reveal once and stop observing. With `false`, it hides again once fully out of view. Defaults to `true`. */\n once?: boolean;\n /**\n * Fraction of the element — or of the viewport, when the element is taller\n * than it — that must be visible to reveal. Defaults to `0.15`.\n */\n threshold?: number;\n /** Margin around the root, as in `IntersectionObserver`. Defaults to `\"0px\"`. */\n rootMargin?: string;\n}\n\n/** A ref that never points at an element, used to switch the observer off. */\nconst DETACHED: RefObject<Element | null> = { current: null };\n\n/**\n * Subscribe function for a snapshot that never changes after mount.\n *\n * @returns A no-op unsubscribe.\n */\nfunction subscribeNever(): () => void {\n return () => undefined;\n}\n\n/**\n * Whether this environment can observe intersections.\n *\n * @returns `true` when `IntersectionObserver` exists.\n */\nfunction canObserve(): boolean {\n return typeof IntersectionObserver !== \"undefined\";\n}\n\n/**\n * Server snapshot: never hide content that was rendered without JavaScript.\n *\n * @returns Always `false`.\n */\nfunction cannotObserve(): boolean {\n return false;\n}\n\n/**\n * Animate content into view the first time it is scrolled to.\n *\n * The three failure modes of a hand-rolled version are handled here, not left to\n * the docs:\n *\n * - **Reduced motion.** Under `prefers-reduced-motion: reduce` the stylesheet\n * pins the element visible with no transform and no transition, whatever\n * state it is in — so the setting also wins when it changes mid-session.\n * - **No `IntersectionObserver`** (old engines, some crawlers, tests): the\n * element stays in the `\"static\"` state, which is plain visible content. It is\n * never hidden waiting for an observation that cannot come.\n * - **Taller than the viewport.** A box three viewports tall never reaches a\n * ratio of 0.5, so a raw observer with that threshold never reveals it. The\n * threshold is rescaled by the highest ratio the element can reach (see\n * `effectiveThreshold`), read from the first observation.\n *\n * Content is hidden only when the client can observe: the server snapshot of\n * `useSyncExternalStore` is `\"static\"`, so markup rendered without JavaScript —\n * or before hydration — is visible. The transition is declared on the `\"shown\"`\n * state only, so the switch to `\"hidden\"` on mount is instant instead of a\n * fade-out, and with `once={false}` leaving the viewport hides without motion.\n *\n * With `once={false}` the element hides only once it is fully out of view. Hiding\n * on the threshold would oscillate: the hidden state translates the box, which\n * moves it back across the same threshold.\n *\n * @example\n * <ul>\n * {steps.map((step, index) => (\n * <Reveal key={step.id} as=\"li\" delay={index * 80}>\n * {step.title}\n * </Reveal>\n * ))}\n * </ul>\n */\nexport function Reveal({\n as = \"div\",\n variant = \"up\",\n delay,\n duration,\n once = true,\n threshold = 0.15,\n rootMargin = \"0px\",\n className,\n style,\n children,\n ...props\n}: RevealProps) {\n const ref = useRef<HTMLElement>(null);\n const observable = useSyncExternalStore(subscribeNever, canObserve, cannotObserve);\n const [shown, setShown] = useState<boolean>(false);\n const [rescaled, setRescaled] = useState<{ requested: number; value: number }>({\n requested: threshold,\n value: threshold,\n });\n const observeAt = rescaled.requested === threshold ? rescaled.value : threshold;\n const settled = once && shown;\n\n const entry = useIntersectionObserver(observable && !settled ? ref : DETACHED, {\n rootMargin,\n threshold: observeAt,\n });\n\n useEffect(() => {\n if (!entry) return;\n const target = effectiveThreshold(threshold, entry);\n if (Math.abs(target - observeAt) > RATIO_EPSILON) {\n setRescaled({ requested: threshold, value: target });\n }\n if (entry.isIntersecting && entry.intersectionRatio + RATIO_EPSILON >= target) {\n setShown(true);\n } else if (!once && !entry.isIntersecting) {\n setShown(false);\n }\n }, [entry, threshold, observeAt, once]);\n\n const state: RevealState = !observable ? \"static\" : shown ? \"shown\" : \"hidden\";\n const timing: Record<string, string> = {};\n if (delay !== undefined) timing[\"--tempest-reveal-delay\"] = `${delay}ms`;\n if (duration !== undefined) timing[\"--tempest-reveal-duration\"] = `${duration}ms`;\n\n const Tag = as as ElementType;\n\n return (\n <Tag\n {...props}\n ref={ref}\n className={cn(styles.reveal, className)}\n style={{ ...timing, ...style } as CSSProperties}\n data-state={state}\n data-variant={variant}\n >\n {children}\n </Tag>\n );\n}\n"],"mappings":"wNAkCA,
|
|
1
|
+
{"version":3,"file":"Reveal.cjs","names":["useRef","useSyncExternalStore","useState","useIntersectionObserver","effectiveThreshold","Tag","cn","styles","require_cn","require_use_intersection_observer","require_reveal_threshold","require_Reveal_module","react","react_jsx_runtime","DETACHED","subscribeNever","canObserve","cannotObserve","Reveal","props","ref","observable","shown","setShown","rescaled","setRescaled","threshold","observeAt","entry","once","target","state","timing","delay","duration","as","className","style","variant"],"sources":["../../../src/components/Reveal/Reveal.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, HTMLAttributes, JSX, RefObject } from \"react\";\nimport { useEffect, useRef, useState, useSyncExternalStore } from \"react\";\nimport { useIntersectionObserver } from \"@/hooks/use-intersection-observer\";\nimport { cn } from \"@/utils/cn\";\nimport { RATIO_EPSILON, effectiveThreshold } from \"./reveal-threshold\";\nimport styles from \"./Reveal.module.css\";\n\n/** Direction the content travels from, or `\"fade\"` / `\"scale\"` for no travel. */\nexport type RevealVariant = \"fade\" | \"up\" | \"down\" | \"left\" | \"right\" | \"scale\";\n\n/** Visual state written to `data-state`. */\nexport type RevealState = \"static\" | \"hidden\" | \"shown\";\n\nexport interface RevealProps extends HTMLAttributes<HTMLElement> {\n /** Intrinsic element to render, e.g. `\"li\"` inside a list. Defaults to `\"div\"`. */\n as?: keyof JSX.IntrinsicElements;\n /** How the content enters. Defaults to `\"up\"`. */\n variant?: RevealVariant;\n /** Wait before the entrance starts, in ms. Stagger siblings with `index * step`. */\n delay?: number;\n /** Length of the entrance, in ms. Defaults to `--tempest-duration-slower`. */\n duration?: number;\n /** Reveal once and stop observing. With `false`, it hides again once fully out of view. Defaults to `true`. */\n once?: boolean;\n /**\n * Fraction of the element — or of the viewport, when the element is taller\n * than it — that must be visible to reveal. Defaults to `0.15`.\n */\n threshold?: number;\n /** Margin around the root, as in `IntersectionObserver`. Defaults to `\"0px\"`. */\n rootMargin?: string;\n}\n\n/** A ref that never points at an element, used to switch the observer off. */\nconst DETACHED: RefObject<Element | null> = { current: null };\n\n/**\n * Subscribe function for a snapshot that never changes after mount.\n *\n * @returns A no-op unsubscribe.\n */\nfunction subscribeNever(): () => void {\n return () => undefined;\n}\n\n/**\n * Whether this environment can observe intersections.\n *\n * @returns `true` when `IntersectionObserver` exists.\n */\nfunction canObserve(): boolean {\n return typeof IntersectionObserver !== \"undefined\";\n}\n\n/**\n * Server snapshot: never hide content that was rendered without JavaScript.\n *\n * @returns Always `false`.\n */\nfunction cannotObserve(): boolean {\n return false;\n}\n\n/**\n * Animate content into view the first time it is scrolled to.\n *\n * The three failure modes of a hand-rolled version are handled here, not left to\n * the docs:\n *\n * - **Reduced motion.** Under `prefers-reduced-motion: reduce` the stylesheet\n * pins the element visible with no transform and no transition, whatever\n * state it is in — so the setting also wins when it changes mid-session.\n * - **No `IntersectionObserver`** (old engines, some crawlers, tests): the\n * element stays in the `\"static\"` state, which is plain visible content. It is\n * never hidden waiting for an observation that cannot come.\n * - **Taller than the viewport.** A box three viewports tall never reaches a\n * ratio of 0.5, so a raw observer with that threshold never reveals it. The\n * threshold is rescaled by the highest ratio the element can reach (see\n * `effectiveThreshold`), read from the first observation.\n *\n * Content is hidden only when the client can observe: the server snapshot of\n * `useSyncExternalStore` is `\"static\"`, so markup rendered without JavaScript —\n * or before hydration — is visible. The transition is declared on the `\"shown\"`\n * state only, so the switch to `\"hidden\"` on mount is instant instead of a\n * fade-out, and with `once={false}` leaving the viewport hides without motion.\n *\n * With `once={false}` the element hides only once it is fully out of view. Hiding\n * on the threshold would oscillate: the hidden state translates the box, which\n * moves it back across the same threshold.\n *\n * @example\n * <ul>\n * {steps.map((step, index) => (\n * <Reveal key={step.id} as=\"li\" delay={index * 80}>\n * {step.title}\n * </Reveal>\n * ))}\n * </ul>\n */\nexport function Reveal({\n as = \"div\",\n variant = \"up\",\n delay,\n duration,\n once = true,\n threshold = 0.15,\n rootMargin = \"0px\",\n className,\n style,\n children,\n ...props\n}: RevealProps) {\n const ref = useRef<HTMLElement>(null);\n const observable = useSyncExternalStore(subscribeNever, canObserve, cannotObserve);\n const [shown, setShown] = useState<boolean>(false);\n const [rescaled, setRescaled] = useState<{ requested: number; value: number }>({\n requested: threshold,\n value: threshold,\n });\n const observeAt = rescaled.requested === threshold ? rescaled.value : threshold;\n const settled = once && shown;\n\n const entry = useIntersectionObserver(observable && !settled ? ref : DETACHED, {\n rootMargin,\n threshold: observeAt,\n });\n\n useEffect(() => {\n if (!entry) return;\n const target = effectiveThreshold(threshold, entry);\n if (Math.abs(target - observeAt) > RATIO_EPSILON) {\n setRescaled({ requested: threshold, value: target });\n }\n if (entry.isIntersecting && entry.intersectionRatio + RATIO_EPSILON >= target) {\n setShown(true);\n } else if (!once && !entry.isIntersecting) {\n setShown(false);\n }\n }, [entry, threshold, observeAt, once]);\n\n const state: RevealState = !observable ? \"static\" : shown ? \"shown\" : \"hidden\";\n const timing: Record<string, string> = {};\n if (delay !== undefined) timing[\"--tempest-reveal-delay\"] = `${delay}ms`;\n if (duration !== undefined) timing[\"--tempest-reveal-duration\"] = `${duration}ms`;\n\n const Tag = as as ElementType;\n\n return (\n <Tag\n {...props}\n ref={ref}\n className={cn(styles.reveal, className)}\n style={{ ...timing, ...style } as CSSProperties}\n data-state={state}\n data-variant={variant}\n >\n {children}\n </Tag>\n );\n}\n"],"mappings":"A,wNAkCA,IAAMc,EAAsC,CAAE,QAAS,IAAK,EAO5D,SAASC,GAA6B,CAClC,UAAa,IAAA,EACjB,CAOA,SAASC,GAAsB,CAC3B,OAAO,OAAO,qBAAyB,GAC3C,CAOA,SAASC,GAAyB,CAC9B,MAAO,EACX,CAsCA,SAAgBC,EAAO,CACnB,KAAK,MACL,UAAU,KACV,QACA,WACA,OAAO,GACP,YAAY,IACZ,aAAa,MACb,YACA,QACA,WACA,GAAGC,GACS,CACZ,IAAMC,GAAA,EAAMpB,EAAAA,OAAAA,CAAoB,IAAI,EAC9BqB,GAAA,EAAapB,EAAAA,qBAAAA,CAAqBc,EAAgBC,EAAYC,CAAa,EAC3E,CAACK,EAAOC,IAAA,EAAYrB,EAAAA,SAAAA,CAAkB,EAAK,EAC3C,CAACsB,EAAUC,IAAA,EAAevB,EAAAA,SAAAA,CAA+C,CAC3E,UAAWwB,EACX,MAAOA,CACX,CAAC,EACKC,EAAYH,EAAS,YAAcE,EAAYF,EAAS,MAAQE,EAGhEE,EAAQzB,EAAAA,wBAAwBkB,GAAc,EAFpCQ,GAAQP,GAEuCF,EAAMN,EAAU,CAC3E,aACA,UAAWa,CACf,CAAC,GAED,EAAAf,EAAA,UAAA,KAAgB,CACZ,GAAI,CAACgB,EAAO,OACZ,IAAME,EAAS1B,EAAAA,mBAAmBsB,EAAWE,CAAK,EAC9C,KAAK,IAAIE,EAASH,CAAS,EAAA,MAC3BF,EAAY,CAAE,UAAWC,EAAW,MAAOI,CAAO,CAAC,EAEnDF,EAAM,gBAAkBA,EAAM,kBAAA,MAAqCE,EACnEP,EAAS,EAAI,EACN,CAACM,GAAQ,CAACD,EAAM,gBACvBL,EAAS,EAAK,CAEtB,EAAG,CAACK,EAAOF,EAAWC,EAAWE,CAAI,CAAC,EAEtC,IAAME,EAAsBV,EAAwBC,EAAQ,QAAU,SAA7B,SACnCU,EAAiC,CAAC,EAMxC,OALIC,IAAU,IAAA,KAAW,EAAO,0BAA4B,GAAGA,EAAM,KACjEC,IAAa,IAAA,KAAW,EAAO,6BAA+B,GAAGA,EAAS,MAK1E,EAAArB,EAAA,IAAA,CAACR,EAAD,CACI,GAAIc,EACC,MACL,UAAWb,EAAAA,GAAGC,EAAAA,QAAO,OAAQ6B,CAAS,EACtC,MAAO,CAAE,GAAGJ,EAAQ,GAAGK,CAAM,EAC7B,aAAYN,EACZ,eAAcO,EAEb,UACA,CAAA,CAEb,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reveal.js","names":[],"sources":["../../../src/components/Reveal/Reveal.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, HTMLAttributes, JSX, RefObject } from \"react\";\nimport { useEffect, useRef, useState, useSyncExternalStore } from \"react\";\nimport { useIntersectionObserver } from \"@/hooks/use-intersection-observer\";\nimport { cn } from \"@/utils/cn\";\nimport { RATIO_EPSILON, effectiveThreshold } from \"./reveal-threshold\";\nimport styles from \"./Reveal.module.css\";\n\n/** Direction the content travels from, or `\"fade\"` / `\"scale\"` for no travel. */\nexport type RevealVariant = \"fade\" | \"up\" | \"down\" | \"left\" | \"right\" | \"scale\";\n\n/** Visual state written to `data-state`. */\nexport type RevealState = \"static\" | \"hidden\" | \"shown\";\n\nexport interface RevealProps extends HTMLAttributes<HTMLElement> {\n /** Intrinsic element to render, e.g. `\"li\"` inside a list. Defaults to `\"div\"`. */\n as?: keyof JSX.IntrinsicElements;\n /** How the content enters. Defaults to `\"up\"`. */\n variant?: RevealVariant;\n /** Wait before the entrance starts, in ms. Stagger siblings with `index * step`. */\n delay?: number;\n /** Length of the entrance, in ms. Defaults to `--tempest-duration-slower`. */\n duration?: number;\n /** Reveal once and stop observing. With `false`, it hides again once fully out of view. Defaults to `true`. */\n once?: boolean;\n /**\n * Fraction of the element — or of the viewport, when the element is taller\n * than it — that must be visible to reveal. Defaults to `0.15`.\n */\n threshold?: number;\n /** Margin around the root, as in `IntersectionObserver`. Defaults to `\"0px\"`. */\n rootMargin?: string;\n}\n\n/** A ref that never points at an element, used to switch the observer off. */\nconst DETACHED: RefObject<Element | null> = { current: null };\n\n/**\n * Subscribe function for a snapshot that never changes after mount.\n *\n * @returns A no-op unsubscribe.\n */\nfunction subscribeNever(): () => void {\n return () => undefined;\n}\n\n/**\n * Whether this environment can observe intersections.\n *\n * @returns `true` when `IntersectionObserver` exists.\n */\nfunction canObserve(): boolean {\n return typeof IntersectionObserver !== \"undefined\";\n}\n\n/**\n * Server snapshot: never hide content that was rendered without JavaScript.\n *\n * @returns Always `false`.\n */\nfunction cannotObserve(): boolean {\n return false;\n}\n\n/**\n * Animate content into view the first time it is scrolled to.\n *\n * The three failure modes of a hand-rolled version are handled here, not left to\n * the docs:\n *\n * - **Reduced motion.** Under `prefers-reduced-motion: reduce` the stylesheet\n * pins the element visible with no transform and no transition, whatever\n * state it is in — so the setting also wins when it changes mid-session.\n * - **No `IntersectionObserver`** (old engines, some crawlers, tests): the\n * element stays in the `\"static\"` state, which is plain visible content. It is\n * never hidden waiting for an observation that cannot come.\n * - **Taller than the viewport.** A box three viewports tall never reaches a\n * ratio of 0.5, so a raw observer with that threshold never reveals it. The\n * threshold is rescaled by the highest ratio the element can reach (see\n * `effectiveThreshold`), read from the first observation.\n *\n * Content is hidden only when the client can observe: the server snapshot of\n * `useSyncExternalStore` is `\"static\"`, so markup rendered without JavaScript —\n * or before hydration — is visible. The transition is declared on the `\"shown\"`\n * state only, so the switch to `\"hidden\"` on mount is instant instead of a\n * fade-out, and with `once={false}` leaving the viewport hides without motion.\n *\n * With `once={false}` the element hides only once it is fully out of view. Hiding\n * on the threshold would oscillate: the hidden state translates the box, which\n * moves it back across the same threshold.\n *\n * @example\n * <ul>\n * {steps.map((step, index) => (\n * <Reveal key={step.id} as=\"li\" delay={index * 80}>\n * {step.title}\n * </Reveal>\n * ))}\n * </ul>\n */\nexport function Reveal({\n as = \"div\",\n variant = \"up\",\n delay,\n duration,\n once = true,\n threshold = 0.15,\n rootMargin = \"0px\",\n className,\n style,\n children,\n ...props\n}: RevealProps) {\n const ref = useRef<HTMLElement>(null);\n const observable = useSyncExternalStore(subscribeNever, canObserve, cannotObserve);\n const [shown, setShown] = useState<boolean>(false);\n const [rescaled, setRescaled] = useState<{ requested: number; value: number }>({\n requested: threshold,\n value: threshold,\n });\n const observeAt = rescaled.requested === threshold ? rescaled.value : threshold;\n const settled = once && shown;\n\n const entry = useIntersectionObserver(observable && !settled ? ref : DETACHED, {\n rootMargin,\n threshold: observeAt,\n });\n\n useEffect(() => {\n if (!entry) return;\n const target = effectiveThreshold(threshold, entry);\n if (Math.abs(target - observeAt) > RATIO_EPSILON) {\n setRescaled({ requested: threshold, value: target });\n }\n if (entry.isIntersecting && entry.intersectionRatio + RATIO_EPSILON >= target) {\n setShown(true);\n } else if (!once && !entry.isIntersecting) {\n setShown(false);\n }\n }, [entry, threshold, observeAt, once]);\n\n const state: RevealState = !observable ? \"static\" : shown ? \"shown\" : \"hidden\";\n const timing: Record<string, string> = {};\n if (delay !== undefined) timing[\"--tempest-reveal-delay\"] = `${delay}ms`;\n if (duration !== undefined) timing[\"--tempest-reveal-duration\"] = `${duration}ms`;\n\n const Tag = as as ElementType;\n\n return (\n <Tag\n {...props}\n ref={ref}\n className={cn(styles.reveal, className)}\n style={{ ...timing, ...style } as CSSProperties}\n data-state={state}\n data-variant={variant}\n >\n {children}\n </Tag>\n );\n}\n"],"mappings":";;;;;;;AAkCA,
|
|
1
|
+
{"version":3,"file":"Reveal.js","names":["Tag","styles","Reveal_module_default","DETACHED","subscribeNever","canObserve","cannotObserve","Reveal","props","ref","useRef","observable","useSyncExternalStore","shown","setShown","useState","rescaled","setRescaled","threshold","observeAt","entry","useIntersectionObserver","once","target","effectiveThreshold","state","timing","delay","duration","as","cn","className","style","variant"],"sources":["../../../src/components/Reveal/Reveal.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, HTMLAttributes, JSX, RefObject } from \"react\";\nimport { useEffect, useRef, useState, useSyncExternalStore } from \"react\";\nimport { useIntersectionObserver } from \"@/hooks/use-intersection-observer\";\nimport { cn } from \"@/utils/cn\";\nimport { RATIO_EPSILON, effectiveThreshold } from \"./reveal-threshold\";\nimport styles from \"./Reveal.module.css\";\n\n/** Direction the content travels from, or `\"fade\"` / `\"scale\"` for no travel. */\nexport type RevealVariant = \"fade\" | \"up\" | \"down\" | \"left\" | \"right\" | \"scale\";\n\n/** Visual state written to `data-state`. */\nexport type RevealState = \"static\" | \"hidden\" | \"shown\";\n\nexport interface RevealProps extends HTMLAttributes<HTMLElement> {\n /** Intrinsic element to render, e.g. `\"li\"` inside a list. Defaults to `\"div\"`. */\n as?: keyof JSX.IntrinsicElements;\n /** How the content enters. Defaults to `\"up\"`. */\n variant?: RevealVariant;\n /** Wait before the entrance starts, in ms. Stagger siblings with `index * step`. */\n delay?: number;\n /** Length of the entrance, in ms. Defaults to `--tempest-duration-slower`. */\n duration?: number;\n /** Reveal once and stop observing. With `false`, it hides again once fully out of view. Defaults to `true`. */\n once?: boolean;\n /**\n * Fraction of the element — or of the viewport, when the element is taller\n * than it — that must be visible to reveal. Defaults to `0.15`.\n */\n threshold?: number;\n /** Margin around the root, as in `IntersectionObserver`. Defaults to `\"0px\"`. */\n rootMargin?: string;\n}\n\n/** A ref that never points at an element, used to switch the observer off. */\nconst DETACHED: RefObject<Element | null> = { current: null };\n\n/**\n * Subscribe function for a snapshot that never changes after mount.\n *\n * @returns A no-op unsubscribe.\n */\nfunction subscribeNever(): () => void {\n return () => undefined;\n}\n\n/**\n * Whether this environment can observe intersections.\n *\n * @returns `true` when `IntersectionObserver` exists.\n */\nfunction canObserve(): boolean {\n return typeof IntersectionObserver !== \"undefined\";\n}\n\n/**\n * Server snapshot: never hide content that was rendered without JavaScript.\n *\n * @returns Always `false`.\n */\nfunction cannotObserve(): boolean {\n return false;\n}\n\n/**\n * Animate content into view the first time it is scrolled to.\n *\n * The three failure modes of a hand-rolled version are handled here, not left to\n * the docs:\n *\n * - **Reduced motion.** Under `prefers-reduced-motion: reduce` the stylesheet\n * pins the element visible with no transform and no transition, whatever\n * state it is in — so the setting also wins when it changes mid-session.\n * - **No `IntersectionObserver`** (old engines, some crawlers, tests): the\n * element stays in the `\"static\"` state, which is plain visible content. It is\n * never hidden waiting for an observation that cannot come.\n * - **Taller than the viewport.** A box three viewports tall never reaches a\n * ratio of 0.5, so a raw observer with that threshold never reveals it. The\n * threshold is rescaled by the highest ratio the element can reach (see\n * `effectiveThreshold`), read from the first observation.\n *\n * Content is hidden only when the client can observe: the server snapshot of\n * `useSyncExternalStore` is `\"static\"`, so markup rendered without JavaScript —\n * or before hydration — is visible. The transition is declared on the `\"shown\"`\n * state only, so the switch to `\"hidden\"` on mount is instant instead of a\n * fade-out, and with `once={false}` leaving the viewport hides without motion.\n *\n * With `once={false}` the element hides only once it is fully out of view. Hiding\n * on the threshold would oscillate: the hidden state translates the box, which\n * moves it back across the same threshold.\n *\n * @example\n * <ul>\n * {steps.map((step, index) => (\n * <Reveal key={step.id} as=\"li\" delay={index * 80}>\n * {step.title}\n * </Reveal>\n * ))}\n * </ul>\n */\nexport function Reveal({\n as = \"div\",\n variant = \"up\",\n delay,\n duration,\n once = true,\n threshold = 0.15,\n rootMargin = \"0px\",\n className,\n style,\n children,\n ...props\n}: RevealProps) {\n const ref = useRef<HTMLElement>(null);\n const observable = useSyncExternalStore(subscribeNever, canObserve, cannotObserve);\n const [shown, setShown] = useState<boolean>(false);\n const [rescaled, setRescaled] = useState<{ requested: number; value: number }>({\n requested: threshold,\n value: threshold,\n });\n const observeAt = rescaled.requested === threshold ? rescaled.value : threshold;\n const settled = once && shown;\n\n const entry = useIntersectionObserver(observable && !settled ? ref : DETACHED, {\n rootMargin,\n threshold: observeAt,\n });\n\n useEffect(() => {\n if (!entry) return;\n const target = effectiveThreshold(threshold, entry);\n if (Math.abs(target - observeAt) > RATIO_EPSILON) {\n setRescaled({ requested: threshold, value: target });\n }\n if (entry.isIntersecting && entry.intersectionRatio + RATIO_EPSILON >= target) {\n setShown(true);\n } else if (!once && !entry.isIntersecting) {\n setShown(false);\n }\n }, [entry, threshold, observeAt, once]);\n\n const state: RevealState = !observable ? \"static\" : shown ? \"shown\" : \"hidden\";\n const timing: Record<string, string> = {};\n if (delay !== undefined) timing[\"--tempest-reveal-delay\"] = `${delay}ms`;\n if (duration !== undefined) timing[\"--tempest-reveal-duration\"] = `${duration}ms`;\n\n const Tag = as as ElementType;\n\n return (\n <Tag\n {...props}\n ref={ref}\n className={cn(styles.reveal, className)}\n style={{ ...timing, ...style } as CSSProperties}\n data-state={state}\n data-variant={variant}\n >\n {children}\n </Tag>\n );\n}\n"],"mappings":";;;;;;;AAkCA,IAAMG,IAAsC,EAAE,SAAS,KAAK;AAO5D,SAASC,IAA6B;CAClC,aAAa,KAAA;AACjB;AAOA,SAASC,IAAsB;CAC3B,OAAO,OAAO,uBAAyB;AAC3C;AAOA,SAASC,IAAyB;CAC9B,OAAO;AACX;AAsCA,SAAgBC,EAAO,EACnB,QAAK,OACL,aAAU,MACV,UACA,aACA,UAAO,IACP,eAAY,KACZ,gBAAa,OACb,cACA,UACA,aACA,GAAGC,KACS;CACZ,IAAMC,IAAMC,EAAoB,IAAI,GAC9BC,IAAaC,EAAqBR,GAAgBC,GAAYC,CAAa,GAC3E,CAACO,GAAOC,KAAYC,EAAkB,EAAK,GAC3C,CAACC,GAAUC,KAAeF,EAA+C;EAC3E,WAAWG;EACX,OAAOA;CACX,CAAC,GACKC,IAAYH,EAAS,cAAcE,IAAYF,EAAS,QAAQE,GAGhEE,IAAQC,EAAwBV,KAAc,EAFpCW,KAAQT,KAEuCJ,IAAMN,GAAU;EAC3E;EACA,WAAWgB;CACf,CAAC;CAED,QAAgB;EACZ,IAAI,CAACC,GAAO;EACZ,IAAMG,IAASC,EAAmBN,GAAWE,CAAK;EAIlD,AAHI,KAAK,IAAIG,IAASJ,CAAS,IAAA,QAC3BF,EAAY;GAAE,WAAWC;GAAW,OAAOK;EAAO,CAAC,GAEnDH,EAAM,kBAAkBA,EAAM,oBAAA,QAAqCG,IACnET,EAAS,EAAI,IACN,CAACQ,KAAQ,CAACF,EAAM,kBACvBN,EAAS,EAAK;CAEtB,GAAG;EAACM;EAAOF;EAAWC;EAAWG;CAAI,CAAC;CAEtC,IAAMG,IAAsBd,IAAwBE,IAAQ,UAAU,WAA7B,UACnCa,IAAiC,CAAC;CAMxC,OALIC,MAAU,KAAA,MAAW,EAAO,4BAA4B,GAAGA,EAAM,MACjEC,MAAa,KAAA,MAAW,EAAO,+BAA+B,GAAGA,EAAS,MAK1E,kBAAC5B,GAAD;EACI,GAAIQ;EACC;EACL,WAAWsB,EAAG7B,EAAO,QAAQ8B,CAAS;EACtC,OAAO;GAAE,GAAGL;GAAQ,GAAGM;EAAM;EAC7B,cAAYP;EACZ,gBAAcQ;EAEb;CACA,CAAA;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reveal.module.cjs","names":[],"sources":["../../../src/components/Reveal/Reveal.module.css"],"sourcesContent":[".reveal[data-state=\"hidden\"] {\n opacity: 0;\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"up\"] {\n transform: translate3d(0, var(--tempest-reveal-distance, 1.5rem), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"down\"] {\n transform: translate3d(0, calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"left\"] {\n transform: translate3d(var(--tempest-reveal-distance, 1.5rem), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"right\"] {\n transform: translate3d(calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"scale\"] {\n transform: scale(var(--tempest-reveal-scale, 0.95));\n}\n\n.reveal[data-state=\"shown\"] {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-out)),\n transform var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-emphasized));\n transition-delay: var(--tempest-reveal-delay, 0ms);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .reveal[data-state][data-variant] {\n opacity: 1;\n transform: none;\n transition: none;\n }\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Reveal.module.cjs","names":["reveal","Reveal_module_default"],"sources":["../../../src/components/Reveal/Reveal.module.css"],"sourcesContent":[".reveal[data-state=\"hidden\"] {\n opacity: 0;\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"up\"] {\n transform: translate3d(0, var(--tempest-reveal-distance, 1.5rem), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"down\"] {\n transform: translate3d(0, calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"left\"] {\n transform: translate3d(var(--tempest-reveal-distance, 1.5rem), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"right\"] {\n transform: translate3d(calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"scale\"] {\n transform: scale(var(--tempest-reveal-scale, 0.95));\n}\n\n.reveal[data-state=\"shown\"] {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-out)),\n transform var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-emphasized));\n transition-delay: var(--tempest-reveal-delay, 0ms);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .reveal[data-state][data-variant] {\n opacity: 1;\n transform: none;\n transition: none;\n }\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reveal.module.js","names":[],"sources":["../../../src/components/Reveal/Reveal.module.css"],"sourcesContent":[".reveal[data-state=\"hidden\"] {\n opacity: 0;\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"up\"] {\n transform: translate3d(0, var(--tempest-reveal-distance, 1.5rem), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"down\"] {\n transform: translate3d(0, calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"left\"] {\n transform: translate3d(var(--tempest-reveal-distance, 1.5rem), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"right\"] {\n transform: translate3d(calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"scale\"] {\n transform: scale(var(--tempest-reveal-scale, 0.95));\n}\n\n.reveal[data-state=\"shown\"] {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-out)),\n transform var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-emphasized));\n transition-delay: var(--tempest-reveal-delay, 0ms);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .reveal[data-state][data-variant] {\n opacity: 1;\n transform: none;\n transition: none;\n }\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"Reveal.module.js","names":["reveal","Reveal_module_default"],"sources":["../../../src/components/Reveal/Reveal.module.css"],"sourcesContent":[".reveal[data-state=\"hidden\"] {\n opacity: 0;\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"up\"] {\n transform: translate3d(0, var(--tempest-reveal-distance, 1.5rem), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"down\"] {\n transform: translate3d(0, calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"left\"] {\n transform: translate3d(var(--tempest-reveal-distance, 1.5rem), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"right\"] {\n transform: translate3d(calc(-1 * var(--tempest-reveal-distance, 1.5rem)), 0, 0);\n}\n\n.reveal[data-state=\"hidden\"][data-variant=\"scale\"] {\n transform: scale(var(--tempest-reveal-scale, 0.95));\n}\n\n.reveal[data-state=\"shown\"] {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-out)),\n transform var(--tempest-reveal-duration, var(--tempest-duration-slower))\n var(--tempest-reveal-easing, var(--tempest-ease-emphasized));\n transition-delay: var(--tempest-reveal-delay, 0ms);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .reveal[data-state][data-variant] {\n opacity: 1;\n transform: none;\n transition: none;\n }\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reveal-threshold.cjs","names":[],"sources":["../../../src/components/Reveal/reveal-threshold.ts"],"sourcesContent":["/**\n * Tolerance for comparing intersection ratios.\n *\n * Browsers report `intersectionRatio` as the quotient of two rounded areas, so a\n * box sitting exactly on its threshold can come back a hair below it. Without\n * the slack the observer fires (it crossed) and the comparison says it did not.\n */\nexport const RATIO_EPSILON = 0.001;\n\n/**\n * Highest `intersectionRatio` the target can ever reach inside the root.\n *\n * A box taller (or wider) than the root never fits in it: a section three\n * viewports tall tops out at a ratio of about 0.33. Any threshold above that is\n * unreachable, and an observer asked for it never reports the crossing.\n *\n * @param entry - An observation of the target; only its geometry is read.\n * @returns A value in `(0, 1]`, or `1` when the geometry is unknown (no\n * `rootBounds`, as in a cross-origin iframe, or an empty box).\n */\nexport function reachableRatio(entry: IntersectionObserverEntry): number {\n const root = entry.rootBounds;\n const box = entry.boundingClientRect;\n if (!root || box.width <= 0 || box.height <= 0) return 1;\n return Math.min(1, root.height / box.height) * Math.min(1, root.width / box.width);\n}\n\n/**\n * The threshold `Reveal` actually observes with, given the one it was asked for.\n *\n * The requested threshold is read as \"this fraction of whichever is smaller,\n * the element or the viewport\". For a box that fits, that is the plain ratio;\n * for a box taller than the viewport it scales the threshold by the reachable\n * ratio, so `threshold={0.5}` on a 3-viewport section reveals once it fills\n * half the viewport instead of never.\n *\n * @param threshold - The requested threshold, in `[0, 1]`.\n * @param entry - The latest observation, or `null` before the first one.\n * @returns The threshold to observe with.\n */\nexport function effectiveThreshold(\n threshold: number,\n entry: IntersectionObserverEntry | null,\n): number {\n if (!entry) return threshold;\n return threshold * reachableRatio(entry);\n}\n"],"mappings":"AAOA,
|
|
1
|
+
{"version":3,"file":"reveal-threshold.cjs","names":["RATIO_EPSILON","reachableRatio","root","entry","box","effectiveThreshold","threshold"],"sources":["../../../src/components/Reveal/reveal-threshold.ts"],"sourcesContent":["/**\n * Tolerance for comparing intersection ratios.\n *\n * Browsers report `intersectionRatio` as the quotient of two rounded areas, so a\n * box sitting exactly on its threshold can come back a hair below it. Without\n * the slack the observer fires (it crossed) and the comparison says it did not.\n */\nexport const RATIO_EPSILON = 0.001;\n\n/**\n * Highest `intersectionRatio` the target can ever reach inside the root.\n *\n * A box taller (or wider) than the root never fits in it: a section three\n * viewports tall tops out at a ratio of about 0.33. Any threshold above that is\n * unreachable, and an observer asked for it never reports the crossing.\n *\n * @param entry - An observation of the target; only its geometry is read.\n * @returns A value in `(0, 1]`, or `1` when the geometry is unknown (no\n * `rootBounds`, as in a cross-origin iframe, or an empty box).\n */\nexport function reachableRatio(entry: IntersectionObserverEntry): number {\n const root = entry.rootBounds;\n const box = entry.boundingClientRect;\n if (!root || box.width <= 0 || box.height <= 0) return 1;\n return Math.min(1, root.height / box.height) * Math.min(1, root.width / box.width);\n}\n\n/**\n * The threshold `Reveal` actually observes with, given the one it was asked for.\n *\n * The requested threshold is read as \"this fraction of whichever is smaller,\n * the element or the viewport\". For a box that fits, that is the plain ratio;\n * for a box taller than the viewport it scales the threshold by the reachable\n * ratio, so `threshold={0.5}` on a 3-viewport section reveals once it fills\n * half the viewport instead of never.\n *\n * @param threshold - The requested threshold, in `[0, 1]`.\n * @param entry - The latest observation, or `null` before the first one.\n * @returns The threshold to observe with.\n */\nexport function effectiveThreshold(\n threshold: number,\n entry: IntersectionObserverEntry | null,\n): number {\n if (!entry) return threshold;\n return threshold * reachableRatio(entry);\n}\n"],"mappings":"AAOA,IAAaA,EAAgB,KAa7B,SAAgBC,EAAe,EAA0C,CACrE,IAAMC,EAAOC,EAAM,WACbC,EAAMD,EAAM,mBAElB,MADI,CAACD,GAAQE,EAAI,OAAS,GAAKA,EAAI,QAAU,EAAU,EAChD,KAAK,IAAI,EAAGF,EAAK,OAASE,EAAI,MAAM,EAAI,KAAK,IAAI,EAAGF,EAAK,MAAQE,EAAI,KAAK,CACrF,CAeA,SAAgBC,EACZ,EACA,EACM,CAEN,OADKF,EACEG,EAAYL,EAAeE,CAAK,EADpBG,CAEvB,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reveal-threshold.js","names":[],"sources":["../../../src/components/Reveal/reveal-threshold.ts"],"sourcesContent":["/**\n * Tolerance for comparing intersection ratios.\n *\n * Browsers report `intersectionRatio` as the quotient of two rounded areas, so a\n * box sitting exactly on its threshold can come back a hair below it. Without\n * the slack the observer fires (it crossed) and the comparison says it did not.\n */\nexport const RATIO_EPSILON = 0.001;\n\n/**\n * Highest `intersectionRatio` the target can ever reach inside the root.\n *\n * A box taller (or wider) than the root never fits in it: a section three\n * viewports tall tops out at a ratio of about 0.33. Any threshold above that is\n * unreachable, and an observer asked for it never reports the crossing.\n *\n * @param entry - An observation of the target; only its geometry is read.\n * @returns A value in `(0, 1]`, or `1` when the geometry is unknown (no\n * `rootBounds`, as in a cross-origin iframe, or an empty box).\n */\nexport function reachableRatio(entry: IntersectionObserverEntry): number {\n const root = entry.rootBounds;\n const box = entry.boundingClientRect;\n if (!root || box.width <= 0 || box.height <= 0) return 1;\n return Math.min(1, root.height / box.height) * Math.min(1, root.width / box.width);\n}\n\n/**\n * The threshold `Reveal` actually observes with, given the one it was asked for.\n *\n * The requested threshold is read as \"this fraction of whichever is smaller,\n * the element or the viewport\". For a box that fits, that is the plain ratio;\n * for a box taller than the viewport it scales the threshold by the reachable\n * ratio, so `threshold={0.5}` on a 3-viewport section reveals once it fills\n * half the viewport instead of never.\n *\n * @param threshold - The requested threshold, in `[0, 1]`.\n * @param entry - The latest observation, or `null` before the first one.\n * @returns The threshold to observe with.\n */\nexport function effectiveThreshold(\n threshold: number,\n entry: IntersectionObserverEntry | null,\n): number {\n if (!entry) return threshold;\n return threshold * reachableRatio(entry);\n}\n"],"mappings":";AAOA,
|
|
1
|
+
{"version":3,"file":"reveal-threshold.js","names":["RATIO_EPSILON","reachableRatio","root","entry","box","effectiveThreshold","threshold"],"sources":["../../../src/components/Reveal/reveal-threshold.ts"],"sourcesContent":["/**\n * Tolerance for comparing intersection ratios.\n *\n * Browsers report `intersectionRatio` as the quotient of two rounded areas, so a\n * box sitting exactly on its threshold can come back a hair below it. Without\n * the slack the observer fires (it crossed) and the comparison says it did not.\n */\nexport const RATIO_EPSILON = 0.001;\n\n/**\n * Highest `intersectionRatio` the target can ever reach inside the root.\n *\n * A box taller (or wider) than the root never fits in it: a section three\n * viewports tall tops out at a ratio of about 0.33. Any threshold above that is\n * unreachable, and an observer asked for it never reports the crossing.\n *\n * @param entry - An observation of the target; only its geometry is read.\n * @returns A value in `(0, 1]`, or `1` when the geometry is unknown (no\n * `rootBounds`, as in a cross-origin iframe, or an empty box).\n */\nexport function reachableRatio(entry: IntersectionObserverEntry): number {\n const root = entry.rootBounds;\n const box = entry.boundingClientRect;\n if (!root || box.width <= 0 || box.height <= 0) return 1;\n return Math.min(1, root.height / box.height) * Math.min(1, root.width / box.width);\n}\n\n/**\n * The threshold `Reveal` actually observes with, given the one it was asked for.\n *\n * The requested threshold is read as \"this fraction of whichever is smaller,\n * the element or the viewport\". For a box that fits, that is the plain ratio;\n * for a box taller than the viewport it scales the threshold by the reachable\n * ratio, so `threshold={0.5}` on a 3-viewport section reveals once it fills\n * half the viewport instead of never.\n *\n * @param threshold - The requested threshold, in `[0, 1]`.\n * @param entry - The latest observation, or `null` before the first one.\n * @returns The threshold to observe with.\n */\nexport function effectiveThreshold(\n threshold: number,\n entry: IntersectionObserverEntry | null,\n): number {\n if (!entry) return threshold;\n return threshold * reachableRatio(entry);\n}\n"],"mappings":";AAOA,IAAaA,IAAgB;AAa7B,SAAgBC,EAAe,GAA0C;CACrE,IAAMC,IAAOC,EAAM,YACbC,IAAMD,EAAM;CAElB,OADI,CAACD,KAAQE,EAAI,SAAS,KAAKA,EAAI,UAAU,IAAU,IAChD,KAAK,IAAI,GAAGF,EAAK,SAASE,EAAI,MAAM,IAAI,KAAK,IAAI,GAAGF,EAAK,QAAQE,EAAI,KAAK;AACrF;AAeA,SAAgBC,EACZ,GACA,GACM;CAEN,OADKF,IACEG,IAAYL,EAAeE,CAAK,IADpBG;AAEvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeArea.cjs","names":[],"sources":["../../../src/components/SafeArea/SafeArea.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./SafeArea.module.css\";\n\nexport type SafeAreaEdge = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface SafeAreaProps extends HTMLAttributes<HTMLDivElement> {\n /** Edges to pad. Default `[\"top\",\"right\",\"bottom\",\"left\"]` (all). */\n edges?: SafeAreaEdge[];\n /** Render as inline (use `display: contents`). */\n inline?: boolean;\n children?: ReactNode;\n}\n\nconst ALL_EDGES: SafeAreaEdge[] = [\"top\", \"right\", \"bottom\", \"left\"];\n\n/**\n * Apply `env(safe-area-inset-*)` padding so content avoids iOS notch /\n * Android navbar / device chrome. Wrap the outermost container of pages\n * with sticky headers/footers.\n *\n * @example\n * <SafeArea edges={[\"top\"]}>\n * <Navbar />\n * </SafeArea>\n */\nexport function SafeArea({\n edges = ALL_EDGES,\n inline = false,\n className,\n children,\n ...props\n}: SafeAreaProps) {\n return (\n <div\n className={cn(\n styles.safe,\n inline && styles.inline,\n edges.includes(\"top\") && styles.top,\n edges.includes(\"right\") && styles.right,\n edges.includes(\"bottom\") && styles.bottom,\n edges.includes(\"left\") && styles.left,\n className,\n )}\n data-edges={edges.join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"4GAcA,
|
|
1
|
+
{"version":3,"file":"SafeArea.cjs","names":["cn","styles","require_cn","require_SafeArea_module","react_jsx_runtime","ALL_EDGES","SafeArea","props","inline","edges","className"],"sources":["../../../src/components/SafeArea/SafeArea.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./SafeArea.module.css\";\n\nexport type SafeAreaEdge = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface SafeAreaProps extends HTMLAttributes<HTMLDivElement> {\n /** Edges to pad. Default `[\"top\",\"right\",\"bottom\",\"left\"]` (all). */\n edges?: SafeAreaEdge[];\n /** Render as inline (use `display: contents`). */\n inline?: boolean;\n children?: ReactNode;\n}\n\nconst ALL_EDGES: SafeAreaEdge[] = [\"top\", \"right\", \"bottom\", \"left\"];\n\n/**\n * Apply `env(safe-area-inset-*)` padding so content avoids iOS notch /\n * Android navbar / device chrome. Wrap the outermost container of pages\n * with sticky headers/footers.\n *\n * @example\n * <SafeArea edges={[\"top\"]}>\n * <Navbar />\n * </SafeArea>\n */\nexport function SafeArea({\n edges = ALL_EDGES,\n inline = false,\n className,\n children,\n ...props\n}: SafeAreaProps) {\n return (\n <div\n className={cn(\n styles.safe,\n inline && styles.inline,\n edges.includes(\"top\") && styles.top,\n edges.includes(\"right\") && styles.right,\n edges.includes(\"bottom\") && styles.bottom,\n edges.includes(\"left\") && styles.left,\n className,\n )}\n data-edges={edges.join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":"A,4GAcA,IAAMK,EAA4B,CAAC,MAAO,QAAS,SAAU,MAAM,EAYnE,SAAgBC,EAAS,CACrB,QAAQD,EACR,SAAS,GACT,YACA,WACA,GAAGE,GACW,CACd,OACI,EAAAH,EAAA,IAAA,CAAC,MAAD,CACI,UAAWJ,EAAAA,GACPC,EAAAA,QAAO,KACPO,GAAUP,EAAAA,QAAO,OACjBQ,EAAM,SAAS,KAAK,GAAKR,EAAAA,QAAO,IAChCQ,EAAM,SAAS,OAAO,GAAKR,EAAAA,QAAO,MAClCQ,EAAM,SAAS,QAAQ,GAAKR,EAAAA,QAAO,OACnCQ,EAAM,SAAS,MAAM,GAAKR,EAAAA,QAAO,KACjCS,CACJ,EACA,aAAYD,EAAM,KAAK,GAAG,EAC1B,GAAIF,EAEH,UACA,CAAA,CAEb,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeArea.js","names":[],"sources":["../../../src/components/SafeArea/SafeArea.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./SafeArea.module.css\";\n\nexport type SafeAreaEdge = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface SafeAreaProps extends HTMLAttributes<HTMLDivElement> {\n /** Edges to pad. Default `[\"top\",\"right\",\"bottom\",\"left\"]` (all). */\n edges?: SafeAreaEdge[];\n /** Render as inline (use `display: contents`). */\n inline?: boolean;\n children?: ReactNode;\n}\n\nconst ALL_EDGES: SafeAreaEdge[] = [\"top\", \"right\", \"bottom\", \"left\"];\n\n/**\n * Apply `env(safe-area-inset-*)` padding so content avoids iOS notch /\n * Android navbar / device chrome. Wrap the outermost container of pages\n * with sticky headers/footers.\n *\n * @example\n * <SafeArea edges={[\"top\"]}>\n * <Navbar />\n * </SafeArea>\n */\nexport function SafeArea({\n edges = ALL_EDGES,\n inline = false,\n className,\n children,\n ...props\n}: SafeAreaProps) {\n return (\n <div\n className={cn(\n styles.safe,\n inline && styles.inline,\n edges.includes(\"top\") && styles.top,\n edges.includes(\"right\") && styles.right,\n edges.includes(\"bottom\") && styles.bottom,\n edges.includes(\"left\") && styles.left,\n className,\n )}\n data-edges={edges.join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAcA,
|
|
1
|
+
{"version":3,"file":"SafeArea.js","names":["styles","SafeArea_module_default","ALL_EDGES","SafeArea","props","cn","inline","edges","className"],"sources":["../../../src/components/SafeArea/SafeArea.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { cn } from \"@/utils/cn\";\nimport styles from \"./SafeArea.module.css\";\n\nexport type SafeAreaEdge = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface SafeAreaProps extends HTMLAttributes<HTMLDivElement> {\n /** Edges to pad. Default `[\"top\",\"right\",\"bottom\",\"left\"]` (all). */\n edges?: SafeAreaEdge[];\n /** Render as inline (use `display: contents`). */\n inline?: boolean;\n children?: ReactNode;\n}\n\nconst ALL_EDGES: SafeAreaEdge[] = [\"top\", \"right\", \"bottom\", \"left\"];\n\n/**\n * Apply `env(safe-area-inset-*)` padding so content avoids iOS notch /\n * Android navbar / device chrome. Wrap the outermost container of pages\n * with sticky headers/footers.\n *\n * @example\n * <SafeArea edges={[\"top\"]}>\n * <Navbar />\n * </SafeArea>\n */\nexport function SafeArea({\n edges = ALL_EDGES,\n inline = false,\n className,\n children,\n ...props\n}: SafeAreaProps) {\n return (\n <div\n className={cn(\n styles.safe,\n inline && styles.inline,\n edges.includes(\"top\") && styles.top,\n edges.includes(\"right\") && styles.right,\n edges.includes(\"bottom\") && styles.bottom,\n edges.includes(\"left\") && styles.left,\n className,\n )}\n data-edges={edges.join(\" \")}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAcA,IAAME,IAA4B;CAAC;CAAO;CAAS;CAAU;AAAM;AAYnE,SAAgBC,EAAS,EACrB,WAAQD,GACR,YAAS,IACT,cACA,aACA,GAAGE,KACW;CACd,OACI,kBAAC,OAAD;EACI,WAAWC,EACPL,EAAO,MACPM,KAAUN,EAAO,QACjBO,EAAM,SAAS,KAAK,KAAKP,EAAO,KAChCO,EAAM,SAAS,OAAO,KAAKP,EAAO,OAClCO,EAAM,SAAS,QAAQ,KAAKP,EAAO,QACnCO,EAAM,SAAS,MAAM,KAAKP,EAAO,MACjCQ,CACJ;EACA,cAAYD,EAAM,KAAK,GAAG;EAC1B,GAAIH;EAEH;CACA,CAAA;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeArea.module.cjs","names":[],"sources":["../../../src/components/SafeArea/SafeArea.module.css"],"sourcesContent":[".safe {\n display: block;\n}\n\n.safe.inline {\n display: contents;\n}\n\n.top {\n padding-top: env(safe-area-inset-top, 0px);\n}\n\n.right {\n padding-right: env(safe-area-inset-right, 0px);\n}\n\n.bottom {\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n.left {\n padding-left: env(safe-area-inset-left, 0px);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"SafeArea.module.cjs","names":["safe","inline","top","right","bottom","left","SafeArea_module_default"],"sources":["../../../src/components/SafeArea/SafeArea.module.css"],"sourcesContent":[".safe {\n display: block;\n}\n\n.safe.inline {\n display: contents;\n}\n\n.top {\n padding-top: env(safe-area-inset-top, 0px);\n}\n\n.right {\n padding-right: env(safe-area-inset-right, 0px);\n}\n\n.bottom {\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n.left {\n padding-left: env(safe-area-inset-left, 0px);\n}\n"],"mappings":";"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeArea.module.js","names":[],"sources":["../../../src/components/SafeArea/SafeArea.module.css"],"sourcesContent":[".safe {\n display: block;\n}\n\n.safe.inline {\n display: contents;\n}\n\n.top {\n padding-top: env(safe-area-inset-top, 0px);\n}\n\n.right {\n padding-right: env(safe-area-inset-right, 0px);\n}\n\n.bottom {\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n.left {\n padding-left: env(safe-area-inset-left, 0px);\n}\n"],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"SafeArea.module.js","names":["safe","inline","top","right","bottom","left","SafeArea_module_default"],"sources":["../../../src/components/SafeArea/SafeArea.module.css"],"sourcesContent":[".safe {\n display: block;\n}\n\n.safe.inline {\n display: contents;\n}\n\n.top {\n padding-top: env(safe-area-inset-top, 0px);\n}\n\n.right {\n padding-right: env(safe-area-inset-right, 0px);\n}\n\n.bottom {\n padding-bottom: env(safe-area-inset-bottom, 0px);\n}\n\n.left {\n padding-left: env(safe-area-inset-left, 0px);\n}\n"],"mappings":";"}
|