@thewaver/ss-components 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Abstracts/Anchor/Anchor.js +96 -0
- package/dist/Abstracts/Anchor/Anchor.js.map +1 -0
- package/dist/Abstracts/Anchor/Anchor.utils.js +114 -0
- package/dist/Abstracts/Anchor/Anchor.utils.js.map +1 -0
- package/dist/Abstracts/Barrel/Barrel.css.js +10 -0
- package/dist/Abstracts/Barrel/Barrel.css.js.map +1 -0
- package/dist/Abstracts/Barrel/Barrel.js +92 -0
- package/dist/Abstracts/Barrel/Barrel.js.map +1 -0
- package/dist/Abstracts/Barrel/Barrel.utils.js +37 -0
- package/dist/Abstracts/Barrel/Barrel.utils.js.map +1 -0
- package/dist/Abstracts/Carrier/Carrier.utils.js +26 -0
- package/dist/Abstracts/Carrier/Carrier.utils.js.map +1 -0
- package/dist/Abstracts/Carrier/CarrierStack.js +160 -0
- package/dist/Abstracts/Carrier/CarrierStack.js.map +1 -0
- package/dist/Abstracts/CheckedState/CheckedState.utils.js +13 -0
- package/dist/Abstracts/CheckedState/CheckedState.utils.js.map +1 -0
- package/dist/Abstracts/ColorExtractor/ColorExtractor.context.js +58 -0
- package/dist/Abstracts/ColorExtractor/ColorExtractor.context.js.map +1 -0
- package/dist/Abstracts/Cutout/Cutout.utils.js +26 -0
- package/dist/Abstracts/Cutout/Cutout.utils.js.map +1 -0
- package/dist/Abstracts/DateTimeValue/DateTimeValue.utils.js +70 -0
- package/dist/Abstracts/DateTimeValue/DateTimeValue.utils.js.map +1 -0
- package/dist/Abstracts/DateValue/DateValue.utils.js +167 -0
- package/dist/Abstracts/DateValue/DateValue.utils.js.map +1 -0
- package/dist/Abstracts/Dismisser/Dismisser.utils.js +17 -0
- package/dist/Abstracts/Dismisser/Dismisser.utils.js.map +1 -0
- package/dist/Abstracts/Dismisser/DismisserStack.js +51 -0
- package/dist/Abstracts/Dismisser/DismisserStack.js.map +1 -0
- package/dist/Abstracts/ElementFader/ElementFader.js +61 -0
- package/dist/Abstracts/ElementFader/ElementFader.js.map +1 -0
- package/dist/Abstracts/ElementObserver/ElementObserver.js +130 -0
- package/dist/Abstracts/ElementObserver/ElementObserver.js.map +1 -0
- package/dist/Abstracts/Elevation/Elevation.js +40 -0
- package/dist/Abstracts/Elevation/Elevation.js.map +1 -0
- package/dist/Abstracts/Flattener/Flattener.utils.js +37 -0
- package/dist/Abstracts/Flattener/Flattener.utils.js.map +1 -0
- package/dist/Abstracts/FocusManager/FocusManager.js +76 -0
- package/dist/Abstracts/FocusManager/FocusManager.js.map +1 -0
- package/dist/Abstracts/FrameRateMonitor/FrameRateMonitor.js +67 -0
- package/dist/Abstracts/FrameRateMonitor/FrameRateMonitor.js.map +1 -0
- package/dist/Abstracts/InteractionTracker/InteractionTracker.js +389 -0
- package/dist/Abstracts/InteractionTracker/InteractionTracker.js.map +1 -0
- package/dist/Abstracts/LiveAnnouncer/LiveAnnouncer.js +54 -0
- package/dist/Abstracts/LiveAnnouncer/LiveAnnouncer.js.map +1 -0
- package/dist/Abstracts/MaskedField/MaskedField.js +68 -0
- package/dist/Abstracts/MaskedField/MaskedField.js.map +1 -0
- package/dist/Abstracts/MediaQueryMonitor/MediaQueryMonitor.js +49 -0
- package/dist/Abstracts/MediaQueryMonitor/MediaQueryMonitor.js.map +1 -0
- package/dist/Abstracts/Navigator/Navigator.utils.js +65 -0
- package/dist/Abstracts/Navigator/Navigator.utils.js.map +1 -0
- package/dist/Abstracts/PointerTracker/PointerTracker.js +132 -0
- package/dist/Abstracts/PointerTracker/PointerTracker.js.map +1 -0
- package/dist/Abstracts/Rotator/Rotator.js +155 -0
- package/dist/Abstracts/Rotator/Rotator.js.map +1 -0
- package/dist/Abstracts/SVG/Defs/Animation/SVGAnimationDefs.utils.js +70 -0
- package/dist/Abstracts/SVG/Defs/Animation/SVGAnimationDefs.utils.js.map +1 -0
- package/dist/Abstracts/SVG/Defs/Filter/SVGFilterDefs.factory.js +260 -0
- package/dist/Abstracts/SVG/Defs/Filter/SVGFilterDefs.factory.js.map +1 -0
- package/dist/Abstracts/SVG/Defs/Gradient/SVGGradientDefs.utils.js +105 -0
- package/dist/Abstracts/SVG/Defs/Gradient/SVGGradientDefs.utils.js.map +1 -0
- package/dist/Abstracts/SVG/Defs/Pattern/SVGPatternDefs.utils.js +41 -0
- package/dist/Abstracts/SVG/Defs/Pattern/SVGPatternDefs.utils.js.map +1 -0
- package/dist/Abstracts/SignalMirror/SignalMirror.js +35 -0
- package/dist/Abstracts/SignalMirror/SignalMirror.js.map +1 -0
- package/dist/Abstracts/TextSync/TextSync.js +53 -0
- package/dist/Abstracts/TextSync/TextSync.js.map +1 -0
- package/dist/Abstracts/TextSync/TextSync.utils.js +128 -0
- package/dist/Abstracts/TextSync/TextSync.utils.js.map +1 -0
- package/dist/Abstracts/Typeahead/Typeahead.js +34 -0
- package/dist/Abstracts/Typeahead/Typeahead.js.map +1 -0
- package/dist/Abstracts/Typeahead/Typeahead.utils.js +34 -0
- package/dist/Abstracts/Typeahead/Typeahead.utils.js.map +1 -0
- package/dist/Abstracts/Virtualizer/Virtualizer.js +84 -0
- package/dist/Abstracts/Virtualizer/Virtualizer.js.map +1 -0
- package/dist/Composites/Surface/Surface.css.js +12 -0
- package/dist/Composites/Surface/Surface.css.js.map +1 -0
- package/dist/Composites/Surface/Surface.js +113 -0
- package/dist/Composites/Surface/Surface.js.map +1 -0
- package/dist/Exotics/Bracket/Bracket.css.js +11 -0
- package/dist/Exotics/Bracket/Bracket.css.js.map +1 -0
- package/dist/Exotics/Bracket/Bracket.js +190 -0
- package/dist/Exotics/Bracket/Bracket.js.map +1 -0
- package/dist/Exotics/Bracket/Bracket.utils.js +58 -0
- package/dist/Exotics/Bracket/Bracket.utils.js.map +1 -0
- package/dist/Exotics/CellAnimation/CellAnimation.css.js +12 -0
- package/dist/Exotics/CellAnimation/CellAnimation.css.js.map +1 -0
- package/dist/Exotics/CellAnimation/CellAnimation.js +224 -0
- package/dist/Exotics/CellAnimation/CellAnimation.js.map +1 -0
- package/dist/Exotics/CellAnimation/CellAnimation.utils.js +55 -0
- package/dist/Exotics/CellAnimation/CellAnimation.utils.js.map +1 -0
- package/dist/Exotics/Cuboid/Cuboid.css.js +10 -0
- package/dist/Exotics/Cuboid/Cuboid.css.js.map +1 -0
- package/dist/Exotics/Cuboid/Cuboid.js +104 -0
- package/dist/Exotics/Cuboid/Cuboid.js.map +1 -0
- package/dist/Exotics/Cuboid/Cuboid.utils.js +66 -0
- package/dist/Exotics/Cuboid/Cuboid.utils.js.map +1 -0
- package/dist/Exotics/DrumWheel/DrumWheel.js +8 -0
- package/dist/Exotics/DrumWheel/DrumWheel.js.map +1 -0
- package/dist/Exotics/ElementMosaic/ElementMosaic.css.js +7 -0
- package/dist/Exotics/ElementMosaic/ElementMosaic.css.js.map +1 -0
- package/dist/Exotics/ElementMosaic/ElementMosaic.js +53 -0
- package/dist/Exotics/ElementMosaic/ElementMosaic.js.map +1 -0
- package/dist/Exotics/FlipCard/FlipCard.css.js +7 -0
- package/dist/Exotics/FlipCard/FlipCard.css.js.map +1 -0
- package/dist/Exotics/FlipCard/FlipCard.js +47 -0
- package/dist/Exotics/FlipCard/FlipCard.js.map +1 -0
- package/dist/Exotics/Formation/Formation.css.js +9 -0
- package/dist/Exotics/Formation/Formation.css.js.map +1 -0
- package/dist/Exotics/Formation/Formation.js +60 -0
- package/dist/Exotics/Formation/Formation.js.map +1 -0
- package/dist/Exotics/ImageMosaic/ImageMosaic.css.js +7 -0
- package/dist/Exotics/ImageMosaic/ImageMosaic.css.js.map +1 -0
- package/dist/Exotics/ImageMosaic/ImageMosaic.js +80 -0
- package/dist/Exotics/ImageMosaic/ImageMosaic.js.map +1 -0
- package/dist/Exotics/Mosaic/Mosaic.css.js +9 -0
- package/dist/Exotics/Mosaic/Mosaic.css.js.map +1 -0
- package/dist/Exotics/Mosaic/Mosaic.js +105 -0
- package/dist/Exotics/Mosaic/Mosaic.js.map +1 -0
- package/dist/Exotics/Mosaic/Mosaic.utils.js +185 -0
- package/dist/Exotics/Mosaic/Mosaic.utils.js.map +1 -0
- package/dist/Exotics/Odometer/Odometer.css.js +12 -0
- package/dist/Exotics/Odometer/Odometer.css.js.map +1 -0
- package/dist/Exotics/Odometer/Odometer.js +118 -0
- package/dist/Exotics/Odometer/Odometer.js.map +1 -0
- package/dist/Exotics/Odometer/Odometer.utils.js +44 -0
- package/dist/Exotics/Odometer/Odometer.utils.js.map +1 -0
- package/dist/Exotics/OverheadWheel/OverheadWheel.js +8 -0
- package/dist/Exotics/OverheadWheel/OverheadWheel.js.map +1 -0
- package/dist/Exotics/PatchBoard/PatchBoard.css.js +13 -0
- package/dist/Exotics/PatchBoard/PatchBoard.css.js.map +1 -0
- package/dist/Exotics/PatchBoard/PatchBoard.js +682 -0
- package/dist/Exotics/PatchBoard/PatchBoard.js.map +1 -0
- package/dist/Exotics/PatchBoard/PatchBoard.utils.js +104 -0
- package/dist/Exotics/PatchBoard/PatchBoard.utils.js.map +1 -0
- package/dist/Exotics/Reveal/Reveal.css.js +8 -0
- package/dist/Exotics/Reveal/Reveal.css.js.map +1 -0
- package/dist/Exotics/Reveal/Reveal.js +68 -0
- package/dist/Exotics/Reveal/Reveal.js.map +1 -0
- package/dist/Exotics/RichText/RichText.css.js +11 -0
- package/dist/Exotics/RichText/RichText.css.js.map +1 -0
- package/dist/Exotics/RichText/RichText.js +58 -0
- package/dist/Exotics/RichText/RichText.js.map +1 -0
- package/dist/Exotics/RichText/RichText.utils.js +62 -0
- package/dist/Exotics/RichText/RichText.utils.js.map +1 -0
- package/dist/Exotics/Satellite/Satellite.css.js +9 -0
- package/dist/Exotics/Satellite/Satellite.css.js.map +1 -0
- package/dist/Exotics/Satellite/Satellite.js +64 -0
- package/dist/Exotics/Satellite/Satellite.js.map +1 -0
- package/dist/Exotics/Satellite/Satellite.utils.js +33 -0
- package/dist/Exotics/Satellite/Satellite.utils.js.map +1 -0
- package/dist/Exotics/ScanlineAnimation/ScanlineAnimation.js +19 -0
- package/dist/Exotics/ScanlineAnimation/ScanlineAnimation.js.map +1 -0
- package/dist/Exotics/ScrambleText/ScrambleText.css.js +10 -0
- package/dist/Exotics/ScrambleText/ScrambleText.css.js.map +1 -0
- package/dist/Exotics/ScrambleText/ScrambleText.js +116 -0
- package/dist/Exotics/ScrambleText/ScrambleText.js.map +1 -0
- package/dist/Exotics/ScrambleText/ScrambleText.utils.js +36 -0
- package/dist/Exotics/ScrambleText/ScrambleText.utils.js.map +1 -0
- package/dist/Exotics/ScratchCard/ScratchCard.css.js +10 -0
- package/dist/Exotics/ScratchCard/ScratchCard.css.js.map +1 -0
- package/dist/Exotics/ScratchCard/ScratchCard.js +116 -0
- package/dist/Exotics/ScratchCard/ScratchCard.js.map +1 -0
- package/dist/Exotics/ScratchCard/ScratchCard.utils.js +51 -0
- package/dist/Exotics/ScratchCard/ScratchCard.utils.js.map +1 -0
- package/dist/Exotics/ScreenWiper/ScreenWiper.css.js +12 -0
- package/dist/Exotics/ScreenWiper/ScreenWiper.css.js.map +1 -0
- package/dist/Exotics/ScreenWiper/ScreenWiper.js +119 -0
- package/dist/Exotics/ScreenWiper/ScreenWiper.js.map +1 -0
- package/dist/Exotics/Shape/Shape.css.js +9 -0
- package/dist/Exotics/Shape/Shape.css.js.map +1 -0
- package/dist/Exotics/Shape/Shape.js +175 -0
- package/dist/Exotics/Shape/Shape.js.map +1 -0
- package/dist/Exotics/SortableGrid/SortableGrid.css.js +14 -0
- package/dist/Exotics/SortableGrid/SortableGrid.css.js.map +1 -0
- package/dist/Exotics/SortableGrid/SortableGrid.js +720 -0
- package/dist/Exotics/SortableGrid/SortableGrid.js.map +1 -0
- package/dist/Exotics/SortableGrid/SortableGrid.utils.js +255 -0
- package/dist/Exotics/SortableGrid/SortableGrid.utils.js.map +1 -0
- package/dist/Exotics/Staircase/Staircase.css.js +8 -0
- package/dist/Exotics/Staircase/Staircase.css.js.map +1 -0
- package/dist/Exotics/Staircase/Staircase.js +56 -0
- package/dist/Exotics/Staircase/Staircase.js.map +1 -0
- package/dist/Exotics/TileBoard/TileBoard.css.js +12 -0
- package/dist/Exotics/TileBoard/TileBoard.css.js.map +1 -0
- package/dist/Exotics/TileBoard/TileBoard.js +214 -0
- package/dist/Exotics/TileBoard/TileBoard.js.map +1 -0
- package/dist/Exotics/TileBoard/TileBoard.utils.js +330 -0
- package/dist/Exotics/TileBoard/TileBoard.utils.js.map +1 -0
- package/dist/Exotics/Trail/Trail.css.js +10 -0
- package/dist/Exotics/Trail/Trail.css.js.map +1 -0
- package/dist/Exotics/Trail/Trail.js +129 -0
- package/dist/Exotics/Trail/Trail.js.map +1 -0
- package/dist/Exotics/Trail/Trail.utils.js +35 -0
- package/dist/Exotics/Trail/Trail.utils.js.map +1 -0
- package/dist/Exotics/Typewriter/Typewriter.css.js +12 -0
- package/dist/Exotics/Typewriter/Typewriter.css.js.map +1 -0
- package/dist/Exotics/Typewriter/Typewriter.js +188 -0
- package/dist/Exotics/Typewriter/Typewriter.js.map +1 -0
- package/dist/Exotics/Viewport/Viewport.context.js +41 -0
- package/dist/Exotics/Viewport/Viewport.context.js.map +1 -0
- package/dist/Exotics/Viewport/Viewport.css.js +11 -0
- package/dist/Exotics/Viewport/Viewport.css.js.map +1 -0
- package/dist/Exotics/Viewport/Viewport.js +106 -0
- package/dist/Exotics/Viewport/Viewport.js.map +1 -0
- package/dist/Exotics/Viewport/Viewport.utils.js +28 -0
- package/dist/Exotics/Viewport/Viewport.utils.js.map +1 -0
- package/dist/Exotics/Wheel/Wheel.css.js +9 -0
- package/dist/Exotics/Wheel/Wheel.css.js.map +1 -0
- package/dist/Exotics/Wheel/Wheel.js +114 -0
- package/dist/Exotics/Wheel/Wheel.js.map +1 -0
- package/dist/Exotics/Wheel/Wheel.utils.js +15 -0
- package/dist/Exotics/Wheel/Wheel.utils.js.map +1 -0
- package/dist/Fundamentals/Accordion/Accordion.css.js +11 -0
- package/dist/Fundamentals/Accordion/Accordion.css.js.map +1 -0
- package/dist/Fundamentals/Accordion/Accordion.js +121 -0
- package/dist/Fundamentals/Accordion/Accordion.js.map +1 -0
- package/dist/Fundamentals/AudioSwitcher/AudioSwitcher.js +121 -0
- package/dist/Fundamentals/AudioSwitcher/AudioSwitcher.js.map +1 -0
- package/dist/Fundamentals/Breadcrumbs/Breadcrumbs.css.js +12 -0
- package/dist/Fundamentals/Breadcrumbs/Breadcrumbs.css.js.map +1 -0
- package/dist/Fundamentals/Breadcrumbs/Breadcrumbs.js +138 -0
- package/dist/Fundamentals/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/Fundamentals/Button/Button.css.js +7 -0
- package/dist/Fundamentals/Button/Button.css.js.map +1 -0
- package/dist/Fundamentals/Button/Button.js +103 -0
- package/dist/Fundamentals/Button/Button.js.map +1 -0
- package/dist/Fundamentals/Carousel/Carousel.css.js +13 -0
- package/dist/Fundamentals/Carousel/Carousel.css.js.map +1 -0
- package/dist/Fundamentals/Carousel/Carousel.js +294 -0
- package/dist/Fundamentals/Carousel/Carousel.js.map +1 -0
- package/dist/Fundamentals/Carousel/Carousel.utils.js +17 -0
- package/dist/Fundamentals/Carousel/Carousel.utils.js.map +1 -0
- package/dist/Fundamentals/Collapsible/Collapsible.css.js +14 -0
- package/dist/Fundamentals/Collapsible/Collapsible.css.js.map +1 -0
- package/dist/Fundamentals/Collapsible/Collapsible.js +156 -0
- package/dist/Fundamentals/Collapsible/Collapsible.js.map +1 -0
- package/dist/Fundamentals/Corners/Corners.css.js +15 -0
- package/dist/Fundamentals/Corners/Corners.css.js.map +1 -0
- package/dist/Fundamentals/Corners/Corners.js +80 -0
- package/dist/Fundamentals/Corners/Corners.js.map +1 -0
- package/dist/Fundamentals/Drawer/Drawer.js +12 -0
- package/dist/Fundamentals/Drawer/Drawer.js.map +1 -0
- package/dist/Fundamentals/DrumCarousel/DrumCarousel.js +8 -0
- package/dist/Fundamentals/DrumCarousel/DrumCarousel.js.map +1 -0
- package/dist/Fundamentals/Form/Form.context.js +9 -0
- package/dist/Fundamentals/Form/Form.context.js.map +1 -0
- package/dist/Fundamentals/Form/Form.js +57 -0
- package/dist/Fundamentals/Form/Form.js.map +1 -0
- package/dist/Fundamentals/ImageSwitcher/ImageSwitcher.css.js +8 -0
- package/dist/Fundamentals/ImageSwitcher/ImageSwitcher.css.js.map +1 -0
- package/dist/Fundamentals/ImageSwitcher/ImageSwitcher.js +77 -0
- package/dist/Fundamentals/ImageSwitcher/ImageSwitcher.js.map +1 -0
- package/dist/Fundamentals/Input/BinarySwitch/BinarySwitch.css.js +7 -0
- package/dist/Fundamentals/Input/BinarySwitch/BinarySwitch.css.js.map +1 -0
- package/dist/Fundamentals/Input/BinarySwitch/BinarySwitch.js +123 -0
- package/dist/Fundamentals/Input/BinarySwitch/BinarySwitch.js.map +1 -0
- package/dist/Fundamentals/Input/Calendar/Calendar.css.js +10 -0
- package/dist/Fundamentals/Input/Calendar/Calendar.css.js.map +1 -0
- package/dist/Fundamentals/Input/Calendar/Calendar.js +240 -0
- package/dist/Fundamentals/Input/Calendar/Calendar.js.map +1 -0
- package/dist/Fundamentals/Input/Checkbox/Checkbox.js +17 -0
- package/dist/Fundamentals/Input/Checkbox/Checkbox.js.map +1 -0
- package/dist/Fundamentals/Input/Clock/Clock.css.js +11 -0
- package/dist/Fundamentals/Input/Clock/Clock.css.js.map +1 -0
- package/dist/Fundamentals/Input/Clock/Clock.js +242 -0
- package/dist/Fundamentals/Input/Clock/Clock.js.map +1 -0
- package/dist/Fundamentals/Input/Clock/Clock.utils.js +74 -0
- package/dist/Fundamentals/Input/Clock/Clock.utils.js.map +1 -0
- package/dist/Fundamentals/Input/ColorArea/ColorArea.css.js +8 -0
- package/dist/Fundamentals/Input/ColorArea/ColorArea.css.js.map +1 -0
- package/dist/Fundamentals/Input/ColorArea/ColorArea.js +177 -0
- package/dist/Fundamentals/Input/ColorArea/ColorArea.js.map +1 -0
- package/dist/Fundamentals/Input/ColorInput/ColorInput.css.js +7 -0
- package/dist/Fundamentals/Input/ColorInput/ColorInput.css.js.map +1 -0
- package/dist/Fundamentals/Input/ColorInput/ColorInput.js +184 -0
- package/dist/Fundamentals/Input/ColorInput/ColorInput.js.map +1 -0
- package/dist/Fundamentals/Input/CurrencyInput/CurrencyInput.js +60 -0
- package/dist/Fundamentals/Input/CurrencyInput/CurrencyInput.js.map +1 -0
- package/dist/Fundamentals/Input/DateInput/DateInput.js +170 -0
- package/dist/Fundamentals/Input/DateInput/DateInput.js.map +1 -0
- package/dist/Fundamentals/Input/DatePicker/DatePicker.js +93 -0
- package/dist/Fundamentals/Input/DatePicker/DatePicker.js.map +1 -0
- package/dist/Fundamentals/Input/DateRangePicker/DateRangePicker.css.js +7 -0
- package/dist/Fundamentals/Input/DateRangePicker/DateRangePicker.css.js.map +1 -0
- package/dist/Fundamentals/Input/DateRangePicker/DateRangePicker.js +121 -0
- package/dist/Fundamentals/Input/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/Fundamentals/Input/DateTimePicker/DateTimePicker.css.js +7 -0
- package/dist/Fundamentals/Input/DateTimePicker/DateTimePicker.css.js.map +1 -0
- package/dist/Fundamentals/Input/DateTimePicker/DateTimePicker.js +44 -0
- package/dist/Fundamentals/Input/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/Fundamentals/Input/FileInput/FileInput.css.js +7 -0
- package/dist/Fundamentals/Input/FileInput/FileInput.css.js.map +1 -0
- package/dist/Fundamentals/Input/FileInput/FileInput.js +118 -0
- package/dist/Fundamentals/Input/FileInput/FileInput.js.map +1 -0
- package/dist/Fundamentals/Input/FormField/FormField.context.js +10 -0
- package/dist/Fundamentals/Input/FormField/FormField.context.js.map +1 -0
- package/dist/Fundamentals/Input/FormField/FormField.css.js +7 -0
- package/dist/Fundamentals/Input/FormField/FormField.css.js.map +1 -0
- package/dist/Fundamentals/Input/FormField/FormField.js +62 -0
- package/dist/Fundamentals/Input/FormField/FormField.js.map +1 -0
- package/dist/Fundamentals/Input/FormField/FormField.utils.js +16 -0
- package/dist/Fundamentals/Input/FormField/FormField.utils.js.map +1 -0
- package/dist/Fundamentals/Input/FormSection/FormSection.css.js +8 -0
- package/dist/Fundamentals/Input/FormSection/FormSection.css.js.map +1 -0
- package/dist/Fundamentals/Input/FormSection/FormSection.js +85 -0
- package/dist/Fundamentals/Input/FormSection/FormSection.js.map +1 -0
- package/dist/Fundamentals/Input/Label/Label.context.js +11 -0
- package/dist/Fundamentals/Input/Label/Label.context.js.map +1 -0
- package/dist/Fundamentals/Input/Label/Label.css.js +7 -0
- package/dist/Fundamentals/Input/Label/Label.css.js.map +1 -0
- package/dist/Fundamentals/Input/Label/Label.js +36 -0
- package/dist/Fundamentals/Input/Label/Label.js.map +1 -0
- package/dist/Fundamentals/Input/Label/Label.utils.js +14 -0
- package/dist/Fundamentals/Input/Label/Label.utils.js.map +1 -0
- package/dist/Fundamentals/Input/MultiSelect/MultiSelect.js +31 -0
- package/dist/Fundamentals/Input/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/Fundamentals/Input/NumberInput/NumberInput.js +117 -0
- package/dist/Fundamentals/Input/NumberInput/NumberInput.js.map +1 -0
- package/dist/Fundamentals/Input/NumberInput/NumberInput.utils.js +62 -0
- package/dist/Fundamentals/Input/NumberInput/NumberInput.utils.js.map +1 -0
- package/dist/Fundamentals/Input/Radio/Radio.js +37 -0
- package/dist/Fundamentals/Input/Radio/Radio.js.map +1 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.context.js +20 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.context.js.map +1 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.css.js +8 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.css.js.map +1 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.js +128 -0
- package/dist/Fundamentals/Input/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/Fundamentals/Input/Range/Range.css.js +12 -0
- package/dist/Fundamentals/Input/Range/Range.css.js.map +1 -0
- package/dist/Fundamentals/Input/Range/Range.js +216 -0
- package/dist/Fundamentals/Input/Range/Range.js.map +1 -0
- package/dist/Fundamentals/Input/RangeCalendar/RangeCalendar.js +39 -0
- package/dist/Fundamentals/Input/RangeCalendar/RangeCalendar.js.map +1 -0
- package/dist/Fundamentals/Input/Select/Select.css.js +12 -0
- package/dist/Fundamentals/Input/Select/Select.css.js.map +1 -0
- package/dist/Fundamentals/Input/Select/Select.js +533 -0
- package/dist/Fundamentals/Input/Select/Select.js.map +1 -0
- package/dist/Fundamentals/Input/Select/Select.utils.js +17 -0
- package/dist/Fundamentals/Input/Select/Select.utils.js.map +1 -0
- package/dist/Fundamentals/Input/TagInput/TagInput.css.js +11 -0
- package/dist/Fundamentals/Input/TagInput/TagInput.css.js.map +1 -0
- package/dist/Fundamentals/Input/TagInput/TagInput.js +189 -0
- package/dist/Fundamentals/Input/TagInput/TagInput.js.map +1 -0
- package/dist/Fundamentals/Input/TextArea/TextArea.js +8 -0
- package/dist/Fundamentals/Input/TextArea/TextArea.js.map +1 -0
- package/dist/Fundamentals/Input/TextField/TextField.css.js +10 -0
- package/dist/Fundamentals/Input/TextField/TextField.css.js.map +1 -0
- package/dist/Fundamentals/Input/TextField/TextField.js +351 -0
- package/dist/Fundamentals/Input/TextField/TextField.js.map +1 -0
- package/dist/Fundamentals/Input/TextInput/TextInput.js +8 -0
- package/dist/Fundamentals/Input/TextInput/TextInput.js.map +1 -0
- package/dist/Fundamentals/Input/TimeInput/TimeInput.js +139 -0
- package/dist/Fundamentals/Input/TimeInput/TimeInput.js.map +1 -0
- package/dist/Fundamentals/Input/TimePicker/TimePicker.js +101 -0
- package/dist/Fundamentals/Input/TimePicker/TimePicker.js.map +1 -0
- package/dist/Fundamentals/Input/Toggle/Toggle.js +18 -0
- package/dist/Fundamentals/Input/Toggle/Toggle.js.map +1 -0
- package/dist/Fundamentals/InteractionWrapper/InteractionWrapper.css.js +15 -0
- package/dist/Fundamentals/InteractionWrapper/InteractionWrapper.css.js.map +1 -0
- package/dist/Fundamentals/InteractionWrapper/InteractionWrapper.js +80 -0
- package/dist/Fundamentals/InteractionWrapper/InteractionWrapper.js.map +1 -0
- package/dist/Fundamentals/Menu/Menu.css.js +8 -0
- package/dist/Fundamentals/Menu/Menu.css.js.map +1 -0
- package/dist/Fundamentals/Menu/Menu.js +565 -0
- package/dist/Fundamentals/Menu/Menu.js.map +1 -0
- package/dist/Fundamentals/Menu/Menu.utils.js +36 -0
- package/dist/Fundamentals/Menu/Menu.utils.js.map +1 -0
- package/dist/Fundamentals/Modal/Modal.css.js +16 -0
- package/dist/Fundamentals/Modal/Modal.css.js.map +1 -0
- package/dist/Fundamentals/Modal/Modal.js +144 -0
- package/dist/Fundamentals/Modal/Modal.js.map +1 -0
- package/dist/Fundamentals/Paginator/Paginator.css.js +10 -0
- package/dist/Fundamentals/Paginator/Paginator.css.js.map +1 -0
- package/dist/Fundamentals/Paginator/Paginator.js +192 -0
- package/dist/Fundamentals/Paginator/Paginator.js.map +1 -0
- package/dist/Fundamentals/Paginator/Paginator.utils.js +56 -0
- package/dist/Fundamentals/Paginator/Paginator.utils.js.map +1 -0
- package/dist/Fundamentals/Popover/Popover.css.js +7 -0
- package/dist/Fundamentals/Popover/Popover.css.js.map +1 -0
- package/dist/Fundamentals/Popover/Popover.js +95 -0
- package/dist/Fundamentals/Popover/Popover.js.map +1 -0
- package/dist/Fundamentals/Preview/Preview.css.js +14 -0
- package/dist/Fundamentals/Preview/Preview.css.js.map +1 -0
- package/dist/Fundamentals/Preview/Preview.js +141 -0
- package/dist/Fundamentals/Preview/Preview.js.map +1 -0
- package/dist/Fundamentals/Progress/Progress.css.js +11 -0
- package/dist/Fundamentals/Progress/Progress.css.js.map +1 -0
- package/dist/Fundamentals/Progress/Progress.js +62 -0
- package/dist/Fundamentals/Progress/Progress.js.map +1 -0
- package/dist/Fundamentals/Scroller/Scroller.css.js +9 -0
- package/dist/Fundamentals/Scroller/Scroller.css.js.map +1 -0
- package/dist/Fundamentals/Scroller/Scroller.js +161 -0
- package/dist/Fundamentals/Scroller/Scroller.js.map +1 -0
- package/dist/Fundamentals/SlideButton/SlideButton.css.js +7 -0
- package/dist/Fundamentals/SlideButton/SlideButton.css.js.map +1 -0
- package/dist/Fundamentals/SlideButton/SlideButton.js +192 -0
- package/dist/Fundamentals/SlideButton/SlideButton.js.map +1 -0
- package/dist/Fundamentals/SlideButton/SlideButton.utils.js +27 -0
- package/dist/Fundamentals/SlideButton/SlideButton.utils.js.map +1 -0
- package/dist/Fundamentals/Sortable/Sortable.css.js +12 -0
- package/dist/Fundamentals/Sortable/Sortable.css.js.map +1 -0
- package/dist/Fundamentals/Sortable/Sortable.js +497 -0
- package/dist/Fundamentals/Sortable/Sortable.js.map +1 -0
- package/dist/Fundamentals/SplitPane/SplitPane.css.js +9 -0
- package/dist/Fundamentals/SplitPane/SplitPane.css.js.map +1 -0
- package/dist/Fundamentals/SplitPane/SplitPane.js +170 -0
- package/dist/Fundamentals/SplitPane/SplitPane.js.map +1 -0
- package/dist/Fundamentals/Spotlight/Spotlight.css.js +9 -0
- package/dist/Fundamentals/Spotlight/Spotlight.css.js.map +1 -0
- package/dist/Fundamentals/Spotlight/Spotlight.js +235 -0
- package/dist/Fundamentals/Spotlight/Spotlight.js.map +1 -0
- package/dist/Fundamentals/Spotlight/Spotlight.utils.js +19 -0
- package/dist/Fundamentals/Spotlight/Spotlight.utils.js.map +1 -0
- package/dist/Fundamentals/SpotlightGuide/SpotlightGuide.js +8 -0
- package/dist/Fundamentals/SpotlightGuide/SpotlightGuide.js.map +1 -0
- package/dist/Fundamentals/SpotlightHint/SpotlightHint.js +8 -0
- package/dist/Fundamentals/SpotlightHint/SpotlightHint.js.map +1 -0
- package/dist/Fundamentals/SpotlightPrompt/SpotlightPrompt.js +8 -0
- package/dist/Fundamentals/SpotlightPrompt/SpotlightPrompt.js.map +1 -0
- package/dist/Fundamentals/Stepper/Stepper.css.js +14 -0
- package/dist/Fundamentals/Stepper/Stepper.css.js.map +1 -0
- package/dist/Fundamentals/Stepper/Stepper.js +164 -0
- package/dist/Fundamentals/Stepper/Stepper.js.map +1 -0
- package/dist/Fundamentals/Table/Table.css.js +17 -0
- package/dist/Fundamentals/Table/Table.css.js.map +1 -0
- package/dist/Fundamentals/Table/Table.js +548 -0
- package/dist/Fundamentals/Table/Table.js.map +1 -0
- package/dist/Fundamentals/Table/Table.utils.js +50 -0
- package/dist/Fundamentals/Table/Table.utils.js.map +1 -0
- package/dist/Fundamentals/Tabs/Tabs.css.js +11 -0
- package/dist/Fundamentals/Tabs/Tabs.css.js.map +1 -0
- package/dist/Fundamentals/Tabs/Tabs.js +241 -0
- package/dist/Fundamentals/Tabs/Tabs.js.map +1 -0
- package/dist/Fundamentals/Toasts/Toasts.css.js +8 -0
- package/dist/Fundamentals/Toasts/Toasts.css.js.map +1 -0
- package/dist/Fundamentals/Toasts/Toasts.js +221 -0
- package/dist/Fundamentals/Toasts/Toasts.js.map +1 -0
- package/dist/Fundamentals/Toasts/Toasts.utils.js +32 -0
- package/dist/Fundamentals/Toasts/Toasts.utils.js.map +1 -0
- package/dist/Fundamentals/Toolbar/Toolbar.css.js +11 -0
- package/dist/Fundamentals/Toolbar/Toolbar.css.js.map +1 -0
- package/dist/Fundamentals/Toolbar/Toolbar.js +163 -0
- package/dist/Fundamentals/Toolbar/Toolbar.js.map +1 -0
- package/dist/Fundamentals/Toolbar/Toolbar.utils.js +36 -0
- package/dist/Fundamentals/Toolbar/Toolbar.utils.js.map +1 -0
- package/dist/Fundamentals/Tooltip/Tooltip.css.js +7 -0
- package/dist/Fundamentals/Tooltip/Tooltip.css.js.map +1 -0
- package/dist/Fundamentals/Tooltip/Tooltip.js +124 -0
- package/dist/Fundamentals/Tooltip/Tooltip.js.map +1 -0
- package/dist/Fundamentals/TrackCarousel/TrackCarousel.js +8 -0
- package/dist/Fundamentals/TrackCarousel/TrackCarousel.js.map +1 -0
- package/dist/Fundamentals/Tree/Tree.css.js +9 -0
- package/dist/Fundamentals/Tree/Tree.css.js.map +1 -0
- package/dist/Fundamentals/Tree/Tree.js +342 -0
- package/dist/Fundamentals/Tree/Tree.js.map +1 -0
- package/dist/Fundamentals/Tree/Tree.utils.js +15 -0
- package/dist/Fundamentals/Tree/Tree.utils.js.map +1 -0
- package/dist/Samples/Bracket/Connectors/BracketConnectorPaths.const.js +53 -0
- package/dist/Samples/Bracket/Connectors/BracketConnectorPaths.const.js.map +1 -0
- package/dist/Samples/Bracket/Connectors/BracketConnectors.const.js +120 -0
- package/dist/Samples/Bracket/Connectors/BracketConnectors.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Breakpoints/CellAnimationBreakpoints.const.js +99 -0
- package/dist/Samples/CellAnimation/Breakpoints/CellAnimationBreakpoints.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/CellAnimationKeyframes.const.js +362 -0
- package/dist/Samples/CellAnimation/Keyframes/CellAnimationKeyframes.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/CellAnimationKeyframes.utils.js +78 -0
- package/dist/Samples/CellAnimation/Keyframes/CellAnimationKeyframes.utils.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/blurDefault.js +21 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/blurDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/bounceDefault.js +33 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/bounceDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselBottom.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselBottom.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselLeft.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselRight.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselTop.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/carouselTop.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeBottom.js +23 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeBottom.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeLeft.js +23 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeRight.js +23 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeTop.js +23 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/cubeTop.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripDown.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripLeft.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripRight.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripUp.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/dripUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticDown.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticLeft.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticRight.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticUp.js +30 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/elasticUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCcw.js +32 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCcw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCw.js +32 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/encircleRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInFlash.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInFlash.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInFlicker.js +68 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInFlicker.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInLinear.js +13 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/fadeInLinear.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipHorizontal.js +21 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipHorizontal.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipVertical.js +21 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/flipVertical.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeBottom.js +27 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeBottom.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeLeft.js +27 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeRight.js +27 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeTop.js +27 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hingeTop.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopDown.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopLeft.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopRight.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopUp.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/hopUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/invertFlash.js +38 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/invertFlash.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popBottomLeft.js +33 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popBottomLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popBottomRight.js +33 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popBottomRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popCenter.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popCenter.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popTopLeft.js +33 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popTopLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popTopRight.js +33 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/popTopRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullDown.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullHorizontal.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullHorizontal.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullLeft.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullRight.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullUp.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullVertical.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/pullVertical.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/quadrantScatter.js +17 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/quadrantScatter.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollDownLeft.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollDownLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollDownRight.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollDownRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollQuadrant.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollQuadrantInverted.js +45 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollUpLeft.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollUpLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollUpRight.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/rollUpRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeDown.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeLeft.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeRight.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeUp.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shakeUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootDown.js +31 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootLeft.js +31 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootRight.js +31 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootUp.js +31 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/shootUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCcw.js +19 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCcw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCw.js +19 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/skewRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCcw.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCcw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCw.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinDownRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCcw.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCcw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCw.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/spinUpRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCcw.js +96 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCcw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCheckered.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCheckered.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCw.js +96 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmRings.js +12 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swarmRings.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingBottom.js +39 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingBottom.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingLeft.js +39 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingRight.js +39 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingTop.js +39 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/swingTop.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleDown.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleLeft.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleLeft.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleQuadrant.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleQuadrant.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleQuadrantInverted.js +29 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleQuadrantInverted.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleRight.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleRight.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleUp.js +40 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/tumbleUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/zoomIn.js +15 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/zoomIn.js.map +1 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/zoomOut.js +25 -0
- package/dist/Samples/CellAnimation/Keyframes/Samples/zoomOut.js.map +1 -0
- package/dist/Samples/CellAnimation/Origins/CellAnimationOrigins.const.js +58 -0
- package/dist/Samples/CellAnimation/Origins/CellAnimationOrigins.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Playback/CellAnimationPlayback.const.js +37 -0
- package/dist/Samples/CellAnimation/Playback/CellAnimationPlayback.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/CellAnimationWeights.const.js +246 -0
- package/dist/Samples/CellAnimation/Weights/CellAnimationWeights.const.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/CellAnimationWeights.utils.js +217 -0
- package/dist/Samples/CellAnimation/Weights/CellAnimationWeights.utils.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/checkeredConvergent.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/checkeredConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/checkeredDefault.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/checkeredDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondAlternate.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondConvergent.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondDefault.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/diamondDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineColumn.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineDiagonalDown.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineDiagonalDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineDiagonalUp.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineDiagonalUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineRow.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/entwineRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestAlternate.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestConvergent.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestDefault.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameFarthestDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestAlternate.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestConvergent.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestDefault.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameNearestDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedAlternate.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedConvergent.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedDefault.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/frameStretchedDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumn.js +8 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumnAlternate.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumnAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumnConvergent.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineColumnConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDown.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDownAlternate.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDownAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDownConvergent.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalDownConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUp.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUpAlternate.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUpAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUpConvergent.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineDiagonalUpConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRow.js +8 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRowAlternate.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRowAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRowConvergent.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/lineRowConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/ovalColumn.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/ovalColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/ovalRow.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/ovalRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/quadrantDown.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/quadrantDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/quadrantUp.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/quadrantUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarDouble.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarDouble.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarDoubleCw.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarDoubleCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarQuad.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarQuad.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarQuadCw.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarQuadCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarSingle.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarSingle.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarSingleCw.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radarSingleCw.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialAlternate.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialAlternate.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialConvergent.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialDefault.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/radialDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/randomClustered.js +27 -0
- package/dist/Samples/CellAnimation/Weights/Samples/randomClustered.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/randomDefault.js +6 -0
- package/dist/Samples/CellAnimation/Weights/Samples/randomDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDefault.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondDefault.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondDefault.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondTight.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondTight.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondTravelling.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondTravelling.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondWide.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleDiamondWide.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleTight.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleTight.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleTravelling.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleTravelling.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleWide.js +14 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rippleWide.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollColumn.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollColumnConvergent.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollColumnConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalDown.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalDown.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalDownConvergent.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalDownConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalUp.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalUp.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalUpConvergent.js +12 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollDiagonalUpConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollRow.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollRowConvergent.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/rollRowConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceConvergent.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceConvergent.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceEvenOdd.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceEvenOdd.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceInterleaved.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceInterleaved.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceLinear.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceLinear.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceMorton.js +15 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceMorton.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceReverseBinary.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceReverseBinary.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceStrideColumn.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceStrideColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceStrideRow.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/sequenceStrideRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralDouble.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralDouble.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralQuad.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralQuad.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralSingle.js +7 -0
- package/dist/Samples/CellAnimation/Weights/Samples/spiralSingle.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/zigzagColumn.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/zigzagColumn.js.map +1 -0
- package/dist/Samples/CellAnimation/Weights/Samples/zigzagRow.js +13 -0
- package/dist/Samples/CellAnimation/Weights/Samples/zigzagRow.js.map +1 -0
- package/dist/Samples/CellAnimation/Zones/CellAnimationZones.const.js +67 -0
- package/dist/Samples/CellAnimation/Zones/CellAnimationZones.const.js.map +1 -0
- package/dist/Samples/Formation/Layouts/FormationLayouts.const.js +70 -0
- package/dist/Samples/Formation/Layouts/FormationLayouts.const.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_circle_3.js +34 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_circle_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_drip_3.js +34 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_drip_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_inter_semicircle_3.js +44 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_inter_semicircle_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_semicircle_3.js +35 -0
- package/dist/Samples/SVGDefs/Gradient/elastic_semicircle_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_2s.js +41 -0
- package/dist/Samples/SVGDefs/Gradient/flow_2s.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_3.js +34 -0
- package/dist/Samples/SVGDefs/Gradient/flow_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_3s.js +37 -0
- package/dist/Samples/SVGDefs/Gradient/flow_3s.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_2s.js +41 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_2s.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_3.js +33 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_3s.js +37 -0
- package/dist/Samples/SVGDefs/Gradient/flow_diag_3s.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/hue_1.js +24 -0
- package/dist/Samples/SVGDefs/Gradient/hue_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/hue_diag_inter_2.js +31 -0
- package/dist/Samples/SVGDefs/Gradient/hue_diag_inter_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/hue_pulse_2.js +25 -0
- package/dist/Samples/SVGDefs/Gradient/hue_pulse_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/hue_rot_3.js +44 -0
- package/dist/Samples/SVGDefs/Gradient/hue_rot_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/merge_1v1.js +49 -0
- package/dist/Samples/SVGDefs/Gradient/merge_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/merge_diag_1v1.js +45 -0
- package/dist/Samples/SVGDefs/Gradient/merge_diag_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/merge_diag_async_4.js +99 -0
- package/dist/Samples/SVGDefs/Gradient/merge_diag_async_4.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_1.js +23 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_1v1.js +41 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_async_2v1.js +33 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_async_2v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_async_3.js +61 -0
- package/dist/Samples/SVGDefs/Gradient/orbit_async_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/plain.js +7 -0
- package/dist/Samples/SVGDefs/Gradient/plain.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/scan_1.js +30 -0
- package/dist/Samples/SVGDefs/Gradient/scan_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/scan_1v1.js +56 -0
- package/dist/Samples/SVGDefs/Gradient/scan_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/scan_diag_1.js +28 -0
- package/dist/Samples/SVGDefs/Gradient/scan_diag_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/scan_diag_1v1.js +51 -0
- package/dist/Samples/SVGDefs/Gradient/scan_diag_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_1.js +30 -0
- package/dist/Samples/SVGDefs/Gradient/snake_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_1v1.js +52 -0
- package/dist/Samples/SVGDefs/Gradient/snake_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_2.js +52 -0
- package/dist/Samples/SVGDefs/Gradient/snake_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_4.js +129 -0
- package/dist/Samples/SVGDefs/Gradient/snake_4.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_async_3.js +79 -0
- package/dist/Samples/SVGDefs/Gradient/snake_async_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/snake_inter_2.js +88 -0
- package/dist/Samples/SVGDefs/Gradient/snake_inter_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_1.js +32 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_1v1.js +60 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_1.js +30 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_1v1.js +55 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_1v1.js.map +1 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_async_4.js +139 -0
- package/dist/Samples/SVGDefs/Gradient/sweep_diag_async_4.js.map +1 -0
- package/dist/Samples/SVGDefs/Iteration/constant.js +6 -0
- package/dist/Samples/SVGDefs/Iteration/constant.js.map +1 -0
- package/dist/Samples/SVGDefs/Iteration/repeat1_1.js +13 -0
- package/dist/Samples/SVGDefs/Iteration/repeat1_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Iteration/repeat2_1.js +13 -0
- package/dist/Samples/SVGDefs/Iteration/repeat2_1.js.map +1 -0
- package/dist/Samples/SVGDefs/Iteration/repeat3_3.js +13 -0
- package/dist/Samples/SVGDefs/Iteration/repeat3_3.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/circle_g_2.js +47 -0
- package/dist/Samples/SVGDefs/Pattern/circle_g_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/circle_hd_2.js +47 -0
- package/dist/Samples/SVGDefs/Pattern/circle_hd_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/circle_hs_2.js +47 -0
- package/dist/Samples/SVGDefs/Pattern/circle_hs_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/hexagon_ft_2.js +48 -0
- package/dist/Samples/SVGDefs/Pattern/hexagon_ft_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/hexagon_pt_2.js +48 -0
- package/dist/Samples/SVGDefs/Pattern/hexagon_pt_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/lozenge_d_2.js +48 -0
- package/dist/Samples/SVGDefs/Pattern/lozenge_d_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/plain.js +7 -0
- package/dist/Samples/SVGDefs/Pattern/plain.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/triangle_s_2.js +59 -0
- package/dist/Samples/SVGDefs/Pattern/triangle_s_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/triangle_t_2.js +59 -0
- package/dist/Samples/SVGDefs/Pattern/triangle_t_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/whirlCurved_2.js +37 -0
- package/dist/Samples/SVGDefs/Pattern/whirlCurved_2.js.map +1 -0
- package/dist/Samples/SVGDefs/Pattern/whirl_2.js +37 -0
- package/dist/Samples/SVGDefs/Pattern/whirl_2.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGAnimationTracks.const.js +35 -0
- package/dist/Samples/SVGDefs/SVGAnimationTracks.const.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGAnimations.const.js +196 -0
- package/dist/Samples/SVGDefs/SVGAnimations.const.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGDefs.const.js +133 -0
- package/dist/Samples/SVGDefs/SVGDefs.const.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGDefs.utils.js +37 -0
- package/dist/Samples/SVGDefs/SVGDefs.utils.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGPatternLayouts.const.js +132 -0
- package/dist/Samples/SVGDefs/SVGPatternLayouts.const.js.map +1 -0
- package/dist/Samples/SVGDefs/SVGPatterns.const.js +23 -0
- package/dist/Samples/SVGDefs/SVGPatterns.const.js.map +1 -0
- package/dist/Samples/ScanlineAnimation/Keyframes/ScanlineAnimationKeyframes.const.js +124 -0
- package/dist/Samples/ScanlineAnimation/Keyframes/ScanlineAnimationKeyframes.const.js.map +1 -0
- package/dist/Samples/Staircase/Indents/StaircaseIndents.const.js +35 -0
- package/dist/Samples/Staircase/Indents/StaircaseIndents.const.js.map +1 -0
- package/dist/Utils/propUtils.js +13 -0
- package/dist/Utils/propUtils.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/CalendarDate.js +196 -0
- package/dist/_external/@internationalized/date/dist/private/CalendarDate.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/BuddhistCalendar.js +32 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/BuddhistCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/EthiopicCalendar.js +123 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/EthiopicCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/GregorianCalendar.js +117 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/GregorianCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/HebrewCalendar.js +110 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/HebrewCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/IndianCalendar.js +75 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/IndianCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/IslamicCalendar.js +144 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/IslamicCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/JapaneseCalendar.js +152 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/JapaneseCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/PersianCalendar.js +61 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/PersianCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/TaiwanCalendar.js +50 -0
- package/dist/_external/@internationalized/date/dist/private/calendars/TaiwanCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/conversion.js +145 -0
- package/dist/_external/@internationalized/date/dist/private/conversion.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/createCalendar.js +31 -0
- package/dist/_external/@internationalized/date/dist/private/createCalendar.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/manipulation.js +272 -0
- package/dist/_external/@internationalized/date/dist/private/manipulation.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/queries.js +34 -0
- package/dist/_external/@internationalized/date/dist/private/queries.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/string.js +32 -0
- package/dist/_external/@internationalized/date/dist/private/string.js.map +1 -0
- package/dist/_external/@internationalized/date/dist/private/utils.js +8 -0
- package/dist/_external/@internationalized/date/dist/private/utils.js.map +1 -0
- package/dist/_external/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js +31 -0
- package/dist/_external/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js.map +1 -0
- package/dist/_external/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +30 -0
- package/dist/_external/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +1 -0
- package/dist/index.css +1457 -0
- package/dist/index.d.ts +4068 -908
- package/dist/index.js +415 -9227
- package/package.json +145 -60
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatchBoard.js","names":["Index","createEffect","createMemo","createSignal","createUniqueId","onCleanup","Point2d","CarrierZone","Carry","CarryMode","CarryNudge","CarryPlace","CarrierStack","LiveAnnouncer","LabelUtils","InteractionWrapper","access","accessSignal","useViewportContext","PatchBoardCableDefs","PatchBoardCarry","PatchBoardEnd","PatchBoardNode","PatchBoardOrientation","PatchBoardPlace","PatchBoardPlacedSocket","PatchBoardPlacement","PatchBoardProps","PatchBoardUtils","styles","DEFAULT_ORIENTATION","DEFAULT_SOCKET_SIZE","DEFAULT_SOCKET_REACH","DEFAULT_STEP_SIZE","COARSE_STEP_FACTOR","NOTHING","SINGLE","INTERACTIVE_SELECTOR","NUDGE_KEYS","Record","ArrowRight","x","ArrowLeft","ArrowDown","y","ArrowUp","PatchBoard","props","T","nodesSignal","linksSignal","boardId","viewportContext","getRootRef","setRootRef","HTMLElement","getFocusedStop","setFocusedStop","stopRefs","Map","grabOffset","hasPendingClick","getAriaLabel","resolveAriaLabel","ariaLabel","getNodes","getLinks","getSize","size","getGroupId","groupId","getIsDisabled","isDisabled","getIsLocked","isLocked","getOrientation","orientation","getSocketSize","socketSize","getSocketReach","socketReach","getStepSize","stepSize","getNodeKey","node","computeNodeKey","value","getNodeLabel","computeNodeLabel","asCarry","carry","asPlace","place","findNode","nodeKey","find","getEndLabel","end","socket","sockets","entry","id","socketId","label","getIsEndAllowed","fromEnd","toEnd","placed","getPlacedSockets","from","findSocket","to","getIsPairAllowed","link","getLink","undefined","computeCanLink","getBoardPoint","point","root","rect","getBoundingClientRect","scale","getScale","left","top","zone","getLabel","getKeyHint","getCarry","kind","computeCanAccept","computePlaceAtPoint","board","getClampedSpot","getNearestSocket","getCandidateSockets","computeNudgedPlace","nudge","current","step","getSteppedSocket","computeEntryPlace","spot","computeIsSamePlace","first","second","one","other","getIsSameEnd","computeIsPlaceAllowed","computePlaceLabel","getRegionLabel","isRefused","takeAt","_unusedPlace","key","orphaned","filter","nodes","length","links","some","cut","getIsSameLink","forEach","onUnlink","putAt","onMove","moveAt","_unusedFrom","toPlace","map","onLink","registerZone","getSourceZone","getCarriedNodeKey","getPlugSource","getAimedPlace","getTargetPlace","getLiveSpot","getPlacements","getStopKeys","getNodeKeys","getReadingOrder","getRovingStop","keys","focused","includes","getCableDefs","defs","reduce","acc","push","getLinkKey","fromKind","isPending","isAllowed","source","getIsTargetAllowed","setStopRef","stopKey","element","set","get","delete","focusStop","focus","pickUpNode","mode","width","height","start","pickUpPlug","getEndKey","unplug","getLinksAt","removed","announce","handleNodePointerDown","e","PointerEvent","button","target","closest","dragFromPointer","handleSocketPointerDown","dropAtPointer","MouseEvent","getCarryMode","aimAtPoint","clientX","clientY","handleNodeClick","handleSocketClick","getIsFull","handleStopKeyDown","KeyboardEvent","isCarrying","preventDefault","aimAtNudge","shiftKey","getSteppedKey","handleRootClick","trackPoint","document","addEventListener","removeEventListener","swallowClick","stopPropagation","_el$","_tmpl$","_el$2","firstChild","$$click","_$use","_$setAttribute","_$className","patchBoardRoot","patchBoardCables","_$insert","_$createComponent","each","children","getDefs","_$memo","renderCable","getNode","getKey","getPlacement","placement","_el$3","_tmpl$2","_el$4","patchBoardSlot","patchBoardNodeHolder","sizing","isTabbable","extraFlags","isCarried","renderControl","setElementRef","getFlags","_el$5","_tmpl$3","$$keydown","$$pointerdown","patchBoardNode","renderNode","_$effect","_p$","_v$0","_v$1","t","getSocket","getEnd","getPlaced","getStopKey","getIsTaken","getIsAimed","getIsSource","getIsAllowed","_el$6","_tmpl$4","patchBoardSocketHolder","isTaken","isFull","isSource","isAimed","_el$7","_tmpl$5","patchBoardSocket","renderSocket","_v$14","_v$15","_v$10","_v$11","_v$12","_v$13","_$setStyleProperty","a","o","_v$6","_v$7","_v$8","_v$9","_v$","_v$2","_v$3","_v$4","_v$5","i","_$delegateEvents"],"sources":["../../../src/Exotics/PatchBoard/PatchBoard.tsx"],"sourcesContent":["import { Index, createEffect, createMemo, createSignal, createUniqueId, onCleanup } from \"solid-js\";\n\nimport type { Point2d } from \"@thewaver/ss-utils\";\n\nimport type { CarrierZone, Carry, CarryMode, CarryNudge, CarryPlace } from \"../../Abstracts/Carrier/Carrier.types\";\nimport { CarrierStack } from \"../../Abstracts/Carrier/CarrierStack\";\nimport { LiveAnnouncer } from \"../../Abstracts/LiveAnnouncer/LiveAnnouncer\";\nimport { LabelUtils } from \"../../Fundamentals/Input/Label/Label.utils\";\nimport { InteractionWrapper } from \"../../Fundamentals/InteractionWrapper/InteractionWrapper\";\nimport { access, accessSignal } from \"../../Utils/propUtils\";\nimport { useViewportContext } from \"../Viewport/Viewport.context\";\nimport type {\n PatchBoardCableDefs,\n PatchBoardCarry,\n PatchBoardEnd,\n PatchBoardNode,\n PatchBoardOrientation,\n PatchBoardPlace,\n PatchBoardPlacedSocket,\n PatchBoardPlacement,\n PatchBoardProps,\n} from \"./PatchBoard.types\";\nimport { PatchBoardUtils } from \"./PatchBoard.utils\";\n\nimport * as styles from \"./PatchBoard.css\";\n\nconst DEFAULT_ORIENTATION: PatchBoardOrientation = \"horizontal\";\nconst DEFAULT_SOCKET_SIZE = 14;\nconst DEFAULT_SOCKET_REACH = 28;\nconst DEFAULT_STEP_SIZE = 8;\nconst COARSE_STEP_FACTOR = 4;\nconst NOTHING = 0;\nconst SINGLE = 1;\n\nconst INTERACTIVE_SELECTOR =\n \"a[href], button, input, select, textarea, [role='button'], [role='checkbox'], [role='link'], [role='switch']\";\n\nconst NUDGE_KEYS: Record<string, CarryNudge | undefined> = {\n ArrowRight: { x: 1 },\n ArrowLeft: { x: -1 },\n ArrowDown: { y: 1 },\n ArrowUp: { y: -1 },\n};\n\nexport const PatchBoard = <T,>(props: PatchBoardProps<T>) => {\n const nodesSignal = accessSignal(() => props.nodesSignal);\n const linksSignal = accessSignal(() => props.linksSignal);\n\n const boardId = createUniqueId();\n\n const viewportContext = useViewportContext();\n\n const [getRootRef, setRootRef] = createSignal<HTMLElement>();\n const [getFocusedStop, setFocusedStop] = createSignal<string>();\n\n const stopRefs = new Map<string, HTMLElement>();\n\n let grabOffset: Point2d = { x: NOTHING, y: NOTHING };\n let hasPendingClick = false;\n\n const getAriaLabel = LabelUtils.resolveAriaLabel(() => access(props.ariaLabel));\n\n const getNodes = createMemo(() => nodesSignal[0]());\n\n const getLinks = createMemo(() => linksSignal[0]());\n\n const getSize = createMemo(() => access(props.size));\n\n const getGroupId = createMemo(() => access(props.groupId));\n\n const getIsDisabled = createMemo(() => access(props.isDisabled) ?? false);\n\n const getIsLocked = createMemo(() => access(props.isLocked) ?? false);\n\n const getOrientation = createMemo(() => access(props.orientation) ?? DEFAULT_ORIENTATION);\n\n const getSocketSize = createMemo(() => access(props.socketSize) ?? DEFAULT_SOCKET_SIZE);\n\n const getSocketReach = createMemo(() => access(props.socketReach) ?? DEFAULT_SOCKET_REACH);\n\n const getStepSize = createMemo(() => access(props.stepSize) ?? DEFAULT_STEP_SIZE);\n\n const getNodeKey = (node: PatchBoardNode<T>) => props.computeNodeKey(node.value);\n\n const getNodeLabel = (node: PatchBoardNode<T>) => props.computeNodeLabel(node.value);\n\n const asCarry = (carry: Carry) => carry.value as PatchBoardCarry<T>;\n\n const asPlace = (place: CarryPlace) => place as PatchBoardPlace;\n\n const findNode = (nodeKey: string) => getNodes().find((node) => getNodeKey(node) === nodeKey);\n\n const getEndLabel = (end: PatchBoardEnd) => {\n const node = findNode(end.nodeKey);\n const socket = node?.sockets.find((entry) => entry.id === end.socketId);\n\n return `${node ? getNodeLabel(node) : end.nodeKey} ${socket?.label ?? end.socketId}`;\n };\n\n const getIsEndAllowed = (fromEnd: PatchBoardEnd, toEnd: PatchBoardEnd) => {\n const placed = getPlacedSockets();\n const from = PatchBoardUtils.findSocket(placed, fromEnd);\n const to = PatchBoardUtils.findSocket(placed, toEnd);\n\n if (!from || !to) return false;\n if (getIsLocked()) return false;\n if (!PatchBoardUtils.getIsPairAllowed(from, to, getLinks())) return false;\n\n const link = PatchBoardUtils.getLink(from, to);\n\n return link !== undefined && (props.computeCanLink?.(link) ?? true);\n };\n\n const getBoardPoint = (point: Point2d) => {\n const root = getRootRef();\n\n if (!root) return undefined;\n\n const rect = root.getBoundingClientRect();\n const scale = viewportContext.getScale();\n\n return { x: (point.x - rect.left) / scale, y: (point.y - rect.top) / scale };\n };\n\n const zone: CarrierZone = {\n getGroupId,\n getLabel: () => access(props.ariaLabel),\n getRootRef,\n getIsDisabled,\n getKeyHint: () => {\n const carry = CarrierStack.getCarry();\n\n return carry && asCarry(carry).kind === \"plug\"\n ? \"Arrow keys choose a socket, Enter connects, Escape cancels.\"\n : \"Arrow keys move it, Enter drops, Escape cancels.\";\n },\n computeCanAccept: (carry) => {\n if (getIsDisabled()) return false;\n\n const value = asCarry(carry);\n\n if (value.kind === \"node\") return true;\n\n return !getIsLocked() && PatchBoardUtils.findSocket(getPlacedSockets(), value.from) !== undefined;\n },\n computePlaceAtPoint: (point, carry) => {\n const board = getBoardPoint(point);\n\n if (!board) return undefined;\n\n const value = asCarry(carry);\n\n if (value.kind === \"node\") {\n return {\n kind: \"spot\",\n ...PatchBoardUtils.getClampedSpot(\n { x: board.x - grabOffset.x, y: board.y - grabOffset.y },\n value.node.size,\n getSize(),\n ),\n };\n }\n\n const socket = PatchBoardUtils.getNearestSocket(getCandidateSockets(), board, getSocketReach());\n\n return socket ? { kind: \"socket\", ...socket.end } : { kind: \"free\", ...board };\n },\n computeNudgedPlace: (place, nudge, carry) => {\n const current = asPlace(place);\n const value = asCarry(carry);\n\n if (value.kind === \"node\") {\n if (current.kind !== \"spot\") return undefined;\n\n const step = getStepSize();\n\n return {\n kind: \"spot\",\n ...PatchBoardUtils.getClampedSpot(\n {\n x: current.x + (nudge.x ?? NOTHING) * step,\n y: current.y + (nudge.y ?? NOTHING) * step,\n },\n value.node.size,\n getSize(),\n ),\n };\n }\n\n const step = (nudge.x ?? NOTHING) + (nudge.y ?? NOTHING);\n\n if (step === NOTHING) return undefined;\n\n const socket = PatchBoardUtils.getSteppedSocket(\n getCandidateSockets(),\n current.kind === \"socket\" ? current : undefined,\n step,\n );\n\n return socket ? { kind: \"socket\", ...socket.end } : undefined;\n },\n computeEntryPlace: (carry) => {\n const value = asCarry(carry);\n\n return value.kind === \"node\" ? { kind: \"spot\", ...value.node.spot } : { kind: \"socket\", ...value.from };\n },\n computeIsSamePlace: (first, second) => {\n const one = asPlace(first);\n const other = asPlace(second);\n\n if (one.kind !== other.kind) return false;\n if (one.kind === \"socket\" && other.kind === \"socket\") return PatchBoardUtils.getIsSameEnd(one, other);\n if (one.kind === \"socket\" || other.kind === \"socket\") return false;\n\n return one.x === other.x && one.y === other.y;\n },\n computeIsPlaceAllowed: (place, carry) => {\n const current = asPlace(place);\n const value = asCarry(carry);\n\n if (value.kind === \"node\") return current.kind === \"spot\";\n if (current.kind !== \"socket\") return false;\n\n return getIsEndAllowed(value.from, current);\n },\n computePlaceLabel: (place, carry) => {\n const current = asPlace(place);\n const value = asCarry(carry);\n\n if (value.kind === \"node\") {\n return current.kind === \"spot\"\n ? PatchBoardUtils.getRegionLabel(current, value.node.size, getSize())\n : \"off the board\";\n }\n\n if (current.kind !== \"socket\") return \"no socket\";\n\n const isRefused =\n getCarry() !== undefined &&\n !PatchBoardUtils.getIsSameEnd(value.from, current) &&\n !getIsEndAllowed(value.from, current);\n\n return `${getEndLabel(current)}${isRefused ? \", cannot connect\" : \"\"}`;\n },\n takeAt: (_unusedPlace, carry) => {\n const value = asCarry(carry);\n\n if (value.kind !== \"node\") return;\n\n const nodeKey = carry.key;\n const orphaned = getLinks().filter((link) => link.from.nodeKey === nodeKey || link.to.nodeKey === nodeKey);\n\n nodesSignal[1]((nodes) => nodes.filter((node) => getNodeKey(node) !== nodeKey));\n\n if (orphaned.length < SINGLE) return;\n\n linksSignal[1]((links) =>\n links.filter((link) => !orphaned.some((cut) => PatchBoardUtils.getIsSameLink(cut, link))),\n );\n\n orphaned.forEach((link) => props.onUnlink?.(link));\n },\n putAt: (place, carry) => {\n const current = asPlace(place);\n const value = asCarry(carry);\n\n if (value.kind !== \"node\" || current.kind !== \"spot\") return;\n\n const spot = { x: current.x, y: current.y };\n\n nodesSignal[1]((nodes) => [...nodes, { ...(value.node as PatchBoardNode<T>), spot }]);\n\n props.onMove?.(carry.key, spot);\n },\n moveAt: (_unusedFrom, toPlace, carry) => {\n const current = asPlace(toPlace);\n const value = asCarry(carry);\n\n if (value.kind === \"node\") {\n if (current.kind !== \"spot\") return;\n\n const spot = { x: current.x, y: current.y };\n\n nodesSignal[1]((nodes) =>\n nodes.map((node) => (getNodeKey(node) === carry.key ? { ...node, spot } : node)),\n );\n\n props.onMove?.(carry.key, spot);\n\n return;\n }\n\n if (current.kind !== \"socket\") return;\n\n const placed = getPlacedSockets();\n const from = PatchBoardUtils.findSocket(placed, value.from);\n const to = PatchBoardUtils.findSocket(placed, current);\n const link = from && to && PatchBoardUtils.getLink(from, to);\n\n if (!link) return;\n\n linksSignal[1]((links) => [...links, link]);\n\n props.onLink?.(link);\n },\n };\n\n CarrierStack.registerZone(zone);\n\n const getCarry = () => (CarrierStack.getSourceZone() === zone ? CarrierStack.getCarry() : undefined);\n\n const getCarriedNodeKey = createMemo(() => {\n const carry = getCarry();\n\n return carry && asCarry(carry).kind === \"node\" ? carry.key : undefined;\n });\n\n const getPlugSource = createMemo(() => {\n const carry = getCarry();\n const value = carry && asCarry(carry);\n\n return value?.kind === \"plug\" ? value.from : undefined;\n });\n\n const getAimedPlace = createMemo(() => {\n const place = CarrierStack.getTargetPlace();\n\n if (!getCarry() || place === undefined) return undefined;\n\n return asPlace(place);\n });\n\n const getLiveSpot = (node: PatchBoardNode<T>) => {\n const place = getAimedPlace();\n\n if (getCarriedNodeKey() !== getNodeKey(node) || place?.kind !== \"spot\") return node.spot;\n\n return { x: place.x, y: place.y };\n };\n\n const getPlacements = createMemo((): PatchBoardPlacement[] =>\n getNodes().map((node) => ({\n key: getNodeKey(node),\n spot: getLiveSpot(node),\n size: node.size,\n sockets: node.sockets,\n isDisabled: node.isDisabled ?? false,\n })),\n );\n\n const getPlacedSockets = createMemo(() => PatchBoardUtils.getPlacedSockets(getPlacements(), getOrientation()));\n\n const getStopKeys = createMemo(() => PatchBoardUtils.getStopKeys(getPlacements()));\n\n const getNodeKeys = createMemo(() => PatchBoardUtils.getReadingOrder(getPlacements()).map((entry) => entry.key));\n\n const getRovingStop = createMemo(() => {\n const keys = getStopKeys();\n const focused = getFocusedStop();\n\n return focused !== undefined && keys.includes(focused) ? focused : keys[NOTHING];\n });\n\n const getCandidateSockets = createMemo(() => {\n const from = getPlugSource();\n\n if (!from) return [];\n\n return getPlacedSockets().filter((socket) => !PatchBoardUtils.getIsSameEnd(socket.end, from));\n });\n\n const getCableDefs = createMemo((): PatchBoardCableDefs[] => {\n const placed = getPlacedSockets();\n const defs = getLinks().reduce<PatchBoardCableDefs[]>((acc, link) => {\n const from = PatchBoardUtils.findSocket(placed, link.from);\n const to = PatchBoardUtils.findSocket(placed, link.to);\n\n if (from && to) {\n acc.push({\n key: PatchBoardUtils.getLinkKey(link),\n from: from.point,\n to: to.point,\n fromKind: from.kind,\n orientation: getOrientation(),\n isPending: false,\n isAllowed: true,\n });\n }\n\n return acc;\n }, []);\n\n const source = getPlugSource();\n const place = getAimedPlace();\n const from = source && PatchBoardUtils.findSocket(placed, source);\n\n if (!from || !place || place.kind === \"spot\") return defs;\n\n const to =\n place.kind === \"socket\" ? PatchBoardUtils.findSocket(placed, place)?.point : { x: place.x, y: place.y };\n\n if (!to) return defs;\n\n return [\n ...defs,\n {\n key: `${boardId}-pending`,\n from: from.point,\n to,\n fromKind: from.kind,\n orientation: getOrientation(),\n isPending: true,\n isAllowed: CarrierStack.getIsTargetAllowed(),\n },\n ];\n });\n\n const setStopRef = (stopKey: string, element: HTMLElement) => {\n stopRefs.set(stopKey, element);\n\n onCleanup(() => {\n if (stopRefs.get(stopKey) === element) stopRefs.delete(stopKey);\n });\n };\n\n const focusStop = (stopKey: string | undefined) => {\n if (stopKey === undefined) return;\n\n setFocusedStop(stopKey);\n stopRefs.get(stopKey)?.focus();\n };\n\n const pickUpNode = (node: PatchBoardNode<T>, mode: CarryMode, from?: Point2d) => {\n if (getIsDisabled() || (node.isDisabled ?? false)) return;\n\n const board = from && getBoardPoint(from);\n\n grabOffset = board\n ? { x: board.x - node.spot.x, y: board.y - node.spot.y }\n : { x: node.size.width / 2, y: node.size.height / 2 };\n\n CarrierStack.start(\n zone,\n { kind: \"spot\", ...node.spot },\n {\n groupId: getGroupId(),\n key: getNodeKey(node),\n label: getNodeLabel(node),\n value: { kind: \"node\", node } satisfies PatchBoardCarry<T>,\n },\n mode,\n );\n };\n\n const pickUpPlug = (socket: PatchBoardPlacedSocket, mode: CarryMode) => {\n if (getIsDisabled() || getIsLocked() || socket.isDisabled) return;\n\n CarrierStack.start(\n zone,\n { kind: \"socket\", ...socket.end },\n {\n groupId: getGroupId(),\n key: PatchBoardUtils.getEndKey(socket.end),\n label: `cable from ${getEndLabel(socket.end)}`,\n value: { kind: \"plug\", from: socket.end } satisfies PatchBoardCarry<T>,\n },\n mode,\n );\n };\n\n const unplug = (end: PatchBoardEnd) => {\n if (getIsDisabled() || getIsLocked()) return false;\n\n const cut = PatchBoardUtils.getLinksAt(getLinks(), end);\n\n if (cut.length < SINGLE) return false;\n\n linksSignal[1]((links) =>\n links.filter((link) => !cut.some((removed) => PatchBoardUtils.getIsSameLink(removed, link))),\n );\n\n cut.forEach((link) => props.onUnlink?.(link));\n\n LiveAnnouncer.announce(\n `${cut.length > SINGLE ? `${cut.length} cables` : \"Cable\"} unplugged from ${getEndLabel(end)}.`,\n );\n\n return true;\n };\n\n const handleNodePointerDown = (node: PatchBoardNode<T>, e: PointerEvent) => {\n if (e.button !== NOTHING || getIsDisabled()) return;\n if ((e.target as HTMLElement).closest(INTERACTIVE_SELECTOR)) return;\n if (CarrierStack.getCarry()) return;\n\n const root = getRootRef();\n\n if (!root) return;\n\n CarrierStack.dragFromPointer(\n root,\n e,\n (from) => pickUpNode(node, \"drag\", from),\n () => {\n hasPendingClick = true;\n },\n );\n };\n\n const handleSocketPointerDown = (socket: PatchBoardPlacedSocket | undefined, e: PointerEvent) => {\n if (e.button !== NOTHING || getIsDisabled() || getIsLocked() || !socket) return;\n if (CarrierStack.getCarry()) return;\n\n const root = getRootRef();\n\n if (!root) return;\n\n CarrierStack.dragFromPointer(\n root,\n e,\n () => pickUpPlug(socket, \"drag\"),\n () => {\n hasPendingClick = true;\n },\n );\n };\n\n const dropAtPointer = (e: MouseEvent) => {\n if (CarrierStack.getCarryMode() === \"drag\") return;\n if (CarrierStack.getCarryMode() === \"key\") CarrierStack.aimAtPoint(e.clientX, e.clientY);\n\n CarrierStack.end(\"drop\");\n };\n\n const handleNodeClick = (node: PatchBoardNode<T>, e: MouseEvent) => {\n if (getIsDisabled()) return;\n if ((e.target as HTMLElement).closest(INTERACTIVE_SELECTOR)) return;\n\n if (!CarrierStack.getCarry()) {\n pickUpNode(node, \"tap\", { x: e.clientX, y: e.clientY });\n focusStop(getNodeKey(node));\n\n return;\n }\n\n dropAtPointer(e);\n };\n\n const handleSocketClick = (socket: PatchBoardPlacedSocket | undefined, e: MouseEvent) => {\n if (getIsDisabled() || !socket) return;\n\n if (CarrierStack.getCarry()) {\n dropAtPointer(e);\n\n return;\n }\n\n const stopKey = PatchBoardUtils.getEndKey(socket.end);\n\n focusStop(stopKey);\n\n if (PatchBoardUtils.getIsFull(getLinks(), socket)) {\n unplug(socket.end);\n\n return;\n }\n\n pickUpPlug(socket, \"tap\");\n };\n\n const handleStopKeyDown = (\n stopKey: string,\n node: PatchBoardNode<T>,\n socket: PatchBoardPlacedSocket | undefined,\n e: KeyboardEvent,\n ) => {\n if (getIsDisabled()) return;\n\n const isCarrying = CarrierStack.getCarry() !== undefined && CarrierStack.getCarryMode() !== \"drag\";\n\n if (e.key === \"Escape\") {\n if (!isCarrying) return;\n\n e.preventDefault();\n CarrierStack.end(\"cancel\");\n\n return;\n }\n\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n\n if (isCarrying) {\n CarrierStack.end(\"drop\");\n\n return;\n }\n\n if (!socket) {\n pickUpNode(node, \"key\");\n\n return;\n }\n\n if (PatchBoardUtils.getIsFull(getLinks(), socket)) {\n unplug(socket.end);\n\n return;\n }\n\n pickUpPlug(socket, \"key\");\n\n return;\n }\n\n if (isCarrying) {\n const nudge = NUDGE_KEYS[e.key];\n\n if (!nudge) return;\n\n e.preventDefault();\n CarrierStack.aimAtNudge(\n e.shiftKey\n ? {\n x: (nudge.x ?? NOTHING) * COARSE_STEP_FACTOR,\n y: (nudge.y ?? NOTHING) * COARSE_STEP_FACTOR,\n }\n : nudge,\n );\n\n return;\n }\n\n if (e.key === \"Delete\" || e.key === \"Backspace\") {\n if (!socket) return;\n\n e.preventDefault();\n unplug(socket.end);\n\n return;\n }\n\n if (e.key === \"Home\" || e.key === \"End\") {\n const keys = getNodeKeys();\n\n e.preventDefault();\n focusStop(e.key === \"Home\" ? keys[NOTHING] : keys[keys.length - SINGLE]);\n\n return;\n }\n\n if (e.key === \"ArrowRight\" || e.key === \"ArrowLeft\") {\n e.preventDefault();\n focusStop(PatchBoardUtils.getSteppedKey(getStopKeys(), stopKey, e.key === \"ArrowRight\" ? SINGLE : -SINGLE));\n\n return;\n }\n\n if (e.key !== \"ArrowDown\" && e.key !== \"ArrowUp\") return;\n\n e.preventDefault();\n focusStop(\n PatchBoardUtils.getSteppedKey(getNodeKeys(), getNodeKey(node), e.key === \"ArrowDown\" ? SINGLE : -SINGLE),\n );\n };\n\n const handleRootClick = (e: MouseEvent) => {\n const carry = CarrierStack.getCarry();\n\n if (getIsDisabled() || !carry) return;\n if (e.target !== getRootRef()) return;\n\n dropAtPointer(e);\n };\n\n createEffect(() => {\n if (!getCarry()) return;\n\n const trackPoint = (e: PointerEvent) => {\n if (CarrierStack.getCarryMode() !== \"tap\") return;\n\n CarrierStack.aimAtPoint(e.clientX, e.clientY);\n };\n\n document.addEventListener(\"pointermove\", trackPoint, true);\n\n onCleanup(() => {\n document.removeEventListener(\"pointermove\", trackPoint, true);\n });\n });\n\n createEffect(() => {\n const root = getRootRef();\n\n if (!root) return;\n\n const swallowClick = (e: MouseEvent) => {\n if (!hasPendingClick) return;\n\n hasPendingClick = false;\n\n e.preventDefault();\n e.stopPropagation();\n };\n\n root.addEventListener(\"click\", swallowClick, true);\n\n onCleanup(() => {\n root.removeEventListener(\"click\", swallowClick, true);\n });\n });\n\n createEffect(() => {\n if (!getIsDisabled() || !getCarry()) return;\n\n CarrierStack.end(\"cancel\");\n });\n\n onCleanup(() => {\n if (CarrierStack.getSourceZone() === zone) CarrierStack.end(\"cancel\");\n });\n\n return (\n <div\n id={boardId}\n ref={setRootRef}\n class={styles.patchBoardRoot}\n style={{ width: `${getSize().width}px`, height: `${getSize().height}px` }}\n role=\"list\"\n aria-label={getAriaLabel()}\n aria-disabled={getIsDisabled() || undefined}\n onClick={handleRootClick}\n >\n <svg\n class={styles.patchBoardCables}\n viewBox={`0 0 ${getSize().width} ${getSize().height}`}\n aria-hidden=\"true\"\n >\n <Index each={getCableDefs()}>{(getDefs) => <>{props.renderCable(getDefs)}</>}</Index>\n </svg>\n\n <Index each={getNodes()}>\n {(getNode) => {\n const getKey = createMemo(() => getNodeKey(getNode()));\n\n const getPlacement = createMemo(() =>\n getPlacements().find((placement) => placement.key === getKey()),\n );\n\n return (\n <div\n class={styles.patchBoardSlot}\n style={{\n left: `${getPlacement()?.spot.x ?? getNode().spot.x}px`,\n top: `${getPlacement()?.spot.y ?? getNode().spot.y}px`,\n width: `${getNode().size.width}px`,\n height: `${getNode().size.height}px`,\n }}\n >\n <div class={styles.patchBoardNodeHolder}>\n <InteractionWrapper\n sizing={() => \"fill\"}\n isDisabled={() => getNode().isDisabled ?? false}\n isTabbable={() => getRovingStop() === getKey()}\n extraFlags={() => ({ isCarried: getCarriedNodeKey() === getKey() })}\n renderControl={(setElementRef, getFlags) => (\n <div\n ref={(element) => {\n setStopRef(getKey(), element);\n setElementRef(element);\n }}\n class={styles.patchBoardNode}\n role=\"listitem\"\n aria-label={getNodeLabel(getNode())}\n aria-disabled={(getNode().isDisabled ?? false) || undefined}\n onPointerDown={(e) => handleNodePointerDown(getNode(), e)}\n onClick={(e) => handleNodeClick(getNode(), e)}\n onKeyDown={(e) => handleStopKeyDown(getKey(), getNode(), undefined, e)}\n onFocus={() => setFocusedStop(getKey())}\n >\n {props.renderNode(getNode, getFlags)}\n </div>\n )}\n />\n </div>\n\n <Index each={getNode().sockets}>\n {(getSocket) => {\n const getEnd = createMemo(() => ({\n nodeKey: getKey(),\n socketId: getSocket().id,\n }));\n\n const getPlaced = createMemo(() =>\n PatchBoardUtils.findSocket(getPlacedSockets(), getEnd()),\n );\n\n const getStopKey = createMemo(() => PatchBoardUtils.getEndKey(getEnd()));\n\n const getIsTaken = createMemo(\n () => PatchBoardUtils.getLinksAt(getLinks(), getEnd()).length > NOTHING,\n );\n\n const getIsAimed = createMemo(() => {\n const place = getAimedPlace();\n\n return (\n place?.kind === \"socket\" && PatchBoardUtils.getIsSameEnd(place, getEnd())\n );\n });\n\n const getIsSource = createMemo(() => {\n const source = getPlugSource();\n\n return source !== undefined && PatchBoardUtils.getIsSameEnd(source, getEnd());\n });\n\n const getIsAllowed = createMemo(() => {\n const source = getPlugSource();\n\n return source !== undefined && getIsEndAllowed(source, getEnd());\n });\n\n return (\n <div\n class={styles.patchBoardSocketHolder}\n style={{\n left: `${(getPlaced()?.point.x ?? NOTHING) - (getPlacement()?.spot.x ?? NOTHING)}px`,\n top: `${(getPlaced()?.point.y ?? NOTHING) - (getPlacement()?.spot.y ?? NOTHING)}px`,\n width: `${getSocketSize()}px`,\n height: `${getSocketSize()}px`,\n }}\n >\n <InteractionWrapper\n isDisabled={() =>\n (getNode().isDisabled ?? false) || (getSocket().isDisabled ?? false)\n }\n isTabbable={() => getRovingStop() === getStopKey()}\n extraFlags={() => ({\n kind: getSocket().kind,\n isTaken: getIsTaken(),\n isFull: getPlaced()\n ? PatchBoardUtils.getIsFull(getLinks(), getPlaced()!)\n : false,\n isSource: getIsSource(),\n isAimed: getIsAimed(),\n isAllowed: getIsAllowed(),\n })}\n renderControl={(setElementRef, getFlags) => (\n <div\n ref={(element) => {\n setStopRef(getStopKey(), element);\n setElementRef(element);\n }}\n class={styles.patchBoardSocket}\n role=\"button\"\n aria-label={`${getEndLabel(getEnd())}, ${getSocket().kind === \"in\" ? \"input\" : \"output\"}${getIsTaken() ? \", connected\" : \"\"}`}\n aria-disabled={\n (getSocket().isDisabled ?? false) ||\n getIsLocked() ||\n undefined\n }\n onPointerDown={(e) => handleSocketPointerDown(getPlaced(), e)}\n onClick={(e) => handleSocketClick(getPlaced(), e)}\n onKeyDown={(e) =>\n handleStopKeyDown(getStopKey(), getNode(), getPlaced(), e)\n }\n onFocus={() => setFocusedStop(getStopKey())}\n >\n {props.renderSocket?.(getSocket, getFlags)}\n </div>\n )}\n />\n </div>\n );\n }}\n </Index>\n </div>\n );\n }}\n </Index>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { MathUtils } from "@thewaver/ss-utils";
|
|
2
|
+
//#region src/Exotics/PatchBoard/PatchBoard.utils.ts
|
|
3
|
+
var NOTHING = 0;
|
|
4
|
+
var SINGLE = 1;
|
|
5
|
+
var THIRDS = 3;
|
|
6
|
+
var VERTICAL_LABELS = [
|
|
7
|
+
"top",
|
|
8
|
+
"middle",
|
|
9
|
+
"bottom"
|
|
10
|
+
];
|
|
11
|
+
var HORIZONTAL_LABELS = [
|
|
12
|
+
"left",
|
|
13
|
+
"centre",
|
|
14
|
+
"right"
|
|
15
|
+
];
|
|
16
|
+
var PatchBoardUtils;
|
|
17
|
+
(function(_PatchBoardUtils) {
|
|
18
|
+
const getIsSameEnd = _PatchBoardUtils.getIsSameEnd = (first, second) => first.nodeKey === second.nodeKey && first.socketId === second.socketId;
|
|
19
|
+
const getIsSameLink = _PatchBoardUtils.getIsSameLink = (first, second) => getIsSameEnd(first.from, second.from) && getIsSameEnd(first.to, second.to);
|
|
20
|
+
const getEndKey = _PatchBoardUtils.getEndKey = (end) => `${end.nodeKey}/${end.socketId}`;
|
|
21
|
+
_PatchBoardUtils.getLinkKey = (link) => `${getEndKey(link.from)}-${getEndKey(link.to)}`;
|
|
22
|
+
const getSocketPoint = _PatchBoardUtils.getSocketPoint = (placement, socket, orientation) => {
|
|
23
|
+
const kindred = placement.sockets.filter((entry) => entry.kind === socket.kind);
|
|
24
|
+
const share = (kindred.indexOf(socket) + SINGLE) / (kindred.length + SINGLE);
|
|
25
|
+
const isFarEdge = socket.kind === "out";
|
|
26
|
+
if (orientation === "vertical") return {
|
|
27
|
+
x: placement.spot.x + placement.size.width * share,
|
|
28
|
+
y: placement.spot.y + (isFarEdge ? placement.size.height : NOTHING)
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
x: placement.spot.x + (isFarEdge ? placement.size.width : NOTHING),
|
|
32
|
+
y: placement.spot.y + placement.size.height * share
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
_PatchBoardUtils.getPlacedSockets = (placements, orientation = "horizontal") => placements.flatMap((placement) => placement.sockets.map((socket) => ({
|
|
36
|
+
end: {
|
|
37
|
+
nodeKey: placement.key,
|
|
38
|
+
socketId: socket.id
|
|
39
|
+
},
|
|
40
|
+
kind: socket.kind,
|
|
41
|
+
label: socket.label,
|
|
42
|
+
point: getSocketPoint(placement, socket, orientation),
|
|
43
|
+
isDisabled: placement.isDisabled || (socket.isDisabled ?? false)
|
|
44
|
+
})));
|
|
45
|
+
_PatchBoardUtils.findSocket = (placed, end) => placed.find((socket) => getIsSameEnd(socket.end, end));
|
|
46
|
+
_PatchBoardUtils.getNearestSocket = (placed, point, reach) => {
|
|
47
|
+
let nearest;
|
|
48
|
+
let nearestDistance = reach;
|
|
49
|
+
for (const socket of placed) {
|
|
50
|
+
const distance = Math.hypot(socket.point.x - point.x, socket.point.y - point.y);
|
|
51
|
+
if (distance > nearestDistance) continue;
|
|
52
|
+
nearest = socket;
|
|
53
|
+
nearestDistance = distance;
|
|
54
|
+
}
|
|
55
|
+
return nearest;
|
|
56
|
+
};
|
|
57
|
+
_PatchBoardUtils.getLinksAt = (links, end) => links.filter((link) => getIsSameEnd(link.from, end) || getIsSameEnd(link.to, end));
|
|
58
|
+
const getIsFull = _PatchBoardUtils.getIsFull = (links, socket) => socket.kind === "in" && links.some((link) => getIsSameEnd(link.to, socket.end));
|
|
59
|
+
const getLink = _PatchBoardUtils.getLink = (first, second) => {
|
|
60
|
+
if (first.kind === second.kind) return void 0;
|
|
61
|
+
return first.kind === "out" ? {
|
|
62
|
+
from: first.end,
|
|
63
|
+
to: second.end
|
|
64
|
+
} : {
|
|
65
|
+
from: second.end,
|
|
66
|
+
to: first.end
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
_PatchBoardUtils.getIsPairAllowed = (first, second, links) => {
|
|
70
|
+
const link = getLink(first, second);
|
|
71
|
+
if (!link) return false;
|
|
72
|
+
if (first.end.nodeKey === second.end.nodeKey) return false;
|
|
73
|
+
if (first.isDisabled || second.isDisabled) return false;
|
|
74
|
+
if (links.some((existing) => getIsSameLink(existing, link))) return false;
|
|
75
|
+
return !getIsFull(links, first.kind === "in" ? first : second);
|
|
76
|
+
};
|
|
77
|
+
_PatchBoardUtils.getClampedSpot = (spot, size, bounds) => ({
|
|
78
|
+
x: MathUtils.clamp(spot.x, NOTHING, Math.max(NOTHING, bounds.width - size.width)),
|
|
79
|
+
y: MathUtils.clamp(spot.y, NOTHING, Math.max(NOTHING, bounds.height - size.height))
|
|
80
|
+
});
|
|
81
|
+
const getReadingOrder = _PatchBoardUtils.getReadingOrder = (placements) => [...placements].sort((first, second) => first.spot.y - second.spot.y || first.spot.x - second.spot.x);
|
|
82
|
+
_PatchBoardUtils.getStopKeys = (placements) => getReadingOrder(placements).flatMap((placement) => [placement.key, ...placement.sockets.map((socket) => getEndKey({
|
|
83
|
+
nodeKey: placement.key,
|
|
84
|
+
socketId: socket.id
|
|
85
|
+
}))]);
|
|
86
|
+
_PatchBoardUtils.getSteppedKey = (keys, key, step) => {
|
|
87
|
+
const index = key === void 0 ? -1 : keys.indexOf(key);
|
|
88
|
+
if (index < NOTHING) return keys[NOTHING];
|
|
89
|
+
return keys[MathUtils.clamp(index + step, NOTHING, keys.length - SINGLE)];
|
|
90
|
+
};
|
|
91
|
+
_PatchBoardUtils.getSteppedSocket = (placed, end, step) => {
|
|
92
|
+
if (placed.length < SINGLE) return void 0;
|
|
93
|
+
const index = end === void 0 ? -1 : placed.findIndex((socket) => getIsSameEnd(socket.end, end));
|
|
94
|
+
return placed[MathUtils.wrapIndex(index + step, placed.length)];
|
|
95
|
+
};
|
|
96
|
+
_PatchBoardUtils.getRegionLabel = (spot, size, bounds) => {
|
|
97
|
+
const band = (value, extent) => MathUtils.clamp(Math.floor(value / Math.max(SINGLE, extent) * THIRDS), NOTHING, 2);
|
|
98
|
+
return `${VERTICAL_LABELS[band(spot.y + size.height / 2, bounds.height)]} ${HORIZONTAL_LABELS[band(spot.x + size.width / 2, bounds.width)]}`;
|
|
99
|
+
};
|
|
100
|
+
})(PatchBoardUtils || (PatchBoardUtils = {}));
|
|
101
|
+
//#endregion
|
|
102
|
+
export { PatchBoardUtils };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=PatchBoard.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatchBoard.utils.js","names":[],"sources":["../../../src/Exotics/PatchBoard/PatchBoard.utils.ts"],"sourcesContent":["import { MathUtils, type Point2d, type Size2d } from \"@thewaver/ss-utils\";\n\nimport type {\n PatchBoardEnd,\n PatchBoardLink,\n PatchBoardOrientation,\n PatchBoardPlacedSocket,\n PatchBoardPlacement,\n PatchBoardSocket,\n} from \"./PatchBoard.types\";\n\nconst NOTHING = 0;\nconst SINGLE = 1;\nconst THIRDS = 3;\nconst VERTICAL_LABELS = [\"top\", \"middle\", \"bottom\"];\nconst HORIZONTAL_LABELS = [\"left\", \"centre\", \"right\"];\n\nexport namespace PatchBoardUtils {\n export const getIsSameEnd = (first: PatchBoardEnd, second: PatchBoardEnd) =>\n first.nodeKey === second.nodeKey && first.socketId === second.socketId;\n\n export const getIsSameLink = (first: PatchBoardLink, second: PatchBoardLink) =>\n getIsSameEnd(first.from, second.from) && getIsSameEnd(first.to, second.to);\n\n export const getEndKey = (end: PatchBoardEnd) => `${end.nodeKey}/${end.socketId}`;\n\n export const getLinkKey = (link: PatchBoardLink) => `${getEndKey(link.from)}-${getEndKey(link.to)}`;\n\n export const getSocketPoint = (\n placement: PatchBoardPlacement,\n socket: PatchBoardSocket,\n orientation: PatchBoardOrientation,\n ): Point2d => {\n const kindred = placement.sockets.filter((entry) => entry.kind === socket.kind);\n const share = (kindred.indexOf(socket) + SINGLE) / (kindred.length + SINGLE);\n const isFarEdge = socket.kind === \"out\";\n\n if (orientation === \"vertical\") {\n return {\n x: placement.spot.x + placement.size.width * share,\n y: placement.spot.y + (isFarEdge ? placement.size.height : NOTHING),\n };\n }\n\n return {\n x: placement.spot.x + (isFarEdge ? placement.size.width : NOTHING),\n y: placement.spot.y + placement.size.height * share,\n };\n };\n\n export const getPlacedSockets = (\n placements: PatchBoardPlacement[],\n orientation: PatchBoardOrientation = \"horizontal\",\n ): PatchBoardPlacedSocket[] =>\n placements.flatMap((placement) =>\n placement.sockets.map((socket) => ({\n end: { nodeKey: placement.key, socketId: socket.id },\n kind: socket.kind,\n label: socket.label,\n point: getSocketPoint(placement, socket, orientation),\n isDisabled: placement.isDisabled || (socket.isDisabled ?? false),\n })),\n );\n\n export const findSocket = (placed: PatchBoardPlacedSocket[], end: PatchBoardEnd) =>\n placed.find((socket) => getIsSameEnd(socket.end, end));\n\n export const getNearestSocket = (placed: PatchBoardPlacedSocket[], point: Point2d, reach: number) => {\n let nearest: PatchBoardPlacedSocket | undefined;\n let nearestDistance = reach;\n\n for (const socket of placed) {\n const distance = Math.hypot(socket.point.x - point.x, socket.point.y - point.y);\n\n if (distance > nearestDistance) continue;\n\n nearest = socket;\n nearestDistance = distance;\n }\n\n return nearest;\n };\n\n export const getLinksAt = (links: PatchBoardLink[], end: PatchBoardEnd) =>\n links.filter((link) => getIsSameEnd(link.from, end) || getIsSameEnd(link.to, end));\n\n export const getIsFull = (links: PatchBoardLink[], socket: PatchBoardPlacedSocket) =>\n socket.kind === \"in\" && links.some((link) => getIsSameEnd(link.to, socket.end));\n\n export const getLink = (\n first: PatchBoardPlacedSocket,\n second: PatchBoardPlacedSocket,\n ): PatchBoardLink | undefined => {\n if (first.kind === second.kind) return undefined;\n\n return first.kind === \"out\" ? { from: first.end, to: second.end } : { from: second.end, to: first.end };\n };\n\n export const getIsPairAllowed = (\n first: PatchBoardPlacedSocket,\n second: PatchBoardPlacedSocket,\n links: PatchBoardLink[],\n ) => {\n const link = getLink(first, second);\n\n if (!link) return false;\n if (first.end.nodeKey === second.end.nodeKey) return false;\n if (first.isDisabled || second.isDisabled) return false;\n if (links.some((existing) => getIsSameLink(existing, link))) return false;\n\n return !getIsFull(links, first.kind === \"in\" ? first : second);\n };\n\n export const getClampedSpot = (spot: Point2d, size: Size2d, bounds: Size2d): Point2d => ({\n x: MathUtils.clamp(spot.x, NOTHING, Math.max(NOTHING, bounds.width - size.width)),\n y: MathUtils.clamp(spot.y, NOTHING, Math.max(NOTHING, bounds.height - size.height)),\n });\n\n export const getReadingOrder = (placements: PatchBoardPlacement[]) =>\n [...placements].sort((first, second) => first.spot.y - second.spot.y || first.spot.x - second.spot.x);\n\n export const getStopKeys = (placements: PatchBoardPlacement[]) =>\n getReadingOrder(placements).flatMap((placement) => [\n placement.key,\n ...placement.sockets.map((socket) => getEndKey({ nodeKey: placement.key, socketId: socket.id })),\n ]);\n\n export const getSteppedKey = (keys: string[], key: string | undefined, step: number) => {\n const index = key === undefined ? -SINGLE : keys.indexOf(key);\n\n if (index < NOTHING) return keys[NOTHING];\n\n return keys[MathUtils.clamp(index + step, NOTHING, keys.length - SINGLE)];\n };\n\n export const getSteppedSocket = (\n placed: PatchBoardPlacedSocket[],\n end: PatchBoardEnd | undefined,\n step: number,\n ) => {\n if (placed.length < SINGLE) return undefined;\n\n const index = end === undefined ? -SINGLE : placed.findIndex((socket) => getIsSameEnd(socket.end, end));\n\n return placed[MathUtils.wrapIndex(index + step, placed.length)];\n };\n\n export const getRegionLabel = (spot: Point2d, size: Size2d, bounds: Size2d) => {\n const band = (value: number, extent: number) =>\n MathUtils.clamp(Math.floor((value / Math.max(SINGLE, extent)) * THIRDS), NOTHING, THIRDS - SINGLE);\n\n const vertical = VERTICAL_LABELS[band(spot.y + size.height / 2, bounds.height)];\n const horizontal = HORIZONTAL_LABELS[band(spot.x + size.width / 2, bounds.width)];\n\n return `${vertical} ${horizontal}`;\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reveal.css.js","names":[],"sources":["../../../src/Exotics/Reveal/Reveal.css.ts"],"sourcesContent":["import { style } from \"@vanilla-extract/css\";\n\nexport const revealRoot = style({\n position: \"relative\",\n overflow: \"hidden\",\n});\n\nexport const revealCover = style({\n position: \"absolute\",\n inset: 0,\n pointerEvents: \"none\",\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ElementObserver } from "../../Abstracts/ElementObserver/ElementObserver.js";
|
|
2
|
+
import { access } from "../../Utils/propUtils.js";
|
|
3
|
+
import { CutoutUtils } from "../../Abstracts/Cutout/Cutout.utils.js";
|
|
4
|
+
import { PointerTracker } from "../../Abstracts/PointerTracker/PointerTracker.js";
|
|
5
|
+
import { revealCover, revealRoot } from "./Reveal.css.js";
|
|
6
|
+
import { createMemo, createSignal } from "solid-js";
|
|
7
|
+
import { MathUtils, ShapeUtils } from "@thewaver/ss-utils";
|
|
8
|
+
import { className, insert, template, use } from "solid-js/web";
|
|
9
|
+
//#region src/Exotics/Reveal/Reveal.tsx
|
|
10
|
+
var _tmpl$ = /*#__PURE__*/ template(`<div><div>`);
|
|
11
|
+
var DEFAULT_REVEAL_RADIUS = 90;
|
|
12
|
+
var DEFAULT_REVEAL_SOFTNESS = .45;
|
|
13
|
+
var NO_EDGE_THICKNESSES = [0];
|
|
14
|
+
var INSIDE_EDGE_RATIO = 1;
|
|
15
|
+
var NO_HOLE_RADIUS = 0;
|
|
16
|
+
var BLUR_SPREAD = 3;
|
|
17
|
+
var BLUR_MARGIN = 2;
|
|
18
|
+
var HALF = .5;
|
|
19
|
+
var buildHoleImage = (radius, softness, computePoints, joinRadii, lameExponents) => {
|
|
20
|
+
const size = radius * 2;
|
|
21
|
+
const blur = (1 - softness) * radius / BLUR_SPREAD;
|
|
22
|
+
const inset = blur * BLUR_MARGIN;
|
|
23
|
+
const side = Math.max(size - inset * 2, 0);
|
|
24
|
+
const points = computePoints?.({
|
|
25
|
+
width: side,
|
|
26
|
+
height: side
|
|
27
|
+
});
|
|
28
|
+
const paint = `fill="black" style="filter:blur(${blur}px)"`;
|
|
29
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}">${points ? `<path d="${ShapeUtils.getPaths(points, NO_EDGE_THICKNESSES, joinRadii, lameExponents).outerPath}" transform="translate(${inset}, ${inset})" ${paint}/>` : `<circle cx="${radius}" cy="${radius}" r="${side * HALF}" ${paint}/>`}</svg>`;
|
|
30
|
+
return `url("data:image/svg+xml,${encodeURIComponent(svg)}")`;
|
|
31
|
+
};
|
|
32
|
+
var Reveal = (props) => {
|
|
33
|
+
const [getRootRef, setRootRef] = createSignal();
|
|
34
|
+
const getIsDisabled = createMemo(() => access(props.isDisabled) === true);
|
|
35
|
+
const { getReading, getIsPointerPresent } = PointerTracker.create(getRootRef, getIsDisabled);
|
|
36
|
+
const getSize = ElementObserver.createBorderBoxSizeObserver(getRootRef, () => !getIsDisabled());
|
|
37
|
+
const getRadius = createMemo(() => access(props.radius) ?? DEFAULT_REVEAL_RADIUS);
|
|
38
|
+
const getIsRevealing = createMemo(() => !getIsDisabled() && getIsPointerPresent() && getReading().edgeRatio <= INSIDE_EDGE_RATIO);
|
|
39
|
+
const getHasHole = createMemo(() => !getIsDisabled() && getIsPointerPresent() && getRadius() > NO_HOLE_RADIUS);
|
|
40
|
+
const getHoleImage = createMemo(() => buildHoleImage(getRadius(), MathUtils.clamp01(access(props.softness) ?? DEFAULT_REVEAL_SOFTNESS), props.computePoints, access(props.joinRadii), access(props.lameExponents)));
|
|
41
|
+
const getMaskStyle = createMemo(() => {
|
|
42
|
+
if (!getHasHole()) return {};
|
|
43
|
+
const size = getSize();
|
|
44
|
+
const reading = getReading();
|
|
45
|
+
const radius = getRadius();
|
|
46
|
+
const diameter = radius * 2;
|
|
47
|
+
const hole = {
|
|
48
|
+
x: reading.boxRatio.x * size.width - radius,
|
|
49
|
+
y: reading.boxRatio.y * size.height - radius,
|
|
50
|
+
width: diameter,
|
|
51
|
+
height: diameter
|
|
52
|
+
};
|
|
53
|
+
return CutoutUtils.getMaskStyle(hole, getHoleImage());
|
|
54
|
+
});
|
|
55
|
+
return (() => {
|
|
56
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild;
|
|
57
|
+
use(setRootRef, _el$);
|
|
58
|
+
className(_el$, revealRoot);
|
|
59
|
+
insert(_el$, () => props.renderContent(), _el$2);
|
|
60
|
+
className(_el$2, revealCover);
|
|
61
|
+
insert(_el$2, () => props.renderCover(getIsRevealing, getMaskStyle));
|
|
62
|
+
return _el$;
|
|
63
|
+
})();
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Reveal };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=Reveal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Reveal.js","names":["createMemo","createSignal","JSX","MathUtils","Point2d","ShapeUtils","Size2d","CutoutUtils","ElementObserver","PointerTracker","access","RevealProps","styles","DEFAULT_REVEAL_RADIUS","DEFAULT_REVEAL_SOFTNESS","NO_EDGE_THICKNESSES","INSIDE_EDGE_RATIO","NO_HOLE_RADIUS","BLUR_SPREAD","BLUR_MARGIN","HALF","buildHoleImage","radius","softness","computePoints","size","joinRadii","lameExponents","blur","inset","side","Math","max","points","width","height","paint","shape","getPaths","outerPath","svg","encodeURIComponent","Reveal","props","getRootRef","setRootRef","HTMLElement","getIsDisabled","isDisabled","getReading","getIsPointerPresent","create","getSize","createBorderBoxSizeObserver","getRadius","getIsRevealing","edgeRatio","getHasHole","getHoleImage","clamp01","getMaskStyle","CSSProperties","reading","diameter","hole","x","boxRatio","y","_el$","_tmpl$","_el$2","firstChild","_$use","_$className","revealRoot","_$insert","renderContent","revealCover","renderCover"],"sources":["../../../src/Exotics/Reveal/Reveal.tsx"],"sourcesContent":["import { createMemo, createSignal } from \"solid-js\";\r\nimport type { JSX } from \"solid-js\";\r\n\r\nimport { MathUtils, type Point2d, ShapeUtils, type Size2d } from \"@thewaver/ss-utils\";\r\n\r\nimport { CutoutUtils } from \"../../Abstracts/Cutout/Cutout.utils\";\r\nimport { ElementObserver } from \"../../Abstracts/ElementObserver/ElementObserver\";\r\nimport { PointerTracker } from \"../../Abstracts/PointerTracker/PointerTracker\";\r\nimport { access } from \"../../Utils/propUtils\";\r\nimport type { RevealProps } from \"./Reveal.types\";\r\n\r\nimport * as styles from \"./Reveal.css\";\r\n\r\nconst DEFAULT_REVEAL_RADIUS = 90;\r\nconst DEFAULT_REVEAL_SOFTNESS = 0.45;\r\nconst NO_EDGE_THICKNESSES = [0];\r\nconst INSIDE_EDGE_RATIO = 1;\r\nconst NO_HOLE_RADIUS = 0;\r\nconst BLUR_SPREAD = 3;\r\nconst BLUR_MARGIN = 2;\r\nconst HALF = 0.5;\r\n\r\nconst buildHoleImage = (\r\n radius: number,\r\n softness: number,\r\n computePoints: ((size: Size2d) => Point2d[]) | undefined,\r\n joinRadii: number[] | undefined,\r\n lameExponents: number[] | undefined,\r\n) => {\r\n const size = radius * 2;\r\n const blur = ((1 - softness) * radius) / BLUR_SPREAD;\r\n const inset = blur * BLUR_MARGIN;\r\n const side = Math.max(size - inset * 2, 0);\r\n const points = computePoints?.({ width: side, height: side });\r\n const paint = `fill=\"black\" style=\"filter:blur(${blur}px)\"`;\r\n const shape = points\r\n ? `<path d=\"${ShapeUtils.getPaths(points, NO_EDGE_THICKNESSES, joinRadii, lameExponents).outerPath}\" transform=\"translate(${inset}, ${inset})\" ${paint}/>`\r\n : `<circle cx=\"${radius}\" cy=\"${radius}\" r=\"${side * HALF}\" ${paint}/>`;\r\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${size}\" height=\"${size}\">${shape}</svg>`;\r\n\r\n return `url(\"data:image/svg+xml,${encodeURIComponent(svg)}\")`;\r\n};\r\n\r\nexport const Reveal = (props: RevealProps) => {\r\n const [getRootRef, setRootRef] = createSignal<HTMLElement>();\r\n\r\n const getIsDisabled = createMemo(() => access(props.isDisabled) === true);\r\n\r\n const { getReading, getIsPointerPresent } = PointerTracker.create(getRootRef, getIsDisabled);\r\n\r\n const getSize = ElementObserver.createBorderBoxSizeObserver(getRootRef, () => !getIsDisabled());\r\n\r\n const getRadius = createMemo(() => access(props.radius) ?? DEFAULT_REVEAL_RADIUS);\r\n\r\n const getIsRevealing = createMemo(\r\n () => !getIsDisabled() && getIsPointerPresent() && getReading().edgeRatio <= INSIDE_EDGE_RATIO,\r\n );\r\n\r\n const getHasHole = createMemo(() => !getIsDisabled() && getIsPointerPresent() && getRadius() > NO_HOLE_RADIUS);\r\n\r\n const getHoleImage = createMemo(() =>\r\n buildHoleImage(\r\n getRadius(),\r\n MathUtils.clamp01(access(props.softness) ?? DEFAULT_REVEAL_SOFTNESS),\r\n props.computePoints,\r\n access(props.joinRadii),\r\n access(props.lameExponents),\r\n ),\r\n );\r\n\r\n const getMaskStyle = createMemo<JSX.CSSProperties>(() => {\r\n if (!getHasHole()) return {};\r\n\r\n const size = getSize();\r\n const reading = getReading();\r\n const radius = getRadius();\r\n const diameter = radius * 2;\r\n const hole = {\r\n x: reading.boxRatio.x * size.width - radius,\r\n y: reading.boxRatio.y * size.height - radius,\r\n width: diameter,\r\n height: diameter,\r\n };\r\n\r\n return CutoutUtils.getMaskStyle(hole, getHoleImage());\r\n });\r\n\r\n return (\r\n <div ref={setRootRef} class={styles.revealRoot}>\r\n {props.renderContent()}\r\n\r\n <div class={styles.revealCover}>{props.renderCover(getIsRevealing, getMaskStyle)}</div>\r\n </div>\r\n );\r\n};\r\n"],"mappings":";;;;;;;;;;AAaA,IAAMa,wBAAwB;AAC9B,IAAMC,0BAA0B;AAChC,IAAMC,sBAAsB,CAAC,CAAC;AAC9B,IAAMC,oBAAoB;AAC1B,IAAMC,iBAAiB;AACvB,IAAMC,cAAc;AACpB,IAAMC,cAAc;AACpB,IAAMC,OAAO;AAEb,IAAMC,kBACFC,QACAC,UACAC,eACAE,WACAC,kBACC;CACD,MAAMF,OAAOH,SAAS;CACtB,MAAMM,QAAS,IAAIL,YAAYD,SAAUJ;CACzC,MAAMW,QAAQD,OAAOT;CACrB,MAAMW,OAAOC,KAAKC,IAAIP,OAAOI,QAAQ,GAAG,CAAC;CACzC,MAAMI,SAAST,gBAAgB;EAAEU,OAAOJ;EAAMK,QAAQL;CAAK,CAAC;CAC5D,MAAMM,QAAQ,mCAAmCR,KAAI;CAIrD,MAAMY,MAAM,kDAAkDf,KAAI,YAAaA,KAAI,IAHrEQ,SACR,YAAY5B,WAAWiC,SAASL,QAAQlB,qBAAqBW,WAAWC,aAAa,CAAC,CAACY,UAAS,yBAA0BV,MAAK,IAAKA,MAAK,KAAMO,MAAK,MACpJ,eAAed,OAAM,QAASA,OAAM,OAAQQ,OAAOV,KAAI,IAAKgB,MAAK,IACsB;CAE7F,OAAO,2BAA2BK,mBAAmBD,GAAG,EAAC;AAC7D;AAEA,IAAaE,UAAUC,UAAuB;CAC1C,MAAM,CAACC,YAAYC,cAAc5C,aAA0B;CAE3D,MAAM8C,gBAAgB/C,iBAAiBU,OAAOiC,MAAMK,UAAU,MAAM,IAAI;CAExE,MAAM,EAAEC,YAAYC,wBAAwBzC,eAAe0C,OAAOP,YAAYG,aAAa;CAE3F,MAAMK,UAAU5C,gBAAgB6C,4BAA4BT,kBAAkB,CAACG,cAAc,CAAC;CAE9F,MAAMO,YAAYtD,iBAAiBU,OAAOiC,MAAMrB,MAAM,KAAKT,qBAAqB;CAEhF,MAAM0C,iBAAiBvD,iBACb,CAAC+C,cAAc,KAAKG,oBAAoB,KAAKD,WAAW,CAAC,CAACO,aAAaxC,iBACjF;CAEA,MAAMyC,aAAazD,iBAAiB,CAAC+C,cAAc,KAAKG,oBAAoB,KAAKI,UAAU,IAAIrC,cAAc;CAE7G,MAAMyC,eAAe1D,iBACjBqB,eACIiC,UAAU,GACVnD,UAAUwD,QAAQjD,OAAOiC,MAAMpB,QAAQ,KAAKT,uBAAuB,GACnE6B,MAAMnB,eACNd,OAAOiC,MAAMjB,SAAS,GACtBhB,OAAOiC,MAAMhB,aAAa,CAC9B,CACJ;CAEA,MAAMiC,eAAe5D,iBAAoC;EACrD,IAAI,CAACyD,WAAW,GAAG,OAAO,CAAC;EAE3B,MAAMhC,OAAO2B,QAAQ;EACrB,MAAMU,UAAUb,WAAW;EAC3B,MAAM3B,SAASgC,UAAU;EACzB,MAAMS,WAAWzC,SAAS;EAC1B,MAAM0C,OAAO;GACTC,GAAGH,QAAQI,SAASD,IAAIxC,KAAKS,QAAQZ;GACrC6C,GAAGL,QAAQI,SAASC,IAAI1C,KAAKU,SAASb;GACtCY,OAAO6B;GACP5B,QAAQ4B;EACZ;EAEA,OAAOxD,YAAYqD,aAAaI,MAAMN,aAAa,CAAC;CACxD,CAAC;CAED,cAAA;EAAA,IAAAU,OAAAC,OAAA,GAAAC,QAAAF,KAAAG;EAAAC,IACc3B,YAAUuB,IAAA;EAAAK,UAAAL,MAASxD,UAAiB;EAAA+D,OAAAP,YACzCzB,MAAMiC,cAAc,GAACN,KAAA;EAAAG,UAAAH,OAEV1D,WAAkB;EAAA+D,OAAAL,aAAG3B,MAAMmC,YAAYvB,gBAAgBK,YAAY,CAAC;EAAA,OAAAQ;CAAA,EAAA,CAAA;AAG5F"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
//#region src/Exotics/RichText/RichText.css.ts
|
|
3
|
+
var boldText = "c8xst90";
|
|
4
|
+
var italicText = "c8xst91";
|
|
5
|
+
var strikedText = "c8xst92";
|
|
6
|
+
var underlineText = "c8xst93";
|
|
7
|
+
var listItem = "c8xst94";
|
|
8
|
+
//#endregion
|
|
9
|
+
export { boldText, italicText, listItem, strikedText, underlineText };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=RichText.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichText.css.js","names":[],"sources":["../../../src/Exotics/RichText/RichText.css.ts"],"sourcesContent":["import { style } from \"@vanilla-extract/css\";\n\nexport const boldText = style({\n fontWeight: \"bold\",\n});\n\nexport const italicText = style({\n fontStyle: \"italic\",\n});\n\nexport const strikedText = style({\n textDecorationLine: \"line-through\",\n});\n\nexport const underlineText = style({\n textDecorationLine: \"underline\",\n});\n\nexport const listItem = style({\n selectors: {\n [\"&::before\"]: {\n content: \"🢖 \",\n },\n },\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { access } from "../../Utils/propUtils.js";
|
|
2
|
+
import { RichTextUtils } from "./RichText.utils.js";
|
|
3
|
+
import { boldText, italicText, listItem, strikedText, underlineText } from "./RichText.css.js";
|
|
4
|
+
import { createMemo } from "solid-js";
|
|
5
|
+
import { className, insert, memo, template } from "solid-js/web";
|
|
6
|
+
//#region src/Exotics/RichText/RichText.tsx
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/ template(`<span>`);
|
|
8
|
+
var DEFAULT_RICH_TEXT_CLASSES = {
|
|
9
|
+
b: boldText,
|
|
10
|
+
i: italicText,
|
|
11
|
+
s: strikedText,
|
|
12
|
+
u: underlineText,
|
|
13
|
+
li: listItem
|
|
14
|
+
};
|
|
15
|
+
var renderNodes = (nodes, classMap, removeUnknownTags) => {
|
|
16
|
+
return nodes.map((node) => {
|
|
17
|
+
if (node.type === "text") return memo(() => node.content);
|
|
18
|
+
const className$1 = classMap[node.tag];
|
|
19
|
+
if (className$1) return (() => {
|
|
20
|
+
var _el$ = _tmpl$();
|
|
21
|
+
className(_el$, className$1);
|
|
22
|
+
insert(_el$, () => renderNodes(node.children, classMap, removeUnknownTags));
|
|
23
|
+
return _el$;
|
|
24
|
+
})();
|
|
25
|
+
if (removeUnknownTags) return memo(() => renderNodes(node.children, classMap, removeUnknownTags));
|
|
26
|
+
return [
|
|
27
|
+
(() => {
|
|
28
|
+
var _el$2 = _tmpl$();
|
|
29
|
+
insert(_el$2, () => `[${node.tag}]`);
|
|
30
|
+
return _el$2;
|
|
31
|
+
})(),
|
|
32
|
+
memo(() => renderNodes(node.children, classMap, removeUnknownTags)),
|
|
33
|
+
(() => {
|
|
34
|
+
var _el$3 = _tmpl$();
|
|
35
|
+
insert(_el$3, () => `[/${node.tag}]`);
|
|
36
|
+
return _el$3;
|
|
37
|
+
})()
|
|
38
|
+
];
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var RichText = (props) => {
|
|
42
|
+
const parsedTree = createMemo(() => {
|
|
43
|
+
try {
|
|
44
|
+
return RichTextUtils.parseContent(access(props.content));
|
|
45
|
+
} catch (err) {
|
|
46
|
+
console.error("RichText parse error:", err);
|
|
47
|
+
return [{
|
|
48
|
+
type: "text",
|
|
49
|
+
content: access(props.content)
|
|
50
|
+
}];
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return memo(() => renderNodes(parsedTree(), props.computeClassNames?.(DEFAULT_RICH_TEXT_CLASSES) ?? DEFAULT_RICH_TEXT_CLASSES, access(props.removeOtherTags)));
|
|
54
|
+
};
|
|
55
|
+
//#endregion
|
|
56
|
+
export { RichText };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=RichText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichText.js","names":["createMemo","JSX","access","RichTextNode","RichTextProps","RichTextUtils","styles","DEFAULT_RICH_TEXT_CLASSES","b","boldText","i","italicText","s","strikedText","u","underlineText","li","listItem","const","renderNodes","nodes","classMap","Record","removeUnknownTags","Element","map","node","type","_$memo","content","className","tag","_el$","_tmpl$","_$className","_$insert","children","_el$2","_el$3","RichText","props","parsedTree","parseContent","err","console","error","computeClassNames","removeOtherTags"],"sources":["../../../src/Exotics/RichText/RichText.tsx"],"sourcesContent":["import { createMemo } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\n\nimport { access } from \"../../Utils/propUtils\";\nimport type { RichTextNode, RichTextProps } from \"./RichText.types\";\nimport { RichTextUtils } from \"./RichText.utils\";\n\nimport * as styles from \"./RichText.css\";\n\nconst DEFAULT_RICH_TEXT_CLASSES = {\n b: styles.boldText,\n i: styles.italicText,\n s: styles.strikedText,\n u: styles.underlineText,\n li: styles.listItem,\n} as const;\n\nconst renderNodes = (\n nodes: RichTextNode[],\n classMap: Record<string, string>,\n removeUnknownTags?: boolean,\n): JSX.Element[] => {\n return nodes.map((node) => {\n if (node.type === \"text\") {\n return <>{node.content}</>;\n }\n\n const className = classMap[node.tag];\n\n if (className) {\n return <span class={className}>{renderNodes(node.children, classMap, removeUnknownTags)}</span>;\n }\n\n if (removeUnknownTags) {\n return <>{renderNodes(node.children, classMap, removeUnknownTags)}</>;\n }\n\n return (\n <>\n <span>{`[${node.tag}]`}</span>\n {renderNodes(node.children, classMap, removeUnknownTags)}\n <span>{`[/${node.tag}]`}</span>\n </>\n );\n });\n};\n\nexport const RichText = (props: RichTextProps) => {\n const parsedTree = createMemo(() => {\n try {\n return RichTextUtils.parseContent(access(props.content));\n } catch (err) {\n console.error(\"RichText parse error:\", err);\n return [{ type: \"text\", content: access(props.content) }] as RichTextNode[];\n }\n });\n\n return (\n <>\n {renderNodes(\n parsedTree(),\n props.computeClassNames?.(DEFAULT_RICH_TEXT_CLASSES) ?? DEFAULT_RICH_TEXT_CLASSES,\n access(props.removeOtherTags),\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;AASA,IAAMO,4BAA4B;CAC9BC,GAAGF;CACHI,GAAGJ;CACHM,GAAGN;CACHQ,GAAGR;CACHU,IAAIV;AACR;AAEA,IAAMa,eACFC,OACAC,UACAE,sBACgB;CAChB,OAAOH,MAAMK,KAAKC,SAAS;EACvB,IAAIA,KAAKC,SAAS,QACd,OAAAC,WAAUF,KAAKG,OAAO;EAG1B,MAAMC,cAAYT,SAASK,KAAKK;EAEhC,IAAID,aACA,cAAA;GAAA,IAAAE,OAAAC,OAAA;GAAAC,UAAAF,MAAoBF,WAAS;GAAAK,OAAAH,YAAGb,YAAYO,KAAKU,UAAUf,UAAUE,iBAAiB,CAAC;GAAA,OAAAS;EAAA,EAAA,CAAA;EAG3F,IAAIT,mBACA,OAAAK,WAAUT,YAAYO,KAAKU,UAAUf,UAAUE,iBAAiB,CAAC;EAGrE,OAAA;UAAA;IAAA,IAAAc,QAAAJ,OAAA;IAAAE,OAAAE,aAEe,IAAIX,KAAKK,IAAG,EAAG;IAAA,OAAAM;GAAA,EAAA,CAAA;GAAAT,WACrBT,YAAYO,KAAKU,UAAUf,UAAUE,iBAAiB,CAAC;UAAA;IAAA,IAAAe,QAAAL,OAAA;IAAAE,OAAAG,aACjD,KAAKZ,KAAKK,IAAG,EAAG;IAAA,OAAAO;GAAA,EAAA,CAAA;EAAA;CAGnC,CAAC;AACL;AAEA,IAAaC,YAAYC,UAAyB;CAC9C,MAAMC,aAAazC,iBAAiB;EAChC,IAAI;GACA,OAAOK,cAAcqC,aAAaxC,OAAOsC,MAAMX,OAAO,CAAC;EAC3D,SAASc,KAAK;GACVC,QAAQC,MAAM,yBAAyBF,GAAG;GAC1C,OAAO,CAAC;IAAEhB,MAAM;IAAQE,SAAS3B,OAAOsC,MAAMX,OAAO;GAAE,CAAC;EAC5D;CACJ,CAAC;CAED,OAAAD,WAEST,YACGsB,WAAW,GACXD,MAAMM,oBAAoBvC,yBAAyB,KAAKA,2BACxDL,OAAOsC,MAAMO,eAAe,CAChC,CAAC;AAGb"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
//#region src/Exotics/RichText/RichText.utils.ts
|
|
2
|
+
var RichTextUtils;
|
|
3
|
+
(function(_RichTextUtils) {
|
|
4
|
+
const stringifyNode = (node) => node.type === "text" ? node.content : `[${node.tag}]${node.children.map(stringifyNode).join("")}[/${node.tag}]`;
|
|
5
|
+
_RichTextUtils.parseContent = (input) => {
|
|
6
|
+
const stack = [{
|
|
7
|
+
tag: "root",
|
|
8
|
+
children: []
|
|
9
|
+
}];
|
|
10
|
+
const tagRE = /\[\/?[a-z_][a-z0-9_]*\]/gi;
|
|
11
|
+
let lastIndex = 0;
|
|
12
|
+
for (const match of input.matchAll(tagRE)) {
|
|
13
|
+
const tagRaw = match[0];
|
|
14
|
+
const index = match.index;
|
|
15
|
+
const isClosing = tagRaw.startsWith("[/");
|
|
16
|
+
const tag = tagRaw.replace(/\[\/?|\]/g, "");
|
|
17
|
+
if (index > lastIndex) stack[stack.length - 1].children.push({
|
|
18
|
+
type: "text",
|
|
19
|
+
content: input.slice(lastIndex, index)
|
|
20
|
+
});
|
|
21
|
+
if (isClosing) {
|
|
22
|
+
let found = false;
|
|
23
|
+
for (let i = stack.length - 1; i >= 1; i--) if (stack[i].tag === tag) {
|
|
24
|
+
found = true;
|
|
25
|
+
const popped = stack.splice(i);
|
|
26
|
+
const completed = popped[0];
|
|
27
|
+
if (popped.length > 1) console.warn(`RichText: closing [${tag}] discarded content from unclosed ${popped.slice(1).map((frame) => `[${frame.tag}]`).join(", ")} in: ${input}`);
|
|
28
|
+
stack[stack.length - 1].children.push({
|
|
29
|
+
type: "tag",
|
|
30
|
+
tag,
|
|
31
|
+
children: completed.children
|
|
32
|
+
});
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (!found) stack[stack.length - 1].children.push({
|
|
36
|
+
type: "text",
|
|
37
|
+
content: tagRaw
|
|
38
|
+
});
|
|
39
|
+
} else stack.push({
|
|
40
|
+
tag,
|
|
41
|
+
children: []
|
|
42
|
+
});
|
|
43
|
+
lastIndex = index + tagRaw.length;
|
|
44
|
+
}
|
|
45
|
+
if (lastIndex < input.length) stack[stack.length - 1].children.push({
|
|
46
|
+
type: "text",
|
|
47
|
+
content: input.slice(lastIndex)
|
|
48
|
+
});
|
|
49
|
+
while (stack.length > 1) {
|
|
50
|
+
const unclosed = stack.pop();
|
|
51
|
+
stack[stack.length - 1].children.push({
|
|
52
|
+
type: "text",
|
|
53
|
+
content: `[${unclosed.tag}]` + unclosed.children.map(stringifyNode).join("")
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return stack[0].children;
|
|
57
|
+
};
|
|
58
|
+
})(RichTextUtils || (RichTextUtils = {}));
|
|
59
|
+
//#endregion
|
|
60
|
+
export { RichTextUtils };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=RichText.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichText.utils.js","names":[],"sources":["../../../src/Exotics/RichText/RichText.utils.ts"],"sourcesContent":["import type { RichTextNode } from \"./RichText.types\";\n\nexport namespace RichTextUtils {\n const stringifyNode = (node: RichTextNode): string =>\n node.type === \"text\" ? node.content : `[${node.tag}]${node.children.map(stringifyNode).join(\"\")}[/${node.tag}]`;\n\n export const parseContent = (input: string): RichTextNode[] => {\n const stack: { tag: string; children: RichTextNode[] }[] = [{ tag: \"root\", children: [] }];\n const tagRE = /\\[\\/?[a-z_][a-z0-9_]*\\]/gi;\n\n let lastIndex = 0;\n\n for (const match of input.matchAll(tagRE)) {\n const tagRaw = match[0];\n const index = match.index!;\n const isClosing = tagRaw.startsWith(\"[/\");\n const tag = tagRaw.replace(/\\[\\/?|\\]/g, \"\");\n\n if (index > lastIndex) {\n stack[stack.length - 1].children.push({\n type: \"text\",\n content: input.slice(lastIndex, index),\n });\n }\n\n if (isClosing) {\n let found = false;\n\n for (let i = stack.length - 1; i >= 1; i--) {\n if (stack[i].tag === tag) {\n found = true;\n\n const popped = stack.splice(i);\n const completed = popped[0];\n\n if (popped.length > 1) {\n console.warn(\n `RichText: closing [${tag}] discarded content from unclosed ` +\n `${popped\n .slice(1)\n .map((frame) => `[${frame.tag}]`)\n .join(\", \")} in: ${input}`,\n );\n }\n\n stack[stack.length - 1].children.push({ type: \"tag\", tag, children: completed.children });\n\n break;\n }\n }\n\n if (!found) {\n stack[stack.length - 1].children.push({ type: \"text\", content: tagRaw });\n }\n } else {\n stack.push({ tag, children: [] });\n }\n\n lastIndex = index + tagRaw.length;\n }\n\n if (lastIndex < input.length) {\n stack[stack.length - 1].children.push({\n type: \"text\",\n content: input.slice(lastIndex),\n });\n }\n\n while (stack.length > 1) {\n const unclosed = stack.pop()!;\n stack[stack.length - 1].children.push({\n type: \"text\",\n content: `[${unclosed.tag}]` + unclosed.children.map(stringifyNode).join(\"\"),\n });\n }\n\n return stack[0].children;\n };\n}\n"],"mappings":";AAEO,IAAU;CAAV,SAAA,gBAAA;CACH,MAAM,iBAAiB,SACnB,KAAK,SAAS,SAAS,KAAK,UAAU,IAAI,KAAK,IAAI,GAAG,KAAK,SAAS,IAAI,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,IAAI;CAEpG,eAAA,gBAAgB,UAAkC;EAC3D,MAAM,QAAqD,CAAC;GAAE,KAAK;GAAQ,UAAU,CAAC;EAAE,CAAC;EACzF,MAAM,QAAQ;EAEd,IAAI,YAAY;EAEhB,KAAK,MAAM,SAAS,MAAM,SAAS,KAAK,GAAG;GACvC,MAAM,SAAS,MAAM;GACrB,MAAM,QAAQ,MAAM;GACpB,MAAM,YAAY,OAAO,WAAW,IAAI;GACxC,MAAM,MAAM,OAAO,QAAQ,aAAa,EAAE;GAE1C,IAAI,QAAQ,WACR,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,KAAK;IAClC,MAAM;IACN,SAAS,MAAM,MAAM,WAAW,KAAK;GACzC,CAAC;GAGL,IAAI,WAAW;IACX,IAAI,QAAQ;IAEZ,KAAK,IAAI,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KACnC,IAAI,MAAM,EAAE,CAAC,QAAQ,KAAK;KACtB,QAAQ;KAER,MAAM,SAAS,MAAM,OAAO,CAAC;KAC7B,MAAM,YAAY,OAAO;KAEzB,IAAI,OAAO,SAAS,GAChB,QAAQ,KACJ,sBAAsB,IAAI,oCACnB,OACE,MAAM,CAAC,CAAC,CACR,KAAK,UAAU,IAAI,MAAM,IAAI,EAAE,CAAC,CAChC,KAAK,IAAI,EAAE,OAAO,OAC/B;KAGJ,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,KAAK;MAAE,MAAM;MAAO;MAAK,UAAU,UAAU;KAAS,CAAC;KAExF;IACJ;IAGJ,IAAI,CAAC,OACD,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,KAAK;KAAE,MAAM;KAAQ,SAAS;IAAO,CAAC;GAE/E,OACI,MAAM,KAAK;IAAE;IAAK,UAAU,CAAC;GAAE,CAAC;GAGpC,YAAY,QAAQ,OAAO;EAC/B;EAEA,IAAI,YAAY,MAAM,QAClB,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,KAAK;GAClC,MAAM;GACN,SAAS,MAAM,MAAM,SAAS;EAClC,CAAC;EAGL,OAAO,MAAM,SAAS,GAAG;GACrB,MAAM,WAAW,MAAM,IAAI;GAC3B,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,KAAK;IAClC,MAAM;IACN,SAAS,IAAI,SAAS,IAAI,KAAK,SAAS,SAAS,IAAI,aAAa,CAAC,CAAC,KAAK,EAAE;GAC/E,CAAC;EACL;EAEA,OAAO,MAAM,EAAE,CAAC;CACpB;AACH,EAAA,CAAA,kBAAA,gBAAA,CAAA,EAAD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
//#region src/Exotics/Satellite/Satellite.css.ts
|
|
3
|
+
var satelliteRoot = "_1pk4olj0";
|
|
4
|
+
var satelliteSubject = "_1pk4olj1";
|
|
5
|
+
var satelliteBody = "_1pk4olj2";
|
|
6
|
+
//#endregion
|
|
7
|
+
export { satelliteBody, satelliteRoot, satelliteSubject };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=Satellite.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Satellite.css.js","names":[],"sources":["../../../src/Exotics/Satellite/Satellite.css.ts"],"sourcesContent":["import { style } from \"@vanilla-extract/css\";\n\nexport const satelliteRoot = style({\n position: \"relative\",\n width: \"fit-content\",\n});\n\nexport const satelliteSubject = style({\n position: \"relative\",\n});\n\nexport const satelliteBody = style({\n position: \"absolute\",\n});\n"],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ElementObserver } from "../../Abstracts/ElementObserver/ElementObserver.js";
|
|
2
|
+
import { access } from "../../Utils/propUtils.js";
|
|
3
|
+
import { SatelliteUtils } from "./Satellite.utils.js";
|
|
4
|
+
import { satelliteBody, satelliteRoot, satelliteSubject } from "./Satellite.css.js";
|
|
5
|
+
import { Show, createMemo, createSignal } from "solid-js";
|
|
6
|
+
import { CSSUtils, StringUtils } from "@thewaver/ss-utils";
|
|
7
|
+
import { className, createComponent, effect, insert, setStyleProperty, style, template, use } from "solid-js/web";
|
|
8
|
+
//#region src/Exotics/Satellite/Satellite.tsx
|
|
9
|
+
var _tmpl$ = /*#__PURE__*/ template(`<div><div></div><div>`);
|
|
10
|
+
var DEFAULT_SATELLITE_PLACEMENT = {
|
|
11
|
+
x: "center",
|
|
12
|
+
y: "center"
|
|
13
|
+
};
|
|
14
|
+
var DEFAULT_SATELLITE_OFFSET = {
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0
|
|
17
|
+
};
|
|
18
|
+
var SUBJECT_Z_INDEX = 0;
|
|
19
|
+
var RAISED_SUBJECT_Z_INDEX = 1;
|
|
20
|
+
var Satellite = (props) => {
|
|
21
|
+
const [getSubjectRef, setSubjectRef] = createSignal();
|
|
22
|
+
const [getSatelliteRef, setSatelliteRef] = createSignal();
|
|
23
|
+
const getSubjectSize = ElementObserver.createBorderBoxSizeObserver(getSubjectRef);
|
|
24
|
+
const getSatelliteSize = ElementObserver.createBorderBoxSizeObserver(getSatelliteRef);
|
|
25
|
+
const getPlacement = createMemo(() => access(props.placement) ?? DEFAULT_SATELLITE_PLACEMENT);
|
|
26
|
+
const getOffset = createMemo(() => access(props.offset) ?? DEFAULT_SATELLITE_OFFSET);
|
|
27
|
+
const getLayout = createMemo(() => SatelliteUtils.computeLayout(getSubjectSize(), getSatelliteSize(), getPlacement(), getOffset()));
|
|
28
|
+
return createComponent(Show, {
|
|
29
|
+
get when() {
|
|
30
|
+
return props.renderSatellite;
|
|
31
|
+
},
|
|
32
|
+
get fallback() {
|
|
33
|
+
return props.children;
|
|
34
|
+
},
|
|
35
|
+
get children() {
|
|
36
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
|
|
37
|
+
className(_el$, satelliteRoot);
|
|
38
|
+
use(setSubjectRef, _el$2);
|
|
39
|
+
className(_el$2, satelliteSubject);
|
|
40
|
+
insert(_el$2, () => props.children);
|
|
41
|
+
use(setSatelliteRef, _el$3);
|
|
42
|
+
className(_el$3, satelliteBody);
|
|
43
|
+
insert(_el$3, () => props.renderSatellite?.());
|
|
44
|
+
effect((_p$) => {
|
|
45
|
+
var _v$ = CSSUtils.spreadableToStyle(getLayout().padding, StringUtils.camelToKebabCase), _v$2 = access(props.isBehindSubject) ? RAISED_SUBJECT_Z_INDEX : SUBJECT_Z_INDEX, _v$3 = `${getLayout().satelliteOffset.x}px`, _v$4 = `${getLayout().satelliteOffset.y}px`;
|
|
46
|
+
_p$.e = style(_el$, _v$, _p$.e);
|
|
47
|
+
_v$2 !== _p$.t && setStyleProperty(_el$2, "z-index", _p$.t = _v$2);
|
|
48
|
+
_v$3 !== _p$.a && setStyleProperty(_el$3, "left", _p$.a = _v$3);
|
|
49
|
+
_v$4 !== _p$.o && setStyleProperty(_el$3, "top", _p$.o = _v$4);
|
|
50
|
+
return _p$;
|
|
51
|
+
}, {
|
|
52
|
+
e: void 0,
|
|
53
|
+
t: void 0,
|
|
54
|
+
a: void 0,
|
|
55
|
+
o: void 0
|
|
56
|
+
});
|
|
57
|
+
return _el$;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
export { Satellite };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=Satellite.js.map
|