snice 4.20.1 → 4.22.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/drawer.d.ts +4 -0
- package/adapters/react/drawer.d.ts.map +1 -1
- package/adapters/react/drawer.js +1 -1
- package/adapters/react/drawer.js.map +1 -1
- package/adapters/react/drawer.tsx +5 -1
- package/adapters/react/notification-center.d.ts +1 -0
- package/adapters/react/notification-center.d.ts.map +1 -1
- package/adapters/react/notification-center.js +1 -1
- package/adapters/react/notification-center.js.map +1 -1
- package/adapters/react/notification-center.tsx +2 -1
- package/dist/cdn/accordion/snice-accordion.js +1 -1
- package/dist/cdn/accordion/snice-accordion.min.js +1 -1
- 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/README.md +2 -2
- package/dist/cdn/app-tiles/snice-app-tiles.js +2 -2
- package/dist/cdn/app-tiles/snice-app-tiles.js.map +1 -1
- package/dist/cdn/app-tiles/snice-app-tiles.min.js +3 -3
- package/dist/cdn/app-tiles/snice-app-tiles.min.js.map +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 +1 -1
- package/dist/cdn/badge/snice-badge.min.js +1 -1
- package/dist/cdn/banner/snice-banner.js +1 -1
- package/dist/cdn/banner/snice-banner.min.js +1 -1
- 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/snice-button.js +1 -1
- package/dist/cdn/button/snice-button.min.js +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/README.md +1 -1
- package/dist/cdn/cart/snice-cart.js +24 -20
- package/dist/cdn/cart/snice-cart.js.map +1 -1
- package/dist/cdn/cart/snice-cart.min.js +24 -20
- package/dist/cdn/cart/snice-cart.min.js.map +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/README.md +2 -2
- package/dist/cdn/chat/snice-chat.js +177 -10
- package/dist/cdn/chat/snice-chat.js.map +1 -1
- package/dist/cdn/chat/snice-chat.min.js +49 -17
- package/dist/cdn/chat/snice-chat.min.js.map +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/README.md +1 -1
- package/dist/cdn/code-block/snice-code-block.js +2 -2
- package/dist/cdn/code-block/snice-code-block.js.map +1 -1
- package/dist/cdn/code-block/snice-code-block.min.js +3 -3
- package/dist/cdn/code-block/snice-code-block.min.js.map +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 +2 -2
- package/dist/cdn/command-palette/snice-command-palette.js.map +1 -1
- package/dist/cdn/command-palette/snice-command-palette.min.js +2 -2
- package/dist/cdn/command-palette/snice-command-palette.min.js.map +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-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/README.md +2 -2
- package/dist/cdn/drawer/snice-drawer.js +129 -22
- package/dist/cdn/drawer/snice-drawer.js.map +1 -1
- package/dist/cdn/drawer/snice-drawer.min.js +22 -18
- package/dist/cdn/drawer/snice-drawer.min.js.map +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/README.md +2 -2
- package/dist/cdn/heatmap/snice-heatmap.js +2 -2
- package/dist/cdn/heatmap/snice-heatmap.js.map +1 -1
- package/dist/cdn/heatmap/snice-heatmap.min.js +5 -5
- package/dist/cdn/heatmap/snice-heatmap.min.js.map +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/README.md +2 -2
- package/dist/cdn/list/snice-list.js +179 -8
- package/dist/cdn/list/snice-list.js.map +1 -1
- package/dist/cdn/list/snice-list.min.js +45 -9
- package/dist/cdn/list/snice-list.min.js.map +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/snice-login.js +1 -1
- package/dist/cdn/login/snice-login.min.js +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/README.md +2 -2
- package/dist/cdn/notification-center/snice-notification-center.js +191 -7
- package/dist/cdn/notification-center/snice-notification-center.js.map +1 -1
- package/dist/cdn/notification-center/snice-notification-center.min.js +57 -14
- package/dist/cdn/notification-center/snice-notification-center.min.js.map +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/README.md +1 -1
- package/dist/cdn/product-card/snice-product-card.js +2 -2
- package/dist/cdn/product-card/snice-product-card.js.map +1 -1
- package/dist/cdn/product-card/snice-product-card.min.js +18 -18
- package/dist/cdn/product-card/snice-product-card.min.js.map +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/snice-runtime.esm.js +4 -4
- package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
- package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.js +4 -4
- package/dist/cdn/runtime/snice-runtime.js.map +1 -1
- package/dist/cdn/runtime/snice-runtime.min.js +4 -4
- 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/snice-table.js +1 -1
- package/dist/cdn/table/snice-table.min.js +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/README.md +2 -2
- package/dist/cdn/toast/snice-toast.js +9 -9
- package/dist/cdn/toast/snice-toast.js.map +1 -1
- package/dist/cdn/toast/snice-toast.min.js +12 -12
- package/dist/cdn/toast/snice-toast.min.js.map +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/app-tiles/snice-app-tiles.d.ts +1 -1
- package/dist/components/app-tiles/snice-app-tiles.js +1 -1
- package/dist/components/app-tiles/snice-app-tiles.js.map +1 -1
- package/dist/components/app-tiles/snice-app-tiles.types.d.ts +1 -1
- package/dist/components/cart/snice-cart.js +23 -19
- package/dist/components/cart/snice-cart.js.map +1 -1
- package/dist/components/chat/snice-chat.d.ts +1 -0
- package/dist/components/chat/snice-chat.js +10 -9
- package/dist/components/chat/snice-chat.js.map +1 -1
- package/dist/components/code-block/snice-code-block.js +1 -1
- package/dist/components/code-block/snice-code-block.js.map +1 -1
- package/dist/components/command-palette/snice-command-palette.js +1 -1
- package/dist/components/command-palette/snice-command-palette.js.map +1 -1
- package/dist/components/drawer/snice-drawer.d.ts +13 -0
- package/dist/components/drawer/snice-drawer.js +128 -21
- package/dist/components/drawer/snice-drawer.js.map +1 -1
- package/dist/components/drawer/snice-drawer.types.d.ts +4 -0
- package/dist/components/heatmap/snice-heatmap.js +1 -1
- package/dist/components/heatmap/snice-heatmap.js.map +1 -1
- package/dist/components/list/snice-list.d.ts +1 -0
- package/dist/components/list/snice-list.js +10 -5
- package/dist/components/list/snice-list.js.map +1 -1
- package/dist/components/notification-center/snice-notification-center.d.ts +2 -0
- package/dist/components/notification-center/snice-notification-center.js +24 -6
- package/dist/components/notification-center/snice-notification-center.js.map +1 -1
- package/dist/components/notification-center/snice-notification-center.types.d.ts +1 -0
- package/dist/components/product-card/snice-product-card.js +1 -1
- package/dist/components/product-card/snice-product-card.js.map +1 -1
- package/dist/components/toast/snice-toast.js +8 -8
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +1 -1
- 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/components/app-tiles.md +12 -1
- package/docs/ai/components/drawer.md +45 -1
- package/docs/components/app-tiles.md +24 -8
- package/docs/components/drawer.md +65 -0
- package/package.json +1 -1
- package/adapters/react/icon.d.ts +0 -29
- package/adapters/react/icon.d.ts.map +0 -1
- package/adapters/react/icon.js +0 -24
- package/adapters/react/icon.js.map +0 -1
- package/adapters/react/icon.tsx +0 -37
- package/dist/components/icon/snice-icon.d.ts +0 -18
- package/dist/components/icon/snice-icon.types.d.ts +0 -11
- package/docs/ai/components/icon.md +0 -63
- package/docs/components/icon.md +0 -186
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* snice v4.
|
|
2
|
+
* snice v4.21.0
|
|
3
3
|
* Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
|
|
4
4
|
* (c) 2024
|
|
5
5
|
* Released under the MIT License.
|
|
6
6
|
*/
|
|
7
|
-
void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-code-block.min.js");var SniceCodeBlock=function(e,t){"use strict";function a(e,t,a,n,i,r){function c(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var o,s=n.kind,l="getter"===s?"get":"setter"===s?"set":"value",h=!t&&e?n.static?e:e.prototype:null,d=t||(h?Object.getOwnPropertyDescriptor(h,n.name):{}),b=!1,m=a.length-1;m>=0;m--){var g={};for(var u in n)g[u]="access"===u?{}:n[u];for(var u in n.access)g.access[u]=n.access[u];g.addInitializer=function(e){if(b)throw new TypeError("Cannot add initializers after decoration has completed");r.push(c(e||null))};var p=(0,a[m])("accessor"===s?{get:d.get,set:d.set}:d[l],g);if("accessor"===s){if(void 0===p)continue;if(null===p||"object"!=typeof p)throw new TypeError("Object expected");(o=c(p.get))&&(d.get=o),(o=c(p.set))&&(d.set=o),(o=c(p.init))&&i.unshift(o)}else(o=c(p))&&("field"===s?i.unshift(o):d[l]=o)}h&&Object.defineProperty(h,n.name,d),b=!0}function n(e,t,a){for(var n=arguments.length>2,i=0;i<t.length;i++)a=n?t[i].call(e,a):t[i].call(e);return n?a:void 0}"function"==typeof SuppressedError&&SuppressedError;const i=new WeakMap;function r(e,t,a){const n=[];for(const i of t)if("include"in i){const t=i.include.replace(/^@/,"");if(a.has(t))continue;a.add(t);const c=e.tokenizer[t];c&&n.push(...r(e,c,a))}else n.push(i);return n}function c(e,t,a){if("string"==typeof t)return t;for(const[n,i]of Object.entries(t.cases))if("@default"!==n)if(n.startsWith("@")){const t=e[n.slice(1)];if(Array.isArray(t)&&t.includes(a))return i}else if(n===a)return i;return void 0!==t.cases["@default"]?t.cases["@default"]:""}function o(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}const s=new Map;function l(e,t){const a="string"==typeof t?function(e){return s.get(e.toLowerCase())}(t):t;if(!a)return o(e);const n=function(e){const t=i.get(e);if(t)return t;const a=new Map,n=e.ignoreCase?"yi":"y";for(const[t,i]of Object.entries(e.tokenizer)){const c=r(e,i,new Set).map(e=>({regex:new RegExp(e[0],n),token:e[1],nextState:e[2]}));a.set(t,c)}const c={grammar:e,states:a};return i.set(e,c),c}(a),l=function(e,t){const{grammar:a,states:n}=t,i=[],r=["root"];let o=0;const s=a.defaultToken||"",l=10*e.length;let h=0;for(;o<e.length&&h<l;){h++;const t=r[r.length-1],d=n.get(t);if(!d){i.push({text:e[o],type:s||null}),o++;continue}let b=!1;for(const t of d){t.regex.lastIndex=o;const n=t.regex.exec(e);if(n&&n.index===o&&n[0].length>0){const e=c(a,t.token,n[0]);if(i.push({text:n[0],type:e||null}),o+=n[0].length,t.nextState)if("@pop"===t.nextState)r.length>1&&r.pop();else{const e=t.nextState.replace(/^@/,"");r.push(e)}b=!0;break}}if(!b){let t=o+1;for(;t<e.length;){let a=!1;for(const n of d){n.regex.lastIndex=t;const i=n.regex.exec(e);if(i&&i.index===t&&i[0].length>0){a=!0;break}}if(a)break;if(t++,h++,h>=l)break}i.push({text:e.slice(o,t),type:s||null}),o=t}}return i}(e,n);return function(e){return e.map(e=>{const t=o(e.text);return e.type?`<span class="token ${e.type}">${t}</span>`:t}).join("")}(l)}function h(e){let t=e.length;for(;t>0&&" "===e[t-1];)t--;return e.slice(0,t)}let d=(()=>{let e,i,r,c,o,s,d,b,m,g,u,p,f,_,v,y,k,E,x,w,C,B,G,L,S,H,F,j,A,M,q,R,$,T=[t.element("snice-code-block")],z=[],N=HTMLElement,O=[],U=[],V=[],P=[],D=[],I=[],W=[],J=[],K=[],Q=[],X=[],Y=[],Z=[],ee=[],te=[],ae=[],ne=[],ie=[],re=[],ce=[],oe=[],se=[],le=[],he=[],de=[],be=[],me=[],ge=[],ue=[];return class extends N{static{i=this}static{const l="function"==typeof Symbol&&Symbol.metadata?Object.create(N[Symbol.metadata]??null):void 0;r=[t.property({})],c=[t.property({type:Boolean,attribute:"show-line-numbers"})],o=[t.property({type:Number,attribute:"start-line"})],s=[t.property({type:Array,attribute:!1})],d=[t.property({type:Boolean})],b=[t.property({})],m=[t.property({})],g=[t.property({attribute:"fetch-mode"})],u=[t.property({})],p=[t.property({})],f=[t.query(".code-block__code")],_=[t.query(".code-block__header")],v=[t.query(".code-block__filename")],y=[t.query(".code-block__copy")],k=[t.dispatch("code-copy",{bubbles:!0,composed:!0})],E=[t.dispatch("code-before-highlight",{bubbles:!0,composed:!0})],x=[t.dispatch("code-after-highlight",{bubbles:!0,composed:!0})],w=[t.dispatch("code-before-format",{bubbles:!0,composed:!0})],C=[t.dispatch("code-after-format",{bubbles:!0,composed:!0})],B=[t.dispatch("grammar-request",{bubbles:!0,composed:!0})],G=[t.dispatch("grammar-loaded",{bubbles:!0,composed:!0})],L=[t.request("snice/code-block/load-grammar")],S=[t.render({once:!0})],H=[t.styles()],F=[t.ready()],j=[t.on("slotchange",{target:"slot"})],A=[t.watch("grammar")],M=[t.watch("fetchMode")],q=[t.watch("format")],R=[t.watch("filename","copyable")],$=[t.watch("language")],a(this,null,k,{kind:"method",name:"dispatchCopyEvent",static:!1,private:!1,access:{has:e=>"dispatchCopyEvent"in e,get:e=>e.dispatchCopyEvent},metadata:l},null,O),a(this,null,E,{kind:"method",name:"dispatchBeforeHighlightEvent",static:!1,private:!1,access:{has:e=>"dispatchBeforeHighlightEvent"in e,get:e=>e.dispatchBeforeHighlightEvent},metadata:l},null,O),a(this,null,x,{kind:"method",name:"dispatchAfterHighlightEvent",static:!1,private:!1,access:{has:e=>"dispatchAfterHighlightEvent"in e,get:e=>e.dispatchAfterHighlightEvent},metadata:l},null,O),a(this,null,w,{kind:"method",name:"dispatchBeforeFormatEvent",static:!1,private:!1,access:{has:e=>"dispatchBeforeFormatEvent"in e,get:e=>e.dispatchBeforeFormatEvent},metadata:l},null,O),a(this,null,C,{kind:"method",name:"dispatchAfterFormatEvent",static:!1,private:!1,access:{has:e=>"dispatchAfterFormatEvent"in e,get:e=>e.dispatchAfterFormatEvent},metadata:l},null,O),a(this,null,B,{kind:"method",name:"dispatchGrammarRequestEvent",static:!1,private:!1,access:{has:e=>"dispatchGrammarRequestEvent"in e,get:e=>e.dispatchGrammarRequestEvent},metadata:l},null,O),a(this,null,G,{kind:"method",name:"dispatchGrammarLoadedEvent",static:!1,private:!1,access:{has:e=>"dispatchGrammarLoadedEvent"in e,get:e=>e.dispatchGrammarLoadedEvent},metadata:l},null,O),a(this,null,L,{kind:"method",name:"requestGrammar",static:!1,private:!1,access:{has:e=>"requestGrammar"in e,get:e=>e.requestGrammar},metadata:l},null,O),a(this,null,S,{kind:"method",name:"template",static:!1,private:!1,access:{has:e=>"template"in e,get:e=>e.template},metadata:l},null,O),a(this,null,H,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:l},null,O),a(this,null,F,{kind:"method",name:"onReady",static:!1,private:!1,access:{has:e=>"onReady"in e,get:e=>e.onReady},metadata:l},null,O),a(this,null,j,{kind:"method",name:"handleSlotChange",static:!1,private:!1,access:{has:e=>"handleSlotChange"in e,get:e=>e.handleSlotChange},metadata:l},null,O),a(this,null,A,{kind:"method",name:"onGrammarChange",static:!1,private:!1,access:{has:e=>"onGrammarChange"in e,get:e=>e.onGrammarChange},metadata:l},null,O),a(this,null,M,{kind:"method",name:"onFetchModeChange",static:!1,private:!1,access:{has:e=>"onFetchModeChange"in e,get:e=>e.onFetchModeChange},metadata:l},null,O),a(this,null,q,{kind:"method",name:"onFormatChange",static:!1,private:!1,access:{has:e=>"onFormatChange"in e,get:e=>e.onFormatChange},metadata:l},null,O),a(this,null,R,{kind:"method",name:"updateHeader",static:!1,private:!1,access:{has:e=>"updateHeader"in e,get:e=>e.updateHeader},metadata:l},null,O),a(this,null,$,{kind:"method",name:"onLanguageChange",static:!1,private:!1,access:{has:e=>"onLanguageChange"in e,get:e=>e.onLanguageChange},metadata:l},null,O),a(null,null,r,{kind:"field",name:"language",static:!1,private:!1,access:{has:e=>"language"in e,get:e=>e.language,set:(e,t)=>{e.language=t}},metadata:l},U,V),a(null,null,c,{kind:"field",name:"showLineNumbers",static:!1,private:!1,access:{has:e=>"showLineNumbers"in e,get:e=>e.showLineNumbers,set:(e,t)=>{e.showLineNumbers=t}},metadata:l},P,D),a(null,null,o,{kind:"field",name:"startLine",static:!1,private:!1,access:{has:e=>"startLine"in e,get:e=>e.startLine,set:(e,t)=>{e.startLine=t}},metadata:l},I,W),a(null,null,s,{kind:"field",name:"highlightLines",static:!1,private:!1,access:{has:e=>"highlightLines"in e,get:e=>e.highlightLines,set:(e,t)=>{e.highlightLines=t}},metadata:l},J,K),a(null,null,d,{kind:"field",name:"copyable",static:!1,private:!1,access:{has:e=>"copyable"in e,get:e=>e.copyable,set:(e,t)=>{e.copyable=t}},metadata:l},Q,X),a(null,null,b,{kind:"field",name:"filename",static:!1,private:!1,access:{has:e=>"filename"in e,get:e=>e.filename,set:(e,t)=>{e.filename=t}},metadata:l},Y,Z),a(null,null,m,{kind:"field",name:"grammar",static:!1,private:!1,access:{has:e=>"grammar"in e,get:e=>e.grammar,set:(e,t)=>{e.grammar=t}},metadata:l},ee,te),a(null,null,g,{kind:"field",name:"fetchMode",static:!1,private:!1,access:{has:e=>"fetchMode"in e,get:e=>e.fetchMode,set:(e,t)=>{e.fetchMode=t}},metadata:l},ae,ne),a(null,null,u,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:l},ie,re),a(null,null,p,{kind:"field",name:"theme",static:!1,private:!1,access:{has:e=>"theme"in e,get:e=>e.theme,set:(e,t)=>{e.theme=t}},metadata:l},ce,oe),a(null,null,f,{kind:"field",name:"codeEl",static:!1,private:!1,access:{has:e=>"codeEl"in e,get:e=>e.codeEl,set:(e,t)=>{e.codeEl=t}},metadata:l},se,le),a(null,null,_,{kind:"field",name:"headerEl",static:!1,private:!1,access:{has:e=>"headerEl"in e,get:e=>e.headerEl,set:(e,t)=>{e.headerEl=t}},metadata:l},he,de),a(null,null,v,{kind:"field",name:"filenameEl",static:!1,private:!1,access:{has:e=>"filenameEl"in e,get:e=>e.filenameEl,set:(e,t)=>{e.filenameEl=t}},metadata:l},be,me),a(null,null,y,{kind:"field",name:"copyBtn",static:!1,private:!1,access:{has:e=>"copyBtn"in e,get:e=>e.copyBtn,set:(e,t)=>{e.copyBtn=t}},metadata:l},ge,ue),a(null,e={value:i},T,{kind:"class",name:i.name,metadata:l},null,z),i=e.value,l&&Object.defineProperty(i,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l}),n(i,z)}dispatchCopyEvent(){return{code:this.code,codeBlock:this}}dispatchBeforeHighlightEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchAfterHighlightEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchBeforeFormatEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchAfterFormatEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchGrammarRequestEvent(){return{url:this.grammar,language:this.language,codeBlock:this}}dispatchGrammarLoadedEvent(e,t){return{grammar:e,url:t,language:this.language,codeBlock:this}}async*requestGrammar(e){return await(yield{url:e})}template(){return t.html`
|
|
7
|
+
void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-code-block.min.js");var SniceCodeBlock=function(e,t){"use strict";function a(e,t,a,r,n,o){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,s=r.kind,l="getter"===s?"get":"setter"===s?"set":"value",h=!t&&e?r.static?e:e.prototype:null,d=t||(h?Object.getOwnPropertyDescriptor(h,r.name):{}),b=!1,g=a.length-1;g>=0;g--){var m={};for(var u in r)m[u]="access"===u?{}:r[u];for(var u in r.access)m.access[u]=r.access[u];m.addInitializer=function(e){if(b)throw new TypeError("Cannot add initializers after decoration has completed");o.push(i(e||null))};var p=(0,a[g])("accessor"===s?{get:d.get,set:d.set}:d[l],m);if("accessor"===s){if(void 0===p)continue;if(null===p||"object"!=typeof p)throw new TypeError("Object expected");(c=i(p.get))&&(d.get=c),(c=i(p.set))&&(d.set=c),(c=i(p.init))&&n.unshift(c)}else(c=i(p))&&("field"===s?n.unshift(c):d[l]=c)}h&&Object.defineProperty(h,r.name,d),b=!0}function r(e,t,a){for(var r=arguments.length>2,n=0;n<t.length;n++)a=r?t[n].call(e,a):t[n].call(e);return r?a:void 0}"function"==typeof SuppressedError&&SuppressedError;const n=new WeakMap;function o(e,t,a){const r=[];for(const n of t)if("include"in n){const t=n.include.replace(/^@/,"");if(a.has(t))continue;a.add(t);const i=e.tokenizer[t];i&&r.push(...o(e,i,a))}else r.push(n);return r}function i(e,t,a){if("string"==typeof t)return t;for(const[r,n]of Object.entries(t.cases))if("@default"!==r)if(r.startsWith("@")){const t=e[r.slice(1)];if(Array.isArray(t)&&t.includes(a))return n}else if(r===a)return n;return void 0!==t.cases["@default"]?t.cases["@default"]:""}function c(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}const s=new Map;function l(e,t){const a="string"==typeof t?function(e){return s.get(e.toLowerCase())}(t):t;if(!a)return c(e);const r=function(e){const t=n.get(e);if(t)return t;const a=new Map,r=e.ignoreCase?"yi":"y";for(const[t,n]of Object.entries(e.tokenizer)){const i=o(e,n,new Set).map(e=>({regex:new RegExp(e[0],r),token:e[1],nextState:e[2]}));a.set(t,i)}const i={grammar:e,states:a};return n.set(e,i),i}(a),l=function(e,t){const{grammar:a,states:r}=t,n=[],o=["root"];let c=0;const s=a.defaultToken||"",l=10*e.length;let h=0;for(;c<e.length&&h<l;){h++;const t=o[o.length-1],d=r.get(t);if(!d){n.push({text:e[c],type:s||null}),c++;continue}let b=!1;for(const t of d){t.regex.lastIndex=c;const r=t.regex.exec(e);if(r&&r.index===c&&r[0].length>0){const e=i(a,t.token,r[0]);if(n.push({text:r[0],type:e||null}),c+=r[0].length,t.nextState)if("@pop"===t.nextState)o.length>1&&o.pop();else{const e=t.nextState.replace(/^@/,"");o.push(e)}b=!0;break}}if(!b){let t=c+1;for(;t<e.length;){let a=!1;for(const r of d){r.regex.lastIndex=t;const n=r.regex.exec(e);if(n&&n.index===t&&n[0].length>0){a=!0;break}}if(a)break;if(t++,h++,h>=l)break}n.push({text:e.slice(c,t),type:s||null}),c=t}}return n}(e,r);return function(e){return e.map(e=>{const t=c(e.text);return e.type?`<span class="token ${e.type}">${t}</span>`:t}).join("")}(l)}function h(e){let t=e.length;for(;t>0&&" "===e[t-1];)t--;return e.slice(0,t)}let d=(()=>{let e,n,o,i,c,s,d,b,g,m,u,p,f,v,_,k,y,E,x,w,C,B,G,L,S,H,F,j,A,M,q,R,$,T=[t.element("snice-code-block")],z=[],N=HTMLElement,O=[],U=[],V=[],P=[],D=[],I=[],W=[],J=[],K=[],Q=[],X=[],Y=[],Z=[],ee=[],te=[],ae=[],re=[],ne=[],oe=[],ie=[],ce=[],se=[],le=[],he=[],de=[],be=[],ge=[],me=[],ue=[];return class extends N{static{n=this}static{const l="function"==typeof Symbol&&Symbol.metadata?Object.create(N[Symbol.metadata]??null):void 0;o=[t.property({})],i=[t.property({type:Boolean,attribute:"show-line-numbers"})],c=[t.property({type:Number,attribute:"start-line"})],s=[t.property({type:Array,attribute:!1})],d=[t.property({type:Boolean})],b=[t.property({})],g=[t.property({})],m=[t.property({attribute:"fetch-mode"})],u=[t.property({})],p=[t.property({})],f=[t.query(".code-block__code")],v=[t.query(".code-block__header")],_=[t.query(".code-block__filename")],k=[t.query(".code-block__copy")],y=[t.dispatch("code-copy",{bubbles:!0,composed:!0})],E=[t.dispatch("code-before-highlight",{bubbles:!0,composed:!0})],x=[t.dispatch("code-after-highlight",{bubbles:!0,composed:!0})],w=[t.dispatch("code-before-format",{bubbles:!0,composed:!0})],C=[t.dispatch("code-after-format",{bubbles:!0,composed:!0})],B=[t.dispatch("grammar-request",{bubbles:!0,composed:!0})],G=[t.dispatch("grammar-loaded",{bubbles:!0,composed:!0})],L=[t.request("snice/code-block/load-grammar")],S=[t.render({once:!0})],H=[t.styles()],F=[t.ready()],j=[t.on("slotchange",{target:"slot"})],A=[t.watch("grammar")],M=[t.watch("fetchMode")],q=[t.watch("format")],R=[t.watch("filename","copyable")],$=[t.watch("language")],a(this,null,y,{kind:"method",name:"dispatchCopyEvent",static:!1,private:!1,access:{has:e=>"dispatchCopyEvent"in e,get:e=>e.dispatchCopyEvent},metadata:l},null,O),a(this,null,E,{kind:"method",name:"dispatchBeforeHighlightEvent",static:!1,private:!1,access:{has:e=>"dispatchBeforeHighlightEvent"in e,get:e=>e.dispatchBeforeHighlightEvent},metadata:l},null,O),a(this,null,x,{kind:"method",name:"dispatchAfterHighlightEvent",static:!1,private:!1,access:{has:e=>"dispatchAfterHighlightEvent"in e,get:e=>e.dispatchAfterHighlightEvent},metadata:l},null,O),a(this,null,w,{kind:"method",name:"dispatchBeforeFormatEvent",static:!1,private:!1,access:{has:e=>"dispatchBeforeFormatEvent"in e,get:e=>e.dispatchBeforeFormatEvent},metadata:l},null,O),a(this,null,C,{kind:"method",name:"dispatchAfterFormatEvent",static:!1,private:!1,access:{has:e=>"dispatchAfterFormatEvent"in e,get:e=>e.dispatchAfterFormatEvent},metadata:l},null,O),a(this,null,B,{kind:"method",name:"dispatchGrammarRequestEvent",static:!1,private:!1,access:{has:e=>"dispatchGrammarRequestEvent"in e,get:e=>e.dispatchGrammarRequestEvent},metadata:l},null,O),a(this,null,G,{kind:"method",name:"dispatchGrammarLoadedEvent",static:!1,private:!1,access:{has:e=>"dispatchGrammarLoadedEvent"in e,get:e=>e.dispatchGrammarLoadedEvent},metadata:l},null,O),a(this,null,L,{kind:"method",name:"requestGrammar",static:!1,private:!1,access:{has:e=>"requestGrammar"in e,get:e=>e.requestGrammar},metadata:l},null,O),a(this,null,S,{kind:"method",name:"template",static:!1,private:!1,access:{has:e=>"template"in e,get:e=>e.template},metadata:l},null,O),a(this,null,H,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:l},null,O),a(this,null,F,{kind:"method",name:"onReady",static:!1,private:!1,access:{has:e=>"onReady"in e,get:e=>e.onReady},metadata:l},null,O),a(this,null,j,{kind:"method",name:"handleSlotChange",static:!1,private:!1,access:{has:e=>"handleSlotChange"in e,get:e=>e.handleSlotChange},metadata:l},null,O),a(this,null,A,{kind:"method",name:"onGrammarChange",static:!1,private:!1,access:{has:e=>"onGrammarChange"in e,get:e=>e.onGrammarChange},metadata:l},null,O),a(this,null,M,{kind:"method",name:"onFetchModeChange",static:!1,private:!1,access:{has:e=>"onFetchModeChange"in e,get:e=>e.onFetchModeChange},metadata:l},null,O),a(this,null,q,{kind:"method",name:"onFormatChange",static:!1,private:!1,access:{has:e=>"onFormatChange"in e,get:e=>e.onFormatChange},metadata:l},null,O),a(this,null,R,{kind:"method",name:"updateHeader",static:!1,private:!1,access:{has:e=>"updateHeader"in e,get:e=>e.updateHeader},metadata:l},null,O),a(this,null,$,{kind:"method",name:"onLanguageChange",static:!1,private:!1,access:{has:e=>"onLanguageChange"in e,get:e=>e.onLanguageChange},metadata:l},null,O),a(null,null,o,{kind:"field",name:"language",static:!1,private:!1,access:{has:e=>"language"in e,get:e=>e.language,set:(e,t)=>{e.language=t}},metadata:l},U,V),a(null,null,i,{kind:"field",name:"showLineNumbers",static:!1,private:!1,access:{has:e=>"showLineNumbers"in e,get:e=>e.showLineNumbers,set:(e,t)=>{e.showLineNumbers=t}},metadata:l},P,D),a(null,null,c,{kind:"field",name:"startLine",static:!1,private:!1,access:{has:e=>"startLine"in e,get:e=>e.startLine,set:(e,t)=>{e.startLine=t}},metadata:l},I,W),a(null,null,s,{kind:"field",name:"highlightLines",static:!1,private:!1,access:{has:e=>"highlightLines"in e,get:e=>e.highlightLines,set:(e,t)=>{e.highlightLines=t}},metadata:l},J,K),a(null,null,d,{kind:"field",name:"copyable",static:!1,private:!1,access:{has:e=>"copyable"in e,get:e=>e.copyable,set:(e,t)=>{e.copyable=t}},metadata:l},Q,X),a(null,null,b,{kind:"field",name:"filename",static:!1,private:!1,access:{has:e=>"filename"in e,get:e=>e.filename,set:(e,t)=>{e.filename=t}},metadata:l},Y,Z),a(null,null,g,{kind:"field",name:"grammar",static:!1,private:!1,access:{has:e=>"grammar"in e,get:e=>e.grammar,set:(e,t)=>{e.grammar=t}},metadata:l},ee,te),a(null,null,m,{kind:"field",name:"fetchMode",static:!1,private:!1,access:{has:e=>"fetchMode"in e,get:e=>e.fetchMode,set:(e,t)=>{e.fetchMode=t}},metadata:l},ae,re),a(null,null,u,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:l},ne,oe),a(null,null,p,{kind:"field",name:"theme",static:!1,private:!1,access:{has:e=>"theme"in e,get:e=>e.theme,set:(e,t)=>{e.theme=t}},metadata:l},ie,ce),a(null,null,f,{kind:"field",name:"codeEl",static:!1,private:!1,access:{has:e=>"codeEl"in e,get:e=>e.codeEl,set:(e,t)=>{e.codeEl=t}},metadata:l},se,le),a(null,null,v,{kind:"field",name:"headerEl",static:!1,private:!1,access:{has:e=>"headerEl"in e,get:e=>e.headerEl,set:(e,t)=>{e.headerEl=t}},metadata:l},he,de),a(null,null,_,{kind:"field",name:"filenameEl",static:!1,private:!1,access:{has:e=>"filenameEl"in e,get:e=>e.filenameEl,set:(e,t)=>{e.filenameEl=t}},metadata:l},be,ge),a(null,null,k,{kind:"field",name:"copyBtn",static:!1,private:!1,access:{has:e=>"copyBtn"in e,get:e=>e.copyBtn,set:(e,t)=>{e.copyBtn=t}},metadata:l},me,ue),a(null,e={value:n},T,{kind:"class",name:n.name,metadata:l},null,z),n=e.value,l&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l}),r(n,z)}dispatchCopyEvent(){return{code:this.code,codeBlock:this}}dispatchBeforeHighlightEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchAfterHighlightEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchBeforeFormatEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchAfterFormatEvent(){return{code:this.code,language:this.language,codeBlock:this}}dispatchGrammarRequestEvent(){return{url:this.grammar,language:this.language,codeBlock:this}}dispatchGrammarLoadedEvent(e,t){return{grammar:e,url:t,language:this.language,codeBlock:this}}async*requestGrammar(e){return await(yield{url:e})}template(){return t.html`
|
|
8
8
|
<slot style="display:none"></slot>
|
|
9
9
|
<div class="code-block" part="container">
|
|
10
10
|
<div class="code-block__header" part="header">
|
|
@@ -20,5 +20,5 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
|
|
|
20
20
|
<pre class="code-block__pre" part="pre"><code class="code-block__code language-${this.language}" part="code" data-language="${this.language}"></code></pre>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
|
-
`}styles(){return t.css`${":host{display:block;--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:#333842;--_cb-header-text:#9da5b4;--_cb-btn-border:#4b5263;--_cb-btn-hover-bg:#333842;--_cb-btn-hover-border:#5c6370;--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}@media (prefers-color-scheme:light){:host(:not([theme])){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:#d0d0d0;--_cb-header-text:#696c77;--_cb-btn-border:#c0c0c0;--_cb-btn-hover-bg:#d8d8d9;--_cb-btn-hover-border:#a0a0a0;--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}}:host-context([data-theme=dark]){--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:#333842;--_cb-header-text:#9da5b4;--_cb-btn-border:#4b5263;--_cb-btn-hover-bg:#333842;--_cb-btn-hover-border:#5c6370;--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}:host-context([data-theme=light]){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:#d0d0d0;--_cb-header-text:#696c77;--_cb-btn-border:#c0c0c0;--_cb-btn-hover-bg:#d8d8d9;--_cb-btn-hover-border:#a0a0a0;--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}:host([theme=dark]){--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:#333842;--_cb-header-text:#9da5b4;--_cb-btn-border:#4b5263;--_cb-btn-hover-bg:#333842;--_cb-btn-hover-border:#5c6370;--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}:host([theme=light]){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:#d0d0d0;--_cb-header-text:#696c77;--_cb-btn-border:#c0c0c0;--_cb-btn-hover-bg:#d8d8d9;--_cb-btn-hover-border:#a0a0a0;--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}.code-block{position:relative;background:var(--code-block-bg,var(--_cb-bg));border-radius:var(--snice-border-radius-md,.375rem);overflow:hidden}.code-block__header{display:flex;justify-content:space-between;align-items:center;padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem);background:var(--code-block-header-bg,var(--_cb-header-bg));border-bottom:1px solid var(--_cb-header-border)}.code-block__filename{font-size:var(--snice-font-size-sm, .875rem);color:var(--_cb-header-text);font-family:var(--snice-font-family-mono, monospace)}.code-block__copy{background:0 0;border:1px solid var(--_cb-btn-border);color:var(--_cb-header-text);padding:.25rem .5rem;border-radius:var(--snice-border-radius-sm,.25rem);cursor:pointer;font-size:var(--snice-font-size-xs, .75rem);transition:.2s}.code-block__copy:hover{background:var(--_cb-btn-hover-bg);border-color:var(--_cb-btn-hover-border)}.code-block__copy--copied{background:var(--snice-color-success);border-color:hsl(var(--snice-color-green-500));color:hsl(0 0% 100%)}.code-block__content{overflow-x:auto}.code-block__pre{margin:0;padding:var(--snice-spacing-md,1rem);background:0 0;overflow-x:auto}.code-block__code{font-family:var(--snice-font-family-mono, 'Courier New', monospace);font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;color:var(--code-block-text,var(--_cb-text));display:block}.code-block__line{display:block}.code-block__line--highlight{background:var(--_cb-highlight-bg);border-left:3px solid var(--snice-color-primary);padding-left:calc(var(--snice-spacing-sm,.75rem) - 3px);margin-left:calc(-1 * var(--snice-spacing-md,1rem));padding-right:var(--snice-spacing-md,1rem)}.code-block__line-number{display:inline-block;width:3rem;text-align:right;margin-right:var(--snice-spacing-md,1rem);color:var(--_cb-line-number);user-select:none}.token.keyword{color:var(--code-keyword-color,var(--_cb-keyword))}.token.function{color:var(--code-function-color,var(--_cb-function))}.token.string{color:var(--code-string-color,var(--_cb-string))}.token.number{color:var(--code-number-color,var(--_cb-number))}.token.comment{color:var(--code-comment-color,var(--_cb-comment));font-style:italic}.token.operator{color:var(--code-operator-color,var(--_cb-operator))}.token.punctuation{color:var(--code-punctuation-color,var(--_cb-punctuation))}.token.tag{color:var(--code-tag-color,var(--_cb-tag))}.token.attr-name,.token.property{color:var(--code-attr-name-color,var(--_cb-attr-name))}.token.attr-value{color:var(--code-attr-value-color,var(--_cb-attr-value))}.token.boolean,.token.constant{color:var(--code-constant-color,var(--_cb-constant))}.token.class-name{color:var(--code-class-color,var(--_cb-class))}.token.builtin{color:var(--code-builtin-color,var(--_cb-builtin))}.token.regex{color:var(--code-regex-color,var(--_cb-regex))}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}"}`}async onReady(){this.updateHeader(),this.code||this.readSlottedContent(),this.code&&await this.highlight()}handleSlotChange(){this.readSlottedContent()}readSlottedContent(){const e=this.textContent;if(!e)return;const t=function(e){const t=e.replace(/^\n+/,"").replace(/\n\s*$/,"").split("\n");if(0===t.length)return"";const a=t.filter(e=>e.trim()).map(e=>e.match(/^(\s*)/)?.[1].length??0);if(0===a.length)return t.join("\n");const n=Math.min(...a);return 0===n?t.join("\n"):t.map(e=>e.slice(n)).join("\n")}(e);t&&(this.code=t,this.highlight())}onGrammarChange(){this.loadedGrammar=null,this.loadedGrammarUrl=null,this.code&&this.highlight()}onFetchModeChange(){this.loadedGrammar=null,this.loadedGrammarUrl=null,this.code&&this.highlight()}onFormatChange(){this.code&&this.highlight()}updateHeader(){if(!this.headerEl)return;const e=this.filename||this.copyable;this.headerEl.style.display=e?"":"none",this.filenameEl&&(this.filenameEl.textContent=this.filename),this.copyBtn&&(this.copyBtn.style.display=this.copyable?"":"none")}onLanguageChange(){this.codeEl&&(this.codeEl.className=`code-block__code language-${this.language}`,this.codeEl.setAttribute("data-language",this.language))}escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}updateCodeDisplay(){if(!this.codeEl)return;const e=this.highlightedCode||this.escapeHtml(this.code);if(this.showLineNumbers||this.highlightLines.length>0){const t=e.split("\n").map((e,t)=>{const a=this.startLine+t;return`<span class="${["code-block__line",this.highlightLines.includes(a)?"code-block__line--highlight":""].filter(Boolean).join(" ")}">${this.showLineNumbers?`<span class="code-block__line-number">${a}</span>`:""}${e}\n</span>`}).join("");this.codeEl.innerHTML=t}else this.codeEl.innerHTML=e}async copy(){try{await navigator.clipboard.writeText(this.code),this.copied=!0,this.dispatchCopyEvent(),this.copyBtn&&(this.copyBtn.textContent="Copied!"),setTimeout(()=>{this.copied=!1,this.copyBtn&&(this.copyBtn.textContent="Copy")},2e3)}catch(e){console.error("Failed to copy code:",e)}}setHighlighter(e){this.highlighter=e}setFormatter(e){this._formatter=e}setGrammar(e){this.loadedGrammar=e,this.loadedGrammarUrl=null,this.dispatchGrammarLoadedEvent(e,""),this.code&&this.highlight()}async resolveGrammar(){if(this.loadedGrammar)return this.loadedGrammar;if(!this.grammar)return null;try{switch(this.fetchMode){case"native":{const e=await fetch(this.grammar),t=await e.json();return t&&(this.loadedGrammar=t,this.loadedGrammarUrl=this.grammar,this.dispatchGrammarLoadedEvent(t,this.grammar)),t}case"virtual":{const e=await this.requestGrammar(this.grammar);return e&&(this.loadedGrammar=e,this.loadedGrammarUrl=this.grammar,this.dispatchGrammarLoadedEvent(e,this.grammar)),e}case"event":return this.dispatchGrammarRequestEvent(),null;default:return null}}catch(e){return console.error(`Failed to load grammar from ${this.grammar}:`,e),null}}async highlight(){if(!this.code)return;const e=++this.highlightVersion;let t=this._formatter;if(!t&&this.format){const a=await this.resolveGrammar();if(e!==this.highlightVersion)return;if(a?.formatters?.[this.format]){const e=a.formatters[this.format];t=t=>function(e,t){const a=t.tabSize??2,n=t.useTabs?"\t":" ".repeat(a),i=t.trimTrailing??!0,r=t.skipStrings??!0,c=t.skipComments??!0,o=t.newlineAfter?new RegExp(t.newlineAfter):null,s=t.newlineBefore?new RegExp(t.newlineBefore):null,l=t.spaceAfter?new RegExp(t.spaceAfter):null,d=t.spaceBefore?new RegExp(t.spaceBefore):null,b=t.spaceAround?new RegExp(t.spaceAround):null,m=t.indent?new RegExp(t.indent):null,g=t.dedent?new RegExp(t.dedent):null,u=function(e,t,a){let n="",i=null,r=!1,c=!1;for(let o=0;o<e.length;o++){const s=e[o],l=o>0?e[o-1]:"",h=o+1<e.length?e[o+1]:"";if(!r&&!c&&t){if(i){n+=s,s===i&&"\\"!==l&&(i=null);continue}if('"'===s||"'"===s||"`"===s){i=s,n+=s;continue}}if(a){if(c){"\n"===s?(c=!1,n+=s):n+=s;continue}if(r){n+=s,"/"===s&&"*"===l&&(r=!1);continue}if("/"===s&&"/"===h){c=!0,n+=s;continue}if("/"===s&&"*"===h){r=!0,n+=s;continue}}/\s/.test(s)?n.length>0&&!/\s/.test(n[n.length-1])&&(n+=" "):n+=s}return n}(e,r,c);let p="",f=0,_=!0,v=null,y=!1,k=!1;for(let e=0;e<u.length;e++){const t=u[e],a=e>0?u[e-1]:"",i=e+1<u.length?u[e+1]:"";if(!y&&!k&&r){if(v){p+=t,t===v&&"\\"!==a&&(v=null);continue}if('"'===t||"'"===t||"`"===t){v=t,_&&(p+=n.repeat(f),_=!1),p+=t;continue}}if(c){if(k){p+=t,"\n"===t&&(k=!1,_=!0);continue}if(y){p+=t,"/"===t&&"*"===a&&(y=!1);continue}if("/"===t&&"/"===i){_&&(p+=n.repeat(f),_=!1),k=!0,p+=t;continue}if("/"===t&&"*"===i){_&&(p+=n.repeat(f),_=!1),y=!0,p+=t;continue}}g&&g.test(t)&&(f=Math.max(0,f-1)),s&&s.test(t)&&(_||(p=h(p),p+="\n",_=!0)),(d&&d.test(t)||b&&b.test(t))&&!_&&p.length>0&&" "!==p[p.length-1]&&"\n"!==p[p.length-1]&&(p+=" "),_&&"\n"!==t&&(p+=n.repeat(f),_=!1),p+=t,m&&m.test(t)&&f++,(l&&l.test(t)||b&&b.test(t))&&i&&"\n"!==i&&" "!==i&&(p+=" "),o&&o.test(t)&&(p=h(p),p+="\n",_=!0)}let E=p.split("\n");for(i&&(E=E.map(e=>e.replace(/\s+$/,""))),void 0!==t.collapseBlankLines&&(E=function(e,t){const a=[];let n=0;for(const i of e)""===i.trim()?(n++,n<=t&&a.push(i)):(n=0,a.push(i));return a}(E,t.collapseBlankLines));E.length>0&&""===E[0].trim();)E.shift();for(;E.length>0&&""===E[E.length-1].trim();)E.pop();return E.join("\n")}(t,e)}}if(t&&this.format){this.dispatchBeforeFormatEvent();try{const a=await t(this.code,this.language);if(e!==this.highlightVersion)return;this.code=a,this.dispatchAfterFormatEvent()}catch(e){console.error("Code formatting failed:",e)}}this.dispatchBeforeHighlightEvent();try{if(this.highlighter){const t=this.escapeHtml(this.code).split("\n"),a=await Promise.all(t.map(e=>this.highlighter(e,this.language)));if(e!==this.highlightVersion)return;this.highlightedCode=a.join("\n")}else{const t=await this.resolveGrammar();if(e!==this.highlightVersion)return;this.highlightedCode=l(this.code,t||this.language)}this.updateCodeDisplay(),this.dispatchAfterHighlightEvent()}catch(e){console.error("Syntax highlighting failed:",e)}}constructor(){super(...arguments),this.code=(n(this,O),""),this.language=n(this,U,"plaintext"),this.showLineNumbers=(n(this,V),n(this,P,!1)),this.startLine=(n(this,D),n(this,I,1)),this.highlightLines=(n(this,W),n(this,J,[])),this.copyable=(n(this,K),n(this,Q,!0)),this.filename=(n(this,X),n(this,Y,"")),this.grammar=(n(this,Z),n(this,ee,"")),this.fetchMode=(n(this,te),n(this,ae,"native")),this.format=(n(this,ne),n(this,ie,"")),this.theme=(n(this,re),n(this,ce,"")),this.highlighter=n(this,oe),this.copied=!1,this.highlightedCode="",this.loadedGrammar=null,this.loadedGrammarUrl=null,this.highlightVersion=0,this.codeEl=n(this,se,void 0),this.headerEl=(n(this,le),n(this,he,void 0)),this.filenameEl=(n(this,de),n(this,be,void 0)),this.copyBtn=(n(this,me),n(this,ge,void 0)),n(this,ue)}},i})();return e.SniceCodeBlock=d,e}({},Snice);
|
|
23
|
+
`}styles(){return t.css`${":host{display:block;--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:var(--snice-color-border, rgb(51 56 66));--_cb-header-text:#9da5b4;--_cb-btn-border:var(--snice-color-border, rgb(75 82 99));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(51 56 66));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(92 99 112));--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}@media (prefers-color-scheme:light){:host(:not([theme])){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:var(--snice-color-border, rgb(208 208 208));--_cb-header-text:#696c77;--_cb-btn-border:var(--snice-color-border, rgb(192 192 192));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(216 216 217));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(160 160 160));--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}}:host-context([data-theme=dark]){--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:var(--snice-color-border, rgb(51 56 66));--_cb-header-text:#9da5b4;--_cb-btn-border:var(--snice-color-border, rgb(75 82 99));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(51 56 66));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(92 99 112));--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}:host-context([data-theme=light]){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:var(--snice-color-border, rgb(208 208 208));--_cb-header-text:#696c77;--_cb-btn-border:var(--snice-color-border, rgb(192 192 192));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(216 216 217));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(160 160 160));--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}:host([theme=dark]){--_cb-bg:#282c34;--_cb-text:#abb2bf;--_cb-header-bg:#21252b;--_cb-header-border:var(--snice-color-border, rgb(51 56 66));--_cb-header-text:#9da5b4;--_cb-btn-border:var(--snice-color-border, rgb(75 82 99));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(51 56 66));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(92 99 112));--_cb-line-number:#636d83;--_cb-highlight-bg:rgba(255, 255, 255, 0.07);--_cb-keyword:#c678dd;--_cb-function:#61afef;--_cb-string:#98c379;--_cb-number:#d19a66;--_cb-comment:#6a9955;--_cb-operator:#56b6c2;--_cb-punctuation:#abb2bf;--_cb-tag:#e06c75;--_cb-attr-name:#d19a66;--_cb-attr-value:#98c379;--_cb-constant:#d19a66;--_cb-class:#e5c07b;--_cb-builtin:#e06c75;--_cb-regex:#98c379}:host([theme=light]){--_cb-bg:#fafafa;--_cb-text:#383a42;--_cb-header-bg:#eaeaeb;--_cb-header-border:var(--snice-color-border, rgb(208 208 208));--_cb-header-text:#696c77;--_cb-btn-border:var(--snice-color-border, rgb(192 192 192));--_cb-btn-hover-bg:var(--snice-color-background-hover, rgb(216 216 217));--_cb-btn-hover-border:var(--snice-color-border-hover, rgb(160 160 160));--_cb-line-number:#9d9d9f;--_cb-highlight-bg:rgba(0, 0, 0, 0.05);--_cb-keyword:#a626a4;--_cb-function:#4078f2;--_cb-string:#50a14f;--_cb-number:#986801;--_cb-comment:#a0a1a7;--_cb-operator:#0184bc;--_cb-punctuation:#383a42;--_cb-tag:#e45649;--_cb-attr-name:#986801;--_cb-attr-value:#50a14f;--_cb-constant:#986801;--_cb-class:#c18401;--_cb-builtin:#e45649;--_cb-regex:#50a14f}.code-block{position:relative;background:var(--code-block-bg,var(--_cb-bg));border-radius:var(--snice-border-radius-md,.375rem);overflow:hidden}.code-block__header{display:flex;justify-content:space-between;align-items:center;padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem);background:var(--code-block-header-bg,var(--_cb-header-bg));border-bottom:1px solid var(--_cb-header-border)}.code-block__filename{font-size:var(--snice-font-size-sm, .875rem);color:var(--_cb-header-text);font-family:var(--snice-font-family-mono, monospace)}.code-block__copy{background:0 0;border:1px solid var(--_cb-btn-border);color:var(--_cb-header-text);padding:.25rem .5rem;border-radius:var(--snice-border-radius-sm,.25rem);cursor:pointer;font-size:var(--snice-font-size-xs, .75rem);transition:.2s}.code-block__copy:hover{background:var(--_cb-btn-hover-bg);border-color:var(--_cb-btn-hover-border)}.code-block__copy--copied{background:var(--snice-color-success);border-color:hsl(var(--snice-color-green-500));color:hsl(0 0% 100%)}.code-block__content{overflow-x:auto}.code-block__pre{margin:0;padding:var(--snice-spacing-md,1rem);background:0 0;overflow-x:auto}.code-block__code{font-family:var(--snice-font-family-mono, 'Courier New', monospace);font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;color:var(--code-block-text,var(--_cb-text));display:block}.code-block__line{display:block}.code-block__line--highlight{background:var(--_cb-highlight-bg);border-left:3px solid var(--snice-color-primary);padding-left:calc(var(--snice-spacing-sm,.75rem) - 3px);margin-left:calc(-1 * var(--snice-spacing-md,1rem));padding-right:var(--snice-spacing-md,1rem)}.code-block__line-number{display:inline-block;width:3rem;text-align:right;margin-right:var(--snice-spacing-md,1rem);color:var(--_cb-line-number);user-select:none}.token.keyword{color:var(--code-keyword-color,var(--_cb-keyword))}.token.function{color:var(--code-function-color,var(--_cb-function))}.token.string{color:var(--code-string-color,var(--_cb-string))}.token.number{color:var(--code-number-color,var(--_cb-number))}.token.comment{color:var(--code-comment-color,var(--_cb-comment));font-style:italic}.token.operator{color:var(--code-operator-color,var(--_cb-operator))}.token.punctuation{color:var(--code-punctuation-color,var(--_cb-punctuation))}.token.tag{color:var(--code-tag-color,var(--_cb-tag))}.token.attr-name,.token.property{color:var(--code-attr-name-color,var(--_cb-attr-name))}.token.attr-value{color:var(--code-attr-value-color,var(--_cb-attr-value))}.token.boolean,.token.constant{color:var(--code-constant-color,var(--_cb-constant))}.token.class-name{color:var(--code-class-color,var(--_cb-class))}.token.builtin{color:var(--code-builtin-color,var(--_cb-builtin))}.token.regex{color:var(--code-regex-color,var(--_cb-regex))}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}"}`}async onReady(){this.updateHeader(),this.code||this.readSlottedContent(),this.code&&await this.highlight()}handleSlotChange(){this.readSlottedContent()}readSlottedContent(){const e=this.textContent;if(!e)return;const t=function(e){const t=e.replace(/^\n+/,"").replace(/\n\s*$/,"").split("\n");if(0===t.length)return"";const a=t.filter(e=>e.trim()).map(e=>e.match(/^(\s*)/)?.[1].length??0);if(0===a.length)return t.join("\n");const r=Math.min(...a);return 0===r?t.join("\n"):t.map(e=>e.slice(r)).join("\n")}(e);t&&(this.code=t,this.highlight())}onGrammarChange(){this.loadedGrammar=null,this.loadedGrammarUrl=null,this.code&&this.highlight()}onFetchModeChange(){this.loadedGrammar=null,this.loadedGrammarUrl=null,this.code&&this.highlight()}onFormatChange(){this.code&&this.highlight()}updateHeader(){if(!this.headerEl)return;const e=this.filename||this.copyable;this.headerEl.style.display=e?"":"none",this.filenameEl&&(this.filenameEl.textContent=this.filename),this.copyBtn&&(this.copyBtn.style.display=this.copyable?"":"none")}onLanguageChange(){this.codeEl&&(this.codeEl.className=`code-block__code language-${this.language}`,this.codeEl.setAttribute("data-language",this.language))}escapeHtml(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}updateCodeDisplay(){if(!this.codeEl)return;const e=this.highlightedCode||this.escapeHtml(this.code);if(this.showLineNumbers||this.highlightLines.length>0){const t=e.split("\n").map((e,t)=>{const a=this.startLine+t;return`<span class="${["code-block__line",this.highlightLines.includes(a)?"code-block__line--highlight":""].filter(Boolean).join(" ")}">${this.showLineNumbers?`<span class="code-block__line-number">${a}</span>`:""}${e}\n</span>`}).join("");this.codeEl.innerHTML=t}else this.codeEl.innerHTML=e}async copy(){try{await navigator.clipboard.writeText(this.code),this.copied=!0,this.dispatchCopyEvent(),this.copyBtn&&(this.copyBtn.textContent="Copied!"),setTimeout(()=>{this.copied=!1,this.copyBtn&&(this.copyBtn.textContent="Copy")},2e3)}catch(e){console.error("Failed to copy code:",e)}}setHighlighter(e){this.highlighter=e}setFormatter(e){this._formatter=e}setGrammar(e){this.loadedGrammar=e,this.loadedGrammarUrl=null,this.dispatchGrammarLoadedEvent(e,""),this.code&&this.highlight()}async resolveGrammar(){if(this.loadedGrammar)return this.loadedGrammar;if(!this.grammar)return null;try{switch(this.fetchMode){case"native":{const e=await fetch(this.grammar),t=await e.json();return t&&(this.loadedGrammar=t,this.loadedGrammarUrl=this.grammar,this.dispatchGrammarLoadedEvent(t,this.grammar)),t}case"virtual":{const e=await this.requestGrammar(this.grammar);return e&&(this.loadedGrammar=e,this.loadedGrammarUrl=this.grammar,this.dispatchGrammarLoadedEvent(e,this.grammar)),e}case"event":return this.dispatchGrammarRequestEvent(),null;default:return null}}catch(e){return console.error(`Failed to load grammar from ${this.grammar}:`,e),null}}async highlight(){if(!this.code)return;const e=++this.highlightVersion;let t=this._formatter;if(!t&&this.format){const a=await this.resolveGrammar();if(e!==this.highlightVersion)return;if(a?.formatters?.[this.format]){const e=a.formatters[this.format];t=t=>function(e,t){const a=t.tabSize??2,r=t.useTabs?"\t":" ".repeat(a),n=t.trimTrailing??!0,o=t.skipStrings??!0,i=t.skipComments??!0,c=t.newlineAfter?new RegExp(t.newlineAfter):null,s=t.newlineBefore?new RegExp(t.newlineBefore):null,l=t.spaceAfter?new RegExp(t.spaceAfter):null,d=t.spaceBefore?new RegExp(t.spaceBefore):null,b=t.spaceAround?new RegExp(t.spaceAround):null,g=t.indent?new RegExp(t.indent):null,m=t.dedent?new RegExp(t.dedent):null,u=function(e,t,a){let r="",n=null,o=!1,i=!1;for(let c=0;c<e.length;c++){const s=e[c],l=c>0?e[c-1]:"",h=c+1<e.length?e[c+1]:"";if(!o&&!i&&t){if(n){r+=s,s===n&&"\\"!==l&&(n=null);continue}if('"'===s||"'"===s||"`"===s){n=s,r+=s;continue}}if(a){if(i){"\n"===s?(i=!1,r+=s):r+=s;continue}if(o){r+=s,"/"===s&&"*"===l&&(o=!1);continue}if("/"===s&&"/"===h){i=!0,r+=s;continue}if("/"===s&&"*"===h){o=!0,r+=s;continue}}/\s/.test(s)?r.length>0&&!/\s/.test(r[r.length-1])&&(r+=" "):r+=s}return r}(e,o,i);let p="",f=0,v=!0,_=null,k=!1,y=!1;for(let e=0;e<u.length;e++){const t=u[e],a=e>0?u[e-1]:"",n=e+1<u.length?u[e+1]:"";if(!k&&!y&&o){if(_){p+=t,t===_&&"\\"!==a&&(_=null);continue}if('"'===t||"'"===t||"`"===t){_=t,v&&(p+=r.repeat(f),v=!1),p+=t;continue}}if(i){if(y){p+=t,"\n"===t&&(y=!1,v=!0);continue}if(k){p+=t,"/"===t&&"*"===a&&(k=!1);continue}if("/"===t&&"/"===n){v&&(p+=r.repeat(f),v=!1),y=!0,p+=t;continue}if("/"===t&&"*"===n){v&&(p+=r.repeat(f),v=!1),k=!0,p+=t;continue}}m&&m.test(t)&&(f=Math.max(0,f-1)),s&&s.test(t)&&(v||(p=h(p),p+="\n",v=!0)),(d&&d.test(t)||b&&b.test(t))&&!v&&p.length>0&&" "!==p[p.length-1]&&"\n"!==p[p.length-1]&&(p+=" "),v&&"\n"!==t&&(p+=r.repeat(f),v=!1),p+=t,g&&g.test(t)&&f++,(l&&l.test(t)||b&&b.test(t))&&n&&"\n"!==n&&" "!==n&&(p+=" "),c&&c.test(t)&&(p=h(p),p+="\n",v=!0)}let E=p.split("\n");for(n&&(E=E.map(e=>e.replace(/\s+$/,""))),void 0!==t.collapseBlankLines&&(E=function(e,t){const a=[];let r=0;for(const n of e)""===n.trim()?(r++,r<=t&&a.push(n)):(r=0,a.push(n));return a}(E,t.collapseBlankLines));E.length>0&&""===E[0].trim();)E.shift();for(;E.length>0&&""===E[E.length-1].trim();)E.pop();return E.join("\n")}(t,e)}}if(t&&this.format){this.dispatchBeforeFormatEvent();try{const a=await t(this.code,this.language);if(e!==this.highlightVersion)return;this.code=a,this.dispatchAfterFormatEvent()}catch(e){console.error("Code formatting failed:",e)}}this.dispatchBeforeHighlightEvent();try{if(this.highlighter){const t=this.escapeHtml(this.code).split("\n"),a=await Promise.all(t.map(e=>this.highlighter(e,this.language)));if(e!==this.highlightVersion)return;this.highlightedCode=a.join("\n")}else{const t=await this.resolveGrammar();if(e!==this.highlightVersion)return;this.highlightedCode=l(this.code,t||this.language)}this.updateCodeDisplay(),this.dispatchAfterHighlightEvent()}catch(e){console.error("Syntax highlighting failed:",e)}}constructor(){super(...arguments),this.code=(r(this,O),""),this.language=r(this,U,"plaintext"),this.showLineNumbers=(r(this,V),r(this,P,!1)),this.startLine=(r(this,D),r(this,I,1)),this.highlightLines=(r(this,W),r(this,J,[])),this.copyable=(r(this,K),r(this,Q,!0)),this.filename=(r(this,X),r(this,Y,"")),this.grammar=(r(this,Z),r(this,ee,"")),this.fetchMode=(r(this,te),r(this,ae,"native")),this.format=(r(this,re),r(this,ne,"")),this.theme=(r(this,oe),r(this,ie,"")),this.highlighter=r(this,ce),this.copied=!1,this.highlightedCode="",this.loadedGrammar=null,this.loadedGrammarUrl=null,this.highlightVersion=0,this.codeEl=r(this,se,void 0),this.headerEl=(r(this,le),r(this,he,void 0)),this.filenameEl=(r(this,de),r(this,be,void 0)),this.copyBtn=(r(this,ge),r(this,me,void 0)),r(this,ue)}},n})();return e.SniceCodeBlock=d,e}({},Snice);
|
|
24
24
|
//# sourceMappingURL=snice-code-block.min.js.map
|