snice 4.27.0 → 4.29.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/adapters/react/action-bar.d.ts +30 -0
- package/adapters/react/action-bar.d.ts.map +1 -0
- package/adapters/react/action-bar.js +24 -0
- package/adapters/react/action-bar.js.map +1 -0
- package/adapters/react/action-bar.tsx +38 -0
- package/adapters/react/binpack.d.ts +35 -0
- package/adapters/react/binpack.d.ts.map +1 -0
- package/adapters/react/binpack.js +24 -0
- package/adapters/react/binpack.js.map +1 -0
- package/adapters/react/binpack.tsx +43 -0
- package/adapters/react/components.d.ts +4 -0
- package/adapters/react/components.d.ts.map +1 -1
- package/adapters/react/components.js +2 -0
- package/adapters/react/components.js.map +1 -1
- package/adapters/react/components.ts +4 -0
- package/adapters/react/useRequestHandler.d.ts +56 -0
- package/adapters/react/useRequestHandler.js +103 -0
- package/adapters/react/useRequestHandler.js.map +1 -0
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- package/dist/cdn/action-bar/README.md +27 -0
- package/dist/cdn/action-bar/snice-action-bar.js +249 -0
- package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
- package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
- package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
- package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
- package/dist/cdn/alert/snice-alert.js +1 -1
- package/dist/cdn/alert/snice-alert.min.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
- package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
- package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
- package/dist/cdn/availability/snice-availability.js +1 -1
- package/dist/cdn/availability/snice-availability.min.js +1 -1
- package/dist/cdn/avatar/snice-avatar.js +1 -1
- package/dist/cdn/avatar/snice-avatar.min.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
- package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
- package/dist/cdn/badge/snice-badge.js +2 -2
- package/dist/cdn/badge/snice-badge.js.map +1 -1
- package/dist/cdn/badge/snice-badge.min.js +2 -2
- package/dist/cdn/badge/snice-badge.min.js.map +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- package/dist/cdn/binpack/README.md +27 -0
- package/dist/cdn/binpack/snice-binpack.js +1037 -0
- package/dist/cdn/binpack/snice-binpack.js.map +1 -0
- package/dist/cdn/binpack/snice-binpack.min.js +13 -0
- package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
- package/dist/cdn/book/snice-book.js +1 -1
- package/dist/cdn/book/snice-book.min.js +1 -1
- package/dist/cdn/booking/snice-booking.js +1 -1
- package/dist/cdn/booking/snice-booking.min.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
- package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
- package/dist/cdn/button/README.md +1 -1
- package/dist/cdn/button/snice-button.js +11 -10
- package/dist/cdn/button/snice-button.js.map +1 -1
- package/dist/cdn/button/snice-button.min.js +3 -3
- package/dist/cdn/button/snice-button.min.js.map +1 -1
- package/dist/cdn/calendar/snice-calendar.js +1 -1
- package/dist/cdn/calendar/snice-calendar.min.js +1 -1
- package/dist/cdn/camera/snice-camera.js +1 -1
- package/dist/cdn/camera/snice-camera.min.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
- package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.js +1 -1
- package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
- package/dist/cdn/card/snice-card.js +1 -1
- package/dist/cdn/card/snice-card.min.js +1 -1
- package/dist/cdn/carousel/snice-carousel.js +1 -1
- package/dist/cdn/carousel/snice-carousel.min.js +1 -1
- package/dist/cdn/cart/snice-cart.js +1 -1
- package/dist/cdn/cart/snice-cart.min.js +1 -1
- package/dist/cdn/chart/snice-chart.js +1 -1
- package/dist/cdn/chart/snice-chart.min.js +1 -1
- package/dist/cdn/chat/snice-chat.js +1 -1
- package/dist/cdn/chat/snice-chat.min.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.js +1 -1
- package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
- package/dist/cdn/chip/snice-chip.js +1 -1
- package/dist/cdn/chip/snice-chip.min.js +1 -1
- package/dist/cdn/code-block/snice-code-block.js +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +1 -1
- package/dist/cdn/color-display/snice-color-display.js +1 -1
- package/dist/cdn/color-display/snice-color-display.min.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.js +1 -1
- package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.js +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
- package/dist/cdn/comments/snice-comments.js +1 -1
- package/dist/cdn/comments/snice-comments.min.js +1 -1
- package/dist/cdn/countdown/snice-countdown.js +1 -1
- package/dist/cdn/countdown/snice-countdown.min.js +1 -1
- package/dist/cdn/cropper/snice-cropper.js +1 -1
- package/dist/cdn/cropper/snice-cropper.min.js +1 -1
- package/dist/cdn/data-card/snice-data-card.js +1 -1
- package/dist/cdn/data-card/snice-data-card.min.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.js +1 -1
- package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
- package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
- package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
- package/dist/cdn/diff/snice-diff.js +1 -1
- package/dist/cdn/diff/snice-diff.min.js +1 -1
- package/dist/cdn/divider/snice-divider.js +1 -1
- package/dist/cdn/divider/snice-divider.min.js +1 -1
- package/dist/cdn/doc/snice-doc.js +1 -1
- package/dist/cdn/doc/snice-doc.min.js +1 -1
- package/dist/cdn/draw/snice-draw.js +1 -1
- package/dist/cdn/draw/snice-draw.min.js +1 -1
- package/dist/cdn/drawer/snice-drawer.js +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.js +1 -1
- package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
- package/dist/cdn/estimate/snice-estimate.js +1 -1
- package/dist/cdn/estimate/snice-estimate.min.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
- package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.js +1 -1
- package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.js +1 -1
- package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
- package/dist/cdn/flow/snice-flow.js +1 -1
- package/dist/cdn/flow/snice-flow.min.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.js +1 -1
- package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
- package/dist/cdn/funnel/snice-funnel.js +1 -1
- package/dist/cdn/funnel/snice-funnel.min.js +1 -1
- package/dist/cdn/gantt/snice-gantt.js +1 -1
- package/dist/cdn/gantt/snice-gantt.min.js +1 -1
- package/dist/cdn/gauge/snice-gauge.js +1 -1
- package/dist/cdn/gauge/snice-gauge.min.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.js +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
- package/dist/cdn/image/snice-image.js +1 -1
- package/dist/cdn/image/snice-image.min.js +1 -1
- package/dist/cdn/input/snice-input.js +1 -1
- package/dist/cdn/input/snice-input.min.js +1 -1
- package/dist/cdn/invoice/snice-invoice.js +1 -1
- package/dist/cdn/invoice/snice-invoice.min.js +1 -1
- package/dist/cdn/kanban/snice-kanban.js +1 -1
- package/dist/cdn/kanban/snice-kanban.min.js +1 -1
- package/dist/cdn/key-value/snice-key-value.js +1 -1
- package/dist/cdn/key-value/snice-key-value.min.js +1 -1
- package/dist/cdn/kpi/snice-kpi.js +1 -1
- package/dist/cdn/kpi/snice-kpi.min.js +1 -1
- package/dist/cdn/layout/snice-layout.js +1 -1
- package/dist/cdn/layout/snice-layout.min.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
- package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
- package/dist/cdn/link/snice-link.js +1 -1
- package/dist/cdn/link/snice-link.min.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.js +1 -1
- package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
- package/dist/cdn/list/snice-list.js +1 -1
- package/dist/cdn/list/snice-list.min.js +1 -1
- package/dist/cdn/location/snice-location.js +1 -1
- package/dist/cdn/location/snice-location.min.js +1 -1
- package/dist/cdn/login/README.md +2 -2
- package/dist/cdn/login/snice-login.js +11 -10
- package/dist/cdn/login/snice-login.js.map +1 -1
- package/dist/cdn/login/snice-login.min.js +5 -5
- package/dist/cdn/login/snice-login.min.js.map +1 -1
- package/dist/cdn/map/snice-map.js +1 -1
- package/dist/cdn/map/snice-map.min.js +1 -1
- package/dist/cdn/markdown/snice-markdown.js +1 -1
- package/dist/cdn/markdown/snice-markdown.min.js +1 -1
- package/dist/cdn/masonry/snice-masonry.js +1 -1
- package/dist/cdn/masonry/snice-masonry.min.js +1 -1
- package/dist/cdn/menu/snice-menu.js +1 -1
- package/dist/cdn/menu/snice-menu.min.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.js +1 -1
- package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.js +1 -1
- package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
- package/dist/cdn/modal/snice-modal.js +1 -1
- package/dist/cdn/modal/snice-modal.min.js +1 -1
- package/dist/cdn/music-player/snice-music-player.js +1 -1
- package/dist/cdn/music-player/snice-music-player.min.js +1 -1
- package/dist/cdn/nav/snice-nav.js +1 -1
- package/dist/cdn/nav/snice-nav.min.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.js +1 -1
- package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.js +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
- package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.js +1 -1
- package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
- package/dist/cdn/pagination/snice-pagination.js +1 -1
- package/dist/cdn/pagination/snice-pagination.min.js +1 -1
- package/dist/cdn/paint/snice-paint.js +1 -1
- package/dist/cdn/paint/snice-paint.min.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
- package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
- package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
- package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
- package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
- package/dist/cdn/product-card/snice-product-card.js +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +1 -1
- package/dist/cdn/progress/snice-progress.js +1 -1
- package/dist/cdn/progress/snice-progress.min.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
- package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.js +1 -1
- package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
- package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
- package/dist/cdn/radio/snice-radio.js +1 -1
- package/dist/cdn/radio/snice-radio.min.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.js +1 -1
- package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
- package/dist/cdn/rating/snice-rating.js +1 -1
- package/dist/cdn/rating/snice-rating.min.js +1 -1
- package/dist/cdn/receipt/snice-receipt.js +1 -1
- package/dist/cdn/receipt/snice-receipt.min.js +1 -1
- package/dist/cdn/recipe/snice-recipe.js +1 -1
- package/dist/cdn/recipe/snice-recipe.min.js +1 -1
- package/dist/cdn/runtime/README.md +2 -2
- package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +152 -61
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +8 -8
- package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
- package/dist/cdn/sankey/snice-sankey.js +1 -1
- package/dist/cdn/sankey/snice-sankey.min.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
- package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
- package/dist/cdn/select/snice-select.js +1 -1
- package/dist/cdn/select/snice-select.min.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.js +1 -1
- package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
- package/dist/cdn/slider/snice-slider.js +1 -1
- package/dist/cdn/slider/snice-slider.min.js +1 -1
- package/dist/cdn/sortable/snice-sortable.js +1 -1
- package/dist/cdn/sortable/snice-sortable.min.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.js +1 -1
- package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
- package/dist/cdn/spinner/snice-spinner.js +1 -1
- package/dist/cdn/spinner/snice-spinner.min.js +1 -1
- package/dist/cdn/split-button/snice-split-button.js +1 -1
- package/dist/cdn/split-button/snice-split-button.min.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.js +1 -1
- package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.js +1 -1
- package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
- package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.js +1 -1
- package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
- package/dist/cdn/step-input/snice-step-input.js +1 -1
- package/dist/cdn/step-input/snice-step-input.min.js +1 -1
- package/dist/cdn/stepper/snice-stepper.js +1 -1
- package/dist/cdn/stepper/snice-stepper.min.js +1 -1
- package/dist/cdn/switch/snice-switch.js +1 -1
- package/dist/cdn/switch/snice-switch.min.js +1 -1
- package/dist/cdn/table/README.md +1 -1
- package/dist/cdn/table/snice-table.js +11 -10
- package/dist/cdn/table/snice-table.js.map +1 -1
- package/dist/cdn/table/snice-table.min.js +73 -73
- package/dist/cdn/table/snice-table.min.js.map +1 -1
- package/dist/cdn/tabs/snice-tabs.js +1 -1
- package/dist/cdn/tabs/snice-tabs.min.js +1 -1
- package/dist/cdn/tag/snice-tag.js +1 -1
- package/dist/cdn/tag/snice-tag.min.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.js +1 -1
- package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
- package/dist/cdn/terminal/snice-terminal.js +1 -1
- package/dist/cdn/terminal/snice-terminal.min.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.js +1 -1
- package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
- package/dist/cdn/textarea/snice-textarea.js +1 -1
- package/dist/cdn/textarea/snice-textarea.min.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.js +1 -1
- package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
- package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
- package/dist/cdn/timeline/snice-timeline.js +1 -1
- package/dist/cdn/timeline/snice-timeline.min.js +1 -1
- package/dist/cdn/timer/snice-timer.js +1 -1
- package/dist/cdn/timer/snice-timer.min.js +1 -1
- package/dist/cdn/toast/snice-toast.js +1 -1
- package/dist/cdn/toast/snice-toast.min.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.js +1 -1
- package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
- package/dist/cdn/tree/snice-tree.js +1 -1
- package/dist/cdn/tree/snice-tree.min.js +1 -1
- package/dist/cdn/treemap/snice-treemap.js +1 -1
- package/dist/cdn/treemap/snice-treemap.min.js +1 -1
- package/dist/cdn/user-card/snice-user-card.js +1 -1
- package/dist/cdn/user-card/snice-user-card.min.js +1 -1
- package/dist/cdn/video-player/snice-video-player.js +1 -1
- package/dist/cdn/video-player/snice-video-player.min.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
- package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.js +1 -1
- package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
- package/dist/cdn/weather/snice-weather.js +1 -1
- package/dist/cdn/weather/snice-weather.min.js +1 -1
- package/dist/cdn/work-order/snice-work-order.js +1 -1
- package/dist/cdn/work-order/snice-work-order.min.js +1 -1
- package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
- package/dist/components/action-bar/snice-action-bar.js +182 -0
- package/dist/components/action-bar/snice-action-bar.js.map +1 -0
- package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
- package/dist/components/badge/snice-badge.js +1 -1
- package/dist/components/badge/snice-badge.js.map +1 -1
- package/dist/components/binpack/snice-binpack.d.ts +82 -0
- package/dist/components/binpack/snice-binpack.js +970 -0
- package/dist/components/binpack/snice-binpack.js.map +1 -0
- package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
- package/dist/components/button/snice-button.d.ts +2 -2
- package/dist/components/button/snice-button.js +11 -10
- package/dist/components/button/snice-button.js.map +1 -1
- package/dist/create-request-handler.d.ts +42 -0
- package/dist/index.cjs +149 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +149 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +149 -58
- package/dist/index.iife.js.map +1 -1
- package/dist/parts.d.ts +9 -7
- package/dist/react/useRequestHandler.d.ts +56 -0
- package/dist/react/useRequestHandler.js +103 -0
- package/dist/react/useRequestHandler.js.map +1 -0
- package/dist/symbols.cjs +1 -1
- package/dist/symbols.esm.js +1 -1
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/DEVELOPMENT.md +1 -1
- package/docs/ai/components/accordion.md +46 -80
- package/docs/ai/components/action-bar.md +75 -0
- package/docs/ai/components/activity-feed.md +7 -7
- package/docs/ai/components/alert.md +26 -44
- package/docs/ai/components/app-tiles.md +34 -39
- package/docs/ai/components/approval-flow.md +1 -1
- package/docs/ai/components/audio-recorder.md +35 -67
- package/docs/ai/components/availability.md +13 -34
- package/docs/ai/components/avatar-group.md +26 -13
- package/docs/ai/components/avatar.md +52 -36
- package/docs/ai/components/badge.md +21 -32
- package/docs/ai/components/banner.md +21 -43
- package/docs/ai/components/binpack.md +89 -0
- package/docs/ai/components/book.md +25 -23
- package/docs/ai/components/booking.md +31 -36
- package/docs/ai/components/breadcrumbs.md +36 -11
- package/docs/ai/components/button.md +33 -44
- package/docs/ai/components/calendar.md +37 -70
- package/docs/ai/components/camera-annotate.md +31 -64
- package/docs/ai/components/camera.md +38 -120
- package/docs/ai/components/candlestick.md +32 -52
- package/docs/ai/components/card.md +20 -30
- package/docs/ai/components/carousel.md +32 -32
- package/docs/ai/components/cart.md +24 -29
- package/docs/ai/components/chart.md +29 -114
- package/docs/ai/components/chat.md +38 -75
- package/docs/ai/components/checkbox.md +22 -41
- package/docs/ai/components/chip.md +18 -54
- package/docs/ai/components/code-block.md +57 -178
- package/docs/ai/components/color-display.md +12 -32
- package/docs/ai/components/color-picker.md +17 -39
- package/docs/ai/components/command-palette.md +49 -71
- package/docs/ai/components/comments.md +55 -36
- package/docs/ai/components/countdown.md +28 -30
- package/docs/ai/components/cropper.md +33 -33
- package/docs/ai/components/data-card.md +20 -14
- package/docs/ai/components/date-picker.md +40 -47
- package/docs/ai/components/date-range-picker.md +31 -15
- package/docs/ai/components/date-time-picker.md +23 -46
- package/docs/ai/components/diff.md +30 -31
- package/docs/ai/components/divider.md +17 -47
- package/docs/ai/components/doc.md +43 -68
- package/docs/ai/components/draw.md +35 -87
- package/docs/ai/components/drawer.md +48 -77
- package/docs/ai/components/empty-state.md +10 -44
- package/docs/ai/components/estimate.md +33 -58
- package/docs/ai/components/file-gallery.md +48 -100
- package/docs/ai/components/file-upload.md +17 -53
- package/docs/ai/components/flip-card.md +31 -23
- package/docs/ai/components/flow.md +37 -65
- package/docs/ai/components/form-builder.md +35 -75
- package/docs/ai/components/form-layout.md +10 -20
- package/docs/ai/components/funnel.md +33 -48
- package/docs/ai/components/gantt.md +27 -23
- package/docs/ai/components/gauge.md +16 -17
- package/docs/ai/components/heatmap.md +21 -21
- package/docs/ai/components/image.md +7 -13
- package/docs/ai/components/input.md +38 -70
- package/docs/ai/components/invoice.md +35 -36
- package/docs/ai/components/kanban.md +32 -61
- package/docs/ai/components/key-value.md +32 -16
- package/docs/ai/components/kpi.md +38 -73
- package/docs/ai/components/layout.md +29 -23
- package/docs/ai/components/leaderboard.md +28 -37
- package/docs/ai/components/link-preview.md +12 -18
- package/docs/ai/components/link.md +10 -7
- package/docs/ai/components/list.md +21 -5
- package/docs/ai/components/location.md +21 -25
- package/docs/ai/components/login.md +14 -9
- package/docs/ai/components/map.md +27 -33
- package/docs/ai/components/markdown.md +20 -24
- package/docs/ai/components/masonry.md +10 -14
- package/docs/ai/components/mentions.md +26 -12
- package/docs/ai/components/menu.md +54 -52
- package/docs/ai/components/message-strip.md +20 -20
- package/docs/ai/components/metric-table.md +14 -21
- package/docs/ai/components/modal.md +27 -18
- package/docs/ai/components/music-player.md +49 -41
- package/docs/ai/components/nav.md +34 -31
- package/docs/ai/components/network-graph.md +27 -42
- package/docs/ai/components/notification-center.md +31 -33
- package/docs/ai/components/order-tracker.md +36 -27
- package/docs/ai/components/org-chart.md +36 -31
- package/docs/ai/components/pagination.md +34 -26
- package/docs/ai/components/paint.md +53 -91
- package/docs/ai/components/pdf-viewer.md +35 -36
- package/docs/ai/components/permission-matrix.md +26 -31
- package/docs/ai/components/podcast-player.md +64 -70
- package/docs/ai/components/pricing-table.md +37 -48
- package/docs/ai/components/product-card.md +58 -41
- package/docs/ai/components/progress-ring.md +20 -24
- package/docs/ai/components/progress.md +28 -45
- package/docs/ai/components/qr-code.md +25 -27
- package/docs/ai/components/qr-reader.md +20 -23
- package/docs/ai/components/radio.md +17 -15
- package/docs/ai/components/range-slider.md +22 -11
- package/docs/ai/components/rating.md +29 -33
- package/docs/ai/components/receipt.md +50 -127
- package/docs/ai/components/recipe.md +44 -42
- package/docs/ai/components/sankey.md +21 -30
- package/docs/ai/components/scheduler.md +29 -41
- package/docs/ai/components/segmented-control.md +11 -15
- package/docs/ai/components/select.md +58 -102
- package/docs/ai/components/skeleton.md +16 -30
- package/docs/ai/components/slider.md +26 -20
- package/docs/ai/components/sortable.md +25 -27
- package/docs/ai/components/sparkline.md +21 -17
- package/docs/ai/components/spinner.md +9 -5
- package/docs/ai/components/split-button.md +10 -13
- package/docs/ai/components/split-pane.md +19 -14
- package/docs/ai/components/spotlight.md +31 -26
- package/docs/ai/components/spreadsheet.md +51 -97
- package/docs/ai/components/stat-group.md +9 -19
- package/docs/ai/components/step-input.md +17 -15
- package/docs/ai/components/stepper.md +14 -15
- package/docs/ai/components/switch.md +15 -9
- package/docs/ai/components/table.md +24 -84
- package/docs/ai/components/tabs.md +18 -10
- package/docs/ai/components/tag-input.md +18 -29
- package/docs/ai/components/tag.md +10 -22
- package/docs/ai/components/terminal.md +9 -9
- package/docs/ai/components/testimonial.md +9 -19
- package/docs/ai/components/textarea.md +15 -16
- package/docs/ai/components/theme.md +3 -3
- package/docs/ai/components/time-picker.md +30 -49
- package/docs/ai/components/time-range-picker.md +16 -15
- package/docs/ai/components/timeline.md +5 -4
- package/docs/ai/components/timer.md +8 -8
- package/docs/ai/components/toast.md +24 -18
- package/docs/ai/components/tooltip.md +11 -22
- package/docs/ai/components/tree.md +9 -9
- package/docs/ai/components/treemap.md +14 -13
- package/docs/ai/components/user-card.md +21 -27
- package/docs/ai/components/video-player.md +35 -52
- package/docs/ai/components/virtual-scroller.md +1 -1
- package/docs/ai/components/waterfall.md +17 -16
- package/docs/ai/components/weather.md +19 -34
- package/docs/ai/components/work-order.md +58 -134
- package/docs/ai/patterns.md +63 -0
- package/docs/components/accordion.md +72 -151
- package/docs/components/action-bar.md +185 -0
- package/docs/components/activity-feed.md +9 -14
- package/docs/components/alert.md +17 -109
- package/docs/components/app-tiles.md +58 -43
- package/docs/components/approval-flow.md +8 -14
- package/docs/components/audio-recorder.md +45 -51
- package/docs/components/availability.md +30 -45
- package/docs/components/avatar-group.md +34 -14
- package/docs/components/avatar.md +20 -55
- package/docs/components/badge.md +53 -470
- package/docs/components/banner.md +44 -30
- package/docs/components/binpack.md +208 -0
- package/docs/components/book.md +78 -57
- package/docs/components/booking.md +35 -87
- package/docs/components/breadcrumbs.md +74 -448
- package/docs/components/button.md +72 -603
- package/docs/components/calendar.md +77 -261
- package/docs/components/camera-annotate.md +44 -96
- package/docs/components/camera.md +94 -333
- package/docs/components/candlestick.md +79 -116
- package/docs/components/card.md +51 -689
- package/docs/components/carousel.md +29 -76
- package/docs/components/cart.md +44 -136
- package/docs/components/chart.md +95 -438
- package/docs/components/chat.md +175 -439
- package/docs/components/checkbox.md +52 -609
- package/docs/components/chip.md +45 -574
- package/docs/components/code-block.md +157 -421
- package/docs/components/color-display.md +45 -54
- package/docs/components/color-picker.md +103 -36
- package/docs/components/command-palette.md +98 -92
- package/docs/components/comments.md +16 -10
- package/docs/components/countdown.md +15 -20
- package/docs/components/cropper.md +14 -16
- package/docs/components/data-card.md +16 -15
- package/docs/components/date-picker.md +45 -25
- package/docs/components/date-range-picker.md +140 -87
- package/docs/components/date-time-picker.md +25 -28
- package/docs/components/diff.md +22 -17
- package/docs/components/divider.md +18 -20
- package/docs/components/doc.md +105 -197
- package/docs/components/draw.md +117 -223
- package/docs/components/drawer.md +113 -478
- package/docs/components/empty-state.md +13 -29
- package/docs/components/estimate.md +58 -118
- package/docs/components/file-gallery.md +123 -495
- package/docs/components/file-upload.md +36 -123
- package/docs/components/flip-card.md +30 -34
- package/docs/components/flow.md +74 -89
- package/docs/components/form-builder.md +59 -86
- package/docs/components/form-layout.md +21 -31
- package/docs/components/funnel.md +21 -22
- package/docs/components/gantt.md +5 -5
- package/docs/components/gauge.md +5 -23
- package/docs/components/heatmap.md +13 -55
- package/docs/components/image.md +28 -32
- package/docs/components/input.md +25 -14
- package/docs/components/invoice.md +34 -33
- package/docs/components/kanban.md +99 -394
- package/docs/components/key-value.md +22 -12
- package/docs/components/kpi.md +41 -112
- package/docs/components/layout.md +7 -13
- package/docs/components/leaderboard.md +52 -76
- package/docs/components/link-preview.md +20 -16
- package/docs/components/link.md +22 -19
- package/docs/components/list.md +44 -26
- package/docs/components/location.md +9 -13
- package/docs/components/login.md +42 -36
- package/docs/components/map.md +24 -46
- package/docs/components/markdown.md +14 -25
- package/docs/components/masonry.md +15 -13
- package/docs/components/mentions.md +36 -25
- package/docs/components/menu.md +39 -46
- package/docs/components/message-strip.md +15 -51
- package/docs/components/metric-table.md +50 -72
- package/docs/components/modal.md +32 -43
- package/docs/components/music-player.md +41 -49
- package/docs/components/nav.md +23 -13
- package/docs/components/network-graph.md +14 -13
- package/docs/components/notification-center.md +68 -172
- package/docs/components/order-tracker.md +72 -117
- package/docs/components/org-chart.md +58 -207
- package/docs/components/pagination.md +67 -89
- package/docs/components/paint.md +86 -172
- package/docs/components/pdf-viewer.md +46 -151
- package/docs/components/permission-matrix.md +61 -112
- package/docs/components/podcast-player.md +41 -119
- package/docs/components/pricing-table.md +104 -147
- package/docs/components/product-card.md +94 -197
- package/docs/components/progress-ring.md +29 -32
- package/docs/components/progress.md +30 -61
- package/docs/components/qr-code.md +53 -61
- package/docs/components/qr-reader.md +53 -42
- package/docs/components/radio.md +42 -40
- package/docs/components/range-slider.md +41 -30
- package/docs/components/rating.md +50 -84
- package/docs/components/receipt.md +91 -129
- package/docs/components/recipe.md +107 -216
- package/docs/components/sankey.md +47 -83
- package/docs/components/scheduler.md +81 -184
- package/docs/components/segmented-control.md +48 -40
- package/docs/components/select.md +107 -129
- package/docs/components/skeleton.md +33 -47
- package/docs/components/slider.md +49 -53
- package/docs/components/sortable.md +43 -186
- package/docs/components/sparkline.md +26 -25
- package/docs/components/spinner.md +32 -37
- package/docs/components/split-button.md +43 -23
- package/docs/components/split-pane.md +41 -58
- package/docs/components/spotlight.md +53 -145
- package/docs/components/spreadsheet.md +84 -307
- package/docs/components/stat-group.md +27 -61
- package/docs/components/step-input.md +44 -41
- package/docs/components/stepper.md +55 -89
- package/docs/components/switch.md +39 -39
- package/docs/components/table.md +27 -32
- package/docs/components/tabs.md +36 -27
- package/docs/components/tag-input.md +50 -176
- package/docs/components/tag.md +12 -50
- package/docs/components/terminal.md +32 -37
- package/docs/components/testimonial.md +24 -81
- package/docs/components/textarea.md +9 -14
- package/docs/components/theme.md +10 -23
- package/docs/components/time-picker.md +48 -72
- package/docs/components/time-range-picker.md +22 -41
- package/docs/components/timeline.md +7 -14
- package/docs/components/timer.md +16 -32
- package/docs/components/toast.md +19 -45
- package/docs/components/tooltip.md +13 -115
- package/docs/components/tree.md +2 -19
- package/docs/components/treemap.md +19 -43
- package/docs/components/user-card.md +13 -22
- package/docs/components/video-player.md +53 -227
- package/docs/components/virtual-scroller.md +11 -44
- package/docs/components/waterfall.md +58 -137
- package/docs/components/weather.md +94 -153
- package/docs/components/work-order.md +56 -143
- package/docs/plans/2026-03-09-action-bar-design.md +104 -0
- package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
- package/docs/plans/2026-03-10-react-integration-design.md +166 -0
- package/docs/request-response.md +77 -0
- package/package.json +20 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snice-binpack.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/binpack/snice-binpack.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, ready, dispose, watch, dispatch, render, styles, html, css } from 'snice';\n\nvar cssContent = \":host{display:block;position:relative;width:100%;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style;--binpack-gap:1rem;--binpack-transition-duration:0.4s}.binpack{position:relative;width:100%;min-height:1rem}::slotted(*){position:absolute;top:0;left:0;box-sizing:border-box}::slotted([hidden]){display:none!important}:host([ready]) ::slotted(*){transition:transform var(--binpack-transition-duration) ease}::slotted(.binpack-dragging){z-index:100;opacity:.9;transition:none!important;cursor:grabbing!important;user-select:none}::slotted(.binpack-positioning){z-index:99}:host([draggable]) ::slotted(*){cursor:grab}.binpack-drop-placeholder{position:absolute;top:0;left:0;outline:rgba(128,128,128,.5) dashed 3px;outline-offset:-6px;border-radius:4px;transition:transform .2s;pointer-events:none;display:none}.binpack-drop-placeholder.visible{display:block}\";\n\n// ---------------------------------------------------------------------------\n// Rect helpers\n// ---------------------------------------------------------------------------\nfunction rectContains(outer, inner) {\n return (inner.x >= outer.x &&\n inner.y >= outer.y &&\n inner.x + inner.width <= outer.x + outer.width &&\n inner.y + inner.height <= outer.y + outer.height);\n}\nfunction rectOverlaps(a, b) {\n return (a.x < b.x + b.width &&\n a.x + a.width > b.x &&\n a.y < b.y + b.height &&\n a.y + a.height > b.y);\n}\nfunction canFit(space, item) {\n // 1px tolerance for sub-pixel rounding errors\n return space.width >= item.width - 1 && space.height >= item.height - 1;\n}\n/**\n * After placing `placed` inside `space`, return up to 4 remaining sub-rects\n * (top, right, bottom, left strips).\n */\nfunction getMaximalFreeRects(space, placed) {\n const rects = [];\n // Top strip\n if (placed.y > space.y) {\n rects.push({ x: space.x, y: space.y, width: space.width, height: placed.y - space.y });\n }\n // Bottom strip\n const placedBottom = placed.y + placed.height;\n const spaceBottom = space.y + space.height;\n if (placedBottom < spaceBottom) {\n rects.push({ x: space.x, y: placedBottom, width: space.width, height: spaceBottom - placedBottom });\n }\n // Left strip\n if (placed.x > space.x) {\n rects.push({ x: space.x, y: space.y, width: placed.x - space.x, height: space.height });\n }\n // Right strip\n const placedRight = placed.x + placed.width;\n const spaceRight = space.x + space.width;\n if (placedRight < spaceRight) {\n rects.push({ x: placedRight, y: space.y, width: spaceRight - placedRight, height: space.height });\n }\n return rects;\n}\n// ---------------------------------------------------------------------------\n// Packer\n// ---------------------------------------------------------------------------\nclass Packer {\n constructor(width, height, horizontal) {\n this.width = width;\n this.height = height;\n this.horizontal = horizontal;\n this.spaces = [{ x: 0, y: 0, width, height }];\n }\n /**\n * Snap item dimensions to the nearest grid multiple.\n * If gridSize is set, round UP to the next (gridSize + gutter) multiple.\n */\n applyGrid(measurement, gridSize, gutter) {\n if (!gridSize)\n return measurement;\n const gridWithGutter = gridSize + gutter;\n const remainder = measurement % gridWithGutter;\n const method = remainder && remainder < 1 ? 'round' : 'ceil';\n return Math[method](measurement / gridWithGutter) * gridWithGutter;\n }\n /**\n * Find first fitting space and return the placement position.\n * If columnWidth/rowHeight are provided, snap item SIZE to grid.\n */\n pack(itemWidth, itemHeight, columnWidth, rowHeight, gutter) {\n // Snap item size to grid multiples\n const w = this.applyGrid(itemWidth, columnWidth, gutter);\n const h = this.applyGrid(itemHeight, rowHeight, gutter);\n // Clamp to packer bounds\n const item = {\n x: 0, y: 0,\n width: Math.min(w, this.width),\n height: Math.min(h, this.height),\n };\n for (const space of this.spaces) {\n if (canFit(space, item)) {\n item.x = space.x;\n item.y = space.y;\n this.placed(item);\n return { x: space.x, y: space.y };\n }\n }\n return null;\n }\n /**\n * Update free spaces after an item has been placed.\n */\n placed(placed) {\n const newSpaces = [];\n for (const space of this.spaces) {\n if (rectOverlaps(space, placed)) {\n const subs = getMaximalFreeRects(space, placed);\n newSpaces.push(...subs);\n }\n else {\n newSpaces.push(space);\n }\n }\n this.spaces = newSpaces;\n this.mergeSortSpaces();\n }\n /**\n * Remove spaces fully contained within larger ones, then sort.\n */\n mergeSortSpaces() {\n // Remove contained spaces\n this.spaces = this.spaces.filter((space, i, arr) => {\n for (let j = 0; j < arr.length; j++) {\n if (i !== j && rectContains(arr[j], space)) {\n return false;\n }\n }\n return true;\n });\n // Sort: vertical = downward-left-to-right, horizontal = rightward-top-to-bottom\n if (this.horizontal) {\n this.spaces.sort((a, b) => a.x - b.x || a.y - b.y);\n }\n else {\n this.spaces.sort((a, b) => a.y - b.y || a.x - b.x);\n }\n }\n}\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\nlet SniceBinpack = (() => {\n let _classDecorators = [element('snice-binpack')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _gap_decorators;\n let _gap_initializers = [];\n let _gap_extraInitializers = [];\n let _columnWidth_decorators;\n let _columnWidth_initializers = [];\n let _columnWidth_extraInitializers = [];\n let _rowHeight_decorators;\n let _rowHeight_initializers = [];\n let _rowHeight_extraInitializers = [];\n let _horizontal_decorators;\n let _horizontal_initializers = [];\n let _horizontal_extraInitializers = [];\n let _originLeft_decorators;\n let _originLeft_initializers = [];\n let _originLeft_extraInitializers = [];\n let _originTop_decorators;\n let _originTop_initializers = [];\n let _originTop_extraInitializers = [];\n let _transitionDuration_decorators;\n let _transitionDuration_initializers = [];\n let _transitionDuration_extraInitializers = [];\n let _stagger_decorators;\n let _stagger_initializers = [];\n let _stagger_extraInitializers = [];\n let _resize_decorators;\n let _resize_initializers = [];\n let _resize_extraInitializers = [];\n let _draggable_decorators;\n let _draggable_initializers = [];\n let _draggable_extraInitializers = [];\n let _dragThrottle_decorators;\n let _dragThrottle_initializers = [];\n let _dragThrottle_extraInitializers = [];\n let _container_decorators;\n let _container_initializers = [];\n let _container_extraInitializers = [];\n let _slotElement_decorators;\n let _slotElement_initializers = [];\n let _slotElement_extraInitializers = [];\n let _dropPlaceholder_decorators;\n let _dropPlaceholder_initializers = [];\n let _dropPlaceholder_extraInitializers = [];\n let _onReady_decorators;\n let _onDispose_decorators;\n let _onGapChange_decorators;\n let _onTransitionDurationChange_decorators;\n let _onColumnWidthChange_decorators;\n let _onRowHeightChange_decorators;\n let _onHorizontalChange_decorators;\n let _onOriginLeftChange_decorators;\n let _onOriginTopChange_decorators;\n let _onResizeChange_decorators;\n let _onDraggableChange_decorators;\n let _emitLayoutComplete_decorators;\n let _emitFitComplete_decorators;\n let _emitDragItemPositioned_decorators;\n let _template_decorators;\n let _componentStyles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.gap = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _gap_initializers, '1rem'));\n this.columnWidth = (__runInitializers(this, _gap_extraInitializers), __runInitializers(this, _columnWidth_initializers, 0));\n this.rowHeight = (__runInitializers(this, _columnWidth_extraInitializers), __runInitializers(this, _rowHeight_initializers, 0));\n this.horizontal = (__runInitializers(this, _rowHeight_extraInitializers), __runInitializers(this, _horizontal_initializers, false));\n this.originLeft = (__runInitializers(this, _horizontal_extraInitializers), __runInitializers(this, _originLeft_initializers, true));\n this.originTop = (__runInitializers(this, _originLeft_extraInitializers), __runInitializers(this, _originTop_initializers, true));\n this.transitionDuration = (__runInitializers(this, _originTop_extraInitializers), __runInitializers(this, _transitionDuration_initializers, '0.4s'));\n this.stagger = (__runInitializers(this, _transitionDuration_extraInitializers), __runInitializers(this, _stagger_initializers, 0));\n this.resize = (__runInitializers(this, _stagger_extraInitializers), __runInitializers(this, _resize_initializers, true));\n this.draggable = (__runInitializers(this, _resize_extraInitializers), __runInitializers(this, _draggable_initializers, false));\n this.dragThrottle = (__runInitializers(this, _draggable_extraInitializers), __runInitializers(this, _dragThrottle_initializers, 120));\n this.container = (__runInitializers(this, _dragThrottle_extraInitializers), __runInitializers(this, _container_initializers, void 0));\n this.slotElement = (__runInitializers(this, _container_extraInitializers), __runInitializers(this, _slotElement_initializers, void 0));\n this.dropPlaceholder = (__runInitializers(this, _slotElement_extraInitializers), __runInitializers(this, _dropPlaceholder_initializers, void 0));\n this.items = (__runInitializers(this, _dropPlaceholder_extraInitializers), []);\n this.stampedElements = new Set();\n this.resizeObserver = null;\n this.itemResizeObserver = null;\n this.layoutScheduled = false;\n // Drag state\n this.dragItemCount = 0;\n this.shiftTargets = [];\n this.shiftTargetKeys = [];\n this.dragItem = null;\n this.dragItemRect = { x: 0, y: 0, width: 0, height: 0 };\n this.dragStartX = 0;\n this.dragStartY = 0;\n this.dragOffsetX = 0;\n this.dragOffsetY = 0;\n this.dragTime = 0;\n this.dragTimeoutId = null;\n this.boundPointerMove = null;\n this.boundPointerUp = null;\n this.pendingLayout = null;\n this.onPointerDown = (e) => {\n if (!this.draggable)\n return;\n // Only handle primary button\n if (e.button !== 0)\n return;\n // Find the direct child item that was clicked\n const target = e.target;\n const item = this.items.find(el => el === target || el.contains(target));\n if (!item || this.stampedElements.has(item))\n return;\n e.preventDefault();\n this.dragItemStart(item, e);\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _gap_decorators = [property()];\n _columnWidth_decorators = [property({ type: Number, attribute: 'column-width' })];\n _rowHeight_decorators = [property({ type: Number, attribute: 'row-height' })];\n _horizontal_decorators = [property({ type: Boolean })];\n _originLeft_decorators = [property({ type: Boolean, attribute: 'origin-left' })];\n _originTop_decorators = [property({ type: Boolean, attribute: 'origin-top' })];\n _transitionDuration_decorators = [property({ attribute: 'transition-duration' })];\n _stagger_decorators = [property({ type: Number })];\n _resize_decorators = [property({ type: Boolean })];\n _draggable_decorators = [property({ type: Boolean })];\n _dragThrottle_decorators = [property({ type: Number, attribute: 'drag-throttle' })];\n _container_decorators = [query('.binpack')];\n _slotElement_decorators = [query('slot')];\n _dropPlaceholder_decorators = [query('.binpack-drop-placeholder')];\n _onReady_decorators = [ready()];\n _onDispose_decorators = [dispose()];\n _onGapChange_decorators = [watch('gap')];\n _onTransitionDurationChange_decorators = [watch('transitionDuration')];\n _onColumnWidthChange_decorators = [watch('columnWidth')];\n _onRowHeightChange_decorators = [watch('rowHeight')];\n _onHorizontalChange_decorators = [watch('horizontal')];\n _onOriginLeftChange_decorators = [watch('originLeft')];\n _onOriginTopChange_decorators = [watch('originTop')];\n _onResizeChange_decorators = [watch('resize')];\n _onDraggableChange_decorators = [watch('draggable')];\n _emitLayoutComplete_decorators = [dispatch('binpack-layout-complete', { bubbles: true, composed: true })];\n _emitFitComplete_decorators = [dispatch('binpack-fit-complete', { bubbles: true, composed: true })];\n _emitDragItemPositioned_decorators = [dispatch('binpack-drag-item-positioned', { bubbles: true, composed: true })];\n _template_decorators = [render()];\n _componentStyles_decorators = [styles()];\n __esDecorate(this, null, _onReady_decorators, { kind: \"method\", name: \"onReady\", static: false, private: false, access: { has: obj => \"onReady\" in obj, get: obj => obj.onReady }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onDispose_decorators, { kind: \"method\", name: \"onDispose\", static: false, private: false, access: { has: obj => \"onDispose\" in obj, get: obj => obj.onDispose }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onGapChange_decorators, { kind: \"method\", name: \"onGapChange\", static: false, private: false, access: { has: obj => \"onGapChange\" in obj, get: obj => obj.onGapChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onTransitionDurationChange_decorators, { kind: \"method\", name: \"onTransitionDurationChange\", static: false, private: false, access: { has: obj => \"onTransitionDurationChange\" in obj, get: obj => obj.onTransitionDurationChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onColumnWidthChange_decorators, { kind: \"method\", name: \"onColumnWidthChange\", static: false, private: false, access: { has: obj => \"onColumnWidthChange\" in obj, get: obj => obj.onColumnWidthChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onRowHeightChange_decorators, { kind: \"method\", name: \"onRowHeightChange\", static: false, private: false, access: { has: obj => \"onRowHeightChange\" in obj, get: obj => obj.onRowHeightChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onHorizontalChange_decorators, { kind: \"method\", name: \"onHorizontalChange\", static: false, private: false, access: { has: obj => \"onHorizontalChange\" in obj, get: obj => obj.onHorizontalChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onOriginLeftChange_decorators, { kind: \"method\", name: \"onOriginLeftChange\", static: false, private: false, access: { has: obj => \"onOriginLeftChange\" in obj, get: obj => obj.onOriginLeftChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onOriginTopChange_decorators, { kind: \"method\", name: \"onOriginTopChange\", static: false, private: false, access: { has: obj => \"onOriginTopChange\" in obj, get: obj => obj.onOriginTopChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onResizeChange_decorators, { kind: \"method\", name: \"onResizeChange\", static: false, private: false, access: { has: obj => \"onResizeChange\" in obj, get: obj => obj.onResizeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onDraggableChange_decorators, { kind: \"method\", name: \"onDraggableChange\", static: false, private: false, access: { has: obj => \"onDraggableChange\" in obj, get: obj => obj.onDraggableChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitLayoutComplete_decorators, { kind: \"method\", name: \"emitLayoutComplete\", static: false, private: false, access: { has: obj => \"emitLayoutComplete\" in obj, get: obj => obj.emitLayoutComplete }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitFitComplete_decorators, { kind: \"method\", name: \"emitFitComplete\", static: false, private: false, access: { has: obj => \"emitFitComplete\" in obj, get: obj => obj.emitFitComplete }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _emitDragItemPositioned_decorators, { kind: \"method\", name: \"emitDragItemPositioned\", static: false, private: false, access: { has: obj => \"emitDragItemPositioned\" in obj, get: obj => obj.emitDragItemPositioned }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _template_decorators, { kind: \"method\", name: \"template\", static: false, private: false, access: { has: obj => \"template\" in obj, get: obj => obj.template }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _componentStyles_decorators, { kind: \"method\", name: \"componentStyles\", static: false, private: false, access: { has: obj => \"componentStyles\" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _gap_decorators, { kind: \"field\", name: \"gap\", static: false, private: false, access: { has: obj => \"gap\" in obj, get: obj => obj.gap, set: (obj, value) => { obj.gap = value; } }, metadata: _metadata }, _gap_initializers, _gap_extraInitializers);\n __esDecorate(null, null, _columnWidth_decorators, { kind: \"field\", name: \"columnWidth\", static: false, private: false, access: { has: obj => \"columnWidth\" in obj, get: obj => obj.columnWidth, set: (obj, value) => { obj.columnWidth = value; } }, metadata: _metadata }, _columnWidth_initializers, _columnWidth_extraInitializers);\n __esDecorate(null, null, _rowHeight_decorators, { kind: \"field\", name: \"rowHeight\", static: false, private: false, access: { has: obj => \"rowHeight\" in obj, get: obj => obj.rowHeight, set: (obj, value) => { obj.rowHeight = value; } }, metadata: _metadata }, _rowHeight_initializers, _rowHeight_extraInitializers);\n __esDecorate(null, null, _horizontal_decorators, { kind: \"field\", name: \"horizontal\", static: false, private: false, access: { has: obj => \"horizontal\" in obj, get: obj => obj.horizontal, set: (obj, value) => { obj.horizontal = value; } }, metadata: _metadata }, _horizontal_initializers, _horizontal_extraInitializers);\n __esDecorate(null, null, _originLeft_decorators, { kind: \"field\", name: \"originLeft\", static: false, private: false, access: { has: obj => \"originLeft\" in obj, get: obj => obj.originLeft, set: (obj, value) => { obj.originLeft = value; } }, metadata: _metadata }, _originLeft_initializers, _originLeft_extraInitializers);\n __esDecorate(null, null, _originTop_decorators, { kind: \"field\", name: \"originTop\", static: false, private: false, access: { has: obj => \"originTop\" in obj, get: obj => obj.originTop, set: (obj, value) => { obj.originTop = value; } }, metadata: _metadata }, _originTop_initializers, _originTop_extraInitializers);\n __esDecorate(null, null, _transitionDuration_decorators, { kind: \"field\", name: \"transitionDuration\", static: false, private: false, access: { has: obj => \"transitionDuration\" in obj, get: obj => obj.transitionDuration, set: (obj, value) => { obj.transitionDuration = value; } }, metadata: _metadata }, _transitionDuration_initializers, _transitionDuration_extraInitializers);\n __esDecorate(null, null, _stagger_decorators, { kind: \"field\", name: \"stagger\", static: false, private: false, access: { has: obj => \"stagger\" in obj, get: obj => obj.stagger, set: (obj, value) => { obj.stagger = value; } }, metadata: _metadata }, _stagger_initializers, _stagger_extraInitializers);\n __esDecorate(null, null, _resize_decorators, { kind: \"field\", name: \"resize\", static: false, private: false, access: { has: obj => \"resize\" in obj, get: obj => obj.resize, set: (obj, value) => { obj.resize = value; } }, metadata: _metadata }, _resize_initializers, _resize_extraInitializers);\n __esDecorate(null, null, _draggable_decorators, { kind: \"field\", name: \"draggable\", static: false, private: false, access: { has: obj => \"draggable\" in obj, get: obj => obj.draggable, set: (obj, value) => { obj.draggable = value; } }, metadata: _metadata }, _draggable_initializers, _draggable_extraInitializers);\n __esDecorate(null, null, _dragThrottle_decorators, { kind: \"field\", name: \"dragThrottle\", static: false, private: false, access: { has: obj => \"dragThrottle\" in obj, get: obj => obj.dragThrottle, set: (obj, value) => { obj.dragThrottle = value; } }, metadata: _metadata }, _dragThrottle_initializers, _dragThrottle_extraInitializers);\n __esDecorate(null, null, _container_decorators, { kind: \"field\", name: \"container\", static: false, private: false, access: { has: obj => \"container\" in obj, get: obj => obj.container, set: (obj, value) => { obj.container = value; } }, metadata: _metadata }, _container_initializers, _container_extraInitializers);\n __esDecorate(null, null, _slotElement_decorators, { kind: \"field\", name: \"slotElement\", static: false, private: false, access: { has: obj => \"slotElement\" in obj, get: obj => obj.slotElement, set: (obj, value) => { obj.slotElement = value; } }, metadata: _metadata }, _slotElement_initializers, _slotElement_extraInitializers);\n __esDecorate(null, null, _dropPlaceholder_decorators, { kind: \"field\", name: \"dropPlaceholder\", static: false, private: false, access: { has: obj => \"dropPlaceholder\" in obj, get: obj => obj.dropPlaceholder, set: (obj, value) => { obj.dropPlaceholder = value; } }, metadata: _metadata }, _dropPlaceholder_initializers, _dropPlaceholder_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n onReady() {\n this.collectItems();\n this.setupResizeObserver();\n if (this.draggable) {\n this.setAttribute('draggable', '');\n this.setupDragListeners();\n }\n this.layout();\n setTimeout(() => this.setAttribute('ready', ''), 10);\n }\n onDispose() {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n this.itemResizeObserver?.disconnect();\n this.itemResizeObserver = null;\n this.teardownDragListeners();\n }\n // -- Property watchers ----------------------------------------------------\n onGapChange() {\n this.style.setProperty('--binpack-gap', this.gap);\n this.scheduleLayout();\n }\n onTransitionDurationChange() {\n this.style.setProperty('--binpack-transition-duration', this.transitionDuration);\n }\n onColumnWidthChange() {\n this.scheduleLayout();\n }\n onRowHeightChange() {\n this.scheduleLayout();\n }\n onHorizontalChange() {\n this.scheduleLayout();\n }\n onOriginLeftChange() {\n this.scheduleLayout();\n }\n onOriginTopChange() {\n this.scheduleLayout();\n }\n onResizeChange() {\n if (this.resize) {\n this.setupResizeObserver();\n }\n else {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n }\n onDraggableChange() {\n if (this.draggable) {\n this.setAttribute('draggable', '');\n this.setupDragListeners();\n }\n else {\n this.removeAttribute('draggable');\n this.teardownDragListeners();\n }\n }\n // -- Events ---------------------------------------------------------------\n emitLayoutComplete() {\n return { items: [...this.items] };\n }\n emitFitComplete(item, x, y) {\n return { item, x, y };\n }\n emitDragItemPositioned(item, x, y) {\n return { item, x, y };\n }\n // -- Public API -----------------------------------------------------------\n layout() {\n this.performLayout();\n }\n fit(element, x, y) {\n if (!this.items.includes(element))\n return;\n if (x !== undefined && y !== undefined) {\n this.positionItem(element, x, y, 0);\n }\n // Re-layout remaining items around the fitted one\n this.performLayout(element);\n const rect = element.getBoundingClientRect();\n const containerRect = this.getBoundingClientRect();\n const finalX = rect.left - containerRect.left;\n const finalY = rect.top - containerRect.top;\n this.emitFitComplete(element, finalX, finalY);\n }\n reloadItems() {\n this.collectItems();\n this.observeItems();\n this.scheduleLayout();\n }\n stamp(elements) {\n const els = Array.isArray(elements) ? elements : [elements];\n els.forEach(el => this.stampedElements.add(el));\n this.scheduleLayout();\n }\n unstamp(elements) {\n const els = Array.isArray(elements) ? elements : [elements];\n els.forEach(el => this.stampedElements.delete(el));\n this.scheduleLayout();\n }\n getItemElements() {\n return [...this.items];\n }\n getLayout() {\n const layout = {};\n const gapPx = this.getGapPixels();\n const hasGrid = this.columnWidth > 0 || this.rowHeight > 0;\n let order = 0;\n for (const item of this.items) {\n const name = item.getAttribute('name');\n if (!name)\n continue;\n const entry = { order: order++ };\n if (item.hasAttribute('hidden')) {\n entry.hidden = true;\n }\n if (hasGrid && !entry.hidden) {\n const match = item.style.transform.match(/translate\\(([^,]+)px,\\s*([^)]+)px\\)/);\n if (match) {\n const x = parseFloat(match[1]);\n const y = parseFloat(match[2]);\n if (this.columnWidth > 0) {\n entry.col = Math.round(x / (this.columnWidth + gapPx));\n }\n if (this.rowHeight > 0) {\n entry.row = Math.round(y / (this.rowHeight + gapPx));\n }\n }\n }\n layout[name] = entry;\n }\n return layout;\n }\n setLayout(layout) {\n // Store for late-arriving items\n this.pendingLayout = layout;\n this.applyPendingLayout();\n this.performLayout();\n }\n applyPendingLayout() {\n if (!this.pendingLayout)\n return;\n const layout = this.pendingLayout;\n const entries = Object.entries(layout).sort((a, b) => a[1].order - b[1].order);\n const namedItems = new Map();\n const unnamed = [];\n for (const item of this.items) {\n const name = item.getAttribute('name');\n if (name) {\n namedItems.set(name, item);\n }\n else {\n unnamed.push(item);\n }\n }\n // Reorder items: layout-ordered named items first, then unnamed in original order\n const reordered = [];\n for (const [name, entry] of entries) {\n const item = namedItems.get(name);\n if (!item)\n continue;\n namedItems.delete(name);\n // Apply hidden state\n if (entry.hidden) {\n item.setAttribute('hidden', '');\n }\n else {\n item.removeAttribute('hidden');\n }\n reordered.push(item);\n }\n // Remaining named items not in layout (new items added after save)\n for (const item of namedItems.values()) {\n item.removeAttribute('hidden');\n reordered.push(item);\n }\n // Unnamed items at the end\n reordered.push(...unnamed);\n // Reorder DOM to match\n for (const item of reordered) {\n this.appendChild(item);\n }\n this.items = reordered;\n }\n // -- Template & Styles ----------------------------------------------------\n template() {\n return html `\n <div class=\"binpack\" part=\"base\" role=\"list\">\n <slot @slotchange=\"${() => this.handleSlotChange()}\"></slot>\n <div class=\"binpack-drop-placeholder\"></div>\n </div>\n `;\n }\n componentStyles() {\n return css `${cssContent}`;\n }\n // -- Private helpers ------------------------------------------------------\n handleSlotChange() {\n this.collectItems();\n this.observeItems();\n // If a layout was explicitly set, apply ordering to any new items\n if (this.pendingLayout) {\n this.applyPendingLayout();\n }\n this.scheduleLayout();\n }\n collectItems() {\n if (!this.slotElement)\n return;\n this.items = this.slotElement.assignedElements({ flatten: true })\n .filter(el => el instanceof HTMLElement);\n }\n setupResizeObserver() {\n if (!this.resize)\n return;\n if (this.resizeObserver)\n return;\n this.resizeObserver = new ResizeObserver(() => {\n this.scheduleLayout();\n });\n this.resizeObserver.observe(this);\n this.observeItems();\n }\n observeItems() {\n this.itemResizeObserver?.disconnect();\n this.itemResizeObserver = new ResizeObserver(() => {\n this.scheduleLayout();\n });\n for (const item of this.items) {\n this.itemResizeObserver.observe(item);\n }\n }\n scheduleLayout() {\n if (this.layoutScheduled)\n return;\n this.layoutScheduled = true;\n requestAnimationFrame(() => {\n this.layoutScheduled = false;\n this.performLayout();\n });\n }\n getGapPixels() {\n // Parse gap string to pixels\n const gap = this.gap;\n // Fast path for common values\n if (gap.endsWith('px')) {\n const val = parseFloat(gap);\n if (!isNaN(val))\n return val;\n }\n if (gap.endsWith('rem')) {\n const val = parseFloat(gap);\n if (!isNaN(val)) {\n const fontSize = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;\n return val * fontSize;\n }\n }\n // Fallback: measure via DOM\n const temp = document.createElement('div');\n temp.style.position = 'absolute';\n temp.style.visibility = 'hidden';\n temp.style.width = gap;\n document.body.appendChild(temp);\n const px = temp.getBoundingClientRect().width;\n temp.remove();\n return px;\n }\n performLayout(fittedElement) {\n const containerWidth = this.clientWidth;\n const containerHeight = this.clientHeight;\n const gapPx = this.getGapPixels();\n // Packer dimensions include one extra gutter so edge items fit.\n // Vertical: constrained by container width, infinite height.\n // Horizontal: constrained by container height, infinite width.\n const packWidth = this.horizontal ? 100000 : containerWidth + gapPx;\n const packHeight = this.horizontal ? containerHeight + gapPx : 100000;\n const packer = new Packer(packWidth, packHeight, this.horizontal);\n // Mark stamped elements as occupied in the packer\n for (const stamped of this.stampedElements) {\n let stampRect;\n if (stamped === this.dragItem) {\n // Use the computed drop position, not the cursor position\n stampRect = {\n x: this.dragItemRect.x,\n y: this.dragItemRect.y,\n width: this.dragItemRect.width + gapPx,\n height: this.dragItemRect.height + gapPx,\n };\n }\n else {\n const rect = stamped.getBoundingClientRect();\n const containerRect = this.getBoundingClientRect();\n stampRect = {\n x: rect.left - containerRect.left,\n y: rect.top - containerRect.top,\n width: rect.width + gapPx,\n height: rect.height + gapPx,\n };\n }\n packer.placed(stampRect);\n }\n // If a fitted element is specified, mark it as placed first\n if (fittedElement) {\n const rect = fittedElement.getBoundingClientRect();\n const containerRect = this.getBoundingClientRect();\n const fitRect = {\n x: rect.left - containerRect.left,\n y: rect.top - containerRect.top,\n width: rect.width + gapPx,\n height: rect.height + gapPx,\n };\n packer.placed(fitRect);\n }\n let maxExtent = 0;\n let staggerIndex = 0;\n for (const item of this.items) {\n if (this.stampedElements.has(item))\n continue;\n if (item === fittedElement)\n continue;\n if (item.hasAttribute('hidden'))\n continue;\n const itemWidth = item.offsetWidth + gapPx;\n const itemHeight = item.offsetHeight + gapPx;\n const position = packer.pack(itemWidth, itemHeight, this.columnWidth, this.rowHeight, gapPx);\n if (position) {\n let x = position.x;\n let y = position.y;\n // Handle origin direction\n if (!this.originLeft) {\n x = containerWidth - x - item.offsetWidth;\n }\n if (!this.originTop) {\n y = containerHeight - y - item.offsetHeight;\n }\n this.positionItem(item, x, y, this.stagger > 0 ? staggerIndex * this.stagger : 0);\n const extent = this.horizontal\n ? position.x + itemWidth\n : position.y + itemHeight;\n if (extent > maxExtent)\n maxExtent = extent;\n staggerIndex++;\n }\n }\n // Set container size, subtracting trailing gutter\n const containerSize = Math.max(0, maxExtent - gapPx);\n if (this.container) {\n if (this.horizontal) {\n this.container.style.width = `${containerSize}px`;\n this.container.style.height = '';\n }\n else {\n this.container.style.height = `${containerSize}px`;\n this.container.style.width = '';\n }\n }\n this.emitLayoutComplete();\n }\n positionItem(item, x, y, delay) {\n if (delay > 0) {\n item.style.transitionDelay = `${delay}ms`;\n }\n else {\n item.style.transitionDelay = '';\n }\n item.style.transform = `translate(${x}px, ${y}px)`;\n }\n // -- Drag implementation --------------------------------------------------\n setupDragListeners() {\n this.addEventListener('pointerdown', this.onPointerDown);\n }\n teardownDragListeners() {\n this.removeEventListener('pointerdown', this.onPointerDown);\n if (this.boundPointerMove) {\n document.removeEventListener('pointermove', this.boundPointerMove);\n this.boundPointerMove = null;\n }\n if (this.boundPointerUp) {\n document.removeEventListener('pointerup', this.boundPointerUp);\n this.boundPointerUp = null;\n }\n }\n dragItemStart(item, e) {\n const containerRect = this.getBoundingClientRect();\n // Get the item's current position from its transform\n const itemRect = item.getBoundingClientRect();\n const currentX = itemRect.left - containerRect.left;\n const currentY = itemRect.top - containerRect.top;\n this.dragItem = item;\n this.dragItemRect = {\n x: currentX,\n y: currentY,\n width: item.offsetWidth,\n height: item.offsetHeight,\n };\n this.dragStartX = currentX;\n this.dragStartY = currentY;\n this.dragOffsetX = e.clientX - itemRect.left;\n this.dragOffsetY = e.clientY - itemRect.top;\n // Stamp the dragged item so layout flows around it\n this.stamp(item);\n this.dragItemCount++;\n // Add dragging class\n item.classList.add('binpack-dragging');\n item.style.transition = 'none';\n // Show placeholder\n this.showPlaceholder(item);\n // Compute shift targets\n this.updateShiftTargets();\n // Bind move/up to document\n this.boundPointerMove = (ev) => this.onPointerMove(ev);\n this.boundPointerUp = (ev) => this.onPointerUp(ev);\n document.addEventListener('pointermove', this.boundPointerMove);\n document.addEventListener('pointerup', this.boundPointerUp);\n // Capture pointer for reliable tracking\n try {\n item.setPointerCapture(e.pointerId);\n }\n catch (_) { /* synthetic events */ }\n }\n onPointerMove(e) {\n if (!this.dragItem)\n return;\n const containerRect = this.getBoundingClientRect();\n const x = e.clientX - containerRect.left - this.dragOffsetX;\n const y = e.clientY - containerRect.top - this.dragOffsetY;\n // Move the dragged item directly (no transition)\n this.dragItem.style.transform = `translate(${x}px, ${y}px)`;\n // Throttled layout update\n const now = Date.now();\n const isThrottled = this.dragTime && (now - this.dragTime) < this.dragThrottle;\n const doShift = () => {\n this.shiftToNearest(x, y);\n this.positionPlaceholder();\n this.performLayout();\n };\n if (isThrottled) {\n if (this.dragTimeoutId !== null)\n clearTimeout(this.dragTimeoutId);\n this.dragTimeoutId = setTimeout(doShift, this.dragThrottle);\n }\n else {\n doShift();\n this.dragTime = now;\n }\n }\n onPointerUp(e) {\n if (!this.dragItem)\n return;\n const item = this.dragItem;\n // Clean up listeners\n if (this.boundPointerMove) {\n document.removeEventListener('pointermove', this.boundPointerMove);\n this.boundPointerMove = null;\n }\n if (this.boundPointerUp) {\n document.removeEventListener('pointerup', this.boundPointerUp);\n this.boundPointerUp = null;\n }\n if (this.dragTimeoutId !== null) {\n clearTimeout(this.dragTimeoutId);\n this.dragTimeoutId = null;\n }\n // Add positioning class, remove dragging\n item.classList.remove('binpack-dragging');\n item.classList.add('binpack-positioning');\n item.style.transition = '';\n // Animate to final position\n const finalX = this.dragItemRect.x;\n const finalY = this.dragItemRect.y;\n const onTransitionEnd = () => {\n item.removeEventListener('transitionend', onTransitionEnd);\n item.classList.remove('binpack-positioning');\n this.hidePlaceholder();\n this.emitDragItemPositioned(item, finalX, finalY);\n };\n item.addEventListener('transitionend', onTransitionEnd);\n // Move to final position (will animate because we removed transition: none)\n item.style.transform = `translate(${finalX}px, ${finalY}px)`;\n // Final layout\n this.dragItemCount = Math.max(0, this.dragItemCount - 1);\n this.unstamp(item);\n this.dragItem = null;\n // Sort items by visual position\n this.sortItemsByPosition();\n this.performLayout();\n // Safety: if no transition fires (same position), clean up after timeout\n setTimeout(() => {\n if (item.classList.contains('binpack-positioning')) {\n item.classList.remove('binpack-positioning');\n this.hidePlaceholder();\n }\n }, parseFloat(this.transitionDuration) * 1000 + 100);\n }\n updateShiftTargets() {\n if (!this.dragItem)\n return;\n const gapPx = this.getGapPixels();\n const containerWidth = this.clientWidth;\n const containerHeight = this.clientHeight;\n const packWidth = this.horizontal ? 100000 : containerWidth + gapPx;\n const packHeight = this.horizontal ? containerHeight + gapPx : 100000;\n const shiftPacker = new Packer(packWidth, packHeight, this.horizontal);\n // Pack stamped elements (except the dragged item, which is stamped but should be excluded)\n for (const stamped of this.stampedElements) {\n if (stamped === this.dragItem)\n continue;\n const rect = stamped.getBoundingClientRect();\n const containerRect = this.getBoundingClientRect();\n const stampRect = {\n x: rect.left - containerRect.left,\n y: rect.top - containerRect.top,\n width: rect.width + gapPx,\n height: rect.height + gapPx,\n };\n shiftPacker.placed(stampRect);\n }\n this.shiftTargetKeys = [];\n this.shiftTargets = [];\n const isHoriz = this.horizontal;\n const measure = isHoriz ? 'height' : 'width';\n const segment = isHoriz\n ? (this.rowHeight ? this.rowHeight + gapPx : 0)\n : (this.columnWidth ? this.columnWidth + gapPx : 0);\n const dropItemMeasure = isHoriz ? this.dragItemRect.height + gapPx : this.dragItemRect.width + gapPx;\n let boundsSize;\n if (segment) {\n const segmentSpan = Math.ceil(dropItemMeasure / segment);\n const segs = Math.floor((shiftPacker[measure] + gapPx) / segment);\n boundsSize = (segs - segmentSpan) * segment;\n for (let i = 0; i < segs; i++) {\n const ix = isHoriz ? 0 : i * segment;\n const iy = isHoriz ? i * segment : 0;\n this.addShiftTarget(ix, iy, boundsSize, isHoriz);\n }\n }\n else {\n boundsSize = (shiftPacker[measure] + gapPx) - dropItemMeasure;\n this.addShiftTarget(0, 0, boundsSize, isHoriz);\n }\n // Pack each non-dragged, non-stamped, non-hidden item and add targets at corners\n for (const item of this.items) {\n if (this.stampedElements.has(item))\n continue;\n if (item === this.dragItem)\n continue;\n if (item.hasAttribute('hidden'))\n continue;\n const itemW = item.offsetWidth + gapPx;\n const itemH = item.offsetHeight + gapPx;\n const pos = shiftPacker.pack(itemW, itemH, this.columnWidth, this.rowHeight, gapPx);\n if (pos) {\n // Top-left corner\n this.addShiftTarget(pos.x, pos.y, boundsSize, isHoriz);\n // Bottom-left (vertical) or top-right (horizontal)\n const cx = isHoriz ? pos.x + itemW : pos.x;\n const cy = isHoriz ? pos.y : pos.y + itemH;\n this.addShiftTarget(cx, cy, boundsSize, isHoriz);\n if (segment) {\n const itemMeasure = isHoriz ? itemH : itemW;\n const segSpan = Math.round(itemMeasure / segment);\n for (let i = 1; i < segSpan; i++) {\n const sx = isHoriz ? cx : pos.x + segment * i;\n const sy = isHoriz ? pos.y + segment * i : cy;\n this.addShiftTarget(sx, sy, boundsSize, isHoriz);\n }\n }\n }\n }\n }\n addShiftTarget(x, y, boundsSize, isHoriz) {\n const check = isHoriz ? y : x;\n if (check !== 0 && check > boundsSize)\n return;\n const key = `${x},${y}`;\n if (this.shiftTargetKeys.includes(key))\n return;\n this.shiftTargetKeys.push(key);\n this.shiftTargets.push({ x, y });\n }\n shiftToNearest(x, y) {\n let minDist = Infinity;\n let nearest = this.shiftTargets[0];\n for (const target of this.shiftTargets) {\n const dx = target.x - x;\n const dy = target.y - y;\n const dist = dx * dx + dy * dy; // skip sqrt, just compare\n if (dist < minDist) {\n minDist = dist;\n nearest = target;\n }\n }\n if (nearest) {\n this.dragItemRect.x = nearest.x;\n this.dragItemRect.y = nearest.y;\n }\n }\n showPlaceholder(item) {\n if (!this.dropPlaceholder)\n return;\n this.dropPlaceholder.style.width = `${item.offsetWidth}px`;\n this.dropPlaceholder.style.height = `${item.offsetHeight}px`;\n this.dropPlaceholder.classList.add('visible');\n this.positionPlaceholder();\n }\n positionPlaceholder() {\n if (!this.dropPlaceholder)\n return;\n this.dropPlaceholder.style.transform = `translate(${this.dragItemRect.x}px, ${this.dragItemRect.y}px)`;\n }\n hidePlaceholder() {\n if (!this.dropPlaceholder)\n return;\n this.dropPlaceholder.classList.remove('visible');\n }\n sortItemsByPosition() {\n const getPos = (el) => {\n const match = el.style.transform.match(/translate\\(([^,]+)px,\\s*([^)]+)px\\)/);\n if (!match)\n return { x: 0, y: 0 };\n return { x: parseFloat(match[1]), y: parseFloat(match[2]) };\n };\n if (this.horizontal) {\n this.items.sort((a, b) => {\n const pa = getPos(a);\n const pb = getPos(b);\n return pa.x - pb.x || pa.y - pb.y;\n });\n }\n else {\n this.items.sort((a, b) => {\n const pa = getPos(a);\n const pb = getPos(b);\n return pa.y - pb.y || pa.x - pb.x;\n });\n }\n }\n });\n return _classThis;\n})();\n\nexport { SniceBinpack };\n//# sourceMappingURL=snice-binpack.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","rectContains","outer","inner","x","y","width","height","rectOverlaps","a","b","canFit","space","item","getMaximalFreeRects","placed","rects","placedBottom","spaceBottom","placedRight","spaceRight","Packer","constructor","horizontal","this","spaces","applyGrid","measurement","gridSize","gutter","gridWithGutter","remainder","Math","pack","itemWidth","itemHeight","columnWidth","rowHeight","w","h","min","newSpaces","subs","mergeSortSpaces","filter","arr","j","sort","SniceBinpack","_classDescriptor","_classThis","_gap_decorators","_columnWidth_decorators","_rowHeight_decorators","_horizontal_decorators","_originLeft_decorators","_originTop_decorators","_transitionDuration_decorators","_stagger_decorators","_resize_decorators","_draggable_decorators","_dragThrottle_decorators","_container_decorators","_slotElement_decorators","_dropPlaceholder_decorators","_onReady_decorators","_onDispose_decorators","_onGapChange_decorators","_onTransitionDurationChange_decorators","_onColumnWidthChange_decorators","_onRowHeightChange_decorators","_onHorizontalChange_decorators","_onOriginLeftChange_decorators","_onOriginTopChange_decorators","_onResizeChange_decorators","_onDraggableChange_decorators","_emitLayoutComplete_decorators","_emitFitComplete_decorators","_emitDragItemPositioned_decorators","_template_decorators","_componentStyles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_gap_initializers","_gap_extraInitializers","_columnWidth_initializers","_columnWidth_extraInitializers","_rowHeight_initializers","_rowHeight_extraInitializers","_horizontal_initializers","_horizontal_extraInitializers","_originLeft_initializers","_originLeft_extraInitializers","_originTop_initializers","_originTop_extraInitializers","_transitionDuration_initializers","_transitionDuration_extraInitializers","_stagger_initializers","_stagger_extraInitializers","_resize_initializers","_resize_extraInitializers","_draggable_initializers","_draggable_extraInitializers","_dragThrottle_initializers","_dragThrottle_extraInitializers","_container_initializers","_container_extraInitializers","_slotElement_initializers","_slotElement_extraInitializers","_dropPlaceholder_initializers","_dropPlaceholder_extraInitializers","super","gap","originLeft","originTop","transitionDuration","stagger","resize","draggable","dragThrottle","container","slotElement","dropPlaceholder","items","stampedElements","Set","resizeObserver","itemResizeObserver","layoutScheduled","dragItemCount","shiftTargets","shiftTargetKeys","dragItem","dragItemRect","dragStartX","dragStartY","dragOffsetX","dragOffsetY","dragTime","dragTimeoutId","boundPointerMove","boundPointerUp","pendingLayout","onPointerDown","e","button","find","el","contains","has","preventDefault","dragItemStart","_metadata","Symbol","metadata","create","property","type","Number","attribute","Boolean","query","ready","dispose","watch","dispatch","bubbles","composed","render","styles","static","private","obj","onReady","onDispose","onGapChange","onTransitionDurationChange","onColumnWidthChange","onRowHeightChange","onHorizontalChange","onOriginLeftChange","onOriginTopChange","onResizeChange","onDraggableChange","emitLayoutComplete","emitFitComplete","emitDragItemPositioned","template","componentStyles","enumerable","configurable","writable","collectItems","setupResizeObserver","setAttribute","setupDragListeners","layout","setTimeout","disconnect","teardownDragListeners","style","setProperty","scheduleLayout","removeAttribute","performLayout","fit","includes","undefined","positionItem","rect","getBoundingClientRect","containerRect","finalX","left","finalY","top","reloadItems","observeItems","stamp","elements","Array","isArray","forEach","add","unstamp","delete","getItemElements","getLayout","gapPx","getGapPixels","hasGrid","order","getAttribute","entry","hasAttribute","hidden","match","transform","parseFloat","col","round","row","setLayout","applyPendingLayout","entries","namedItems","Map","unnamed","reordered","values","appendChild","html","handleSlotChange","css","assignedElements","flatten","ResizeObserver","observe","requestAnimationFrame","endsWith","val","isNaN","getComputedStyle","document","documentElement","fontSize","temp","createElement","position","visibility","body","px","remove","fittedElement","containerWidth","clientWidth","containerHeight","clientHeight","packWidth","packHeight","packer","stamped","stampRect","fitRect","maxExtent","staggerIndex","offsetWidth","offsetHeight","extent","containerSize","max","delay","transitionDelay","addEventListener","removeEventListener","itemRect","currentX","currentY","clientX","clientY","classList","transition","showPlaceholder","updateShiftTargets","ev","onPointerMove","onPointerUp","setPointerCapture","pointerId","now","Date","doShift","shiftToNearest","positionPlaceholder","clearTimeout","onTransitionEnd","hidePlaceholder","sortItemsByPosition","shiftPacker","isHoriz","measure","segment","dropItemMeasure","boundsSize","segmentSpan","ceil","segs","floor","ix","iy","addShiftTarget","itemW","itemH","pos","cx","cy","itemMeasure","segSpan","sx","sy","check","minDist","Infinity","nearest","dx","dy","dist","getPos","pa","pb"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.29.0
|
|
3
3
|
* A decorator-driven web component library with differential rendering, routing, controllers, and 130+ ready-made UI components. Use as much or as little as you want. Zero dependencies, works anywhere.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
@@ -116,7 +116,7 @@ var SniceButton = (function (exports, snice) {
|
|
|
116
116
|
return snice.html `<span class="${className}" part="icon">${icon}</span>`;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
var cssContent = ":host{display:inline-block;position:relative;width:auto;cursor:pointer}:host([disabled]){cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;width:100%;border:1px solid;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-weight:var(--snice-font-weight-medium,500);text-decoration:none;user-select:none;white-space:nowrap;vertical-align:middle;padding:0;box-shadow:var(--snice-shadow-xs,0 1px 2px 0 rgb(0 0 0 / .03));transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease,box-shadow var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) cubic-bezier(.3, 0, .2, 1);cursor:inherit;position:relative}.button::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--snice-gradient-button,none);pointer-events:none}.button:active{transition:color 50ms,background-color 50ms,border-color 50ms,box-shadow 50ms}.button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.button--disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button--small{font-size:var(--snice-font-size-sm, .875rem);height:1.875rem;padding:0 var(--snice-spacing-sm,.75rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--medium{font-size:var(--snice-font-size-md, 1rem);height:2.5rem;padding:0 var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--large{font-size:var(--snice-font-size-lg, 1.125rem);height:3.125rem;padding:0 var(--snice-spacing-lg,1.5rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--default{background-color:var(--snice-color-background,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));border-color:var(--snice-color-border,rgb(226 226 226))}.button--default:hover:not(.button--disabled){background-color:var(--snice-color-background-secondary,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--default:active:not(.button--disabled){background-color:var(--snice-color-background-tertiary,rgb(248 248 248));border-color:var(--snice-color-border-hover,rgb(204 204 204));box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--primary{background-color:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-primary,rgb(37 99 235))}.button--primary:hover:not(.button--disabled){background-color:var(--snice-color-primary-hover,rgb(29 78 216));border-color:var(--snice-color-primary-hover,rgb(29 78 216));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--primary:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-primary,rgb(37 99 235)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-primary,rgb(37 99 235)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--success{background-color:var(--snice-color-success,rgb(22 163 74));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-success,rgb(22 163 74))}.button--success:hover:not(.button--disabled){background-color:var(--snice-color-success-hover,rgb(21 128 61));border-color:var(--snice-color-success-hover,rgb(21 128 61));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--success:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-success,rgb(22 163 74)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-success,rgb(22 163 74)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--warning{background-color:var(--snice-color-warning,rgb(202 138 4));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-warning,rgb(202 138 4))}.button--warning:hover:not(.button--disabled){background-color:var(--snice-color-warning-hover,rgb(161 98 7));border-color:var(--snice-color-warning-hover,rgb(161 98 7));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--warning:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-warning,rgb(202 138 4)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-warning,rgb(202 138 4)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--danger{background-color:var(--snice-color-danger,rgb(220 38 38));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-danger,rgb(220 38 38))}.button--danger:hover:not(.button--disabled){background-color:var(--snice-color-danger-hover,rgb(185 28 28));border-color:var(--snice-color-danger-hover,rgb(185 28 28));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--danger:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-danger,rgb(220 38 38)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-danger,rgb(220 38 38)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--text{background-color:transparent;color:var(--snice-color-primary,rgb(37 99 235));border-color:transparent;box-shadow:none}.button--text::before{display:none}.button--text:hover:not(.button--disabled){background-color:var(--snice-color-primary-alpha,rgb(37 99 235 / .1));color:var(--snice-color-primary-hover,rgb(29 78 216));box-shadow:none;transform:none}.button--text:active:not(.button--disabled){background-color:var(--snice-color-primary-alpha-strong,rgb(37 99 235 / .15));box-shadow:none;transform:none}.button--outline{box-shadow:none}.button--outline::before{display:none}.button--outline.button--default{background-color:transparent;color:var(--snice-color-text,rgb(23 23 23))}.button--outline.button--primary{background-color:transparent;color:var(--snice-color-primary,rgb(37 99 235))}.button--outline.button--success{background-color:transparent;color:var(--snice-color-success,rgb(22 163 74))}.button--outline.button--warning{background-color:transparent;color:var(--snice-color-warning,rgb(202 138 4))}.button--outline.button--danger{background-color:transparent;color:var(--snice-color-danger,rgb(220 38 38))}.button--outline:hover:not(.button--disabled){background-color:var(--snice-color-border-alpha,rgb(82 82 82 / .1));box-shadow:none;transform:none}.button--outline:active:not(.button--disabled){background-color:var(--snice-color-border-alpha-strong,rgb(82 82 82 / .15));box-shadow:none;transform:none}.button--pill{border-radius:var(--snice-border-radius-pill,9999px)}.button--circle{border-radius:var(--snice-border-radius-circle,50%);width:var(--size);padding:0}.button--small.button--circle{--size:1.875rem}.button--medium.button--circle{--size:2.5rem}.button--large.button--circle{--size:3.125rem}.button--loading{position:relative;cursor:wait}.button--loading .label{visibility:hidden}.spinner{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em}.button--loading .spinner{display:block}.spinner::after{content:'';display:block;width:100%;height:100%;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-slot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em;line-height:1}.icon-slot:empty{display:none}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em;line-height:1}.icon img{width:100%;height:100%;object-fit:contain}.icon svg{width:100%;height:100%}.icon-slot ::slotted(*){display:flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;font-size:1.25em;line-height:1}.icon-slot ::slotted(svg){width:1.25em;height:1.25em}.icon-slot ::slotted(img){width:1.25em;height:1.25em;object-fit:contain}.button--icon-start .icon,.button--icon-start .icon-slot{margin-right:.5em}.button--icon-end .icon,.button--icon-end .icon-slot{margin-left:.5em}.button--circle .icon,.button--circle .icon-slot{margin:0}";
|
|
119
|
+
var cssContent = ":host{display:inline-block;position:relative;width:auto;cursor:pointer}:host([disabled]){cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;width:100%;border:1px solid;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);font-weight:var(--snice-font-weight-medium,500);text-decoration:none;user-select:none;white-space:nowrap;vertical-align:middle;padding:0;box-shadow:var(--snice-shadow-xs,0 1px 2px 0 rgb(0 0 0 / .03));transition:color var(--snice-transition-fast, 150ms) ease,background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease,box-shadow var(--snice-transition-fast, 150ms) ease,transform var(--snice-transition-fast, 150ms) cubic-bezier(.3, 0, .2, 1);cursor:inherit;position:relative}.button::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--snice-gradient-button,none);pointer-events:none}.button:active{transition:color 50ms,background-color 50ms,border-color 50ms,box-shadow 50ms}.button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.button--disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.button--small{font-size:var(--snice-font-size-sm, .875rem);height:1.875rem;padding:0 var(--snice-spacing-sm,.75rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--medium{font-size:var(--snice-font-size-md, 1rem);height:2.5rem;padding:0 var(--snice-spacing-md,1rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--large{font-size:var(--snice-font-size-lg, 1.125rem);height:3.125rem;padding:0 var(--snice-spacing-lg,1.5rem);border-radius:var(--snice-border-radius-md,.25rem)}.button--default{background-color:var(--snice-color-background,rgb(255 255 255));color:var(--snice-color-text,rgb(23 23 23));border-color:var(--snice-color-border,rgb(226 226 226))}.button--default:hover:not(.button--disabled){background-color:var(--snice-color-background-secondary,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--default:active:not(.button--disabled){background-color:var(--snice-color-background-tertiary,rgb(248 248 248));border-color:var(--snice-color-border-hover,rgb(204 204 204));box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--primary{background-color:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-primary,rgb(37 99 235))}.button--primary:hover:not(.button--disabled){background-color:var(--snice-color-primary-hover,rgb(29 78 216));border-color:var(--snice-color-primary-hover,rgb(29 78 216));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--primary:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-primary,rgb(37 99 235)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-primary,rgb(37 99 235)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--success{background-color:var(--snice-color-success,rgb(22 163 74));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-success,rgb(22 163 74))}.button--success:hover:not(.button--disabled){background-color:var(--snice-color-success-hover,rgb(21 128 61));border-color:var(--snice-color-success-hover,rgb(21 128 61));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--success:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-success,rgb(22 163 74)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-success,rgb(22 163 74)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--warning{background-color:var(--snice-color-warning,rgb(202 138 4));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-warning,rgb(202 138 4))}.button--warning:hover:not(.button--disabled){background-color:var(--snice-color-warning-hover,rgb(161 98 7));border-color:var(--snice-color-warning-hover,rgb(161 98 7));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--warning:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-warning,rgb(202 138 4)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-warning,rgb(202 138 4)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--danger{background-color:var(--snice-color-danger,rgb(220 38 38));color:var(--snice-color-text-inverse,rgb(250 250 250));border-color:var(--snice-color-danger,rgb(220 38 38))}.button--danger:hover:not(.button--disabled){background-color:var(--snice-color-danger-hover,rgb(185 28 28));border-color:var(--snice-color-danger-hover,rgb(185 28 28));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05));transform:translateY(-1px)}.button--danger:active:not(.button--disabled){background-color:color-mix(in srgb,var(--snice-color-danger,rgb(220 38 38)) 85%,#fff);border-color:color-mix(in srgb,var(--snice-color-danger,rgb(220 38 38)) 85%,#fff);box-shadow:var(--snice-shadow-inset-sm,inset 0 1px 2px rgb(0 0 0 / .05));transform:translateY(0)}.button--text{background-color:transparent;color:var(--snice-color-primary,rgb(37 99 235));border-color:transparent;box-shadow:none}.button--text::before{display:none}.button--text:hover:not(.button--disabled){background-color:var(--snice-color-primary-alpha,rgb(37 99 235 / .1));color:var(--snice-color-primary-hover,rgb(29 78 216));box-shadow:none;transform:none}.button--text:active:not(.button--disabled){background-color:var(--snice-color-primary-alpha-strong,rgb(37 99 235 / .15));box-shadow:none;transform:none}.button--outline{box-shadow:none}.button--outline::before{display:none}.button--outline.button--default{background-color:transparent;color:var(--snice-color-text,rgb(23 23 23))}.button--outline.button--primary{background-color:transparent;color:var(--snice-color-primary,rgb(37 99 235))}.button--outline.button--success{background-color:transparent;color:var(--snice-color-success,rgb(22 163 74))}.button--outline.button--warning{background-color:transparent;color:var(--snice-color-warning,rgb(202 138 4))}.button--outline.button--danger{background-color:transparent;color:var(--snice-color-danger,rgb(220 38 38))}.button--outline:hover:not(.button--disabled){background-color:var(--snice-color-border-alpha,rgb(82 82 82 / .1));box-shadow:none;transform:none}.button--outline:active:not(.button--disabled){background-color:var(--snice-color-border-alpha-strong,rgb(82 82 82 / .15));box-shadow:none;transform:none}.button--pill{border-radius:var(--snice-border-radius-pill,9999px)}.button--circle{border-radius:var(--snice-border-radius-circle,50%);width:var(--size);padding:0}.button--small.button--circle{--size:1.875rem}.button--medium.button--circle{--size:2.5rem}.button--large.button--circle{--size:3.125rem}.button--loading{position:relative;cursor:wait}.button--loading .label{visibility:hidden}.spinner{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em}.button--loading .spinner{display:block}.spinner::after{content:'';display:block;width:100%;height:100%;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-slot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em;line-height:1;transform:translateY(1px)}.icon-slot:empty{display:none}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em;line-height:1}.icon img{width:100%;height:100%;object-fit:contain}.icon svg{width:100%;height:100%}.icon-slot ::slotted(*){display:flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;font-size:1.25em;line-height:1}.icon-slot ::slotted(svg){width:1.25em;height:1.25em}.icon-slot ::slotted(img){width:1.25em;height:1.25em;object-fit:contain}.button--icon-start .icon,.button--icon-start .icon-slot{margin-right:.5em}.button--icon-end .icon,.button--icon-end .icon-slot{margin-left:.5em}.button--circle .icon,.button--circle .icon-slot{margin:0;transform:none;width:auto;height:auto}.button--circle .icon-slot ::slotted(*){width:auto;height:auto;font-size:1.25em;line-height:1;display:flex;align-items:center;justify-content:center}";
|
|
120
120
|
|
|
121
121
|
let SniceButton = (() => {
|
|
122
122
|
let _classDecorators = [snice.element('snice-button', { formAssociated: true })];
|
|
@@ -164,6 +164,9 @@ var SniceButton = (function (exports, snice) {
|
|
|
164
164
|
let _iconPlacement_decorators;
|
|
165
165
|
let _iconPlacement_initializers = [];
|
|
166
166
|
let _iconPlacement_extraInitializers = [];
|
|
167
|
+
let _iconSlotChild_decorators;
|
|
168
|
+
let _iconSlotChild_initializers = [];
|
|
169
|
+
let _iconSlotChild_extraInitializers = [];
|
|
167
170
|
let _button_decorators;
|
|
168
171
|
let _button_initializers = [];
|
|
169
172
|
let _button_extraInitializers = [];
|
|
@@ -176,7 +179,6 @@ var SniceButton = (function (exports, snice) {
|
|
|
176
179
|
let _iconElement_decorators;
|
|
177
180
|
let _iconElement_initializers = [];
|
|
178
181
|
let _iconElement_extraInitializers = [];
|
|
179
|
-
let _handleIconSlotChange_decorators;
|
|
180
182
|
let _render_decorators;
|
|
181
183
|
let _styles_decorators;
|
|
182
184
|
(class extends _classSuper {
|
|
@@ -196,14 +198,13 @@ var SniceButton = (function (exports, snice) {
|
|
|
196
198
|
_download_decorators = [snice.property({ type: String, })];
|
|
197
199
|
_icon_decorators = [snice.property({ type: String, })];
|
|
198
200
|
_iconPlacement_decorators = [snice.property({ attribute: 'icon-placement', })];
|
|
201
|
+
_iconSlotChild_decorators = [snice.query('[slot="icon"]', { light: true })];
|
|
199
202
|
_button_decorators = [snice.query('.button')];
|
|
200
203
|
_spinner_decorators = [snice.query('.spinner')];
|
|
201
204
|
_label_decorators = [snice.query('.label')];
|
|
202
205
|
_iconElement_decorators = [snice.query('.icon')];
|
|
203
|
-
_handleIconSlotChange_decorators = [snice.on('slotchange', { target: 'slot[name="icon"]' })];
|
|
204
206
|
_render_decorators = [snice.render()];
|
|
205
207
|
_styles_decorators = [snice.styles()];
|
|
206
|
-
__esDecorate(this, null, _handleIconSlotChange_decorators, { kind: "method", name: "handleIconSlotChange", static: false, private: false, access: { has: obj => "handleIconSlotChange" in obj, get: obj => obj.handleIconSlotChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
207
208
|
__esDecorate(this, null, _render_decorators, { kind: "method", name: "render", static: false, private: false, access: { has: obj => "render" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
208
209
|
__esDecorate(this, null, _styles_decorators, { kind: "method", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
209
210
|
__esDecorate(null, null, _variant_decorators, { kind: "field", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
|
|
@@ -219,6 +220,7 @@ var SniceButton = (function (exports, snice) {
|
|
|
219
220
|
__esDecorate(null, null, _download_decorators, { kind: "field", name: "download", static: false, private: false, access: { has: obj => "download" in obj, get: obj => obj.download, set: (obj, value) => { obj.download = value; } }, metadata: _metadata }, _download_initializers, _download_extraInitializers);
|
|
220
221
|
__esDecorate(null, null, _icon_decorators, { kind: "field", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
|
|
221
222
|
__esDecorate(null, null, _iconPlacement_decorators, { kind: "field", name: "iconPlacement", static: false, private: false, access: { has: obj => "iconPlacement" in obj, get: obj => obj.iconPlacement, set: (obj, value) => { obj.iconPlacement = value; } }, metadata: _metadata }, _iconPlacement_initializers, _iconPlacement_extraInitializers);
|
|
223
|
+
__esDecorate(null, null, _iconSlotChild_decorators, { kind: "field", name: "iconSlotChild", static: false, private: false, access: { has: obj => "iconSlotChild" in obj, get: obj => obj.iconSlotChild, set: (obj, value) => { obj.iconSlotChild = value; } }, metadata: _metadata }, _iconSlotChild_initializers, _iconSlotChild_extraInitializers);
|
|
222
224
|
__esDecorate(null, null, _button_decorators, { kind: "field", name: "button", static: false, private: false, access: { has: obj => "button" in obj, get: obj => obj.button, set: (obj, value) => { obj.button = value; } }, metadata: _metadata }, _button_initializers, _button_extraInitializers);
|
|
223
225
|
__esDecorate(null, null, _spinner_decorators, { kind: "field", name: "spinner", static: false, private: false, access: { has: obj => "spinner" in obj, get: obj => obj.spinner, set: (obj, value) => { obj.spinner = value; } }, metadata: _metadata }, _spinner_initializers, _spinner_extraInitializers);
|
|
224
226
|
__esDecorate(null, null, _label_decorators, { kind: "field", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
|
|
@@ -244,8 +246,8 @@ var SniceButton = (function (exports, snice) {
|
|
|
244
246
|
this.download = (__runInitializers(this, _target_extraInitializers), __runInitializers(this, _download_initializers, ''));
|
|
245
247
|
this.icon = (__runInitializers(this, _download_extraInitializers), __runInitializers(this, _icon_initializers, ''));
|
|
246
248
|
this.iconPlacement = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPlacement_initializers, 'start'));
|
|
247
|
-
this.
|
|
248
|
-
this.button = __runInitializers(this, _button_initializers, void 0);
|
|
249
|
+
this.iconSlotChild = (__runInitializers(this, _iconPlacement_extraInitializers), __runInitializers(this, _iconSlotChild_initializers, void 0));
|
|
250
|
+
this.button = (__runInitializers(this, _iconSlotChild_extraInitializers), __runInitializers(this, _button_initializers, void 0));
|
|
249
251
|
this.spinner = (__runInitializers(this, _button_extraInitializers), __runInitializers(this, _spinner_initializers, void 0));
|
|
250
252
|
this.label = (__runInitializers(this, _spinner_extraInitializers), __runInitializers(this, _label_initializers, void 0));
|
|
251
253
|
this.iconElement = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _iconElement_initializers, void 0));
|
|
@@ -254,9 +256,8 @@ var SniceButton = (function (exports, snice) {
|
|
|
254
256
|
this.internals = this.attachInternals();
|
|
255
257
|
}
|
|
256
258
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
this.hasIconSlot = (slot?.assignedNodes().length ?? 0) > 0;
|
|
259
|
+
get hasIconSlot() {
|
|
260
|
+
return !!this.iconSlotChild;
|
|
260
261
|
}
|
|
261
262
|
render() {
|
|
262
263
|
const hasIcon = this.icon || this.hasIconSlot;
|