@dryui/ui 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adjust/adjust.svelte +1 -1
- package/dist/aurora/aurora.svelte +58 -11
- package/dist/aurora/aurora.svelte.d.ts +1 -0
- package/dist/aurora/index.d.ts +2 -0
- package/dist/diagram/diagram.svelte +769 -0
- package/dist/diagram/diagram.svelte.d.ts +10 -0
- package/dist/diagram/edge-routing.d.ts +9 -0
- package/dist/diagram/edge-routing.js +281 -0
- package/dist/diagram/index.d.ts +9 -0
- package/dist/diagram/index.js +1 -0
- package/dist/diagram/layout.d.ts +2 -0
- package/dist/diagram/layout.js +985 -0
- package/dist/diagram/types.d.ts +196 -0
- package/dist/displacement/displacement.svelte +39 -3
- package/dist/drag-and-drop/context.svelte.d.ts +1 -0
- package/dist/drag-and-drop/drag-and-drop-group.svelte +37 -0
- package/dist/drag-and-drop/drag-and-drop-group.svelte.d.ts +8 -0
- package/dist/drag-and-drop/drag-and-drop-handle.svelte +2 -0
- package/dist/drag-and-drop/drag-and-drop-item.svelte +25 -6
- package/dist/drag-and-drop/drag-and-drop-root.svelte +624 -34
- package/dist/drag-and-drop/group-context.svelte.d.ts +13 -0
- package/dist/drag-and-drop/group-context.svelte.js +8 -0
- package/dist/drag-and-drop/index.d.ts +2 -0
- package/dist/drag-and-drop/index.js +3 -1
- package/dist/drawer/drawer-content.svelte +2 -1
- package/dist/drawer/drawer-footer.svelte +1 -1
- package/dist/gradient-mesh/gradient-mesh.svelte +42 -5
- package/dist/halftone/halftone.svelte +16 -36
- package/dist/index.d.ts +1 -4
- package/dist/index.js +1 -2
- package/dist/logo-mark/logo-mark.svelte +2 -2
- package/dist/noise/noise.svelte +2 -2
- package/dist/shader-canvas/presets.js +1 -1
- package/dist/shader-canvas/shader-canvas.svelte +4 -1
- package/dist/sidebar/sidebar-footer.svelte +5 -4
- package/dist/spotlight/spotlight.svelte +42 -4
- package/dist/themes/aurora.css +229 -0
- package/dist/themes/dark.css +134 -0
- package/dist/themes/default.css +76 -0
- package/dist/themes/midnight.css +142 -0
- package/dist/themes/terminal.css +175 -0
- package/package.json +22 -27
- package/skills/dryui/SKILL.md +1 -0
- package/dist/system-map/index.d.ts +0 -17
- package/dist/system-map/index.js +0 -1
- package/dist/system-map/system-map.svelte +0 -311
- package/dist/system-map/system-map.svelte.d.ts +0 -25
- package/dist/system-map/types.d.ts +0 -99
- package/dist/thumbnail/_layout-content.svelte +0 -89
- package/dist/thumbnail/_layout-content.svelte.d.ts +0 -9
- package/dist/thumbnail/_layout-footer.svelte +0 -54
- package/dist/thumbnail/_layout-footer.svelte.d.ts +0 -9
- package/dist/thumbnail/_layout-header.svelte +0 -76
- package/dist/thumbnail/_layout-header.svelte.d.ts +0 -9
- package/dist/thumbnail/_layout-sidebar.svelte +0 -75
- package/dist/thumbnail/_layout-sidebar.svelte.d.ts +0 -9
- package/dist/thumbnail/accordion.svelte +0 -144
- package/dist/thumbnail/accordion.svelte.d.ts +0 -7
- package/dist/thumbnail/add-on-selector.svelte +0 -213
- package/dist/thumbnail/add-on-selector.svelte.d.ts +0 -7
- package/dist/thumbnail/affix-group.svelte +0 -55
- package/dist/thumbnail/affix-group.svelte.d.ts +0 -7
- package/dist/thumbnail/alert-dialog.svelte +0 -100
- package/dist/thumbnail/alert-dialog.svelte.d.ts +0 -7
- package/dist/thumbnail/alert.svelte +0 -79
- package/dist/thumbnail/alert.svelte.d.ts +0 -7
- package/dist/thumbnail/alpha-slider.svelte +0 -55
- package/dist/thumbnail/alpha-slider.svelte.d.ts +0 -7
- package/dist/thumbnail/amenity-grid.svelte +0 -236
- package/dist/thumbnail/amenity-grid.svelte.d.ts +0 -7
- package/dist/thumbnail/app-frame.svelte.d.ts +0 -7
- package/dist/thumbnail/apply-size.d.ts +0 -3
- package/dist/thumbnail/apply-size.js +0 -14
- package/dist/thumbnail/aspect-ratio.svelte +0 -64
- package/dist/thumbnail/aspect-ratio.svelte.d.ts +0 -7
- package/dist/thumbnail/aurora.svelte +0 -88
- package/dist/thumbnail/aurora.svelte.d.ts +0 -7
- package/dist/thumbnail/avatar-group.svelte.d.ts +0 -7
- package/dist/thumbnail/avatar.svelte +0 -60
- package/dist/thumbnail/avatar.svelte.d.ts +0 -7
- package/dist/thumbnail/backdrop.svelte +0 -73
- package/dist/thumbnail/backdrop.svelte.d.ts +0 -7
- package/dist/thumbnail/badge.svelte +0 -100
- package/dist/thumbnail/badge.svelte.d.ts +0 -7
- package/dist/thumbnail/booking-confirmation.svelte +0 -109
- package/dist/thumbnail/booking-confirmation.svelte.d.ts +0 -7
- package/dist/thumbnail/breadcrumb.svelte +0 -80
- package/dist/thumbnail/breadcrumb.svelte.d.ts +0 -7
- package/dist/thumbnail/button-group.svelte +0 -76
- package/dist/thumbnail/button-group.svelte.d.ts +0 -7
- package/dist/thumbnail/button.svelte +0 -62
- package/dist/thumbnail/button.svelte.d.ts +0 -7
- package/dist/thumbnail/calendar.svelte +0 -86
- package/dist/thumbnail/calendar.svelte.d.ts +0 -7
- package/dist/thumbnail/card.svelte +0 -113
- package/dist/thumbnail/card.svelte.d.ts +0 -7
- package/dist/thumbnail/carousel.svelte +0 -111
- package/dist/thumbnail/carousel.svelte.d.ts +0 -7
- package/dist/thumbnail/chart.svelte +0 -93
- package/dist/thumbnail/chart.svelte.d.ts +0 -7
- package/dist/thumbnail/chat-message.svelte.d.ts +0 -7
- package/dist/thumbnail/chat-thread.svelte +0 -140
- package/dist/thumbnail/chat-thread.svelte.d.ts +0 -7
- package/dist/thumbnail/checkbox.svelte +0 -71
- package/dist/thumbnail/checkbox.svelte.d.ts +0 -7
- package/dist/thumbnail/chip-group.svelte +0 -79
- package/dist/thumbnail/chip-group.svelte.d.ts +0 -7
- package/dist/thumbnail/chip.svelte +0 -76
- package/dist/thumbnail/chip.svelte.d.ts +0 -7
- package/dist/thumbnail/chromatic-shift.svelte +0 -55
- package/dist/thumbnail/chromatic-shift.svelte.d.ts +0 -7
- package/dist/thumbnail/clipboard.svelte +0 -68
- package/dist/thumbnail/clipboard.svelte.d.ts +0 -7
- package/dist/thumbnail/code-block.svelte +0 -125
- package/dist/thumbnail/code-block.svelte.d.ts +0 -7
- package/dist/thumbnail/collapsible.svelte +0 -101
- package/dist/thumbnail/collapsible.svelte.d.ts +0 -7
- package/dist/thumbnail/color-picker.svelte +0 -108
- package/dist/thumbnail/color-picker.svelte.d.ts +0 -7
- package/dist/thumbnail/combobox.svelte +0 -122
- package/dist/thumbnail/combobox.svelte.d.ts +0 -7
- package/dist/thumbnail/command-palette.svelte +0 -134
- package/dist/thumbnail/command-palette.svelte.d.ts +0 -7
- package/dist/thumbnail/commerce-header.svelte +0 -55
- package/dist/thumbnail/commerce-header.svelte.d.ts +0 -7
- package/dist/thumbnail/comparison-table.svelte +0 -193
- package/dist/thumbnail/comparison-table.svelte.d.ts +0 -7
- package/dist/thumbnail/container.svelte +0 -119
- package/dist/thumbnail/container.svelte.d.ts +0 -7
- package/dist/thumbnail/context-menu.svelte +0 -108
- package/dist/thumbnail/context-menu.svelte.d.ts +0 -7
- package/dist/thumbnail/country-select.svelte +0 -111
- package/dist/thumbnail/country-select.svelte.d.ts +0 -7
- package/dist/thumbnail/currency-selector.svelte +0 -111
- package/dist/thumbnail/currency-selector.svelte.d.ts +0 -7
- package/dist/thumbnail/data-grid.svelte +0 -230
- package/dist/thumbnail/data-grid.svelte.d.ts +0 -7
- package/dist/thumbnail/date-field.svelte +0 -132
- package/dist/thumbnail/date-field.svelte.d.ts +0 -7
- package/dist/thumbnail/date-picker.svelte +0 -126
- package/dist/thumbnail/date-picker.svelte.d.ts +0 -7
- package/dist/thumbnail/date-range-picker.svelte +0 -100
- package/dist/thumbnail/date-range-picker.svelte.d.ts +0 -7
- package/dist/thumbnail/date-time-input.svelte +0 -182
- package/dist/thumbnail/date-time-input.svelte.d.ts +0 -7
- package/dist/thumbnail/description-list.svelte +0 -142
- package/dist/thumbnail/description-list.svelte.d.ts +0 -7
- package/dist/thumbnail/dialog.svelte +0 -136
- package/dist/thumbnail/dialog.svelte.d.ts +0 -7
- package/dist/thumbnail/displacement.svelte +0 -55
- package/dist/thumbnail/displacement.svelte.d.ts +0 -7
- package/dist/thumbnail/drag-and-drop.svelte +0 -139
- package/dist/thumbnail/drag-and-drop.svelte.d.ts +0 -7
- package/dist/thumbnail/drawer.svelte +0 -112
- package/dist/thumbnail/drawer.svelte.d.ts +0 -7
- package/dist/thumbnail/drop-zone.svelte +0 -55
- package/dist/thumbnail/drop-zone.svelte.d.ts +0 -7
- package/dist/thumbnail/dropdown-menu.svelte +0 -128
- package/dist/thumbnail/dropdown-menu.svelte.d.ts +0 -7
- package/dist/thumbnail/empty-state.svelte.d.ts +0 -7
- package/dist/thumbnail/fare-class-picker.svelte +0 -225
- package/dist/thumbnail/fare-class-picker.svelte.d.ts +0 -7
- package/dist/thumbnail/feature-split-section.svelte.d.ts +0 -7
- package/dist/thumbnail/field.svelte +0 -82
- package/dist/thumbnail/field.svelte.d.ts +0 -7
- package/dist/thumbnail/fieldset.svelte +0 -123
- package/dist/thumbnail/fieldset.svelte.d.ts +0 -7
- package/dist/thumbnail/file-select.svelte +0 -90
- package/dist/thumbnail/file-select.svelte.d.ts +0 -7
- package/dist/thumbnail/file-upload.svelte +0 -84
- package/dist/thumbnail/file-upload.svelte.d.ts +0 -7
- package/dist/thumbnail/filter-sidebar.svelte +0 -201
- package/dist/thumbnail/filter-sidebar.svelte.d.ts +0 -7
- package/dist/thumbnail/flexible-dates-grid.svelte +0 -210
- package/dist/thumbnail/flexible-dates-grid.svelte.d.ts +0 -7
- package/dist/thumbnail/flight-timeline.svelte +0 -155
- package/dist/thumbnail/flight-timeline.svelte.d.ts +0 -7
- package/dist/thumbnail/flip-card.svelte +0 -128
- package/dist/thumbnail/flip-card.svelte.d.ts +0 -7
- package/dist/thumbnail/float-button.svelte +0 -63
- package/dist/thumbnail/float-button.svelte.d.ts +0 -7
- package/dist/thumbnail/focus-trap.svelte +0 -110
- package/dist/thumbnail/focus-trap.svelte.d.ts +0 -7
- package/dist/thumbnail/format-bytes.svelte +0 -51
- package/dist/thumbnail/format-bytes.svelte.d.ts +0 -7
- package/dist/thumbnail/format-date.svelte +0 -51
- package/dist/thumbnail/format-date.svelte.d.ts +0 -7
- package/dist/thumbnail/format-number.svelte +0 -51
- package/dist/thumbnail/format-number.svelte.d.ts +0 -7
- package/dist/thumbnail/gauge.svelte +0 -90
- package/dist/thumbnail/gauge.svelte.d.ts +0 -7
- package/dist/thumbnail/glass-surface.svelte.d.ts +0 -7
- package/dist/thumbnail/glow.svelte +0 -55
- package/dist/thumbnail/glow.svelte.d.ts +0 -7
- package/dist/thumbnail/gradient-mesh.svelte +0 -55
- package/dist/thumbnail/gradient-mesh.svelte.d.ts +0 -7
- package/dist/thumbnail/guest-room-selector.svelte +0 -214
- package/dist/thumbnail/guest-room-selector.svelte.d.ts +0 -7
- package/dist/thumbnail/halftone.svelte +0 -55
- package/dist/thumbnail/halftone.svelte.d.ts +0 -7
- package/dist/thumbnail/heading.svelte +0 -91
- package/dist/thumbnail/heading.svelte.d.ts +0 -7
- package/dist/thumbnail/hotel-gallery.svelte +0 -117
- package/dist/thumbnail/hotel-gallery.svelte.d.ts +0 -7
- package/dist/thumbnail/hotkey.svelte +0 -108
- package/dist/thumbnail/hotkey.svelte.d.ts +0 -7
- package/dist/thumbnail/hover-card.svelte +0 -117
- package/dist/thumbnail/hover-card.svelte.d.ts +0 -7
- package/dist/thumbnail/icon.svelte +0 -55
- package/dist/thumbnail/icon.svelte.d.ts +0 -7
- package/dist/thumbnail/image-comparison.svelte +0 -96
- package/dist/thumbnail/image-comparison.svelte.d.ts +0 -7
- package/dist/thumbnail/image.svelte +0 -74
- package/dist/thumbnail/image.svelte.d.ts +0 -7
- package/dist/thumbnail/index.d.ts +0 -12
- package/dist/thumbnail/index.js +0 -359
- package/dist/thumbnail/infinite-scroll.svelte +0 -129
- package/dist/thumbnail/infinite-scroll.svelte.d.ts +0 -7
- package/dist/thumbnail/input-group.svelte +0 -55
- package/dist/thumbnail/input-group.svelte.d.ts +0 -7
- package/dist/thumbnail/input.svelte +0 -74
- package/dist/thumbnail/input.svelte.d.ts +0 -7
- package/dist/thumbnail/itinerary-timeline.svelte +0 -143
- package/dist/thumbnail/itinerary-timeline.svelte.d.ts +0 -7
- package/dist/thumbnail/kbd.svelte +0 -112
- package/dist/thumbnail/kbd.svelte.d.ts +0 -7
- package/dist/thumbnail/label.svelte +0 -54
- package/dist/thumbnail/label.svelte.d.ts +0 -7
- package/dist/thumbnail/layout-header-content-footer.svelte +0 -64
- package/dist/thumbnail/layout-header-content-footer.svelte.d.ts +0 -7
- package/dist/thumbnail/layout-header-sidebar-main.svelte +0 -64
- package/dist/thumbnail/layout-header-sidebar-main.svelte.d.ts +0 -7
- package/dist/thumbnail/layout-sidebar-main.svelte +0 -57
- package/dist/thumbnail/layout-sidebar-main.svelte.d.ts +0 -7
- package/dist/thumbnail/link-preview.svelte +0 -141
- package/dist/thumbnail/link-preview.svelte.d.ts +0 -7
- package/dist/thumbnail/link.svelte +0 -70
- package/dist/thumbnail/link.svelte.d.ts +0 -7
- package/dist/thumbnail/list.svelte +0 -86
- package/dist/thumbnail/list.svelte.d.ts +0 -7
- package/dist/thumbnail/listbox.svelte +0 -102
- package/dist/thumbnail/listbox.svelte.d.ts +0 -7
- package/dist/thumbnail/location-autocomplete.svelte +0 -219
- package/dist/thumbnail/location-autocomplete.svelte.d.ts +0 -7
- package/dist/thumbnail/logo-cloud.svelte.d.ts +0 -7
- package/dist/thumbnail/loyalty-points-display.svelte +0 -147
- package/dist/thumbnail/loyalty-points-display.svelte.d.ts +0 -7
- package/dist/thumbnail/map-list-toggle.svelte +0 -140
- package/dist/thumbnail/map-list-toggle.svelte.d.ts +0 -7
- package/dist/thumbnail/map.svelte +0 -112
- package/dist/thumbnail/map.svelte.d.ts +0 -7
- package/dist/thumbnail/markdown-renderer.svelte +0 -113
- package/dist/thumbnail/markdown-renderer.svelte.d.ts +0 -7
- package/dist/thumbnail/marquee.svelte +0 -114
- package/dist/thumbnail/marquee.svelte.d.ts +0 -7
- package/dist/thumbnail/mask-reveal.svelte +0 -55
- package/dist/thumbnail/mask-reveal.svelte.d.ts +0 -7
- package/dist/thumbnail/mega-menu.svelte +0 -176
- package/dist/thumbnail/mega-menu.svelte.d.ts +0 -7
- package/dist/thumbnail/menubar.svelte +0 -99
- package/dist/thumbnail/menubar.svelte.d.ts +0 -7
- package/dist/thumbnail/multi-city-search-form.svelte +0 -241
- package/dist/thumbnail/multi-city-search-form.svelte.d.ts +0 -7
- package/dist/thumbnail/multi-select-combobox.svelte +0 -142
- package/dist/thumbnail/multi-select-combobox.svelte.d.ts +0 -7
- package/dist/thumbnail/navigation-menu.svelte +0 -102
- package/dist/thumbnail/navigation-menu.svelte.d.ts +0 -7
- package/dist/thumbnail/noise.svelte +0 -72
- package/dist/thumbnail/noise.svelte.d.ts +0 -7
- package/dist/thumbnail/notification-center.svelte +0 -152
- package/dist/thumbnail/notification-center.svelte.d.ts +0 -7
- package/dist/thumbnail/number-input.svelte +0 -113
- package/dist/thumbnail/number-input.svelte.d.ts +0 -7
- package/dist/thumbnail/option-swatch-group.svelte +0 -55
- package/dist/thumbnail/option-swatch-group.svelte.d.ts +0 -7
- package/dist/thumbnail/page-header.svelte.d.ts +0 -7
- package/dist/thumbnail/pagination.svelte +0 -121
- package/dist/thumbnail/pagination.svelte.d.ts +0 -7
- package/dist/thumbnail/passenger-class-selector.svelte +0 -142
- package/dist/thumbnail/passenger-class-selector.svelte.d.ts +0 -7
- package/dist/thumbnail/payment-card-input.svelte +0 -172
- package/dist/thumbnail/payment-card-input.svelte.d.ts +0 -7
- package/dist/thumbnail/phone-input.svelte +0 -103
- package/dist/thumbnail/phone-input.svelte.d.ts +0 -7
- package/dist/thumbnail/pin-input.svelte +0 -72
- package/dist/thumbnail/pin-input.svelte.d.ts +0 -7
- package/dist/thumbnail/popover.svelte +0 -122
- package/dist/thumbnail/popover.svelte.d.ts +0 -7
- package/dist/thumbnail/portal.svelte +0 -115
- package/dist/thumbnail/portal.svelte.d.ts +0 -7
- package/dist/thumbnail/price-calendar.svelte +0 -366
- package/dist/thumbnail/price-calendar.svelte.d.ts +0 -7
- package/dist/thumbnail/price-summary-panel.svelte +0 -165
- package/dist/thumbnail/price-summary-panel.svelte.d.ts +0 -7
- package/dist/thumbnail/progress-ring.svelte +0 -63
- package/dist/thumbnail/progress-ring.svelte.d.ts +0 -7
- package/dist/thumbnail/progress.svelte +0 -66
- package/dist/thumbnail/progress.svelte.d.ts +0 -7
- package/dist/thumbnail/promo-code-input.svelte +0 -111
- package/dist/thumbnail/promo-code-input.svelte.d.ts +0 -7
- package/dist/thumbnail/promo-mosaic.svelte +0 -55
- package/dist/thumbnail/promo-mosaic.svelte.d.ts +0 -7
- package/dist/thumbnail/prompt-input.svelte +0 -91
- package/dist/thumbnail/prompt-input.svelte.d.ts +0 -7
- package/dist/thumbnail/qr-code.svelte +0 -217
- package/dist/thumbnail/qr-code.svelte.d.ts +0 -7
- package/dist/thumbnail/radio-group.svelte +0 -97
- package/dist/thumbnail/radio-group.svelte.d.ts +0 -7
- package/dist/thumbnail/range-calendar.svelte +0 -92
- package/dist/thumbnail/range-calendar.svelte.d.ts +0 -7
- package/dist/thumbnail/rating.svelte +0 -61
- package/dist/thumbnail/rating.svelte.d.ts +0 -7
- package/dist/thumbnail/recent-searches.svelte +0 -197
- package/dist/thumbnail/recent-searches.svelte.d.ts +0 -7
- package/dist/thumbnail/relative-time.svelte +0 -51
- package/dist/thumbnail/relative-time.svelte.d.ts +0 -7
- package/dist/thumbnail/result-card-car.svelte +0 -149
- package/dist/thumbnail/result-card-car.svelte.d.ts +0 -7
- package/dist/thumbnail/result-card-flight.svelte +0 -170
- package/dist/thumbnail/result-card-flight.svelte.d.ts +0 -7
- package/dist/thumbnail/result-card-hotel.svelte +0 -174
- package/dist/thumbnail/result-card-hotel.svelte.d.ts +0 -7
- package/dist/thumbnail/reveal.svelte +0 -109
- package/dist/thumbnail/reveal.svelte.d.ts +0 -7
- package/dist/thumbnail/review-card.svelte +0 -153
- package/dist/thumbnail/review-card.svelte.d.ts +0 -7
- package/dist/thumbnail/rich-text-editor.svelte +0 -134
- package/dist/thumbnail/rich-text-editor.svelte.d.ts +0 -7
- package/dist/thumbnail/room-type-picker.svelte +0 -212
- package/dist/thumbnail/room-type-picker.svelte.d.ts +0 -7
- package/dist/thumbnail/root.svelte +0 -52
- package/dist/thumbnail/root.svelte.d.ts +0 -10
- package/dist/thumbnail/route-map.svelte +0 -132
- package/dist/thumbnail/route-map.svelte.d.ts +0 -7
- package/dist/thumbnail/scroll-area.svelte +0 -124
- package/dist/thumbnail/scroll-area.svelte.d.ts +0 -7
- package/dist/thumbnail/scroll-to-top.svelte +0 -60
- package/dist/thumbnail/scroll-to-top.svelte.d.ts +0 -7
- package/dist/thumbnail/search-form-tabs.svelte +0 -192
- package/dist/thumbnail/search-form-tabs.svelte.d.ts +0 -7
- package/dist/thumbnail/seat-map.svelte +0 -358
- package/dist/thumbnail/seat-map.svelte.d.ts +0 -7
- package/dist/thumbnail/segmented-control.svelte +0 -93
- package/dist/thumbnail/segmented-control.svelte.d.ts +0 -7
- package/dist/thumbnail/select.svelte +0 -82
- package/dist/thumbnail/select.svelte.d.ts +0 -7
- package/dist/thumbnail/selectable-tile-group.svelte +0 -55
- package/dist/thumbnail/selectable-tile-group.svelte.d.ts +0 -7
- package/dist/thumbnail/separator.svelte +0 -94
- package/dist/thumbnail/separator.svelte.d.ts +0 -7
- package/dist/thumbnail/shader-canvas.svelte +0 -55
- package/dist/thumbnail/shader-canvas.svelte.d.ts +0 -7
- package/dist/thumbnail/sidebar.svelte +0 -109
- package/dist/thumbnail/sidebar.svelte.d.ts +0 -7
- package/dist/thumbnail/skeleton.svelte +0 -94
- package/dist/thumbnail/skeleton.svelte.d.ts +0 -7
- package/dist/thumbnail/slider.svelte +0 -71
- package/dist/thumbnail/slider.svelte.d.ts +0 -7
- package/dist/thumbnail/sort-bar.svelte +0 -156
- package/dist/thumbnail/sort-bar.svelte.d.ts +0 -7
- package/dist/thumbnail/spacer.svelte +0 -95
- package/dist/thumbnail/spacer.svelte.d.ts +0 -7
- package/dist/thumbnail/sparkline.svelte +0 -59
- package/dist/thumbnail/sparkline.svelte.d.ts +0 -7
- package/dist/thumbnail/spinner.svelte +0 -63
- package/dist/thumbnail/spinner.svelte.d.ts +0 -7
- package/dist/thumbnail/splitter.svelte +0 -79
- package/dist/thumbnail/splitter.svelte.d.ts +0 -7
- package/dist/thumbnail/spotlight.svelte +0 -90
- package/dist/thumbnail/spotlight.svelte.d.ts +0 -7
- package/dist/thumbnail/star-rating.svelte +0 -106
- package/dist/thumbnail/star-rating.svelte.d.ts +0 -7
- package/dist/thumbnail/stat-card.svelte.d.ts +0 -7
- package/dist/thumbnail/stepper.svelte +0 -94
- package/dist/thumbnail/stepper.svelte.d.ts +0 -7
- package/dist/thumbnail/svg.svelte +0 -55
- package/dist/thumbnail/svg.svelte.d.ts +0 -8
- package/dist/thumbnail/swatch-strip.svelte.d.ts +0 -7
- package/dist/thumbnail/switch.svelte.d.ts +0 -7
- package/dist/thumbnail/system-map.svelte +0 -154
- package/dist/thumbnail/system-map.svelte.d.ts +0 -7
- package/dist/thumbnail/table-of-contents.svelte +0 -101
- package/dist/thumbnail/table-of-contents.svelte.d.ts +0 -7
- package/dist/thumbnail/table.svelte +0 -214
- package/dist/thumbnail/table.svelte.d.ts +0 -7
- package/dist/thumbnail/tabs.svelte +0 -133
- package/dist/thumbnail/tabs.svelte.d.ts +0 -7
- package/dist/thumbnail/tag.svelte +0 -95
- package/dist/thumbnail/tag.svelte.d.ts +0 -7
- package/dist/thumbnail/tags-input.svelte +0 -142
- package/dist/thumbnail/tags-input.svelte.d.ts +0 -7
- package/dist/thumbnail/text.svelte +0 -72
- package/dist/thumbnail/text.svelte.d.ts +0 -7
- package/dist/thumbnail/textarea.svelte +0 -111
- package/dist/thumbnail/textarea.svelte.d.ts +0 -7
- package/dist/thumbnail/time-input.svelte +0 -94
- package/dist/thumbnail/time-input.svelte.d.ts +0 -7
- package/dist/thumbnail/timeline.svelte +0 -123
- package/dist/thumbnail/timeline.svelte.d.ts +0 -7
- package/dist/thumbnail/toast.svelte +0 -105
- package/dist/thumbnail/toast.svelte.d.ts +0 -7
- package/dist/thumbnail/toggle-group.svelte +0 -76
- package/dist/thumbnail/toggle-group.svelte.d.ts +0 -7
- package/dist/thumbnail/toggle.svelte +0 -46
- package/dist/thumbnail/toggle.svelte.d.ts +0 -7
- package/dist/thumbnail/token-preview.svelte.d.ts +0 -7
- package/dist/thumbnail/toolbar.svelte +0 -109
- package/dist/thumbnail/toolbar.svelte.d.ts +0 -7
- package/dist/thumbnail/tooltip.svelte +0 -85
- package/dist/thumbnail/tooltip.svelte.d.ts +0 -7
- package/dist/thumbnail/tour.svelte +0 -149
- package/dist/thumbnail/tour.svelte.d.ts +0 -7
- package/dist/thumbnail/transfer.svelte +0 -168
- package/dist/thumbnail/transfer.svelte.d.ts +0 -7
- package/dist/thumbnail/tree.svelte +0 -215
- package/dist/thumbnail/tree.svelte.d.ts +0 -7
- package/dist/thumbnail/trip-card.svelte +0 -137
- package/dist/thumbnail/trip-card.svelte.d.ts +0 -7
- package/dist/thumbnail/trust-badges.svelte +0 -207
- package/dist/thumbnail/trust-badges.svelte.d.ts +0 -7
- package/dist/thumbnail/typing-indicator.svelte +0 -65
- package/dist/thumbnail/typing-indicator.svelte.d.ts +0 -7
- package/dist/thumbnail/typography.svelte +0 -80
- package/dist/thumbnail/typography.svelte.d.ts +0 -7
- package/dist/thumbnail/user.svelte.d.ts +0 -7
- package/dist/thumbnail/video-embed.svelte +0 -87
- package/dist/thumbnail/video-embed.svelte.d.ts +0 -7
- package/dist/thumbnail/virtual-list.svelte +0 -178
- package/dist/thumbnail/virtual-list.svelte.d.ts +0 -7
- package/dist/thumbnail/visually-hidden.svelte +0 -106
- package/dist/thumbnail/visually-hidden.svelte.d.ts +0 -7
- package/dist/thumbnail/wave-divider.svelte.d.ts +0 -7
- /package/dist/{system-map → diagram}/types.js +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DragAndDropGroupContext {
|
|
2
|
+
register(listId: string, element: HTMLElement): void;
|
|
3
|
+
unregister(listId: string): void;
|
|
4
|
+
getRoots(): Map<string, HTMLElement>;
|
|
5
|
+
readonly activeTarget: {
|
|
6
|
+
listId: string;
|
|
7
|
+
index: number;
|
|
8
|
+
} | null;
|
|
9
|
+
setActiveTarget(listId: string | null, index: number | null): void;
|
|
10
|
+
move(fromListId: string, fromIndex: number, toListId: string, toIndex: number): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function setGroupCtx(ctx: DragAndDropGroupContext): void;
|
|
13
|
+
export declare function getGroupCtx(): DragAndDropGroupContext | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getContext, setContext, hasContext } from 'svelte';
|
|
2
|
+
const GROUP_KEY = Symbol('drag-and-drop-group');
|
|
3
|
+
export function setGroupCtx(ctx) {
|
|
4
|
+
setContext(GROUP_KEY, ctx);
|
|
5
|
+
}
|
|
6
|
+
export function getGroupCtx() {
|
|
7
|
+
return hasContext(GROUP_KEY) ? getContext(GROUP_KEY) : null;
|
|
8
|
+
}
|
|
@@ -2,8 +2,10 @@ export type { DragAndDropRootProps, DragAndDropItemProps, DragAndDropHandleProps
|
|
|
2
2
|
import DragAndDropRoot from './drag-and-drop-root.svelte';
|
|
3
3
|
import DragAndDropItem from './drag-and-drop-item.svelte';
|
|
4
4
|
import DragAndDropHandle from './drag-and-drop-handle.svelte';
|
|
5
|
+
import DragAndDropGroup from './drag-and-drop-group.svelte';
|
|
5
6
|
export declare const DragAndDrop: {
|
|
6
7
|
Root: typeof DragAndDropRoot;
|
|
7
8
|
Item: typeof DragAndDropItem;
|
|
8
9
|
Handle: typeof DragAndDropHandle;
|
|
10
|
+
Group: typeof DragAndDropGroup;
|
|
9
11
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import DragAndDropRoot from './drag-and-drop-root.svelte';
|
|
2
2
|
import DragAndDropItem from './drag-and-drop-item.svelte';
|
|
3
3
|
import DragAndDropHandle from './drag-and-drop-handle.svelte';
|
|
4
|
+
import DragAndDropGroup from './drag-and-drop-group.svelte';
|
|
4
5
|
export const DragAndDrop = {
|
|
5
6
|
Root: DragAndDropRoot,
|
|
6
7
|
Item: DragAndDropItem,
|
|
7
|
-
Handle: DragAndDropHandle
|
|
8
|
+
Handle: DragAndDropHandle,
|
|
9
|
+
Group: DragAndDropGroup
|
|
8
10
|
};
|
|
@@ -108,7 +108,8 @@
|
|
|
108
108
|
box-shadow: var(--dry-drawer-shadow, var(--dry-shadow-overlay));
|
|
109
109
|
padding: 0;
|
|
110
110
|
display: grid;
|
|
111
|
-
|
|
111
|
+
grid-template-rows: max-content minmax(0, 1fr) max-content;
|
|
112
|
+
overflow: hidden;
|
|
112
113
|
|
|
113
114
|
transition:
|
|
114
115
|
transform var(--dry-duration-slow) var(--dry-ease-spring-snappy),
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
let animated = $state(false);
|
|
33
33
|
let pointerX = $state('50%');
|
|
34
34
|
let pointerY = $state('50%');
|
|
35
|
+
let pointerFrame = $state<number | null>(null);
|
|
36
|
+
let pendingPointerX = '50%';
|
|
37
|
+
let pendingPointerY = '50%';
|
|
35
38
|
|
|
36
39
|
function captureElement(node: HTMLDivElement) {
|
|
37
40
|
element = node;
|
|
@@ -51,14 +54,42 @@
|
|
|
51
54
|
return '12s';
|
|
52
55
|
});
|
|
53
56
|
|
|
57
|
+
function flushPointerPosition() {
|
|
58
|
+
pointerFrame = null;
|
|
59
|
+
pointerX = pendingPointerX;
|
|
60
|
+
pointerY = pendingPointerY;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function queuePointerPosition(nextX: string, nextY: string) {
|
|
64
|
+
pendingPointerX = nextX;
|
|
65
|
+
pendingPointerY = nextY;
|
|
66
|
+
|
|
67
|
+
if (pointerFrame !== null) return;
|
|
68
|
+
|
|
69
|
+
pointerFrame = requestAnimationFrame(() => {
|
|
70
|
+
flushPointerPosition();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function cancelQueuedPointerPosition() {
|
|
75
|
+
if (pointerFrame === null) return;
|
|
76
|
+
cancelAnimationFrame(pointerFrame);
|
|
77
|
+
pointerFrame = null;
|
|
78
|
+
}
|
|
79
|
+
|
|
54
80
|
function handlePointerMove(event: PointerEvent) {
|
|
55
81
|
if (!interactive || prefersReducedMotion || !element || !supportsPointerTracking()) return;
|
|
56
82
|
const rect = element.getBoundingClientRect();
|
|
57
|
-
|
|
58
|
-
|
|
83
|
+
queuePointerPosition(
|
|
84
|
+
`${(((event.clientX - rect.left) / rect.width) * 100).toFixed(1)}%`,
|
|
85
|
+
`${(((event.clientY - rect.top) / rect.height) * 100).toFixed(1)}%`
|
|
86
|
+
);
|
|
59
87
|
}
|
|
60
88
|
|
|
61
89
|
function handlePointerLeave() {
|
|
90
|
+
cancelQueuedPointerPosition();
|
|
91
|
+
pendingPointerX = '50%';
|
|
92
|
+
pendingPointerY = '50%';
|
|
62
93
|
pointerX = '50%';
|
|
63
94
|
pointerY = '50%';
|
|
64
95
|
}
|
|
@@ -98,11 +129,17 @@
|
|
|
98
129
|
|
|
99
130
|
if (!supportsPropertyRegistration() || getReducedMotionPreference()) {
|
|
100
131
|
animated = false;
|
|
101
|
-
return
|
|
132
|
+
return () => {
|
|
133
|
+
cancelQueuedPointerPosition();
|
|
134
|
+
stopMotionObserver();
|
|
135
|
+
};
|
|
102
136
|
}
|
|
103
137
|
|
|
104
138
|
animated = true;
|
|
105
|
-
return
|
|
139
|
+
return () => {
|
|
140
|
+
cancelQueuedPointerPosition();
|
|
141
|
+
stopMotionObserver();
|
|
142
|
+
};
|
|
106
143
|
});
|
|
107
144
|
|
|
108
145
|
function applyStyles(node: HTMLElement) {
|
|
@@ -121,6 +158,7 @@
|
|
|
121
158
|
|
|
122
159
|
<div
|
|
123
160
|
{@attach captureElement}
|
|
161
|
+
{@attach applyStyles}
|
|
124
162
|
class={className}
|
|
125
163
|
data-gradient-mesh
|
|
126
164
|
data-animated={animated || undefined}
|
|
@@ -129,7 +167,6 @@
|
|
|
129
167
|
onpointermove={interactive ? handlePointerMove : undefined}
|
|
130
168
|
onpointerleave={interactive ? handlePointerLeave : undefined}
|
|
131
169
|
{...rest}
|
|
132
|
-
use:applyStyles
|
|
133
170
|
>
|
|
134
171
|
{#if childSnippet}
|
|
135
172
|
<div data-gradient-mesh-content>
|
|
@@ -24,29 +24,17 @@
|
|
|
24
24
|
dotSize === 'fine' || dotSize === 'medium' || dotSize === 'coarse' ? dotSize : 'custom'
|
|
25
25
|
);
|
|
26
26
|
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const dotRadius = $derived.by(() => {
|
|
40
|
-
const size =
|
|
41
|
-
typeof dotSize === 'number'
|
|
42
|
-
? Math.max(1, dotSize)
|
|
43
|
-
: dotSize === 'fine'
|
|
44
|
-
? 2
|
|
45
|
-
: dotSize === 'coarse'
|
|
46
|
-
? 6
|
|
47
|
-
: 4;
|
|
48
|
-
return `${size * 0.45}`;
|
|
49
|
-
});
|
|
27
|
+
const baseSize = $derived(
|
|
28
|
+
typeof dotSize === 'number'
|
|
29
|
+
? Math.max(1, dotSize)
|
|
30
|
+
: dotSize === 'fine'
|
|
31
|
+
? 2
|
|
32
|
+
: dotSize === 'coarse'
|
|
33
|
+
? 6
|
|
34
|
+
: 4
|
|
35
|
+
);
|
|
36
|
+
const patternSize = $derived(`${baseSize * 3}`);
|
|
37
|
+
const dotRadius = $derived(`${baseSize * 0.45}`);
|
|
50
38
|
|
|
51
39
|
const normalizedOpacity = $derived(`${Math.max(0, Math.min(1, opacity))}`);
|
|
52
40
|
const angleValue = $derived(`${angle}deg`);
|
|
@@ -99,24 +87,16 @@
|
|
|
99
87
|
mix-blend-mode: multiply;
|
|
100
88
|
transform: rotate(var(--dry-halftone-angle));
|
|
101
89
|
transform-origin: center;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
90
|
+
background-image: radial-gradient(
|
|
91
|
+
circle at center,
|
|
92
|
+
var(--dry-halftone-color) 0 calc(var(--dry-halftone-dot-radius) * 1px),
|
|
93
|
+
transparent calc((var(--dry-halftone-dot-radius) * 1px) + 0.8px)
|
|
94
|
+
);
|
|
105
95
|
background-size: calc(var(--dry-halftone-pattern-size) * 1px)
|
|
106
96
|
calc(var(--dry-halftone-pattern-size) * 1px);
|
|
107
97
|
background-repeat: repeat;
|
|
108
98
|
}
|
|
109
99
|
|
|
110
|
-
/* Override SVG for fine pattern */
|
|
111
|
-
[data-halftone][data-dot-size='fine']::after {
|
|
112
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Ccircle cx='3' cy='3' r='0.9' fill='black'/%3E%3C/svg%3E");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* Override SVG for coarse pattern */
|
|
116
|
-
[data-halftone][data-dot-size='coarse']::after {
|
|
117
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='9' cy='9' r='2.7' fill='black'/%3E%3C/svg%3E");
|
|
118
|
-
}
|
|
119
|
-
|
|
120
100
|
[data-halftone-content] {
|
|
121
101
|
position: relative;
|
|
122
102
|
z-index: 1;
|
package/dist/index.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ export type { RevealProps } from './reveal/index.js';
|
|
|
179
179
|
export { Spotlight } from './spotlight/index.js';
|
|
180
180
|
export type { SpotlightProps } from './spotlight/index.js';
|
|
181
181
|
export { Aurora } from './aurora/index.js';
|
|
182
|
-
export type { AuroraProps, AuroraPalette, AuroraSpeed } from './aurora/index.js';
|
|
182
|
+
export type { AuroraProps, AuroraPalette, AuroraSpeed, AuroraMotion } from './aurora/index.js';
|
|
183
183
|
export { Noise } from './noise/index.js';
|
|
184
184
|
export type { NoiseProps, NoiseBlendMode } from './noise/index.js';
|
|
185
185
|
export type { BlendMode } from './aurora/index.js';
|
|
@@ -256,8 +256,6 @@ export { MegaMenu } from './mega-menu/index.js';
|
|
|
256
256
|
export type { MegaMenuRootProps, MegaMenuItemProps, MegaMenuTriggerProps, MegaMenuPanelProps, MegaMenuColumnProps, MegaMenuLinkProps } from './mega-menu/index.js';
|
|
257
257
|
export { Map } from './map/index.js';
|
|
258
258
|
export type { MapRootProps, MapMarkerProps, MapPopupProps, MapLayerProps, MapControlsProps, LngLat, MapInstance, MapLibrary, MapMarkerInstance, MapPopupInstance, MapOptions, MapControl, MapSource, MarkerOptions, PopupOptions, GeoJsonData } from './map/index.js';
|
|
259
|
-
export { SystemMap } from './system-map/index.js';
|
|
260
|
-
export type { DolphinCluster, DolphinEdge, DolphinEdgeType, DolphinGraph, DolphinLayer, DolphinMismatch, DolphinMismatchKind, DolphinNode, DolphinNodeKind, DolphinPackage, DolphinSignals, DolphinSummary, DolphinVisibility, SystemMapProps, SystemMapEdge, SystemMapEdgeKind, SystemMapGraph, SystemMapLayer, SystemMapNode, SystemMapNodeKind, SystemMapVisibility } from './system-map/index.js';
|
|
261
259
|
export { ChromaticShift } from './chromatic-shift/index.js';
|
|
262
260
|
export type { ChromaticShiftProps } from './chromatic-shift/index.js';
|
|
263
261
|
export { ChromaticAberration } from './chromatic-aberration/index.js';
|
|
@@ -286,7 +284,6 @@ export { ShaderCanvas, PRESETS as SHADER_PRESETS } from './shader-canvas/index.j
|
|
|
286
284
|
export type { ShaderCanvasProps, ShaderCanvasPreset } from './shader-canvas/index.js';
|
|
287
285
|
export { Svg } from './svg/index.js';
|
|
288
286
|
export type { SvgProps } from './svg/index.js';
|
|
289
|
-
export { Thumbnail } from './thumbnail/index.js';
|
|
290
287
|
export { StarRating } from './star-rating/index.js';
|
|
291
288
|
export type { StarRatingRootProps } from './star-rating/index.js';
|
|
292
289
|
export { Tag } from './tag/index.js';
|
package/dist/index.js
CHANGED
|
@@ -131,7 +131,6 @@ export { DateTimeInput } from './date-time-input/index.js';
|
|
|
131
131
|
export { NotificationCenter } from './notification-center/index.js';
|
|
132
132
|
export { MegaMenu } from './mega-menu/index.js';
|
|
133
133
|
export { Map } from './map/index.js';
|
|
134
|
-
export { SystemMap } from './system-map/index.js';
|
|
135
134
|
// Animation & Visual Effects
|
|
136
135
|
export { ChromaticShift } from './chromatic-shift/index.js';
|
|
137
136
|
export { ChromaticAberration } from './chromatic-aberration/index.js';
|
|
@@ -147,7 +146,7 @@ export { Halftone } from './halftone/index.js';
|
|
|
147
146
|
export { MaskReveal } from './mask-reveal/index.js';
|
|
148
147
|
export { ShaderCanvas, PRESETS as SHADER_PRESETS } from './shader-canvas/index.js';
|
|
149
148
|
export { Svg } from './svg/index.js';
|
|
150
|
-
export { Thumbnail } from './thumbnail/index.js';
|
|
151
149
|
export { StarRating } from './star-rating/index.js';
|
|
152
150
|
export { Tag } from './tag/index.js';
|
|
153
151
|
export { useThemeOverride } from './themes/use-theme-override.svelte.js';
|
|
152
|
+
export { Diagram } from './diagram/index.js';
|
package/dist/noise/noise.svelte
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
data-reduced-motion={prefersReducedMotion || undefined}
|
|
51
51
|
data-grain={grain}
|
|
52
52
|
{...rest}
|
|
53
|
-
|
|
53
|
+
{@attach applyStyles}
|
|
54
54
|
>
|
|
55
55
|
<span data-noise-texture aria-hidden="true"></span>
|
|
56
56
|
|
|
@@ -91,10 +91,10 @@
|
|
|
91
91
|
background-image: var(--dry-noise-pattern);
|
|
92
92
|
background-size: 256px 256px;
|
|
93
93
|
background-repeat: repeat;
|
|
94
|
-
will-change: transform;
|
|
95
94
|
}
|
|
96
95
|
|
|
97
96
|
[data-noise][data-animated] [data-noise-texture] {
|
|
97
|
+
will-change: transform;
|
|
98
98
|
animation: noise-drift 1.6s steps(6) infinite;
|
|
99
99
|
}
|
|
100
100
|
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
const mergedUniforms = $derived({ ...themeUniforms, ...uniforms });
|
|
69
|
+
const effectiveFps = $derived(fps ?? 30);
|
|
69
70
|
|
|
70
71
|
function setAspectRatio(node: HTMLDivElement) {
|
|
71
72
|
$effect(() => {
|
|
@@ -101,7 +102,9 @@
|
|
|
101
102
|
bind:paused
|
|
102
103
|
data-shader-canvas
|
|
103
104
|
{...Object.fromEntries(
|
|
104
|
-
Object.entries({ vertexShader, pixelRatio, fps, fallback }).filter(
|
|
105
|
+
Object.entries({ vertexShader, pixelRatio, fps: effectiveFps, fallback }).filter(
|
|
106
|
+
([, v]) => v !== undefined
|
|
107
|
+
)
|
|
105
108
|
)}
|
|
106
109
|
>
|
|
107
110
|
{#if childSnippet}
|
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
[data-sidebar-footer] {
|
|
18
18
|
grid-row: 3;
|
|
19
19
|
display: grid;
|
|
20
|
-
grid-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
grid-template-columns: minmax(0, 1fr);
|
|
21
|
+
align-content: start;
|
|
22
|
+
justify-items: stretch;
|
|
23
23
|
gap: var(--dry-space-2);
|
|
24
|
-
padding: var(--dry-
|
|
24
|
+
padding-block: var(--dry-sidebar-footer-padding-y, var(--dry-space-3));
|
|
25
|
+
padding-inline: var(--dry-sidebar-content-padding, 0px);
|
|
25
26
|
border-top: 1px solid var(--dry-sidebar-border);
|
|
26
27
|
}
|
|
27
28
|
</style>
|
|
@@ -35,6 +35,9 @@
|
|
|
35
35
|
let y = $state('50%');
|
|
36
36
|
let active = $state(false);
|
|
37
37
|
let prefersReducedMotion = $state(false);
|
|
38
|
+
let pointerFrame = $state<number | null>(null);
|
|
39
|
+
let pendingX = '50%';
|
|
40
|
+
let pendingY = '50%';
|
|
38
41
|
|
|
39
42
|
function captureElement(node: HTMLDivElement) {
|
|
40
43
|
element = node;
|
|
@@ -46,6 +49,9 @@
|
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
function centerSpotlight() {
|
|
52
|
+
cancelQueuedPointerPosition();
|
|
53
|
+
pendingX = '50%';
|
|
54
|
+
pendingY = '50%';
|
|
49
55
|
x = '50%';
|
|
50
56
|
y = '50%';
|
|
51
57
|
}
|
|
@@ -57,8 +63,30 @@
|
|
|
57
63
|
function updateFromClientPoint(clientX: number, clientY: number) {
|
|
58
64
|
if (!element) return;
|
|
59
65
|
const rect = element.getBoundingClientRect();
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
queuePointerPosition(`${clientX - rect.left}px`, `${clientY - rect.top}px`);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function flushPointerPosition() {
|
|
70
|
+
pointerFrame = null;
|
|
71
|
+
x = pendingX;
|
|
72
|
+
y = pendingY;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function queuePointerPosition(nextX: string, nextY: string) {
|
|
76
|
+
pendingX = nextX;
|
|
77
|
+
pendingY = nextY;
|
|
78
|
+
|
|
79
|
+
if (pointerFrame !== null) return;
|
|
80
|
+
|
|
81
|
+
pointerFrame = requestAnimationFrame(() => {
|
|
82
|
+
flushPointerPosition();
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function cancelQueuedPointerPosition() {
|
|
87
|
+
if (pointerFrame === null) return;
|
|
88
|
+
cancelAnimationFrame(pointerFrame);
|
|
89
|
+
pointerFrame = null;
|
|
62
90
|
}
|
|
63
91
|
|
|
64
92
|
function handlePointerEnter(event: PointerEvent) {
|
|
@@ -101,11 +129,16 @@
|
|
|
101
129
|
initialValue: '50%'
|
|
102
130
|
});
|
|
103
131
|
|
|
104
|
-
|
|
132
|
+
const stopMotionObserver = observeReducedMotionPreference((matches) => {
|
|
105
133
|
prefersReducedMotion = matches;
|
|
106
134
|
active = matches || !followPointer;
|
|
107
135
|
centerSpotlight();
|
|
108
136
|
});
|
|
137
|
+
|
|
138
|
+
return () => {
|
|
139
|
+
cancelQueuedPointerPosition();
|
|
140
|
+
stopMotionObserver();
|
|
141
|
+
};
|
|
109
142
|
});
|
|
110
143
|
|
|
111
144
|
const radiusValue = $derived(`${Math.max(0, radius)}px`);
|
|
@@ -137,6 +170,7 @@
|
|
|
137
170
|
|
|
138
171
|
<div
|
|
139
172
|
{@attach captureElement}
|
|
173
|
+
{@attach applyStyles}
|
|
140
174
|
class={className}
|
|
141
175
|
data-spotlight
|
|
142
176
|
data-active={active || undefined}
|
|
@@ -147,7 +181,6 @@
|
|
|
147
181
|
onpointerleave={handlePointerLeave}
|
|
148
182
|
onfocusin={handleFocusIn}
|
|
149
183
|
onfocusout={handleFocusOut}
|
|
150
|
-
use:applyStyles
|
|
151
184
|
{...rest}
|
|
152
185
|
>
|
|
153
186
|
{@render children()}
|
|
@@ -221,6 +254,11 @@
|
|
|
221
254
|
transform var(--dry-duration-normal, 200ms) var(--dry-ease-out, ease),
|
|
222
255
|
--dry-spotlight-x 60ms ease-out,
|
|
223
256
|
--dry-spotlight-y 60ms ease-out;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
[data-spotlight][data-active]::before,
|
|
260
|
+
[data-spotlight][data-static]::before,
|
|
261
|
+
[data-spotlight][data-follow-pointer]::before {
|
|
224
262
|
will-change: opacity, transform;
|
|
225
263
|
}
|
|
226
264
|
|