vanilla-breeze 0.1.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/LICENSE +21 -0
- package/README.md +67 -0
- package/custom-elements.json +12666 -0
- package/dist/cdn/components/accordion-wc.js +2 -0
- package/dist/cdn/components/audio-player.js +340 -0
- package/dist/cdn/components/audio-visualizer.js +20 -0
- package/dist/cdn/components/calendar-wc.js +3 -0
- package/dist/cdn/components/card-list.js +2 -0
- package/dist/cdn/components/carousel-wc.js +2 -0
- package/dist/cdn/components/change-set.js +12 -0
- package/dist/cdn/components/chart-wc.js +395 -0
- package/dist/cdn/components/chat-input.js +2 -0
- package/dist/cdn/components/chat-window.js +2 -0
- package/dist/cdn/components/color-palette.js +10 -0
- package/dist/cdn/components/color-picker.js +2 -0
- package/dist/cdn/components/combo-box.js +2 -0
- package/dist/cdn/components/command-palette.js +2 -0
- package/dist/cdn/components/compare-surface.js +2 -0
- package/dist/cdn/components/component-sampler.js +45 -0
- package/dist/cdn/components/consent-banner.js +2 -0
- package/dist/cdn/components/content-swap.js +2 -0
- package/dist/cdn/components/context-menu.js +2 -0
- package/dist/cdn/components/data-table.js +2 -0
- package/dist/cdn/components/date-picker.js +2 -0
- package/dist/cdn/components/drag-surface.js +2 -0
- package/dist/cdn/components/drop-down.js +2 -0
- package/dist/cdn/components/emoji-picker.js +2 -0
- package/dist/cdn/components/empathy-map.js +567 -0
- package/dist/cdn/components/foot-notes.js +2 -0
- package/dist/cdn/components/form-field.js +2 -0
- package/dist/cdn/components/geo-map.js +198 -0
- package/dist/cdn/components/glossary-index.js +2 -0
- package/dist/cdn/components/heading-links.js +2 -0
- package/dist/cdn/components/icon-wc.js +66 -0
- package/dist/cdn/components/image-gallery.js +2 -0
- package/dist/cdn/components/image-map.js +2 -0
- package/dist/cdn/components/impact-effort.js +2 -0
- package/dist/cdn/components/include-file.js +2 -0
- package/dist/cdn/components/kanban-board.js +2 -0
- package/dist/cdn/components/manifest.json +294 -0
- package/dist/cdn/components/markdown-editor.js +2 -0
- package/dist/cdn/components/markdown-viewer.js +60 -0
- package/dist/cdn/components/page-info.js +51 -0
- package/dist/cdn/components/page-meta.js +2 -0
- package/dist/cdn/components/page-stats.js +2 -0
- package/dist/cdn/components/page-toc.js +2 -0
- package/dist/cdn/components/page-tools.js +2 -0
- package/dist/cdn/components/page-tour.js +39 -0
- package/dist/cdn/components/palette-generator.js +15 -0
- package/dist/cdn/components/print-page.js +2 -0
- package/dist/cdn/components/qr-code.js +2 -0
- package/dist/cdn/components/reader-view.js +28 -0
- package/dist/cdn/components/settings-panel.js +191 -0
- package/dist/cdn/components/share-wc.js +4 -0
- package/dist/cdn/components/short-cuts.js +2 -0
- package/dist/cdn/components/site-index.js +11 -0
- package/dist/cdn/components/site-map.js +2 -0
- package/dist/cdn/components/site-search.js +52 -0
- package/dist/cdn/components/slide-accept.js +2 -0
- package/dist/cdn/components/social-embed.js +2 -0
- package/dist/cdn/components/spacing-specimen.js +6 -0
- package/dist/cdn/components/split-surface.js +2 -0
- package/dist/cdn/components/star-rating.js +2 -0
- package/dist/cdn/components/story-map.js +2 -0
- package/dist/cdn/components/tab-set.js +2 -0
- package/dist/cdn/components/text-reader.js +7 -0
- package/dist/cdn/components/theme-picker.js +219 -0
- package/dist/cdn/components/theme-wc.js +67 -0
- package/dist/cdn/components/time-index.js +12 -0
- package/dist/cdn/components/time-picker.js +2 -0
- package/dist/cdn/components/toast-msg.js +7 -0
- package/dist/cdn/components/token-specimen.js +21 -0
- package/dist/cdn/components/tool-tip.js +2 -0
- package/dist/cdn/components/type-specimen.js +16 -0
- package/dist/cdn/components/user-journey.js +355 -0
- package/dist/cdn/components/user-persona.js +338 -0
- package/dist/cdn/components/user-story.js +377 -0
- package/dist/cdn/components/video-player.js +512 -0
- package/dist/cdn/components/youtube-player.js +2 -0
- package/dist/cdn/icons/bold/bell.svg +1 -0
- package/dist/cdn/icons/bold/bookmark.svg +1 -0
- package/dist/cdn/icons/bold/calendar.svg +1 -0
- package/dist/cdn/icons/bold/camera.svg +1 -0
- package/dist/cdn/icons/bold/globe.svg +1 -0
- package/dist/cdn/icons/bold/heart.svg +1 -0
- package/dist/cdn/icons/bold/home.svg +1 -0
- package/dist/cdn/icons/bold/lock.svg +1 -0
- package/dist/cdn/icons/bold/mail.svg +1 -0
- package/dist/cdn/icons/bold/music.svg +1 -0
- package/dist/cdn/icons/bold/search.svg +1 -0
- package/dist/cdn/icons/bold/settings.svg +1 -0
- package/dist/cdn/icons/bold/star.svg +1 -0
- package/dist/cdn/icons/bold/user.svg +1 -0
- package/dist/cdn/icons/bold/zap.svg +1 -0
- package/dist/cdn/icons/custom/bluesky.svg +1 -0
- package/dist/cdn/icons/custom/mastodon.svg +1 -0
- package/dist/cdn/icons/custom/telegram.svg +1 -0
- package/dist/cdn/icons/custom/whatsapp.svg +1 -0
- package/dist/cdn/icons/lucide/a-arrow-down.svg +18 -0
- package/dist/cdn/icons/lucide/a-arrow-up.svg +18 -0
- package/dist/cdn/icons/lucide/a-large-small.svg +18 -0
- package/dist/cdn/icons/lucide/accessibility.svg +19 -0
- package/dist/cdn/icons/lucide/activity-square.svg +16 -0
- package/dist/cdn/icons/lucide/activity.svg +15 -0
- package/dist/cdn/icons/lucide/air-vent.svg +18 -0
- package/dist/cdn/icons/lucide/airplay.svg +16 -0
- package/dist/cdn/icons/lucide/alarm-check.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-clock-check.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-clock-minus.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-clock-off.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-clock-plus.svg +21 -0
- package/dist/cdn/icons/lucide/alarm-clock.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-minus.svg +20 -0
- package/dist/cdn/icons/lucide/alarm-plus.svg +21 -0
- package/dist/cdn/icons/lucide/alarm-smoke.svg +19 -0
- package/dist/cdn/icons/lucide/album.svg +16 -0
- package/dist/cdn/icons/lucide/alert-circle.svg +17 -0
- package/dist/cdn/icons/lucide/alert-octagon.svg +17 -0
- package/dist/cdn/icons/lucide/alert-triangle.svg +17 -0
- package/dist/cdn/icons/lucide/align-center-horizontal.svg +19 -0
- package/dist/cdn/icons/lucide/align-center-vertical.svg +19 -0
- package/dist/cdn/icons/lucide/align-center.svg +17 -0
- package/dist/cdn/icons/lucide/align-end-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/align-end-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/align-horizontal-distribute-center.svg +20 -0
- package/dist/cdn/icons/lucide/align-horizontal-distribute-end.svg +18 -0
- package/dist/cdn/icons/lucide/align-horizontal-distribute-start.svg +18 -0
- package/dist/cdn/icons/lucide/align-horizontal-justify-center.svg +17 -0
- package/dist/cdn/icons/lucide/align-horizontal-justify-end.svg +17 -0
- package/dist/cdn/icons/lucide/align-horizontal-justify-start.svg +17 -0
- package/dist/cdn/icons/lucide/align-horizontal-space-around.svg +17 -0
- package/dist/cdn/icons/lucide/align-horizontal-space-between.svg +18 -0
- package/dist/cdn/icons/lucide/align-justify.svg +17 -0
- package/dist/cdn/icons/lucide/align-left.svg +17 -0
- package/dist/cdn/icons/lucide/align-right.svg +17 -0
- package/dist/cdn/icons/lucide/align-start-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/align-start-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/align-vertical-distribute-center.svg +20 -0
- package/dist/cdn/icons/lucide/align-vertical-distribute-end.svg +18 -0
- package/dist/cdn/icons/lucide/align-vertical-distribute-start.svg +18 -0
- package/dist/cdn/icons/lucide/align-vertical-justify-center.svg +17 -0
- package/dist/cdn/icons/lucide/align-vertical-justify-end.svg +17 -0
- package/dist/cdn/icons/lucide/align-vertical-justify-start.svg +17 -0
- package/dist/cdn/icons/lucide/align-vertical-space-around.svg +17 -0
- package/dist/cdn/icons/lucide/align-vertical-space-between.svg +18 -0
- package/dist/cdn/icons/lucide/ambulance.svg +22 -0
- package/dist/cdn/icons/lucide/ampersand.svg +16 -0
- package/dist/cdn/icons/lucide/ampersands.svg +16 -0
- package/dist/cdn/icons/lucide/amphora.svg +20 -0
- package/dist/cdn/icons/lucide/anchor.svg +18 -0
- package/dist/cdn/icons/lucide/angry.svg +20 -0
- package/dist/cdn/icons/lucide/annoyed.svg +18 -0
- package/dist/cdn/icons/lucide/antenna.svg +20 -0
- package/dist/cdn/icons/lucide/anvil.svg +19 -0
- package/dist/cdn/icons/lucide/aperture.svg +21 -0
- package/dist/cdn/icons/lucide/app-window-mac.svg +18 -0
- package/dist/cdn/icons/lucide/app-window.svg +18 -0
- package/dist/cdn/icons/lucide/apple.svg +16 -0
- package/dist/cdn/icons/lucide/archive-restore.svg +19 -0
- package/dist/cdn/icons/lucide/archive-x.svg +18 -0
- package/dist/cdn/icons/lucide/archive.svg +17 -0
- package/dist/cdn/icons/lucide/area-chart.svg +16 -0
- package/dist/cdn/icons/lucide/armchair.svg +18 -0
- package/dist/cdn/icons/lucide/arrow-big-down-dash.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-big-down.svg +15 -0
- package/dist/cdn/icons/lucide/arrow-big-left-dash.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-big-left.svg +15 -0
- package/dist/cdn/icons/lucide/arrow-big-right-dash.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-big-right.svg +15 -0
- package/dist/cdn/icons/lucide/arrow-big-up-dash.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-big-up.svg +15 -0
- package/dist/cdn/icons/lucide/arrow-down-0-1.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-01.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-1-0.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-10.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-a-z.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-az.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-from-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-left-from-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-left-from-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-left-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-left.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-down-narrow-wide.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-right-from-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-right-from-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-right-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-right.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-down-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-to-dot.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-to-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-down-up.svg +18 -0
- package/dist/cdn/icons/lucide/arrow-down-wide-narrow.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-z-a.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down-za.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-down.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-left-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-left-from-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-left-right.svg +18 -0
- package/dist/cdn/icons/lucide/arrow-left-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-left-to-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-left.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-right-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-right-from-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-right-left.svg +18 -0
- package/dist/cdn/icons/lucide/arrow-right-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-right-to-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-right.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-up-0-1.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-01.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-1-0.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-10.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-a-z.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-az.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-down.svg +18 -0
- package/dist/cdn/icons/lucide/arrow-up-from-dot.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-from-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-left-from-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-left-from-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-left-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-left.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-up-narrow-wide.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-right-from-circle.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-right-from-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-right-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-right.svg +16 -0
- package/dist/cdn/icons/lucide/arrow-up-square.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-to-line.svg +17 -0
- package/dist/cdn/icons/lucide/arrow-up-wide-narrow.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-z-a.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up-za.svg +19 -0
- package/dist/cdn/icons/lucide/arrow-up.svg +16 -0
- package/dist/cdn/icons/lucide/arrows-up-from-line.svg +19 -0
- package/dist/cdn/icons/lucide/asterisk-square.svg +18 -0
- package/dist/cdn/icons/lucide/asterisk.svg +17 -0
- package/dist/cdn/icons/lucide/at-sign.svg +16 -0
- package/dist/cdn/icons/lucide/atom.svg +17 -0
- package/dist/cdn/icons/lucide/audio-lines.svg +20 -0
- package/dist/cdn/icons/lucide/audio-waveform.svg +15 -0
- package/dist/cdn/icons/lucide/award.svg +16 -0
- package/dist/cdn/icons/lucide/axe.svg +16 -0
- package/dist/cdn/icons/lucide/axis-3-d.svg +18 -0
- package/dist/cdn/icons/lucide/axis-3d.svg +18 -0
- package/dist/cdn/icons/lucide/baby.svg +18 -0
- package/dist/cdn/icons/lucide/backpack.svg +19 -0
- package/dist/cdn/icons/lucide/badge-alert.svg +17 -0
- package/dist/cdn/icons/lucide/badge-cent.svg +17 -0
- package/dist/cdn/icons/lucide/badge-check.svg +16 -0
- package/dist/cdn/icons/lucide/badge-dollar-sign.svg +17 -0
- package/dist/cdn/icons/lucide/badge-euro.svg +17 -0
- package/dist/cdn/icons/lucide/badge-help.svg +17 -0
- package/dist/cdn/icons/lucide/badge-indian-rupee.svg +18 -0
- package/dist/cdn/icons/lucide/badge-info.svg +17 -0
- package/dist/cdn/icons/lucide/badge-japanese-yen.svg +19 -0
- package/dist/cdn/icons/lucide/badge-minus.svg +16 -0
- package/dist/cdn/icons/lucide/badge-percent.svg +18 -0
- package/dist/cdn/icons/lucide/badge-plus.svg +17 -0
- package/dist/cdn/icons/lucide/badge-pound-sterling.svg +18 -0
- package/dist/cdn/icons/lucide/badge-question-mark.svg +17 -0
- package/dist/cdn/icons/lucide/badge-russian-ruble.svg +17 -0
- package/dist/cdn/icons/lucide/badge-swiss-franc.svg +18 -0
- package/dist/cdn/icons/lucide/badge-turkish-lira.svg +17 -0
- package/dist/cdn/icons/lucide/badge-x.svg +17 -0
- package/dist/cdn/icons/lucide/badge.svg +15 -0
- package/dist/cdn/icons/lucide/baggage-claim.svg +19 -0
- package/dist/cdn/icons/lucide/balloon.svg +17 -0
- package/dist/cdn/icons/lucide/ban.svg +16 -0
- package/dist/cdn/icons/lucide/banana.svg +16 -0
- package/dist/cdn/icons/lucide/bandage.svg +21 -0
- package/dist/cdn/icons/lucide/banknote-arrow-down.svg +20 -0
- package/dist/cdn/icons/lucide/banknote-arrow-up.svg +20 -0
- package/dist/cdn/icons/lucide/banknote-x.svg +20 -0
- package/dist/cdn/icons/lucide/banknote.svg +17 -0
- package/dist/cdn/icons/lucide/bar-chart-2.svg +17 -0
- package/dist/cdn/icons/lucide/bar-chart-3.svg +18 -0
- package/dist/cdn/icons/lucide/bar-chart-4.svg +18 -0
- package/dist/cdn/icons/lucide/bar-chart-big.svg +17 -0
- package/dist/cdn/icons/lucide/bar-chart-horizontal-big.svg +17 -0
- package/dist/cdn/icons/lucide/bar-chart-horizontal.svg +18 -0
- package/dist/cdn/icons/lucide/bar-chart.svg +17 -0
- package/dist/cdn/icons/lucide/barcode.svg +19 -0
- package/dist/cdn/icons/lucide/barrel.svg +19 -0
- package/dist/cdn/icons/lucide/baseline.svg +17 -0
- package/dist/cdn/icons/lucide/bath.svg +19 -0
- package/dist/cdn/icons/lucide/battery-charging.svg +18 -0
- package/dist/cdn/icons/lucide/battery-full.svg +19 -0
- package/dist/cdn/icons/lucide/battery-low.svg +17 -0
- package/dist/cdn/icons/lucide/battery-medium.svg +18 -0
- package/dist/cdn/icons/lucide/battery-plus.svg +19 -0
- package/dist/cdn/icons/lucide/battery-warning.svg +19 -0
- package/dist/cdn/icons/lucide/battery.svg +16 -0
- package/dist/cdn/icons/lucide/beaker.svg +17 -0
- package/dist/cdn/icons/lucide/bean-off.svg +18 -0
- package/dist/cdn/icons/lucide/bean.svg +16 -0
- package/dist/cdn/icons/lucide/bed-double.svg +18 -0
- package/dist/cdn/icons/lucide/bed-single.svg +17 -0
- package/dist/cdn/icons/lucide/bed.svg +18 -0
- package/dist/cdn/icons/lucide/beef.svg +17 -0
- package/dist/cdn/icons/lucide/beer-off.svg +22 -0
- package/dist/cdn/icons/lucide/beer.svg +19 -0
- package/dist/cdn/icons/lucide/bell-dot.svg +17 -0
- package/dist/cdn/icons/lucide/bell-electric.svg +20 -0
- package/dist/cdn/icons/lucide/bell-minus.svg +17 -0
- package/dist/cdn/icons/lucide/bell-off.svg +18 -0
- package/dist/cdn/icons/lucide/bell-plus.svg +18 -0
- package/dist/cdn/icons/lucide/bell-ring.svg +18 -0
- package/dist/cdn/icons/lucide/bell.svg +16 -0
- package/dist/cdn/icons/lucide/between-horizonal-end.svg +17 -0
- package/dist/cdn/icons/lucide/between-horizonal-start.svg +17 -0
- package/dist/cdn/icons/lucide/between-horizontal-end.svg +17 -0
- package/dist/cdn/icons/lucide/between-horizontal-start.svg +17 -0
- package/dist/cdn/icons/lucide/between-vertical-end.svg +17 -0
- package/dist/cdn/icons/lucide/between-vertical-start.svg +17 -0
- package/dist/cdn/icons/lucide/biceps-flexed.svg +17 -0
- package/dist/cdn/icons/lucide/bike.svg +18 -0
- package/dist/cdn/icons/lucide/binary.svg +20 -0
- package/dist/cdn/icons/lucide/binoculars.svg +20 -0
- package/dist/cdn/icons/lucide/biohazard.svg +24 -0
- package/dist/cdn/icons/lucide/bird.svg +20 -0
- package/dist/cdn/icons/lucide/birdhouse.svg +20 -0
- package/dist/cdn/icons/lucide/bitcoin.svg +15 -0
- package/dist/cdn/icons/lucide/blend.svg +16 -0
- package/dist/cdn/icons/lucide/blinds.svg +21 -0
- package/dist/cdn/icons/lucide/blocks.svg +16 -0
- package/dist/cdn/icons/lucide/bluetooth-connected.svg +17 -0
- package/dist/cdn/icons/lucide/bluetooth-off.svg +17 -0
- package/dist/cdn/icons/lucide/bluetooth-searching.svg +17 -0
- package/dist/cdn/icons/lucide/bluetooth.svg +15 -0
- package/dist/cdn/icons/lucide/bold.svg +15 -0
- package/dist/cdn/icons/lucide/bolt.svg +16 -0
- package/dist/cdn/icons/lucide/bomb.svg +17 -0
- package/dist/cdn/icons/lucide/bone.svg +15 -0
- package/dist/cdn/icons/lucide/book-a.svg +17 -0
- package/dist/cdn/icons/lucide/book-alert.svg +17 -0
- package/dist/cdn/icons/lucide/book-audio.svg +18 -0
- package/dist/cdn/icons/lucide/book-check.svg +16 -0
- package/dist/cdn/icons/lucide/book-copy.svg +17 -0
- package/dist/cdn/icons/lucide/book-dashed.svg +25 -0
- package/dist/cdn/icons/lucide/book-down.svg +17 -0
- package/dist/cdn/icons/lucide/book-headphones.svg +18 -0
- package/dist/cdn/icons/lucide/book-heart.svg +16 -0
- package/dist/cdn/icons/lucide/book-image.svg +17 -0
- package/dist/cdn/icons/lucide/book-key.svg +19 -0
- package/dist/cdn/icons/lucide/book-lock.svg +18 -0
- package/dist/cdn/icons/lucide/book-marked.svg +16 -0
- package/dist/cdn/icons/lucide/book-minus.svg +16 -0
- package/dist/cdn/icons/lucide/book-open-check.svg +17 -0
- package/dist/cdn/icons/lucide/book-open-text.svg +20 -0
- package/dist/cdn/icons/lucide/book-open.svg +16 -0
- package/dist/cdn/icons/lucide/book-plus.svg +17 -0
- package/dist/cdn/icons/lucide/book-search.svg +18 -0
- package/dist/cdn/icons/lucide/book-template.svg +25 -0
- package/dist/cdn/icons/lucide/book-text.svg +17 -0
- package/dist/cdn/icons/lucide/book-type.svg +18 -0
- package/dist/cdn/icons/lucide/book-up-2.svg +19 -0
- package/dist/cdn/icons/lucide/book-up.svg +17 -0
- package/dist/cdn/icons/lucide/book-user.svg +17 -0
- package/dist/cdn/icons/lucide/book-x.svg +17 -0
- package/dist/cdn/icons/lucide/book.svg +15 -0
- package/dist/cdn/icons/lucide/bookmark-check.svg +16 -0
- package/dist/cdn/icons/lucide/bookmark-minus.svg +16 -0
- package/dist/cdn/icons/lucide/bookmark-plus.svg +17 -0
- package/dist/cdn/icons/lucide/bookmark-x.svg +17 -0
- package/dist/cdn/icons/lucide/bookmark.svg +15 -0
- package/dist/cdn/icons/lucide/boom-box.svg +21 -0
- package/dist/cdn/icons/lucide/bot-message-square.svg +20 -0
- package/dist/cdn/icons/lucide/bot-off.svg +21 -0
- package/dist/cdn/icons/lucide/bot.svg +20 -0
- package/dist/cdn/icons/lucide/bottle-wine.svg +16 -0
- package/dist/cdn/icons/lucide/bow-arrow.svg +19 -0
- package/dist/cdn/icons/lucide/box-select.svg +26 -0
- package/dist/cdn/icons/lucide/box.svg +17 -0
- package/dist/cdn/icons/lucide/boxes.svg +26 -0
- package/dist/cdn/icons/lucide/braces.svg +16 -0
- package/dist/cdn/icons/lucide/brackets.svg +16 -0
- package/dist/cdn/icons/lucide/brain-circuit.svg +27 -0
- package/dist/cdn/icons/lucide/brain-cog.svg +29 -0
- package/dist/cdn/icons/lucide/brain.svg +22 -0
- package/dist/cdn/icons/lucide/brick-wall-fire.svg +21 -0
- package/dist/cdn/icons/lucide/brick-wall-shield.svg +22 -0
- package/dist/cdn/icons/lucide/brick-wall.svg +22 -0
- package/dist/cdn/icons/lucide/briefcase-business.svg +18 -0
- package/dist/cdn/icons/lucide/briefcase-conveyor-belt.svg +21 -0
- package/dist/cdn/icons/lucide/briefcase-medical.svg +20 -0
- package/dist/cdn/icons/lucide/briefcase.svg +16 -0
- package/dist/cdn/icons/lucide/bring-to-front.svg +17 -0
- package/dist/cdn/icons/lucide/brush-cleaning.svg +18 -0
- package/dist/cdn/icons/lucide/brush.svg +17 -0
- package/dist/cdn/icons/lucide/bubbles.svg +18 -0
- package/dist/cdn/icons/lucide/bug-off.svg +24 -0
- package/dist/cdn/icons/lucide/bug-play.svg +23 -0
- package/dist/cdn/icons/lucide/bug.svg +25 -0
- package/dist/cdn/icons/lucide/building-2.svg +19 -0
- package/dist/cdn/icons/lucide/building.svg +25 -0
- package/dist/cdn/icons/lucide/bus-front.svg +23 -0
- package/dist/cdn/icons/lucide/bus.svg +21 -0
- package/dist/cdn/icons/lucide/cable-car.svg +22 -0
- package/dist/cdn/icons/lucide/cable.svg +21 -0
- package/dist/cdn/icons/lucide/cake-slice.svg +18 -0
- package/dist/cdn/icons/lucide/cake.svg +23 -0
- package/dist/cdn/icons/lucide/calculator.svg +24 -0
- package/dist/cdn/icons/lucide/calendar-1.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-arrow-down.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-arrow-up.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-check-2.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-check.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-clock.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-cog.svg +27 -0
- package/dist/cdn/icons/lucide/calendar-days.svg +24 -0
- package/dist/cdn/icons/lucide/calendar-fold.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-heart.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-minus-2.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-minus.svg +19 -0
- package/dist/cdn/icons/lucide/calendar-off.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-plus-2.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-plus.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-range.svg +22 -0
- package/dist/cdn/icons/lucide/calendar-search.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-sync.svg +22 -0
- package/dist/cdn/icons/lucide/calendar-x-2.svg +20 -0
- package/dist/cdn/icons/lucide/calendar-x.svg +20 -0
- package/dist/cdn/icons/lucide/calendar.svg +18 -0
- package/dist/cdn/icons/lucide/calendars.svg +20 -0
- package/dist/cdn/icons/lucide/camera-off.svg +18 -0
- package/dist/cdn/icons/lucide/camera.svg +16 -0
- package/dist/cdn/icons/lucide/candlestick-chart.svg +21 -0
- package/dist/cdn/icons/lucide/candy-cane.svg +19 -0
- package/dist/cdn/icons/lucide/candy-off.svg +21 -0
- package/dist/cdn/icons/lucide/candy.svg +19 -0
- package/dist/cdn/icons/lucide/cannabis-off.svg +20 -0
- package/dist/cdn/icons/lucide/cannabis.svg +16 -0
- package/dist/cdn/icons/lucide/captions-off.svg +20 -0
- package/dist/cdn/icons/lucide/captions.svg +16 -0
- package/dist/cdn/icons/lucide/car-front.svg +20 -0
- package/dist/cdn/icons/lucide/car-taxi-front.svg +21 -0
- package/dist/cdn/icons/lucide/car.svg +18 -0
- package/dist/cdn/icons/lucide/caravan.svg +18 -0
- package/dist/cdn/icons/lucide/card-sim.svg +18 -0
- package/dist/cdn/icons/lucide/carrot.svg +17 -0
- package/dist/cdn/icons/lucide/case-lower.svg +18 -0
- package/dist/cdn/icons/lucide/case-sensitive.svg +18 -0
- package/dist/cdn/icons/lucide/case-upper.svg +17 -0
- package/dist/cdn/icons/lucide/cassette-tape.svg +19 -0
- package/dist/cdn/icons/lucide/cast.svg +18 -0
- package/dist/cdn/icons/lucide/castle.svg +22 -0
- package/dist/cdn/icons/lucide/cat.svg +18 -0
- package/dist/cdn/icons/lucide/cctv.svg +19 -0
- package/dist/cdn/icons/lucide/chart-area.svg +16 -0
- package/dist/cdn/icons/lucide/chart-bar-big.svg +17 -0
- package/dist/cdn/icons/lucide/chart-bar-decreasing.svg +18 -0
- package/dist/cdn/icons/lucide/chart-bar-increasing.svg +18 -0
- package/dist/cdn/icons/lucide/chart-bar-stacked.svg +19 -0
- package/dist/cdn/icons/lucide/chart-bar.svg +18 -0
- package/dist/cdn/icons/lucide/chart-candlestick.svg +21 -0
- package/dist/cdn/icons/lucide/chart-column-big.svg +17 -0
- package/dist/cdn/icons/lucide/chart-column-decreasing.svg +18 -0
- package/dist/cdn/icons/lucide/chart-column-increasing.svg +18 -0
- package/dist/cdn/icons/lucide/chart-column-stacked.svg +19 -0
- package/dist/cdn/icons/lucide/chart-column.svg +18 -0
- package/dist/cdn/icons/lucide/chart-gantt.svg +18 -0
- package/dist/cdn/icons/lucide/chart-line.svg +16 -0
- package/dist/cdn/icons/lucide/chart-network.svg +21 -0
- package/dist/cdn/icons/lucide/chart-no-axes-column-decreasing.svg +17 -0
- package/dist/cdn/icons/lucide/chart-no-axes-column-increasing.svg +17 -0
- package/dist/cdn/icons/lucide/chart-no-axes-column.svg +17 -0
- package/dist/cdn/icons/lucide/chart-no-axes-combined.svg +20 -0
- package/dist/cdn/icons/lucide/chart-no-axes-gantt.svg +17 -0
- package/dist/cdn/icons/lucide/chart-pie.svg +16 -0
- package/dist/cdn/icons/lucide/chart-scatter.svg +20 -0
- package/dist/cdn/icons/lucide/chart-spline.svg +16 -0
- package/dist/cdn/icons/lucide/check-check.svg +16 -0
- package/dist/cdn/icons/lucide/check-circle-2.svg +16 -0
- package/dist/cdn/icons/lucide/check-circle.svg +16 -0
- package/dist/cdn/icons/lucide/check-line.svg +17 -0
- package/dist/cdn/icons/lucide/check-square-2.svg +16 -0
- package/dist/cdn/icons/lucide/check-square.svg +16 -0
- package/dist/cdn/icons/lucide/check.svg +15 -0
- package/dist/cdn/icons/lucide/chef-hat.svg +16 -0
- package/dist/cdn/icons/lucide/cherry.svg +18 -0
- package/dist/cdn/icons/lucide/chess-bishop.svg +18 -0
- package/dist/cdn/icons/lucide/chess-king.svg +18 -0
- package/dist/cdn/icons/lucide/chess-knight.svg +19 -0
- package/dist/cdn/icons/lucide/chess-pawn.svg +19 -0
- package/dist/cdn/icons/lucide/chess-queen.svg +22 -0
- package/dist/cdn/icons/lucide/chess-rook.svg +21 -0
- package/dist/cdn/icons/lucide/chevron-down-circle.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-down-square.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-down.svg +15 -0
- package/dist/cdn/icons/lucide/chevron-first.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-last.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-left-circle.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-left-square.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-left.svg +15 -0
- package/dist/cdn/icons/lucide/chevron-right-circle.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-right-square.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-right.svg +15 -0
- package/dist/cdn/icons/lucide/chevron-up-circle.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-up-square.svg +16 -0
- package/dist/cdn/icons/lucide/chevron-up.svg +15 -0
- package/dist/cdn/icons/lucide/chevrons-down-up.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-down.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-left-right-ellipsis.svg +19 -0
- package/dist/cdn/icons/lucide/chevrons-left-right.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-left.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-right-left.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-right.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-up-down.svg +16 -0
- package/dist/cdn/icons/lucide/chevrons-up.svg +16 -0
- package/dist/cdn/icons/lucide/chrome.svg +19 -0
- package/dist/cdn/icons/lucide/chromium.svg +19 -0
- package/dist/cdn/icons/lucide/church.svg +19 -0
- package/dist/cdn/icons/lucide/cigarette-off.svg +20 -0
- package/dist/cdn/icons/lucide/cigarette.svg +19 -0
- package/dist/cdn/icons/lucide/circle-alert.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-down.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-left.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-out-down-left.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-out-down-right.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-out-up-left.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-out-up-right.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-right.svg +17 -0
- package/dist/cdn/icons/lucide/circle-arrow-up.svg +17 -0
- package/dist/cdn/icons/lucide/circle-check-big.svg +16 -0
- package/dist/cdn/icons/lucide/circle-check.svg +16 -0
- package/dist/cdn/icons/lucide/circle-chevron-down.svg +16 -0
- package/dist/cdn/icons/lucide/circle-chevron-left.svg +16 -0
- package/dist/cdn/icons/lucide/circle-chevron-right.svg +16 -0
- package/dist/cdn/icons/lucide/circle-chevron-up.svg +16 -0
- package/dist/cdn/icons/lucide/circle-dashed.svg +22 -0
- package/dist/cdn/icons/lucide/circle-divide.svg +18 -0
- package/dist/cdn/icons/lucide/circle-dollar-sign.svg +17 -0
- package/dist/cdn/icons/lucide/circle-dot-dashed.svg +23 -0
- package/dist/cdn/icons/lucide/circle-dot.svg +16 -0
- package/dist/cdn/icons/lucide/circle-ellipsis.svg +18 -0
- package/dist/cdn/icons/lucide/circle-equal.svg +17 -0
- package/dist/cdn/icons/lucide/circle-fading-arrow-up.svg +21 -0
- package/dist/cdn/icons/lucide/circle-fading-plus.svg +21 -0
- package/dist/cdn/icons/lucide/circle-gauge.svg +17 -0
- package/dist/cdn/icons/lucide/circle-help.svg +17 -0
- package/dist/cdn/icons/lucide/circle-minus.svg +16 -0
- package/dist/cdn/icons/lucide/circle-off.svg +17 -0
- package/dist/cdn/icons/lucide/circle-parking-off.svg +20 -0
- package/dist/cdn/icons/lucide/circle-parking.svg +16 -0
- package/dist/cdn/icons/lucide/circle-pause.svg +17 -0
- package/dist/cdn/icons/lucide/circle-percent.svg +18 -0
- package/dist/cdn/icons/lucide/circle-pile.svg +11 -0
- package/dist/cdn/icons/lucide/circle-play.svg +16 -0
- package/dist/cdn/icons/lucide/circle-plus.svg +17 -0
- package/dist/cdn/icons/lucide/circle-pound-sterling.svg +18 -0
- package/dist/cdn/icons/lucide/circle-power.svg +17 -0
- package/dist/cdn/icons/lucide/circle-question-mark.svg +17 -0
- package/dist/cdn/icons/lucide/circle-slash-2.svg +16 -0
- package/dist/cdn/icons/lucide/circle-slash.svg +16 -0
- package/dist/cdn/icons/lucide/circle-slashed.svg +16 -0
- package/dist/cdn/icons/lucide/circle-small.svg +15 -0
- package/dist/cdn/icons/lucide/circle-star.svg +16 -0
- package/dist/cdn/icons/lucide/circle-stop.svg +16 -0
- package/dist/cdn/icons/lucide/circle-user-round.svg +17 -0
- package/dist/cdn/icons/lucide/circle-user.svg +17 -0
- package/dist/cdn/icons/lucide/circle-x.svg +17 -0
- package/dist/cdn/icons/lucide/circle.svg +15 -0
- package/dist/cdn/icons/lucide/circuit-board.svg +19 -0
- package/dist/cdn/icons/lucide/citrus.svg +18 -0
- package/dist/cdn/icons/lucide/clapperboard.svg +18 -0
- package/dist/cdn/icons/lucide/clipboard-check.svg +17 -0
- package/dist/cdn/icons/lucide/clipboard-clock.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-copy.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-edit.svg +18 -0
- package/dist/cdn/icons/lucide/clipboard-list.svg +20 -0
- package/dist/cdn/icons/lucide/clipboard-minus.svg +17 -0
- package/dist/cdn/icons/lucide/clipboard-paste.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-pen-line.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-pen.svg +18 -0
- package/dist/cdn/icons/lucide/clipboard-plus.svg +18 -0
- package/dist/cdn/icons/lucide/clipboard-signature.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-type.svg +19 -0
- package/dist/cdn/icons/lucide/clipboard-x.svg +18 -0
- package/dist/cdn/icons/lucide/clipboard.svg +16 -0
- package/dist/cdn/icons/lucide/clock-1.svg +16 -0
- package/dist/cdn/icons/lucide/clock-10.svg +16 -0
- package/dist/cdn/icons/lucide/clock-11.svg +16 -0
- package/dist/cdn/icons/lucide/clock-12.svg +16 -0
- package/dist/cdn/icons/lucide/clock-2.svg +16 -0
- package/dist/cdn/icons/lucide/clock-3.svg +16 -0
- package/dist/cdn/icons/lucide/clock-4.svg +16 -0
- package/dist/cdn/icons/lucide/clock-5.svg +16 -0
- package/dist/cdn/icons/lucide/clock-6.svg +16 -0
- package/dist/cdn/icons/lucide/clock-7.svg +16 -0
- package/dist/cdn/icons/lucide/clock-8.svg +16 -0
- package/dist/cdn/icons/lucide/clock-9.svg +16 -0
- package/dist/cdn/icons/lucide/clock-alert.svg +18 -0
- package/dist/cdn/icons/lucide/clock-arrow-down.svg +18 -0
- package/dist/cdn/icons/lucide/clock-arrow-up.svg +18 -0
- package/dist/cdn/icons/lucide/clock-check.svg +17 -0
- package/dist/cdn/icons/lucide/clock-fading.svg +20 -0
- package/dist/cdn/icons/lucide/clock-plus.svg +18 -0
- package/dist/cdn/icons/lucide/clock.svg +16 -0
- package/dist/cdn/icons/lucide/closed-caption.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-alert.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-backup.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-check.svg +16 -0
- package/dist/cdn/icons/lucide/cloud-cog.svg +23 -0
- package/dist/cdn/icons/lucide/cloud-download.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-drizzle.svg +21 -0
- package/dist/cdn/icons/lucide/cloud-fog.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-hail.svg +21 -0
- package/dist/cdn/icons/lucide/cloud-lightning.svg +16 -0
- package/dist/cdn/icons/lucide/cloud-moon-rain.svg +18 -0
- package/dist/cdn/icons/lucide/cloud-moon.svg +16 -0
- package/dist/cdn/icons/lucide/cloud-off.svg +17 -0
- package/dist/cdn/icons/lucide/cloud-rain-wind.svg +18 -0
- package/dist/cdn/icons/lucide/cloud-rain.svg +18 -0
- package/dist/cdn/icons/lucide/cloud-snow.svg +21 -0
- package/dist/cdn/icons/lucide/cloud-sun-rain.svg +22 -0
- package/dist/cdn/icons/lucide/cloud-sun.svg +20 -0
- package/dist/cdn/icons/lucide/cloud-sync.svg +19 -0
- package/dist/cdn/icons/lucide/cloud-upload.svg +17 -0
- package/dist/cdn/icons/lucide/cloud.svg +15 -0
- package/dist/cdn/icons/lucide/cloudy.svg +16 -0
- package/dist/cdn/icons/lucide/clover.svg +17 -0
- package/dist/cdn/icons/lucide/club.svg +16 -0
- package/dist/cdn/icons/lucide/code-2.svg +17 -0
- package/dist/cdn/icons/lucide/code-square.svg +17 -0
- package/dist/cdn/icons/lucide/code-xml.svg +17 -0
- package/dist/cdn/icons/lucide/code.svg +16 -0
- package/dist/cdn/icons/lucide/codepen.svg +19 -0
- package/dist/cdn/icons/lucide/codesandbox.svg +20 -0
- package/dist/cdn/icons/lucide/coffee.svg +18 -0
- package/dist/cdn/icons/lucide/cog.svg +28 -0
- package/dist/cdn/icons/lucide/coins.svg +18 -0
- package/dist/cdn/icons/lucide/columns-2.svg +16 -0
- package/dist/cdn/icons/lucide/columns-3-cog.svg +26 -0
- package/dist/cdn/icons/lucide/columns-3.svg +17 -0
- package/dist/cdn/icons/lucide/columns-4.svg +18 -0
- package/dist/cdn/icons/lucide/columns-settings.svg +26 -0
- package/dist/cdn/icons/lucide/columns.svg +16 -0
- package/dist/cdn/icons/lucide/combine.svg +20 -0
- package/dist/cdn/icons/lucide/command.svg +15 -0
- package/dist/cdn/icons/lucide/compass.svg +16 -0
- package/dist/cdn/icons/lucide/component.svg +18 -0
- package/dist/cdn/icons/lucide/computer.svg +18 -0
- package/dist/cdn/icons/lucide/concierge-bell.svg +18 -0
- package/dist/cdn/icons/lucide/cone.svg +16 -0
- package/dist/cdn/icons/lucide/construction.svg +22 -0
- package/dist/cdn/icons/lucide/contact-2.svg +19 -0
- package/dist/cdn/icons/lucide/contact-round.svg +19 -0
- package/dist/cdn/icons/lucide/contact.svg +19 -0
- package/dist/cdn/icons/lucide/container.svg +19 -0
- package/dist/cdn/icons/lucide/contrast.svg +16 -0
- package/dist/cdn/icons/lucide/cookie.svg +20 -0
- package/dist/cdn/icons/lucide/cooking-pot.svg +18 -0
- package/dist/cdn/icons/lucide/copy-check.svg +17 -0
- package/dist/cdn/icons/lucide/copy-minus.svg +17 -0
- package/dist/cdn/icons/lucide/copy-plus.svg +18 -0
- package/dist/cdn/icons/lucide/copy-slash.svg +17 -0
- package/dist/cdn/icons/lucide/copy-x.svg +18 -0
- package/dist/cdn/icons/lucide/copy.svg +16 -0
- package/dist/cdn/icons/lucide/copyleft.svg +16 -0
- package/dist/cdn/icons/lucide/copyright.svg +16 -0
- package/dist/cdn/icons/lucide/corner-down-left.svg +16 -0
- package/dist/cdn/icons/lucide/corner-down-right.svg +16 -0
- package/dist/cdn/icons/lucide/corner-left-down.svg +16 -0
- package/dist/cdn/icons/lucide/corner-left-up.svg +16 -0
- package/dist/cdn/icons/lucide/corner-right-down.svg +16 -0
- package/dist/cdn/icons/lucide/corner-right-up.svg +16 -0
- package/dist/cdn/icons/lucide/corner-up-left.svg +16 -0
- package/dist/cdn/icons/lucide/corner-up-right.svg +16 -0
- package/dist/cdn/icons/lucide/cpu.svg +28 -0
- package/dist/cdn/icons/lucide/creative-commons.svg +17 -0
- package/dist/cdn/icons/lucide/credit-card.svg +16 -0
- package/dist/cdn/icons/lucide/croissant.svg +19 -0
- package/dist/cdn/icons/lucide/crop.svg +16 -0
- package/dist/cdn/icons/lucide/cross.svg +15 -0
- package/dist/cdn/icons/lucide/crosshair.svg +19 -0
- package/dist/cdn/icons/lucide/crown.svg +16 -0
- package/dist/cdn/icons/lucide/cuboid.svg +17 -0
- package/dist/cdn/icons/lucide/cup-soda.svg +18 -0
- package/dist/cdn/icons/lucide/curly-braces.svg +16 -0
- package/dist/cdn/icons/lucide/currency.svg +19 -0
- package/dist/cdn/icons/lucide/cylinder.svg +16 -0
- package/dist/cdn/icons/lucide/dam.svg +21 -0
- package/dist/cdn/icons/lucide/database-backup.svg +20 -0
- package/dist/cdn/icons/lucide/database-zap.svg +19 -0
- package/dist/cdn/icons/lucide/database.svg +17 -0
- package/dist/cdn/icons/lucide/decimals-arrow-left.svg +18 -0
- package/dist/cdn/icons/lucide/decimals-arrow-right.svg +19 -0
- package/dist/cdn/icons/lucide/delete.svg +17 -0
- package/dist/cdn/icons/lucide/dessert.svg +17 -0
- package/dist/cdn/icons/lucide/diameter.svg +19 -0
- package/dist/cdn/icons/lucide/diamond-minus.svg +16 -0
- package/dist/cdn/icons/lucide/diamond-percent.svg +18 -0
- package/dist/cdn/icons/lucide/diamond-plus.svg +17 -0
- package/dist/cdn/icons/lucide/diamond.svg +15 -0
- package/dist/cdn/icons/lucide/dice-1.svg +16 -0
- package/dist/cdn/icons/lucide/dice-2.svg +17 -0
- package/dist/cdn/icons/lucide/dice-3.svg +18 -0
- package/dist/cdn/icons/lucide/dice-4.svg +19 -0
- package/dist/cdn/icons/lucide/dice-5.svg +20 -0
- package/dist/cdn/icons/lucide/dice-6.svg +21 -0
- package/dist/cdn/icons/lucide/dices.svg +20 -0
- package/dist/cdn/icons/lucide/diff.svg +17 -0
- package/dist/cdn/icons/lucide/disc-2.svg +17 -0
- package/dist/cdn/icons/lucide/disc-3.svg +18 -0
- package/dist/cdn/icons/lucide/disc-album.svg +17 -0
- package/dist/cdn/icons/lucide/disc.svg +16 -0
- package/dist/cdn/icons/lucide/divide-circle.svg +18 -0
- package/dist/cdn/icons/lucide/divide-square.svg +18 -0
- package/dist/cdn/icons/lucide/divide.svg +17 -0
- package/dist/cdn/icons/lucide/dna-off.svg +24 -0
- package/dist/cdn/icons/lucide/dna.svg +25 -0
- package/dist/cdn/icons/lucide/dock.svg +17 -0
- package/dist/cdn/icons/lucide/dog.svg +19 -0
- package/dist/cdn/icons/lucide/dollar-sign.svg +16 -0
- package/dist/cdn/icons/lucide/donut.svg +16 -0
- package/dist/cdn/icons/lucide/door-closed-locked.svg +19 -0
- package/dist/cdn/icons/lucide/door-closed.svg +17 -0
- package/dist/cdn/icons/lucide/door-open.svg +19 -0
- package/dist/cdn/icons/lucide/dot-square.svg +16 -0
- package/dist/cdn/icons/lucide/dot.svg +15 -0
- package/dist/cdn/icons/lucide/download-cloud.svg +17 -0
- package/dist/cdn/icons/lucide/download.svg +17 -0
- package/dist/cdn/icons/lucide/drafting-compass.svg +19 -0
- package/dist/cdn/icons/lucide/drama.svg +22 -0
- package/dist/cdn/icons/lucide/dribbble.svg +18 -0
- package/dist/cdn/icons/lucide/drill.svg +20 -0
- package/dist/cdn/icons/lucide/drone.svg +23 -0
- package/dist/cdn/icons/lucide/droplet-off.svg +17 -0
- package/dist/cdn/icons/lucide/droplet.svg +15 -0
- package/dist/cdn/icons/lucide/droplets.svg +16 -0
- package/dist/cdn/icons/lucide/drum.svg +21 -0
- package/dist/cdn/icons/lucide/drumstick.svg +16 -0
- package/dist/cdn/icons/lucide/dumbbell.svg +19 -0
- package/dist/cdn/icons/lucide/ear-off.svg +19 -0
- package/dist/cdn/icons/lucide/ear.svg +16 -0
- package/dist/cdn/icons/lucide/earth-lock.svg +20 -0
- package/dist/cdn/icons/lucide/earth.svg +18 -0
- package/dist/cdn/icons/lucide/eclipse.svg +16 -0
- package/dist/cdn/icons/lucide/edit-2.svg +15 -0
- package/dist/cdn/icons/lucide/edit-3.svg +16 -0
- package/dist/cdn/icons/lucide/edit.svg +16 -0
- package/dist/cdn/icons/lucide/egg-fried.svg +16 -0
- package/dist/cdn/icons/lucide/egg-off.svg +17 -0
- package/dist/cdn/icons/lucide/egg.svg +15 -0
- package/dist/cdn/icons/lucide/ellipsis-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/ellipsis.svg +17 -0
- package/dist/cdn/icons/lucide/equal-approximately.svg +16 -0
- package/dist/cdn/icons/lucide/equal-not.svg +17 -0
- package/dist/cdn/icons/lucide/equal-square.svg +17 -0
- package/dist/cdn/icons/lucide/equal.svg +16 -0
- package/dist/cdn/icons/lucide/eraser.svg +16 -0
- package/dist/cdn/icons/lucide/ethernet-port.svg +19 -0
- package/dist/cdn/icons/lucide/euro.svg +17 -0
- package/dist/cdn/icons/lucide/ev-charger.svg +19 -0
- package/dist/cdn/icons/lucide/expand.svg +22 -0
- package/dist/cdn/icons/lucide/external-link.svg +17 -0
- package/dist/cdn/icons/lucide/eye-closed.svg +19 -0
- package/dist/cdn/icons/lucide/eye-off.svg +18 -0
- package/dist/cdn/icons/lucide/eye.svg +16 -0
- package/dist/cdn/icons/lucide/facebook.svg +15 -0
- package/dist/cdn/icons/lucide/factory.svg +18 -0
- package/dist/cdn/icons/lucide/fan.svg +16 -0
- package/dist/cdn/icons/lucide/fast-forward.svg +16 -0
- package/dist/cdn/icons/lucide/feather.svg +17 -0
- package/dist/cdn/icons/lucide/fence.svg +21 -0
- package/dist/cdn/icons/lucide/ferris-wheel.svg +23 -0
- package/dist/cdn/icons/lucide/figma.svg +19 -0
- package/dist/cdn/icons/lucide/file-archive.svg +20 -0
- package/dist/cdn/icons/lucide/file-audio-2.svg +17 -0
- package/dist/cdn/icons/lucide/file-audio.svg +17 -0
- package/dist/cdn/icons/lucide/file-axis-3-d.svg +18 -0
- package/dist/cdn/icons/lucide/file-axis-3d.svg +18 -0
- package/dist/cdn/icons/lucide/file-badge-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-badge.svg +18 -0
- package/dist/cdn/icons/lucide/file-bar-chart-2.svg +19 -0
- package/dist/cdn/icons/lucide/file-bar-chart.svg +19 -0
- package/dist/cdn/icons/lucide/file-box.svg +19 -0
- package/dist/cdn/icons/lucide/file-braces-corner.svg +18 -0
- package/dist/cdn/icons/lucide/file-braces.svg +18 -0
- package/dist/cdn/icons/lucide/file-chart-column-increasing.svg +19 -0
- package/dist/cdn/icons/lucide/file-chart-column.svg +19 -0
- package/dist/cdn/icons/lucide/file-chart-line.svg +17 -0
- package/dist/cdn/icons/lucide/file-chart-pie.svg +18 -0
- package/dist/cdn/icons/lucide/file-check-2.svg +17 -0
- package/dist/cdn/icons/lucide/file-check-corner.svg +17 -0
- package/dist/cdn/icons/lucide/file-check.svg +17 -0
- package/dist/cdn/icons/lucide/file-clock.svg +18 -0
- package/dist/cdn/icons/lucide/file-code-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-code-corner.svg +18 -0
- package/dist/cdn/icons/lucide/file-code.svg +18 -0
- package/dist/cdn/icons/lucide/file-cog-2.svg +25 -0
- package/dist/cdn/icons/lucide/file-cog.svg +25 -0
- package/dist/cdn/icons/lucide/file-diff.svg +18 -0
- package/dist/cdn/icons/lucide/file-digit.svg +19 -0
- package/dist/cdn/icons/lucide/file-down.svg +18 -0
- package/dist/cdn/icons/lucide/file-edit.svg +17 -0
- package/dist/cdn/icons/lucide/file-exclamation-point.svg +17 -0
- package/dist/cdn/icons/lucide/file-headphone.svg +17 -0
- package/dist/cdn/icons/lucide/file-heart.svg +17 -0
- package/dist/cdn/icons/lucide/file-image.svg +18 -0
- package/dist/cdn/icons/lucide/file-input.svg +18 -0
- package/dist/cdn/icons/lucide/file-json-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-json.svg +18 -0
- package/dist/cdn/icons/lucide/file-key-2.svg +19 -0
- package/dist/cdn/icons/lucide/file-key.svg +19 -0
- package/dist/cdn/icons/lucide/file-line-chart.svg +17 -0
- package/dist/cdn/icons/lucide/file-lock-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-lock.svg +18 -0
- package/dist/cdn/icons/lucide/file-minus-2.svg +17 -0
- package/dist/cdn/icons/lucide/file-minus-corner.svg +17 -0
- package/dist/cdn/icons/lucide/file-minus.svg +17 -0
- package/dist/cdn/icons/lucide/file-music.svg +18 -0
- package/dist/cdn/icons/lucide/file-output.svg +18 -0
- package/dist/cdn/icons/lucide/file-pen-line.svg +17 -0
- package/dist/cdn/icons/lucide/file-pen.svg +17 -0
- package/dist/cdn/icons/lucide/file-pie-chart.svg +18 -0
- package/dist/cdn/icons/lucide/file-play.svg +17 -0
- package/dist/cdn/icons/lucide/file-plus-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-plus-corner.svg +18 -0
- package/dist/cdn/icons/lucide/file-plus.svg +18 -0
- package/dist/cdn/icons/lucide/file-question-mark.svg +17 -0
- package/dist/cdn/icons/lucide/file-question.svg +17 -0
- package/dist/cdn/icons/lucide/file-scan.svg +20 -0
- package/dist/cdn/icons/lucide/file-search-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-search-corner.svg +18 -0
- package/dist/cdn/icons/lucide/file-search.svg +18 -0
- package/dist/cdn/icons/lucide/file-signal.svg +19 -0
- package/dist/cdn/icons/lucide/file-signature.svg +17 -0
- package/dist/cdn/icons/lucide/file-sliders.svg +20 -0
- package/dist/cdn/icons/lucide/file-spreadsheet.svg +20 -0
- package/dist/cdn/icons/lucide/file-stack.svg +17 -0
- package/dist/cdn/icons/lucide/file-symlink.svg +17 -0
- package/dist/cdn/icons/lucide/file-terminal.svg +18 -0
- package/dist/cdn/icons/lucide/file-text.svg +19 -0
- package/dist/cdn/icons/lucide/file-type-2.svg +19 -0
- package/dist/cdn/icons/lucide/file-type-corner.svg +19 -0
- package/dist/cdn/icons/lucide/file-type.svg +19 -0
- package/dist/cdn/icons/lucide/file-up.svg +18 -0
- package/dist/cdn/icons/lucide/file-user.svg +18 -0
- package/dist/cdn/icons/lucide/file-video-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-video-camera.svg +18 -0
- package/dist/cdn/icons/lucide/file-video.svg +17 -0
- package/dist/cdn/icons/lucide/file-volume-2.svg +19 -0
- package/dist/cdn/icons/lucide/file-volume.svg +18 -0
- package/dist/cdn/icons/lucide/file-warning.svg +17 -0
- package/dist/cdn/icons/lucide/file-x-2.svg +18 -0
- package/dist/cdn/icons/lucide/file-x-corner.svg +18 -0
- package/dist/cdn/icons/lucide/file-x.svg +18 -0
- package/dist/cdn/icons/lucide/file.svg +16 -0
- package/dist/cdn/icons/lucide/files.svg +17 -0
- package/dist/cdn/icons/lucide/film.svg +22 -0
- package/dist/cdn/icons/lucide/filter-x.svg +17 -0
- package/dist/cdn/icons/lucide/filter.svg +15 -0
- package/dist/cdn/icons/lucide/fingerprint-pattern.svg +23 -0
- package/dist/cdn/icons/lucide/fingerprint.svg +23 -0
- package/dist/cdn/icons/lucide/fire-extinguisher.svg +20 -0
- package/dist/cdn/icons/lucide/fish-off.svg +17 -0
- package/dist/cdn/icons/lucide/fish-symbol.svg +15 -0
- package/dist/cdn/icons/lucide/fish.svg +20 -0
- package/dist/cdn/icons/lucide/fishing-hook.svg +17 -0
- package/dist/cdn/icons/lucide/flag-off.svg +18 -0
- package/dist/cdn/icons/lucide/flag-triangle-left.svg +15 -0
- package/dist/cdn/icons/lucide/flag-triangle-right.svg +15 -0
- package/dist/cdn/icons/lucide/flag.svg +15 -0
- package/dist/cdn/icons/lucide/flame-kindling.svg +17 -0
- package/dist/cdn/icons/lucide/flame.svg +15 -0
- package/dist/cdn/icons/lucide/flashlight-off.svg +19 -0
- package/dist/cdn/icons/lucide/flashlight.svg +17 -0
- package/dist/cdn/icons/lucide/flask-conical-off.svg +20 -0
- package/dist/cdn/icons/lucide/flask-conical.svg +17 -0
- package/dist/cdn/icons/lucide/flask-round.svg +17 -0
- package/dist/cdn/icons/lucide/flip-horizontal-2.svg +20 -0
- package/dist/cdn/icons/lucide/flip-horizontal.svg +20 -0
- package/dist/cdn/icons/lucide/flip-vertical-2.svg +20 -0
- package/dist/cdn/icons/lucide/flip-vertical.svg +20 -0
- package/dist/cdn/icons/lucide/flower-2.svg +19 -0
- package/dist/cdn/icons/lucide/flower.svg +24 -0
- package/dist/cdn/icons/lucide/focus.svg +19 -0
- package/dist/cdn/icons/lucide/fold-horizontal.svg +22 -0
- package/dist/cdn/icons/lucide/fold-vertical.svg +22 -0
- package/dist/cdn/icons/lucide/folder-archive.svg +18 -0
- package/dist/cdn/icons/lucide/folder-check.svg +16 -0
- package/dist/cdn/icons/lucide/folder-clock.svg +17 -0
- package/dist/cdn/icons/lucide/folder-closed.svg +16 -0
- package/dist/cdn/icons/lucide/folder-code.svg +17 -0
- package/dist/cdn/icons/lucide/folder-cog-2.svg +24 -0
- package/dist/cdn/icons/lucide/folder-cog.svg +24 -0
- package/dist/cdn/icons/lucide/folder-dot.svg +16 -0
- package/dist/cdn/icons/lucide/folder-down.svg +17 -0
- package/dist/cdn/icons/lucide/folder-edit.svg +16 -0
- package/dist/cdn/icons/lucide/folder-git-2.svg +18 -0
- package/dist/cdn/icons/lucide/folder-git.svg +18 -0
- package/dist/cdn/icons/lucide/folder-heart.svg +16 -0
- package/dist/cdn/icons/lucide/folder-input.svg +17 -0
- package/dist/cdn/icons/lucide/folder-kanban.svg +18 -0
- package/dist/cdn/icons/lucide/folder-key.svg +18 -0
- package/dist/cdn/icons/lucide/folder-lock.svg +17 -0
- package/dist/cdn/icons/lucide/folder-minus.svg +16 -0
- package/dist/cdn/icons/lucide/folder-open-dot.svg +16 -0
- package/dist/cdn/icons/lucide/folder-open.svg +15 -0
- package/dist/cdn/icons/lucide/folder-output.svg +17 -0
- package/dist/cdn/icons/lucide/folder-pen.svg +16 -0
- package/dist/cdn/icons/lucide/folder-plus.svg +17 -0
- package/dist/cdn/icons/lucide/folder-root.svg +17 -0
- package/dist/cdn/icons/lucide/folder-search-2.svg +17 -0
- package/dist/cdn/icons/lucide/folder-search.svg +17 -0
- package/dist/cdn/icons/lucide/folder-symlink.svg +16 -0
- package/dist/cdn/icons/lucide/folder-sync.svg +19 -0
- package/dist/cdn/icons/lucide/folder-tree.svg +18 -0
- package/dist/cdn/icons/lucide/folder-up.svg +17 -0
- package/dist/cdn/icons/lucide/folder-x.svg +17 -0
- package/dist/cdn/icons/lucide/folder.svg +15 -0
- package/dist/cdn/icons/lucide/folders.svg +16 -0
- package/dist/cdn/icons/lucide/footprints.svg +18 -0
- package/dist/cdn/icons/lucide/fork-knife-crossed.svg +18 -0
- package/dist/cdn/icons/lucide/fork-knife.svg +17 -0
- package/dist/cdn/icons/lucide/forklift.svg +18 -0
- package/dist/cdn/icons/lucide/form-input.svg +18 -0
- package/dist/cdn/icons/lucide/form.svg +18 -0
- package/dist/cdn/icons/lucide/forward.svg +16 -0
- package/dist/cdn/icons/lucide/frame.svg +18 -0
- package/dist/cdn/icons/lucide/framer.svg +15 -0
- package/dist/cdn/icons/lucide/frown.svg +18 -0
- package/dist/cdn/icons/lucide/fuel.svg +18 -0
- package/dist/cdn/icons/lucide/fullscreen.svg +19 -0
- package/dist/cdn/icons/lucide/function-square.svg +17 -0
- package/dist/cdn/icons/lucide/funnel-plus.svg +17 -0
- package/dist/cdn/icons/lucide/funnel-x.svg +17 -0
- package/dist/cdn/icons/lucide/funnel.svg +15 -0
- package/dist/cdn/icons/lucide/gallery-horizontal-end.svg +17 -0
- package/dist/cdn/icons/lucide/gallery-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/gallery-thumbnails.svg +19 -0
- package/dist/cdn/icons/lucide/gallery-vertical-end.svg +17 -0
- package/dist/cdn/icons/lucide/gallery-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/gamepad-2.svg +19 -0
- package/dist/cdn/icons/lucide/gamepad-directional.svg +13 -0
- package/dist/cdn/icons/lucide/gamepad.svg +19 -0
- package/dist/cdn/icons/lucide/gantt-chart-square.svg +18 -0
- package/dist/cdn/icons/lucide/gantt-chart.svg +17 -0
- package/dist/cdn/icons/lucide/gauge-circle.svg +17 -0
- package/dist/cdn/icons/lucide/gauge.svg +16 -0
- package/dist/cdn/icons/lucide/gavel.svg +19 -0
- package/dist/cdn/icons/lucide/gem.svg +17 -0
- package/dist/cdn/icons/lucide/georgian-lari.svg +18 -0
- package/dist/cdn/icons/lucide/ghost.svg +17 -0
- package/dist/cdn/icons/lucide/gift.svg +18 -0
- package/dist/cdn/icons/lucide/git-branch-minus.svg +18 -0
- package/dist/cdn/icons/lucide/git-branch-plus.svg +20 -0
- package/dist/cdn/icons/lucide/git-branch.svg +18 -0
- package/dist/cdn/icons/lucide/git-commit-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/git-commit-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/git-commit.svg +17 -0
- package/dist/cdn/icons/lucide/git-compare-arrows.svg +20 -0
- package/dist/cdn/icons/lucide/git-compare.svg +18 -0
- package/dist/cdn/icons/lucide/git-fork.svg +19 -0
- package/dist/cdn/icons/lucide/git-graph.svg +20 -0
- package/dist/cdn/icons/lucide/git-merge.svg +17 -0
- package/dist/cdn/icons/lucide/git-pull-request-arrow.svg +19 -0
- package/dist/cdn/icons/lucide/git-pull-request-closed.svg +20 -0
- package/dist/cdn/icons/lucide/git-pull-request-create-arrow.svg +20 -0
- package/dist/cdn/icons/lucide/git-pull-request-create.svg +19 -0
- package/dist/cdn/icons/lucide/git-pull-request-draft.svg +19 -0
- package/dist/cdn/icons/lucide/git-pull-request.svg +18 -0
- package/dist/cdn/icons/lucide/github.svg +16 -0
- package/dist/cdn/icons/lucide/gitlab.svg +15 -0
- package/dist/cdn/icons/lucide/glass-water.svg +16 -0
- package/dist/cdn/icons/lucide/glasses.svg +19 -0
- package/dist/cdn/icons/lucide/globe-2.svg +18 -0
- package/dist/cdn/icons/lucide/globe-lock.svg +18 -0
- package/dist/cdn/icons/lucide/globe.svg +17 -0
- package/dist/cdn/icons/lucide/goal.svg +17 -0
- package/dist/cdn/icons/lucide/gpu.svg +19 -0
- package/dist/cdn/icons/lucide/grab.svg +19 -0
- package/dist/cdn/icons/lucide/graduation-cap.svg +17 -0
- package/dist/cdn/icons/lucide/grape.svg +23 -0
- package/dist/cdn/icons/lucide/grid-2-x-2-check.svg +16 -0
- package/dist/cdn/icons/lucide/grid-2-x-2-plus.svg +17 -0
- package/dist/cdn/icons/lucide/grid-2-x-2-x.svg +17 -0
- package/dist/cdn/icons/lucide/grid-2-x-2.svg +17 -0
- package/dist/cdn/icons/lucide/grid-2x2-check.svg +16 -0
- package/dist/cdn/icons/lucide/grid-2x2-plus.svg +17 -0
- package/dist/cdn/icons/lucide/grid-2x2-x.svg +17 -0
- package/dist/cdn/icons/lucide/grid-2x2.svg +17 -0
- package/dist/cdn/icons/lucide/grid-3-x-3.svg +19 -0
- package/dist/cdn/icons/lucide/grid-3x2.svg +18 -0
- package/dist/cdn/icons/lucide/grid-3x3.svg +19 -0
- package/dist/cdn/icons/lucide/grid.svg +19 -0
- package/dist/cdn/icons/lucide/grip-horizontal.svg +20 -0
- package/dist/cdn/icons/lucide/grip-vertical.svg +20 -0
- package/dist/cdn/icons/lucide/grip.svg +23 -0
- package/dist/cdn/icons/lucide/group.svg +20 -0
- package/dist/cdn/icons/lucide/guitar.svg +18 -0
- package/dist/cdn/icons/lucide/ham.svg +18 -0
- package/dist/cdn/icons/lucide/hamburger.svg +18 -0
- package/dist/cdn/icons/lucide/hammer.svg +17 -0
- package/dist/cdn/icons/lucide/hand-coins.svg +19 -0
- package/dist/cdn/icons/lucide/hand-fist.svg +18 -0
- package/dist/cdn/icons/lucide/hand-grab.svg +19 -0
- package/dist/cdn/icons/lucide/hand-heart.svg +18 -0
- package/dist/cdn/icons/lucide/hand-helping.svg +17 -0
- package/dist/cdn/icons/lucide/hand-metal.svg +18 -0
- package/dist/cdn/icons/lucide/hand-platter.svg +20 -0
- package/dist/cdn/icons/lucide/hand.svg +18 -0
- package/dist/cdn/icons/lucide/handbag.svg +16 -0
- package/dist/cdn/icons/lucide/handshake.svg +19 -0
- package/dist/cdn/icons/lucide/hard-drive-download.svg +19 -0
- package/dist/cdn/icons/lucide/hard-drive-upload.svg +19 -0
- package/dist/cdn/icons/lucide/hard-drive.svg +18 -0
- package/dist/cdn/icons/lucide/hard-hat.svg +18 -0
- package/dist/cdn/icons/lucide/hash.svg +18 -0
- package/dist/cdn/icons/lucide/hat-glasses.svg +19 -0
- package/dist/cdn/icons/lucide/haze.svg +22 -0
- package/dist/cdn/icons/lucide/hd.svg +19 -0
- package/dist/cdn/icons/lucide/hdmi-port.svg +16 -0
- package/dist/cdn/icons/lucide/heading-1.svg +18 -0
- package/dist/cdn/icons/lucide/heading-2.svg +18 -0
- package/dist/cdn/icons/lucide/heading-3.svg +19 -0
- package/dist/cdn/icons/lucide/heading-4.svg +19 -0
- package/dist/cdn/icons/lucide/heading-5.svg +19 -0
- package/dist/cdn/icons/lucide/heading-6.svg +19 -0
- package/dist/cdn/icons/lucide/heading.svg +17 -0
- package/dist/cdn/icons/lucide/headphone-off.svg +19 -0
- package/dist/cdn/icons/lucide/headphones.svg +15 -0
- package/dist/cdn/icons/lucide/headset.svg +16 -0
- package/dist/cdn/icons/lucide/heart-crack.svg +16 -0
- package/dist/cdn/icons/lucide/heart-handshake.svg +15 -0
- package/dist/cdn/icons/lucide/heart-minus.svg +16 -0
- package/dist/cdn/icons/lucide/heart-off.svg +17 -0
- package/dist/cdn/icons/lucide/heart-plus.svg +17 -0
- package/dist/cdn/icons/lucide/heart-pulse.svg +16 -0
- package/dist/cdn/icons/lucide/heart.svg +15 -0
- package/dist/cdn/icons/lucide/heater.svg +24 -0
- package/dist/cdn/icons/lucide/helicopter.svg +22 -0
- package/dist/cdn/icons/lucide/help-circle.svg +17 -0
- package/dist/cdn/icons/lucide/helping-hand.svg +17 -0
- package/dist/cdn/icons/lucide/hexagon.svg +15 -0
- package/dist/cdn/icons/lucide/highlighter.svg +16 -0
- package/dist/cdn/icons/lucide/history.svg +17 -0
- package/dist/cdn/icons/lucide/home.svg +16 -0
- package/dist/cdn/icons/lucide/hop-off.svg +23 -0
- package/dist/cdn/icons/lucide/hop.svg +22 -0
- package/dist/cdn/icons/lucide/hospital.svg +19 -0
- package/dist/cdn/icons/lucide/hotel.svg +24 -0
- package/dist/cdn/icons/lucide/hourglass.svg +18 -0
- package/dist/cdn/icons/lucide/house-heart.svg +16 -0
- package/dist/cdn/icons/lucide/house-plug.svg +18 -0
- package/dist/cdn/icons/lucide/house-plus.svg +18 -0
- package/dist/cdn/icons/lucide/house-wifi.svg +18 -0
- package/dist/cdn/icons/lucide/house.svg +16 -0
- package/dist/cdn/icons/lucide/ice-cream-2.svg +17 -0
- package/dist/cdn/icons/lucide/ice-cream-bowl.svg +17 -0
- package/dist/cdn/icons/lucide/ice-cream-cone.svg +17 -0
- package/dist/cdn/icons/lucide/ice-cream.svg +17 -0
- package/dist/cdn/icons/lucide/id-card-lanyard.svg +19 -0
- package/dist/cdn/icons/lucide/id-card.svg +19 -0
- package/dist/cdn/icons/lucide/image-down.svg +18 -0
- package/dist/cdn/icons/lucide/image-minus.svg +18 -0
- package/dist/cdn/icons/lucide/image-off.svg +20 -0
- package/dist/cdn/icons/lucide/image-play.svg +18 -0
- package/dist/cdn/icons/lucide/image-plus.svg +19 -0
- package/dist/cdn/icons/lucide/image-up.svg +18 -0
- package/dist/cdn/icons/lucide/image-upscale.svg +22 -0
- package/dist/cdn/icons/lucide/image.svg +17 -0
- package/dist/cdn/icons/lucide/images.svg +18 -0
- package/dist/cdn/icons/lucide/import.svg +17 -0
- package/dist/cdn/icons/lucide/inbox.svg +16 -0
- package/dist/cdn/icons/lucide/indent-decrease.svg +18 -0
- package/dist/cdn/icons/lucide/indent-increase.svg +18 -0
- package/dist/cdn/icons/lucide/indent.svg +18 -0
- package/dist/cdn/icons/lucide/index.json +1920 -0
- package/dist/cdn/icons/lucide/indian-rupee.svg +19 -0
- package/dist/cdn/icons/lucide/infinity.svg +15 -0
- package/dist/cdn/icons/lucide/info.svg +17 -0
- package/dist/cdn/icons/lucide/inspect.svg +16 -0
- package/dist/cdn/icons/lucide/inspection-panel.svg +19 -0
- package/dist/cdn/icons/lucide/instagram.svg +17 -0
- package/dist/cdn/icons/lucide/italic.svg +17 -0
- package/dist/cdn/icons/lucide/iteration-ccw.svg +16 -0
- package/dist/cdn/icons/lucide/iteration-cw.svg +16 -0
- package/dist/cdn/icons/lucide/japanese-yen.svg +17 -0
- package/dist/cdn/icons/lucide/joystick.svg +18 -0
- package/dist/cdn/icons/lucide/kanban-square-dashed.svg +29 -0
- package/dist/cdn/icons/lucide/kanban-square.svg +18 -0
- package/dist/cdn/icons/lucide/kanban.svg +17 -0
- package/dist/cdn/icons/lucide/kayak.svg +18 -0
- package/dist/cdn/icons/lucide/key-round.svg +16 -0
- package/dist/cdn/icons/lucide/key-square.svg +17 -0
- package/dist/cdn/icons/lucide/key.svg +17 -0
- package/dist/cdn/icons/lucide/keyboard-music.svg +23 -0
- package/dist/cdn/icons/lucide/keyboard-off.svg +24 -0
- package/dist/cdn/icons/lucide/keyboard.svg +23 -0
- package/dist/cdn/icons/lucide/lamp-ceiling.svg +17 -0
- package/dist/cdn/icons/lucide/lamp-desk.svg +18 -0
- package/dist/cdn/icons/lucide/lamp-floor.svg +17 -0
- package/dist/cdn/icons/lucide/lamp-wall-down.svg +17 -0
- package/dist/cdn/icons/lucide/lamp-wall-up.svg +17 -0
- package/dist/cdn/icons/lucide/lamp.svg +17 -0
- package/dist/cdn/icons/lucide/land-plot.svg +18 -0
- package/dist/cdn/icons/lucide/landmark.svg +20 -0
- package/dist/cdn/icons/lucide/languages.svg +20 -0
- package/dist/cdn/icons/lucide/laptop-2.svg +16 -0
- package/dist/cdn/icons/lucide/laptop-minimal-check.svg +17 -0
- package/dist/cdn/icons/lucide/laptop-minimal.svg +16 -0
- package/dist/cdn/icons/lucide/laptop.svg +16 -0
- package/dist/cdn/icons/lucide/lasso-select.svg +19 -0
- package/dist/cdn/icons/lucide/lasso.svg +17 -0
- package/dist/cdn/icons/lucide/laugh.svg +18 -0
- package/dist/cdn/icons/lucide/layers-2.svg +16 -0
- package/dist/cdn/icons/lucide/layers-3.svg +17 -0
- package/dist/cdn/icons/lucide/layers-plus.svg +19 -0
- package/dist/cdn/icons/lucide/layers.svg +17 -0
- package/dist/cdn/icons/lucide/layout-dashboard.svg +18 -0
- package/dist/cdn/icons/lucide/layout-grid.svg +18 -0
- package/dist/cdn/icons/lucide/layout-list.svg +20 -0
- package/dist/cdn/icons/lucide/layout-panel-left.svg +17 -0
- package/dist/cdn/icons/lucide/layout-panel-top.svg +17 -0
- package/dist/cdn/icons/lucide/layout-template.svg +17 -0
- package/dist/cdn/icons/lucide/layout.svg +17 -0
- package/dist/cdn/icons/lucide/leaf.svg +16 -0
- package/dist/cdn/icons/lucide/leafy-green.svg +16 -0
- package/dist/cdn/icons/lucide/lectern.svg +17 -0
- package/dist/cdn/icons/lucide/letter-text.svg +19 -0
- package/dist/cdn/icons/lucide/library-big.svg +17 -0
- package/dist/cdn/icons/lucide/library-square.svg +18 -0
- package/dist/cdn/icons/lucide/library.svg +18 -0
- package/dist/cdn/icons/lucide/life-buoy.svg +20 -0
- package/dist/cdn/icons/lucide/ligature.svg +19 -0
- package/dist/cdn/icons/lucide/lightbulb-off.svg +19 -0
- package/dist/cdn/icons/lucide/lightbulb.svg +17 -0
- package/dist/cdn/icons/lucide/line-chart.svg +16 -0
- package/dist/cdn/icons/lucide/line-squiggle.svg +15 -0
- package/dist/cdn/icons/lucide/link-2-off.svg +18 -0
- package/dist/cdn/icons/lucide/link-2.svg +17 -0
- package/dist/cdn/icons/lucide/link.svg +16 -0
- package/dist/cdn/icons/lucide/linkedin.svg +17 -0
- package/dist/cdn/icons/lucide/list-check.svg +18 -0
- package/dist/cdn/icons/lucide/list-checks.svg +19 -0
- package/dist/cdn/icons/lucide/list-chevrons-down-up.svg +19 -0
- package/dist/cdn/icons/lucide/list-chevrons-up-down.svg +19 -0
- package/dist/cdn/icons/lucide/list-collapse.svg +19 -0
- package/dist/cdn/icons/lucide/list-end.svg +19 -0
- package/dist/cdn/icons/lucide/list-filter-plus.svg +19 -0
- package/dist/cdn/icons/lucide/list-filter.svg +17 -0
- package/dist/cdn/icons/lucide/list-indent-decrease.svg +18 -0
- package/dist/cdn/icons/lucide/list-indent-increase.svg +18 -0
- package/dist/cdn/icons/lucide/list-minus.svg +18 -0
- package/dist/cdn/icons/lucide/list-music.svg +19 -0
- package/dist/cdn/icons/lucide/list-ordered.svg +20 -0
- package/dist/cdn/icons/lucide/list-plus.svg +19 -0
- package/dist/cdn/icons/lucide/list-restart.svg +19 -0
- package/dist/cdn/icons/lucide/list-start.svg +19 -0
- package/dist/cdn/icons/lucide/list-todo.svg +19 -0
- package/dist/cdn/icons/lucide/list-tree.svg +19 -0
- package/dist/cdn/icons/lucide/list-video.svg +18 -0
- package/dist/cdn/icons/lucide/list-x.svg +19 -0
- package/dist/cdn/icons/lucide/list.svg +20 -0
- package/dist/cdn/icons/lucide/loader-2.svg +15 -0
- package/dist/cdn/icons/lucide/loader-circle.svg +15 -0
- package/dist/cdn/icons/lucide/loader-pinwheel.svg +18 -0
- package/dist/cdn/icons/lucide/loader.svg +22 -0
- package/dist/cdn/icons/lucide/locate-fixed.svg +20 -0
- package/dist/cdn/icons/lucide/locate-off.svg +21 -0
- package/dist/cdn/icons/lucide/locate.svg +19 -0
- package/dist/cdn/icons/lucide/location-edit.svg +17 -0
- package/dist/cdn/icons/lucide/lock-keyhole-open.svg +17 -0
- package/dist/cdn/icons/lucide/lock-keyhole.svg +17 -0
- package/dist/cdn/icons/lucide/lock-open.svg +16 -0
- package/dist/cdn/icons/lucide/lock.svg +16 -0
- package/dist/cdn/icons/lucide/log-in.svg +17 -0
- package/dist/cdn/icons/lucide/log-out.svg +17 -0
- package/dist/cdn/icons/lucide/logs.svg +23 -0
- package/dist/cdn/icons/lucide/lollipop.svg +17 -0
- package/dist/cdn/icons/lucide/luggage.svg +19 -0
- package/dist/cdn/icons/lucide/m-square.svg +16 -0
- package/dist/cdn/icons/lucide/magnet.svg +17 -0
- package/dist/cdn/icons/lucide/mail-check.svg +17 -0
- package/dist/cdn/icons/lucide/mail-minus.svg +17 -0
- package/dist/cdn/icons/lucide/mail-open.svg +16 -0
- package/dist/cdn/icons/lucide/mail-plus.svg +18 -0
- package/dist/cdn/icons/lucide/mail-question-mark.svg +18 -0
- package/dist/cdn/icons/lucide/mail-question.svg +18 -0
- package/dist/cdn/icons/lucide/mail-search.svg +19 -0
- package/dist/cdn/icons/lucide/mail-warning.svg +18 -0
- package/dist/cdn/icons/lucide/mail-x.svg +18 -0
- package/dist/cdn/icons/lucide/mail.svg +16 -0
- package/dist/cdn/icons/lucide/mailbox.svg +18 -0
- package/dist/cdn/icons/lucide/mails.svg +17 -0
- package/dist/cdn/icons/lucide/map-minus.svg +18 -0
- package/dist/cdn/icons/lucide/map-pin-check-inside.svg +16 -0
- package/dist/cdn/icons/lucide/map-pin-check.svg +17 -0
- package/dist/cdn/icons/lucide/map-pin-house.svg +18 -0
- package/dist/cdn/icons/lucide/map-pin-minus-inside.svg +16 -0
- package/dist/cdn/icons/lucide/map-pin-minus.svg +17 -0
- package/dist/cdn/icons/lucide/map-pin-off.svg +19 -0
- package/dist/cdn/icons/lucide/map-pin-pen.svg +17 -0
- package/dist/cdn/icons/lucide/map-pin-plus-inside.svg +17 -0
- package/dist/cdn/icons/lucide/map-pin-plus.svg +18 -0
- package/dist/cdn/icons/lucide/map-pin-x-inside.svg +17 -0
- package/dist/cdn/icons/lucide/map-pin-x.svg +18 -0
- package/dist/cdn/icons/lucide/map-pin.svg +16 -0
- package/dist/cdn/icons/lucide/map-pinned.svg +17 -0
- package/dist/cdn/icons/lucide/map-plus.svg +19 -0
- package/dist/cdn/icons/lucide/map.svg +17 -0
- package/dist/cdn/icons/lucide/mars-stroke.svg +18 -0
- package/dist/cdn/icons/lucide/mars.svg +17 -0
- package/dist/cdn/icons/lucide/martini.svg +17 -0
- package/dist/cdn/icons/lucide/maximize-2.svg +18 -0
- package/dist/cdn/icons/lucide/maximize.svg +18 -0
- package/dist/cdn/icons/lucide/medal.svg +20 -0
- package/dist/cdn/icons/lucide/megaphone-off.svg +19 -0
- package/dist/cdn/icons/lucide/megaphone.svg +17 -0
- package/dist/cdn/icons/lucide/meh.svg +18 -0
- package/dist/cdn/icons/lucide/memory-stick.svg +25 -0
- package/dist/cdn/icons/lucide/menu-square.svg +18 -0
- package/dist/cdn/icons/lucide/menu.svg +17 -0
- package/dist/cdn/icons/lucide/merge.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-code.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-dashed.svg +22 -0
- package/dist/cdn/icons/lucide/message-circle-heart.svg +16 -0
- package/dist/cdn/icons/lucide/message-circle-more.svg +18 -0
- package/dist/cdn/icons/lucide/message-circle-off.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-plus.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-question-mark.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-question.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-reply.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-warning.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle-x.svg +17 -0
- package/dist/cdn/icons/lucide/message-circle.svg +15 -0
- package/dist/cdn/icons/lucide/message-square-code.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-dashed.svg +27 -0
- package/dist/cdn/icons/lucide/message-square-diff.svg +18 -0
- package/dist/cdn/icons/lucide/message-square-dot.svg +16 -0
- package/dist/cdn/icons/lucide/message-square-heart.svg +16 -0
- package/dist/cdn/icons/lucide/message-square-lock.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-more.svg +18 -0
- package/dist/cdn/icons/lucide/message-square-off.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-plus.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-quote.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-reply.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-share.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-text.svg +18 -0
- package/dist/cdn/icons/lucide/message-square-warning.svg +17 -0
- package/dist/cdn/icons/lucide/message-square-x.svg +17 -0
- package/dist/cdn/icons/lucide/message-square.svg +15 -0
- package/dist/cdn/icons/lucide/messages-square.svg +16 -0
- package/dist/cdn/icons/lucide/mic-2.svg +17 -0
- package/dist/cdn/icons/lucide/mic-off.svg +20 -0
- package/dist/cdn/icons/lucide/mic-vocal.svg +17 -0
- package/dist/cdn/icons/lucide/mic.svg +17 -0
- package/dist/cdn/icons/lucide/microchip.svg +24 -0
- package/dist/cdn/icons/lucide/microscope.svg +20 -0
- package/dist/cdn/icons/lucide/microwave.svg +19 -0
- package/dist/cdn/icons/lucide/milestone.svg +17 -0
- package/dist/cdn/icons/lucide/milk-off.svg +18 -0
- package/dist/cdn/icons/lucide/milk.svg +17 -0
- package/dist/cdn/icons/lucide/minimize-2.svg +18 -0
- package/dist/cdn/icons/lucide/minimize.svg +18 -0
- package/dist/cdn/icons/lucide/minus-circle.svg +16 -0
- package/dist/cdn/icons/lucide/minus-square.svg +16 -0
- package/dist/cdn/icons/lucide/minus.svg +15 -0
- package/dist/cdn/icons/lucide/monitor-check.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-cloud.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-cog.svg +26 -0
- package/dist/cdn/icons/lucide/monitor-dot.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-down.svg +19 -0
- package/dist/cdn/icons/lucide/monitor-off.svg +19 -0
- package/dist/cdn/icons/lucide/monitor-pause.svg +19 -0
- package/dist/cdn/icons/lucide/monitor-play.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-smartphone.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-speaker.svg +19 -0
- package/dist/cdn/icons/lucide/monitor-stop.svg +18 -0
- package/dist/cdn/icons/lucide/monitor-up.svg +19 -0
- package/dist/cdn/icons/lucide/monitor-x.svg +19 -0
- package/dist/cdn/icons/lucide/monitor.svg +17 -0
- package/dist/cdn/icons/lucide/moon-star.svg +17 -0
- package/dist/cdn/icons/lucide/moon.svg +15 -0
- package/dist/cdn/icons/lucide/more-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/more-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/motorbike.svg +19 -0
- package/dist/cdn/icons/lucide/mountain-snow.svg +16 -0
- package/dist/cdn/icons/lucide/mountain.svg +15 -0
- package/dist/cdn/icons/lucide/mouse-off.svg +18 -0
- package/dist/cdn/icons/lucide/mouse-pointer-2-off.svg +17 -0
- package/dist/cdn/icons/lucide/mouse-pointer-2.svg +15 -0
- package/dist/cdn/icons/lucide/mouse-pointer-ban.svg +17 -0
- package/dist/cdn/icons/lucide/mouse-pointer-click.svg +19 -0
- package/dist/cdn/icons/lucide/mouse-pointer-square-dashed.svg +24 -0
- package/dist/cdn/icons/lucide/mouse-pointer.svg +16 -0
- package/dist/cdn/icons/lucide/mouse.svg +16 -0
- package/dist/cdn/icons/lucide/move-3-d.svg +18 -0
- package/dist/cdn/icons/lucide/move-3d.svg +18 -0
- package/dist/cdn/icons/lucide/move-diagonal-2.svg +17 -0
- package/dist/cdn/icons/lucide/move-diagonal.svg +17 -0
- package/dist/cdn/icons/lucide/move-down-left.svg +16 -0
- package/dist/cdn/icons/lucide/move-down-right.svg +16 -0
- package/dist/cdn/icons/lucide/move-down.svg +16 -0
- package/dist/cdn/icons/lucide/move-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/move-left.svg +16 -0
- package/dist/cdn/icons/lucide/move-right.svg +16 -0
- package/dist/cdn/icons/lucide/move-up-left.svg +16 -0
- package/dist/cdn/icons/lucide/move-up-right.svg +16 -0
- package/dist/cdn/icons/lucide/move-up.svg +16 -0
- package/dist/cdn/icons/lucide/move-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/move.svg +20 -0
- package/dist/cdn/icons/lucide/music-2.svg +16 -0
- package/dist/cdn/icons/lucide/music-3.svg +16 -0
- package/dist/cdn/icons/lucide/music-4.svg +18 -0
- package/dist/cdn/icons/lucide/music.svg +17 -0
- package/dist/cdn/icons/lucide/navigation-2-off.svg +17 -0
- package/dist/cdn/icons/lucide/navigation-2.svg +15 -0
- package/dist/cdn/icons/lucide/navigation-off.svg +17 -0
- package/dist/cdn/icons/lucide/navigation.svg +15 -0
- package/dist/cdn/icons/lucide/network.svg +19 -0
- package/dist/cdn/icons/lucide/newspaper.svg +18 -0
- package/dist/cdn/icons/lucide/nfc.svg +18 -0
- package/dist/cdn/icons/lucide/non-binary.svg +18 -0
- package/dist/cdn/icons/lucide/notebook-pen.svg +20 -0
- package/dist/cdn/icons/lucide/notebook-tabs.svg +23 -0
- package/dist/cdn/icons/lucide/notebook-text.svg +22 -0
- package/dist/cdn/icons/lucide/notebook.svg +20 -0
- package/dist/cdn/icons/lucide/notepad-text-dashed.svg +27 -0
- package/dist/cdn/icons/lucide/notepad-text.svg +21 -0
- package/dist/cdn/icons/lucide/nut-off.svg +19 -0
- package/dist/cdn/icons/lucide/nut.svg +17 -0
- package/dist/cdn/icons/lucide/octagon-alert.svg +17 -0
- package/dist/cdn/icons/lucide/octagon-minus.svg +16 -0
- package/dist/cdn/icons/lucide/octagon-pause.svg +17 -0
- package/dist/cdn/icons/lucide/octagon-x.svg +17 -0
- package/dist/cdn/icons/lucide/octagon.svg +15 -0
- package/dist/cdn/icons/lucide/omega.svg +15 -0
- package/dist/cdn/icons/lucide/option.svg +16 -0
- package/dist/cdn/icons/lucide/orbit.svg +19 -0
- package/dist/cdn/icons/lucide/origami.svg +17 -0
- package/dist/cdn/icons/lucide/outdent.svg +18 -0
- package/dist/cdn/icons/lucide/package-2.svg +17 -0
- package/dist/cdn/icons/lucide/package-check.svg +19 -0
- package/dist/cdn/icons/lucide/package-minus.svg +19 -0
- package/dist/cdn/icons/lucide/package-open.svg +18 -0
- package/dist/cdn/icons/lucide/package-plus.svg +20 -0
- package/dist/cdn/icons/lucide/package-search.svg +20 -0
- package/dist/cdn/icons/lucide/package-x.svg +19 -0
- package/dist/cdn/icons/lucide/package.svg +18 -0
- package/dist/cdn/icons/lucide/paint-bucket.svg +18 -0
- package/dist/cdn/icons/lucide/paint-roller.svg +17 -0
- package/dist/cdn/icons/lucide/paintbrush-2.svg +18 -0
- package/dist/cdn/icons/lucide/paintbrush-vertical.svg +18 -0
- package/dist/cdn/icons/lucide/paintbrush.svg +17 -0
- package/dist/cdn/icons/lucide/palette.svg +19 -0
- package/dist/cdn/icons/lucide/palmtree.svg +18 -0
- package/dist/cdn/icons/lucide/panda.svg +20 -0
- package/dist/cdn/icons/lucide/panel-bottom-close.svg +17 -0
- package/dist/cdn/icons/lucide/panel-bottom-dashed.svg +19 -0
- package/dist/cdn/icons/lucide/panel-bottom-inactive.svg +19 -0
- package/dist/cdn/icons/lucide/panel-bottom-open.svg +17 -0
- package/dist/cdn/icons/lucide/panel-bottom.svg +16 -0
- package/dist/cdn/icons/lucide/panel-left-close.svg +17 -0
- package/dist/cdn/icons/lucide/panel-left-dashed.svg +19 -0
- package/dist/cdn/icons/lucide/panel-left-inactive.svg +19 -0
- package/dist/cdn/icons/lucide/panel-left-open.svg +17 -0
- package/dist/cdn/icons/lucide/panel-left-right-dashed.svg +23 -0
- package/dist/cdn/icons/lucide/panel-left.svg +16 -0
- package/dist/cdn/icons/lucide/panel-right-close.svg +17 -0
- package/dist/cdn/icons/lucide/panel-right-dashed.svg +19 -0
- package/dist/cdn/icons/lucide/panel-right-inactive.svg +19 -0
- package/dist/cdn/icons/lucide/panel-right-open.svg +17 -0
- package/dist/cdn/icons/lucide/panel-right.svg +16 -0
- package/dist/cdn/icons/lucide/panel-top-bottom-dashed.svg +23 -0
- package/dist/cdn/icons/lucide/panel-top-close.svg +17 -0
- package/dist/cdn/icons/lucide/panel-top-dashed.svg +19 -0
- package/dist/cdn/icons/lucide/panel-top-inactive.svg +19 -0
- package/dist/cdn/icons/lucide/panel-top-open.svg +17 -0
- package/dist/cdn/icons/lucide/panel-top.svg +16 -0
- package/dist/cdn/icons/lucide/panels-left-bottom.svg +17 -0
- package/dist/cdn/icons/lucide/panels-left-right.svg +17 -0
- package/dist/cdn/icons/lucide/panels-right-bottom.svg +17 -0
- package/dist/cdn/icons/lucide/panels-top-bottom.svg +17 -0
- package/dist/cdn/icons/lucide/panels-top-left.svg +17 -0
- package/dist/cdn/icons/lucide/paperclip.svg +15 -0
- package/dist/cdn/icons/lucide/parentheses.svg +16 -0
- package/dist/cdn/icons/lucide/parking-circle-off.svg +20 -0
- package/dist/cdn/icons/lucide/parking-circle.svg +16 -0
- package/dist/cdn/icons/lucide/parking-meter.svg +19 -0
- package/dist/cdn/icons/lucide/parking-square-off.svg +19 -0
- package/dist/cdn/icons/lucide/parking-square.svg +16 -0
- package/dist/cdn/icons/lucide/party-popper.svg +23 -0
- package/dist/cdn/icons/lucide/pause-circle.svg +17 -0
- package/dist/cdn/icons/lucide/pause-octagon.svg +17 -0
- package/dist/cdn/icons/lucide/pause.svg +16 -0
- package/dist/cdn/icons/lucide/paw-print.svg +18 -0
- package/dist/cdn/icons/lucide/pc-case.svg +18 -0
- package/dist/cdn/icons/lucide/pen-box.svg +16 -0
- package/dist/cdn/icons/lucide/pen-line.svg +16 -0
- package/dist/cdn/icons/lucide/pen-off.svg +17 -0
- package/dist/cdn/icons/lucide/pen-square.svg +16 -0
- package/dist/cdn/icons/lucide/pen-tool.svg +18 -0
- package/dist/cdn/icons/lucide/pen.svg +15 -0
- package/dist/cdn/icons/lucide/pencil-line.svg +17 -0
- package/dist/cdn/icons/lucide/pencil-off.svg +18 -0
- package/dist/cdn/icons/lucide/pencil-ruler.svg +20 -0
- package/dist/cdn/icons/lucide/pencil.svg +16 -0
- package/dist/cdn/icons/lucide/pentagon.svg +15 -0
- package/dist/cdn/icons/lucide/percent-circle.svg +18 -0
- package/dist/cdn/icons/lucide/percent-diamond.svg +18 -0
- package/dist/cdn/icons/lucide/percent-square.svg +18 -0
- package/dist/cdn/icons/lucide/percent.svg +17 -0
- package/dist/cdn/icons/lucide/person-standing.svg +18 -0
- package/dist/cdn/icons/lucide/philippine-peso.svg +17 -0
- package/dist/cdn/icons/lucide/phone-call.svg +17 -0
- package/dist/cdn/icons/lucide/phone-forwarded.svg +17 -0
- package/dist/cdn/icons/lucide/phone-incoming.svg +17 -0
- package/dist/cdn/icons/lucide/phone-missed.svg +17 -0
- package/dist/cdn/icons/lucide/phone-off.svg +17 -0
- package/dist/cdn/icons/lucide/phone-outgoing.svg +17 -0
- package/dist/cdn/icons/lucide/phone.svg +15 -0
- package/dist/cdn/icons/lucide/pi-square.svg +18 -0
- package/dist/cdn/icons/lucide/pi.svg +17 -0
- package/dist/cdn/icons/lucide/piano.svg +20 -0
- package/dist/cdn/icons/lucide/pickaxe.svg +18 -0
- package/dist/cdn/icons/lucide/picture-in-picture-2.svg +16 -0
- package/dist/cdn/icons/lucide/picture-in-picture.svg +19 -0
- package/dist/cdn/icons/lucide/pie-chart.svg +16 -0
- package/dist/cdn/icons/lucide/piggy-bank.svg +17 -0
- package/dist/cdn/icons/lucide/pilcrow-left.svg +19 -0
- package/dist/cdn/icons/lucide/pilcrow-right.svg +19 -0
- package/dist/cdn/icons/lucide/pilcrow-square.svg +18 -0
- package/dist/cdn/icons/lucide/pilcrow.svg +17 -0
- package/dist/cdn/icons/lucide/pill-bottle.svg +17 -0
- package/dist/cdn/icons/lucide/pill.svg +16 -0
- package/dist/cdn/icons/lucide/pin-off.svg +18 -0
- package/dist/cdn/icons/lucide/pin.svg +16 -0
- package/dist/cdn/icons/lucide/pipette.svg +17 -0
- package/dist/cdn/icons/lucide/pizza.svg +19 -0
- package/dist/cdn/icons/lucide/plane-landing.svg +16 -0
- package/dist/cdn/icons/lucide/plane-takeoff.svg +16 -0
- package/dist/cdn/icons/lucide/plane.svg +15 -0
- package/dist/cdn/icons/lucide/play-circle.svg +16 -0
- package/dist/cdn/icons/lucide/play-square.svg +16 -0
- package/dist/cdn/icons/lucide/play.svg +15 -0
- package/dist/cdn/icons/lucide/plug-2.svg +19 -0
- package/dist/cdn/icons/lucide/plug-zap-2.svg +19 -0
- package/dist/cdn/icons/lucide/plug-zap.svg +19 -0
- package/dist/cdn/icons/lucide/plug.svg +18 -0
- package/dist/cdn/icons/lucide/plus-circle.svg +17 -0
- package/dist/cdn/icons/lucide/plus-square.svg +17 -0
- package/dist/cdn/icons/lucide/plus.svg +16 -0
- package/dist/cdn/icons/lucide/pocket-knife.svg +19 -0
- package/dist/cdn/icons/lucide/pocket.svg +16 -0
- package/dist/cdn/icons/lucide/podcast.svg +18 -0
- package/dist/cdn/icons/lucide/pointer-off.svg +20 -0
- package/dist/cdn/icons/lucide/pointer.svg +19 -0
- package/dist/cdn/icons/lucide/popcorn.svg +18 -0
- package/dist/cdn/icons/lucide/popsicle.svg +16 -0
- package/dist/cdn/icons/lucide/pound-sterling.svg +18 -0
- package/dist/cdn/icons/lucide/power-circle.svg +17 -0
- package/dist/cdn/icons/lucide/power-off.svg +18 -0
- package/dist/cdn/icons/lucide/power-square.svg +17 -0
- package/dist/cdn/icons/lucide/power.svg +16 -0
- package/dist/cdn/icons/lucide/presentation.svg +17 -0
- package/dist/cdn/icons/lucide/printer-check.svg +18 -0
- package/dist/cdn/icons/lucide/printer.svg +17 -0
- package/dist/cdn/icons/lucide/projector.svg +20 -0
- package/dist/cdn/icons/lucide/proportions.svg +17 -0
- package/dist/cdn/icons/lucide/puzzle.svg +15 -0
- package/dist/cdn/icons/lucide/pyramid.svg +16 -0
- package/dist/cdn/icons/lucide/qr-code.svg +26 -0
- package/dist/cdn/icons/lucide/quote.svg +16 -0
- package/dist/cdn/icons/lucide/rabbit.svg +19 -0
- package/dist/cdn/icons/lucide/radar.svg +22 -0
- package/dist/cdn/icons/lucide/radiation.svg +18 -0
- package/dist/cdn/icons/lucide/radical.svg +15 -0
- package/dist/cdn/icons/lucide/radio-receiver.svg +18 -0
- package/dist/cdn/icons/lucide/radio-tower.svg +21 -0
- package/dist/cdn/icons/lucide/radio.svg +19 -0
- package/dist/cdn/icons/lucide/radius.svg +18 -0
- package/dist/cdn/icons/lucide/rail-symbol.svg +17 -0
- package/dist/cdn/icons/lucide/rainbow.svg +17 -0
- package/dist/cdn/icons/lucide/rat.svg +19 -0
- package/dist/cdn/icons/lucide/ratio.svg +16 -0
- package/dist/cdn/icons/lucide/receipt-cent.svg +17 -0
- package/dist/cdn/icons/lucide/receipt-euro.svg +17 -0
- package/dist/cdn/icons/lucide/receipt-indian-rupee.svg +18 -0
- package/dist/cdn/icons/lucide/receipt-japanese-yen.svg +19 -0
- package/dist/cdn/icons/lucide/receipt-pound-sterling.svg +18 -0
- package/dist/cdn/icons/lucide/receipt-russian-ruble.svg +17 -0
- package/dist/cdn/icons/lucide/receipt-swiss-franc.svg +18 -0
- package/dist/cdn/icons/lucide/receipt-text.svg +18 -0
- package/dist/cdn/icons/lucide/receipt-turkish-lira.svg +17 -0
- package/dist/cdn/icons/lucide/receipt.svg +17 -0
- package/dist/cdn/icons/lucide/rectangle-circle.svg +16 -0
- package/dist/cdn/icons/lucide/rectangle-ellipsis.svg +18 -0
- package/dist/cdn/icons/lucide/rectangle-goggles.svg +15 -0
- package/dist/cdn/icons/lucide/rectangle-horizontal.svg +15 -0
- package/dist/cdn/icons/lucide/rectangle-vertical.svg +15 -0
- package/dist/cdn/icons/lucide/recycle.svg +20 -0
- package/dist/cdn/icons/lucide/redo-2.svg +16 -0
- package/dist/cdn/icons/lucide/redo-dot.svg +17 -0
- package/dist/cdn/icons/lucide/redo.svg +16 -0
- package/dist/cdn/icons/lucide/refresh-ccw-dot.svg +19 -0
- package/dist/cdn/icons/lucide/refresh-ccw.svg +18 -0
- package/dist/cdn/icons/lucide/refresh-cw-off.svg +21 -0
- package/dist/cdn/icons/lucide/refresh-cw.svg +18 -0
- package/dist/cdn/icons/lucide/refrigerator.svg +17 -0
- package/dist/cdn/icons/lucide/regex.svg +18 -0
- package/dist/cdn/icons/lucide/remove-formatting.svg +19 -0
- package/dist/cdn/icons/lucide/repeat-1.svg +19 -0
- package/dist/cdn/icons/lucide/repeat-2.svg +18 -0
- package/dist/cdn/icons/lucide/repeat.svg +18 -0
- package/dist/cdn/icons/lucide/replace-all.svg +23 -0
- package/dist/cdn/icons/lucide/replace.svg +21 -0
- package/dist/cdn/icons/lucide/reply-all.svg +17 -0
- package/dist/cdn/icons/lucide/reply.svg +16 -0
- package/dist/cdn/icons/lucide/rewind.svg +16 -0
- package/dist/cdn/icons/lucide/ribbon.svg +19 -0
- package/dist/cdn/icons/lucide/rocket.svg +18 -0
- package/dist/cdn/icons/lucide/rocking-chair.svg +18 -0
- package/dist/cdn/icons/lucide/roller-coaster.svg +21 -0
- package/dist/cdn/icons/lucide/rose.svg +19 -0
- package/dist/cdn/icons/lucide/rotate-3-d.svg +17 -0
- package/dist/cdn/icons/lucide/rotate-3d.svg +17 -0
- package/dist/cdn/icons/lucide/rotate-ccw-key.svg +19 -0
- package/dist/cdn/icons/lucide/rotate-ccw-square.svg +17 -0
- package/dist/cdn/icons/lucide/rotate-ccw.svg +16 -0
- package/dist/cdn/icons/lucide/rotate-cw-square.svg +17 -0
- package/dist/cdn/icons/lucide/rotate-cw.svg +16 -0
- package/dist/cdn/icons/lucide/route-off.svg +21 -0
- package/dist/cdn/icons/lucide/route.svg +17 -0
- package/dist/cdn/icons/lucide/router.svg +20 -0
- package/dist/cdn/icons/lucide/rows-2.svg +16 -0
- package/dist/cdn/icons/lucide/rows-3.svg +17 -0
- package/dist/cdn/icons/lucide/rows-4.svg +18 -0
- package/dist/cdn/icons/lucide/rows.svg +16 -0
- package/dist/cdn/icons/lucide/rss.svg +17 -0
- package/dist/cdn/icons/lucide/ruler-dimension-line.svg +22 -0
- package/dist/cdn/icons/lucide/ruler.svg +19 -0
- package/dist/cdn/icons/lucide/russian-ruble.svg +16 -0
- package/dist/cdn/icons/lucide/sailboat.svg +17 -0
- package/dist/cdn/icons/lucide/salad.svg +19 -0
- package/dist/cdn/icons/lucide/sandwich.svg +19 -0
- package/dist/cdn/icons/lucide/satellite-dish.svg +18 -0
- package/dist/cdn/icons/lucide/satellite.svg +19 -0
- package/dist/cdn/icons/lucide/saudi-riyal.svg +18 -0
- package/dist/cdn/icons/lucide/save-all.svg +18 -0
- package/dist/cdn/icons/lucide/save-off.svg +21 -0
- package/dist/cdn/icons/lucide/save.svg +17 -0
- package/dist/cdn/icons/lucide/scale-3-d.svg +18 -0
- package/dist/cdn/icons/lucide/scale-3d.svg +18 -0
- package/dist/cdn/icons/lucide/scale.svg +19 -0
- package/dist/cdn/icons/lucide/scaling.svg +18 -0
- package/dist/cdn/icons/lucide/scan-barcode.svg +21 -0
- package/dist/cdn/icons/lucide/scan-eye.svg +20 -0
- package/dist/cdn/icons/lucide/scan-face.svg +21 -0
- package/dist/cdn/icons/lucide/scan-heart.svg +19 -0
- package/dist/cdn/icons/lucide/scan-line.svg +19 -0
- package/dist/cdn/icons/lucide/scan-qr-code.svg +22 -0
- package/dist/cdn/icons/lucide/scan-search.svg +20 -0
- package/dist/cdn/icons/lucide/scan-text.svg +21 -0
- package/dist/cdn/icons/lucide/scan.svg +18 -0
- package/dist/cdn/icons/lucide/scatter-chart.svg +20 -0
- package/dist/cdn/icons/lucide/school-2.svg +21 -0
- package/dist/cdn/icons/lucide/school.svg +20 -0
- package/dist/cdn/icons/lucide/scissors-line-dashed.svg +21 -0
- package/dist/cdn/icons/lucide/scissors-square-dashed-bottom.svg +28 -0
- package/dist/cdn/icons/lucide/scissors-square.svg +20 -0
- package/dist/cdn/icons/lucide/scissors.svg +19 -0
- package/dist/cdn/icons/lucide/scooter.svg +18 -0
- package/dist/cdn/icons/lucide/screen-share-off.svg +19 -0
- package/dist/cdn/icons/lucide/screen-share.svg +19 -0
- package/dist/cdn/icons/lucide/scroll-text.svg +18 -0
- package/dist/cdn/icons/lucide/scroll.svg +16 -0
- package/dist/cdn/icons/lucide/search-alert.svg +18 -0
- package/dist/cdn/icons/lucide/search-check.svg +17 -0
- package/dist/cdn/icons/lucide/search-code.svg +18 -0
- package/dist/cdn/icons/lucide/search-slash.svg +17 -0
- package/dist/cdn/icons/lucide/search-x.svg +18 -0
- package/dist/cdn/icons/lucide/search.svg +16 -0
- package/dist/cdn/icons/lucide/section.svg +16 -0
- package/dist/cdn/icons/lucide/send-horizonal.svg +16 -0
- package/dist/cdn/icons/lucide/send-horizontal.svg +16 -0
- package/dist/cdn/icons/lucide/send-to-back.svg +18 -0
- package/dist/cdn/icons/lucide/send.svg +16 -0
- package/dist/cdn/icons/lucide/separator-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/separator-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/server-cog.svg +26 -0
- package/dist/cdn/icons/lucide/server-crash.svg +19 -0
- package/dist/cdn/icons/lucide/server-off.svg +20 -0
- package/dist/cdn/icons/lucide/server.svg +18 -0
- package/dist/cdn/icons/lucide/settings-2.svg +18 -0
- package/dist/cdn/icons/lucide/settings.svg +16 -0
- package/dist/cdn/icons/lucide/shapes.svg +17 -0
- package/dist/cdn/icons/lucide/share-2.svg +19 -0
- package/dist/cdn/icons/lucide/share.svg +17 -0
- package/dist/cdn/icons/lucide/sheet.svg +19 -0
- package/dist/cdn/icons/lucide/shell.svg +15 -0
- package/dist/cdn/icons/lucide/shield-alert.svg +17 -0
- package/dist/cdn/icons/lucide/shield-ban.svg +16 -0
- package/dist/cdn/icons/lucide/shield-check.svg +16 -0
- package/dist/cdn/icons/lucide/shield-close.svg +17 -0
- package/dist/cdn/icons/lucide/shield-ellipsis.svg +18 -0
- package/dist/cdn/icons/lucide/shield-half.svg +16 -0
- package/dist/cdn/icons/lucide/shield-minus.svg +16 -0
- package/dist/cdn/icons/lucide/shield-off.svg +17 -0
- package/dist/cdn/icons/lucide/shield-plus.svg +17 -0
- package/dist/cdn/icons/lucide/shield-question-mark.svg +17 -0
- package/dist/cdn/icons/lucide/shield-question.svg +17 -0
- package/dist/cdn/icons/lucide/shield-user.svg +17 -0
- package/dist/cdn/icons/lucide/shield-x.svg +17 -0
- package/dist/cdn/icons/lucide/shield.svg +15 -0
- package/dist/cdn/icons/lucide/ship-wheel.svg +24 -0
- package/dist/cdn/icons/lucide/ship.svg +19 -0
- package/dist/cdn/icons/lucide/shirt.svg +15 -0
- package/dist/cdn/icons/lucide/shopping-bag.svg +17 -0
- package/dist/cdn/icons/lucide/shopping-basket.svg +21 -0
- package/dist/cdn/icons/lucide/shopping-cart.svg +17 -0
- package/dist/cdn/icons/lucide/shovel.svg +17 -0
- package/dist/cdn/icons/lucide/shower-head.svg +24 -0
- package/dist/cdn/icons/lucide/shredder.svg +21 -0
- package/dist/cdn/icons/lucide/shrimp.svg +19 -0
- package/dist/cdn/icons/lucide/shrink.svg +18 -0
- package/dist/cdn/icons/lucide/shrub.svg +17 -0
- package/dist/cdn/icons/lucide/shuffle.svg +19 -0
- package/dist/cdn/icons/lucide/sidebar-close.svg +17 -0
- package/dist/cdn/icons/lucide/sidebar-open.svg +17 -0
- package/dist/cdn/icons/lucide/sidebar.svg +16 -0
- package/dist/cdn/icons/lucide/sigma-square.svg +16 -0
- package/dist/cdn/icons/lucide/sigma.svg +15 -0
- package/dist/cdn/icons/lucide/signal-high.svg +18 -0
- package/dist/cdn/icons/lucide/signal-low.svg +16 -0
- package/dist/cdn/icons/lucide/signal-medium.svg +17 -0
- package/dist/cdn/icons/lucide/signal-zero.svg +15 -0
- package/dist/cdn/icons/lucide/signal.svg +19 -0
- package/dist/cdn/icons/lucide/signature.svg +16 -0
- package/dist/cdn/icons/lucide/signpost-big.svg +18 -0
- package/dist/cdn/icons/lucide/signpost.svg +17 -0
- package/dist/cdn/icons/lucide/siren.svg +22 -0
- package/dist/cdn/icons/lucide/skip-back.svg +16 -0
- package/dist/cdn/icons/lucide/skip-forward.svg +16 -0
- package/dist/cdn/icons/lucide/skull.svg +18 -0
- package/dist/cdn/icons/lucide/slack.svg +22 -0
- package/dist/cdn/icons/lucide/slash-square.svg +16 -0
- package/dist/cdn/icons/lucide/slash.svg +15 -0
- package/dist/cdn/icons/lucide/slice.svg +15 -0
- package/dist/cdn/icons/lucide/sliders-horizontal.svg +23 -0
- package/dist/cdn/icons/lucide/sliders-vertical.svg +23 -0
- package/dist/cdn/icons/lucide/sliders.svg +23 -0
- package/dist/cdn/icons/lucide/smartphone-charging.svg +16 -0
- package/dist/cdn/icons/lucide/smartphone-nfc.svg +18 -0
- package/dist/cdn/icons/lucide/smartphone.svg +16 -0
- package/dist/cdn/icons/lucide/smile-plus.svg +20 -0
- package/dist/cdn/icons/lucide/smile.svg +18 -0
- package/dist/cdn/icons/lucide/snail.svg +19 -0
- package/dist/cdn/icons/lucide/snowflake.svg +26 -0
- package/dist/cdn/icons/lucide/soap-dispenser-droplet.svg +18 -0
- package/dist/cdn/icons/lucide/sofa.svg +19 -0
- package/dist/cdn/icons/lucide/solar-panel.svg +21 -0
- package/dist/cdn/icons/lucide/sort-asc.svg +19 -0
- package/dist/cdn/icons/lucide/sort-desc.svg +19 -0
- package/dist/cdn/icons/lucide/soup.svg +20 -0
- package/dist/cdn/icons/lucide/space.svg +15 -0
- package/dist/cdn/icons/lucide/spade.svg +16 -0
- package/dist/cdn/icons/lucide/sparkle.svg +15 -0
- package/dist/cdn/icons/lucide/sparkles.svg +18 -0
- package/dist/cdn/icons/lucide/speaker.svg +18 -0
- package/dist/cdn/icons/lucide/speech.svg +17 -0
- package/dist/cdn/icons/lucide/spell-check-2.svg +17 -0
- package/dist/cdn/icons/lucide/spell-check.svg +17 -0
- package/dist/cdn/icons/lucide/spline-pointer.svg +18 -0
- package/dist/cdn/icons/lucide/spline.svg +17 -0
- package/dist/cdn/icons/lucide/split-square-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/split-square-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/split.svg +18 -0
- package/dist/cdn/icons/lucide/spool.svg +16 -0
- package/dist/cdn/icons/lucide/spotlight.svg +19 -0
- package/dist/cdn/icons/lucide/spray-can.svg +24 -0
- package/dist/cdn/icons/lucide/sprout.svg +17 -0
- package/dist/cdn/icons/lucide/square-activity.svg +16 -0
- package/dist/cdn/icons/lucide/square-arrow-down-left.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-down-right.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-down.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-left.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-out-down-left.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-out-down-right.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-out-up-left.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-out-up-right.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-right.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-up-left.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-up-right.svg +17 -0
- package/dist/cdn/icons/lucide/square-arrow-up.svg +17 -0
- package/dist/cdn/icons/lucide/square-asterisk.svg +18 -0
- package/dist/cdn/icons/lucide/square-bottom-dashed-scissors.svg +28 -0
- package/dist/cdn/icons/lucide/square-chart-gantt.svg +18 -0
- package/dist/cdn/icons/lucide/square-check-big.svg +16 -0
- package/dist/cdn/icons/lucide/square-check.svg +16 -0
- package/dist/cdn/icons/lucide/square-chevron-down.svg +16 -0
- package/dist/cdn/icons/lucide/square-chevron-left.svg +16 -0
- package/dist/cdn/icons/lucide/square-chevron-right.svg +16 -0
- package/dist/cdn/icons/lucide/square-chevron-up.svg +16 -0
- package/dist/cdn/icons/lucide/square-code.svg +17 -0
- package/dist/cdn/icons/lucide/square-dashed-bottom-code.svg +19 -0
- package/dist/cdn/icons/lucide/square-dashed-bottom.svg +17 -0
- package/dist/cdn/icons/lucide/square-dashed-kanban.svg +29 -0
- package/dist/cdn/icons/lucide/square-dashed-mouse-pointer.svg +24 -0
- package/dist/cdn/icons/lucide/square-dashed-top-solid.svg +23 -0
- package/dist/cdn/icons/lucide/square-dashed.svg +26 -0
- package/dist/cdn/icons/lucide/square-divide.svg +18 -0
- package/dist/cdn/icons/lucide/square-dot.svg +16 -0
- package/dist/cdn/icons/lucide/square-equal.svg +17 -0
- package/dist/cdn/icons/lucide/square-function.svg +17 -0
- package/dist/cdn/icons/lucide/square-gantt-chart.svg +18 -0
- package/dist/cdn/icons/lucide/square-kanban.svg +18 -0
- package/dist/cdn/icons/lucide/square-library.svg +18 -0
- package/dist/cdn/icons/lucide/square-m.svg +16 -0
- package/dist/cdn/icons/lucide/square-menu.svg +18 -0
- package/dist/cdn/icons/lucide/square-minus.svg +16 -0
- package/dist/cdn/icons/lucide/square-mouse-pointer.svg +16 -0
- package/dist/cdn/icons/lucide/square-parking-off.svg +19 -0
- package/dist/cdn/icons/lucide/square-parking.svg +16 -0
- package/dist/cdn/icons/lucide/square-pause.svg +17 -0
- package/dist/cdn/icons/lucide/square-pen.svg +16 -0
- package/dist/cdn/icons/lucide/square-percent.svg +18 -0
- package/dist/cdn/icons/lucide/square-pi.svg +18 -0
- package/dist/cdn/icons/lucide/square-pilcrow.svg +18 -0
- package/dist/cdn/icons/lucide/square-play.svg +16 -0
- package/dist/cdn/icons/lucide/square-plus.svg +17 -0
- package/dist/cdn/icons/lucide/square-power.svg +17 -0
- package/dist/cdn/icons/lucide/square-radical.svg +16 -0
- package/dist/cdn/icons/lucide/square-round-corner.svg +16 -0
- package/dist/cdn/icons/lucide/square-scissors.svg +20 -0
- package/dist/cdn/icons/lucide/square-sigma.svg +16 -0
- package/dist/cdn/icons/lucide/square-slash.svg +16 -0
- package/dist/cdn/icons/lucide/square-split-horizontal.svg +17 -0
- package/dist/cdn/icons/lucide/square-split-vertical.svg +17 -0
- package/dist/cdn/icons/lucide/square-square.svg +16 -0
- package/dist/cdn/icons/lucide/square-stack.svg +17 -0
- package/dist/cdn/icons/lucide/square-star.svg +16 -0
- package/dist/cdn/icons/lucide/square-stop.svg +16 -0
- package/dist/cdn/icons/lucide/square-terminal.svg +17 -0
- package/dist/cdn/icons/lucide/square-user-round.svg +17 -0
- package/dist/cdn/icons/lucide/square-user.svg +17 -0
- package/dist/cdn/icons/lucide/square-x.svg +17 -0
- package/dist/cdn/icons/lucide/square.svg +15 -0
- package/dist/cdn/icons/lucide/squares-exclude.svg +16 -0
- package/dist/cdn/icons/lucide/squares-intersect.svg +25 -0
- package/dist/cdn/icons/lucide/squares-subtract.svg +20 -0
- package/dist/cdn/icons/lucide/squares-unite.svg +15 -0
- package/dist/cdn/icons/lucide/squircle-dashed.svg +22 -0
- package/dist/cdn/icons/lucide/squircle.svg +15 -0
- package/dist/cdn/icons/lucide/squirrel.svg +18 -0
- package/dist/cdn/icons/lucide/stamp.svg +17 -0
- package/dist/cdn/icons/lucide/star-half.svg +15 -0
- package/dist/cdn/icons/lucide/star-off.svg +17 -0
- package/dist/cdn/icons/lucide/star.svg +15 -0
- package/dist/cdn/icons/lucide/stars.svg +18 -0
- package/dist/cdn/icons/lucide/step-back.svg +16 -0
- package/dist/cdn/icons/lucide/step-forward.svg +16 -0
- package/dist/cdn/icons/lucide/stethoscope.svg +19 -0
- package/dist/cdn/icons/lucide/sticker.svg +19 -0
- package/dist/cdn/icons/lucide/sticky-note.svg +16 -0
- package/dist/cdn/icons/lucide/stone.svg +17 -0
- package/dist/cdn/icons/lucide/stop-circle.svg +16 -0
- package/dist/cdn/icons/lucide/store.svg +17 -0
- package/dist/cdn/icons/lucide/stretch-horizontal.svg +16 -0
- package/dist/cdn/icons/lucide/stretch-vertical.svg +16 -0
- package/dist/cdn/icons/lucide/strikethrough.svg +17 -0
- package/dist/cdn/icons/lucide/subscript.svg +17 -0
- package/dist/cdn/icons/lucide/subtitles.svg +16 -0
- package/dist/cdn/icons/lucide/sun-dim.svg +23 -0
- package/dist/cdn/icons/lucide/sun-medium.svg +23 -0
- package/dist/cdn/icons/lucide/sun-moon.svg +19 -0
- package/dist/cdn/icons/lucide/sun-snow.svg +25 -0
- package/dist/cdn/icons/lucide/sun.svg +23 -0
- package/dist/cdn/icons/lucide/sunrise.svg +22 -0
- package/dist/cdn/icons/lucide/sunset.svg +22 -0
- package/dist/cdn/icons/lucide/superscript.svg +17 -0
- package/dist/cdn/icons/lucide/swatch-book.svg +18 -0
- package/dist/cdn/icons/lucide/swiss-franc.svg +17 -0
- package/dist/cdn/icons/lucide/switch-camera.svg +19 -0
- package/dist/cdn/icons/lucide/sword.svg +18 -0
- package/dist/cdn/icons/lucide/swords.svg +22 -0
- package/dist/cdn/icons/lucide/syringe.svg +20 -0
- package/dist/cdn/icons/lucide/table-2.svg +15 -0
- package/dist/cdn/icons/lucide/table-cells-merge.svg +19 -0
- package/dist/cdn/icons/lucide/table-cells-split.svg +18 -0
- package/dist/cdn/icons/lucide/table-columns-split.svg +25 -0
- package/dist/cdn/icons/lucide/table-config.svg +26 -0
- package/dist/cdn/icons/lucide/table-of-contents.svg +20 -0
- package/dist/cdn/icons/lucide/table-properties.svg +18 -0
- package/dist/cdn/icons/lucide/table-rows-split.svg +25 -0
- package/dist/cdn/icons/lucide/table.svg +18 -0
- package/dist/cdn/icons/lucide/tablet-smartphone.svg +17 -0
- package/dist/cdn/icons/lucide/tablet.svg +16 -0
- package/dist/cdn/icons/lucide/tablets.svg +18 -0
- package/dist/cdn/icons/lucide/tag.svg +16 -0
- package/dist/cdn/icons/lucide/tags.svg +17 -0
- package/dist/cdn/icons/lucide/tally-1.svg +15 -0
- package/dist/cdn/icons/lucide/tally-2.svg +16 -0
- package/dist/cdn/icons/lucide/tally-3.svg +17 -0
- package/dist/cdn/icons/lucide/tally-4.svg +18 -0
- package/dist/cdn/icons/lucide/tally-5.svg +19 -0
- package/dist/cdn/icons/lucide/tangent.svg +18 -0
- package/dist/cdn/icons/lucide/target.svg +17 -0
- package/dist/cdn/icons/lucide/telescope.svg +21 -0
- package/dist/cdn/icons/lucide/tent-tree.svg +21 -0
- package/dist/cdn/icons/lucide/tent.svg +18 -0
- package/dist/cdn/icons/lucide/terminal-square.svg +17 -0
- package/dist/cdn/icons/lucide/terminal.svg +16 -0
- package/dist/cdn/icons/lucide/test-tube-2.svg +17 -0
- package/dist/cdn/icons/lucide/test-tube-diagonal.svg +17 -0
- package/dist/cdn/icons/lucide/test-tube.svg +17 -0
- package/dist/cdn/icons/lucide/test-tubes.svg +20 -0
- package/dist/cdn/icons/lucide/text-align-center.svg +17 -0
- package/dist/cdn/icons/lucide/text-align-end.svg +17 -0
- package/dist/cdn/icons/lucide/text-align-justify.svg +17 -0
- package/dist/cdn/icons/lucide/text-align-start.svg +17 -0
- package/dist/cdn/icons/lucide/text-cursor-input.svg +19 -0
- package/dist/cdn/icons/lucide/text-cursor.svg +17 -0
- package/dist/cdn/icons/lucide/text-initial.svg +19 -0
- package/dist/cdn/icons/lucide/text-quote.svg +18 -0
- package/dist/cdn/icons/lucide/text-search.svg +19 -0
- package/dist/cdn/icons/lucide/text-select.svg +29 -0
- package/dist/cdn/icons/lucide/text-selection.svg +29 -0
- package/dist/cdn/icons/lucide/text-wrap.svg +18 -0
- package/dist/cdn/icons/lucide/text.svg +17 -0
- package/dist/cdn/icons/lucide/theater.svg +23 -0
- package/dist/cdn/icons/lucide/thermometer-snowflake.svg +22 -0
- package/dist/cdn/icons/lucide/thermometer-sun.svg +20 -0
- package/dist/cdn/icons/lucide/thermometer.svg +15 -0
- package/dist/cdn/icons/lucide/thumbs-down.svg +16 -0
- package/dist/cdn/icons/lucide/thumbs-up.svg +16 -0
- package/dist/cdn/icons/lucide/ticket-check.svg +16 -0
- package/dist/cdn/icons/lucide/ticket-minus.svg +16 -0
- package/dist/cdn/icons/lucide/ticket-percent.svg +18 -0
- package/dist/cdn/icons/lucide/ticket-plus.svg +17 -0
- package/dist/cdn/icons/lucide/ticket-slash.svg +16 -0
- package/dist/cdn/icons/lucide/ticket-x.svg +17 -0
- package/dist/cdn/icons/lucide/ticket.svg +18 -0
- package/dist/cdn/icons/lucide/tickets-plane.svg +21 -0
- package/dist/cdn/icons/lucide/tickets.svg +19 -0
- package/dist/cdn/icons/lucide/timer-off.svg +19 -0
- package/dist/cdn/icons/lucide/timer-reset.svg +18 -0
- package/dist/cdn/icons/lucide/timer.svg +17 -0
- package/dist/cdn/icons/lucide/toggle-left.svg +16 -0
- package/dist/cdn/icons/lucide/toggle-right.svg +16 -0
- package/dist/cdn/icons/lucide/toilet.svg +16 -0
- package/dist/cdn/icons/lucide/tool-case.svg +18 -0
- package/dist/cdn/icons/lucide/toolbox.svg +19 -0
- package/dist/cdn/icons/lucide/tornado.svg +19 -0
- package/dist/cdn/icons/lucide/torus.svg +16 -0
- package/dist/cdn/icons/lucide/touchpad-off.svg +20 -0
- package/dist/cdn/icons/lucide/touchpad.svg +17 -0
- package/dist/cdn/icons/lucide/tower-control.svg +21 -0
- package/dist/cdn/icons/lucide/toy-brick.svg +17 -0
- package/dist/cdn/icons/lucide/tractor.svg +23 -0
- package/dist/cdn/icons/lucide/traffic-cone.svg +18 -0
- package/dist/cdn/icons/lucide/train-front-tunnel.svg +21 -0
- package/dist/cdn/icons/lucide/train-front.svg +20 -0
- package/dist/cdn/icons/lucide/train-track.svg +21 -0
- package/dist/cdn/icons/lucide/train.svg +21 -0
- package/dist/cdn/icons/lucide/tram-front.svg +21 -0
- package/dist/cdn/icons/lucide/transgender.svg +22 -0
- package/dist/cdn/icons/lucide/trash-2.svg +19 -0
- package/dist/cdn/icons/lucide/trash.svg +17 -0
- package/dist/cdn/icons/lucide/tree-deciduous.svg +16 -0
- package/dist/cdn/icons/lucide/tree-palm.svg +18 -0
- package/dist/cdn/icons/lucide/tree-pine.svg +16 -0
- package/dist/cdn/icons/lucide/trees.svg +18 -0
- package/dist/cdn/icons/lucide/trello.svg +17 -0
- package/dist/cdn/icons/lucide/trending-down.svg +16 -0
- package/dist/cdn/icons/lucide/trending-up-down.svg +18 -0
- package/dist/cdn/icons/lucide/trending-up.svg +16 -0
- package/dist/cdn/icons/lucide/triangle-alert.svg +17 -0
- package/dist/cdn/icons/lucide/triangle-dashed.svg +23 -0
- package/dist/cdn/icons/lucide/triangle-right.svg +15 -0
- package/dist/cdn/icons/lucide/triangle.svg +15 -0
- package/dist/cdn/icons/lucide/trophy.svg +20 -0
- package/dist/cdn/icons/lucide/truck-electric.svg +21 -0
- package/dist/cdn/icons/lucide/truck.svg +19 -0
- package/dist/cdn/icons/lucide/turkish-lira.svg +17 -0
- package/dist/cdn/icons/lucide/turntable.svg +18 -0
- package/dist/cdn/icons/lucide/turtle.svg +18 -0
- package/dist/cdn/icons/lucide/tv-2.svg +16 -0
- package/dist/cdn/icons/lucide/tv-minimal-play.svg +17 -0
- package/dist/cdn/icons/lucide/tv-minimal.svg +16 -0
- package/dist/cdn/icons/lucide/tv.svg +16 -0
- package/dist/cdn/icons/lucide/twitch.svg +15 -0
- package/dist/cdn/icons/lucide/twitter.svg +15 -0
- package/dist/cdn/icons/lucide/type-outline.svg +15 -0
- package/dist/cdn/icons/lucide/type.svg +17 -0
- package/dist/cdn/icons/lucide/umbrella-off.svg +19 -0
- package/dist/cdn/icons/lucide/umbrella.svg +17 -0
- package/dist/cdn/icons/lucide/underline.svg +16 -0
- package/dist/cdn/icons/lucide/undo-2.svg +16 -0
- package/dist/cdn/icons/lucide/undo-dot.svg +17 -0
- package/dist/cdn/icons/lucide/undo.svg +16 -0
- package/dist/cdn/icons/lucide/unfold-horizontal.svg +22 -0
- package/dist/cdn/icons/lucide/unfold-vertical.svg +22 -0
- package/dist/cdn/icons/lucide/ungroup.svg +16 -0
- package/dist/cdn/icons/lucide/university.svg +21 -0
- package/dist/cdn/icons/lucide/unlink-2.svg +15 -0
- package/dist/cdn/icons/lucide/unlink.svg +20 -0
- package/dist/cdn/icons/lucide/unlock-keyhole.svg +17 -0
- package/dist/cdn/icons/lucide/unlock.svg +16 -0
- package/dist/cdn/icons/lucide/unplug.svg +20 -0
- package/dist/cdn/icons/lucide/upload-cloud.svg +17 -0
- package/dist/cdn/icons/lucide/upload.svg +17 -0
- package/dist/cdn/icons/lucide/usb.svg +21 -0
- package/dist/cdn/icons/lucide/user-2.svg +16 -0
- package/dist/cdn/icons/lucide/user-check-2.svg +17 -0
- package/dist/cdn/icons/lucide/user-check.svg +17 -0
- package/dist/cdn/icons/lucide/user-circle-2.svg +17 -0
- package/dist/cdn/icons/lucide/user-circle.svg +17 -0
- package/dist/cdn/icons/lucide/user-cog-2.svg +25 -0
- package/dist/cdn/icons/lucide/user-cog.svg +25 -0
- package/dist/cdn/icons/lucide/user-lock.svg +18 -0
- package/dist/cdn/icons/lucide/user-minus-2.svg +17 -0
- package/dist/cdn/icons/lucide/user-minus.svg +17 -0
- package/dist/cdn/icons/lucide/user-pen.svg +17 -0
- package/dist/cdn/icons/lucide/user-plus-2.svg +18 -0
- package/dist/cdn/icons/lucide/user-plus.svg +18 -0
- package/dist/cdn/icons/lucide/user-round-check.svg +17 -0
- package/dist/cdn/icons/lucide/user-round-cog.svg +25 -0
- package/dist/cdn/icons/lucide/user-round-minus.svg +17 -0
- package/dist/cdn/icons/lucide/user-round-pen.svg +17 -0
- package/dist/cdn/icons/lucide/user-round-plus.svg +18 -0
- package/dist/cdn/icons/lucide/user-round-search.svg +18 -0
- package/dist/cdn/icons/lucide/user-round-x.svg +18 -0
- package/dist/cdn/icons/lucide/user-round.svg +16 -0
- package/dist/cdn/icons/lucide/user-search.svg +18 -0
- package/dist/cdn/icons/lucide/user-square-2.svg +17 -0
- package/dist/cdn/icons/lucide/user-square.svg +17 -0
- package/dist/cdn/icons/lucide/user-star.svg +17 -0
- package/dist/cdn/icons/lucide/user-x-2.svg +18 -0
- package/dist/cdn/icons/lucide/user-x.svg +18 -0
- package/dist/cdn/icons/lucide/user.svg +16 -0
- package/dist/cdn/icons/lucide/users-2.svg +17 -0
- package/dist/cdn/icons/lucide/users-round.svg +17 -0
- package/dist/cdn/icons/lucide/users.svg +18 -0
- package/dist/cdn/icons/lucide/utensils-crossed.svg +18 -0
- package/dist/cdn/icons/lucide/utensils.svg +17 -0
- package/dist/cdn/icons/lucide/utility-pole.svg +21 -0
- package/dist/cdn/icons/lucide/van.svg +19 -0
- package/dist/cdn/icons/lucide/variable.svg +18 -0
- package/dist/cdn/icons/lucide/vault.svg +24 -0
- package/dist/cdn/icons/lucide/vector-square.svg +22 -0
- package/dist/cdn/icons/lucide/vegan.svg +17 -0
- package/dist/cdn/icons/lucide/venetian-mask.svg +17 -0
- package/dist/cdn/icons/lucide/venus-and-mars.svg +19 -0
- package/dist/cdn/icons/lucide/venus.svg +17 -0
- package/dist/cdn/icons/lucide/verified.svg +16 -0
- package/dist/cdn/icons/lucide/vibrate-off.svg +19 -0
- package/dist/cdn/icons/lucide/vibrate.svg +17 -0
- package/dist/cdn/icons/lucide/video-off.svg +17 -0
- package/dist/cdn/icons/lucide/video.svg +16 -0
- package/dist/cdn/icons/lucide/videotape.svg +19 -0
- package/dist/cdn/icons/lucide/view.svg +18 -0
- package/dist/cdn/icons/lucide/voicemail.svg +17 -0
- package/dist/cdn/icons/lucide/volleyball.svg +20 -0
- package/dist/cdn/icons/lucide/volume-1.svg +16 -0
- package/dist/cdn/icons/lucide/volume-2.svg +17 -0
- package/dist/cdn/icons/lucide/volume-off.svg +19 -0
- package/dist/cdn/icons/lucide/volume-x.svg +17 -0
- package/dist/cdn/icons/lucide/volume.svg +15 -0
- package/dist/cdn/icons/lucide/vote.svg +17 -0
- package/dist/cdn/icons/lucide/wallet-2.svg +16 -0
- package/dist/cdn/icons/lucide/wallet-cards.svg +17 -0
- package/dist/cdn/icons/lucide/wallet-minimal.svg +16 -0
- package/dist/cdn/icons/lucide/wallet.svg +16 -0
- package/dist/cdn/icons/lucide/wallpaper.svg +19 -0
- package/dist/cdn/icons/lucide/wand-2.svg +22 -0
- package/dist/cdn/icons/lucide/wand-sparkles.svg +22 -0
- package/dist/cdn/icons/lucide/wand.svg +23 -0
- package/dist/cdn/icons/lucide/warehouse.svg +18 -0
- package/dist/cdn/icons/lucide/washing-machine.svg +19 -0
- package/dist/cdn/icons/lucide/watch.svg +18 -0
- package/dist/cdn/icons/lucide/waves-arrow-down.svg +18 -0
- package/dist/cdn/icons/lucide/waves-arrow-up.svg +18 -0
- package/dist/cdn/icons/lucide/waves-ladder.svg +19 -0
- package/dist/cdn/icons/lucide/waves.svg +17 -0
- package/dist/cdn/icons/lucide/waypoints.svg +21 -0
- package/dist/cdn/icons/lucide/webcam.svg +18 -0
- package/dist/cdn/icons/lucide/webhook-off.svg +21 -0
- package/dist/cdn/icons/lucide/webhook.svg +17 -0
- package/dist/cdn/icons/lucide/weight-tilde.svg +17 -0
- package/dist/cdn/icons/lucide/weight.svg +16 -0
- package/dist/cdn/icons/lucide/wheat-off.svg +24 -0
- package/dist/cdn/icons/lucide/wheat.svg +22 -0
- package/dist/cdn/icons/lucide/whole-word.svg +19 -0
- package/dist/cdn/icons/lucide/wifi-cog.svg +26 -0
- package/dist/cdn/icons/lucide/wifi-high.svg +17 -0
- package/dist/cdn/icons/lucide/wifi-low.svg +16 -0
- package/dist/cdn/icons/lucide/wifi-off.svg +21 -0
- package/dist/cdn/icons/lucide/wifi-pen.svg +18 -0
- package/dist/cdn/icons/lucide/wifi-sync.svg +21 -0
- package/dist/cdn/icons/lucide/wifi-zero.svg +15 -0
- package/dist/cdn/icons/lucide/wifi.svg +18 -0
- package/dist/cdn/icons/lucide/wind-arrow-down.svg +18 -0
- package/dist/cdn/icons/lucide/wind.svg +17 -0
- package/dist/cdn/icons/lucide/wine-off.svg +19 -0
- package/dist/cdn/icons/lucide/wine.svg +18 -0
- package/dist/cdn/icons/lucide/workflow.svg +17 -0
- package/dist/cdn/icons/lucide/worm.svg +17 -0
- package/dist/cdn/icons/lucide/wrap-text.svg +18 -0
- package/dist/cdn/icons/lucide/wrench.svg +15 -0
- package/dist/cdn/icons/lucide/x-circle.svg +17 -0
- package/dist/cdn/icons/lucide/x-octagon.svg +17 -0
- package/dist/cdn/icons/lucide/x-square.svg +17 -0
- package/dist/cdn/icons/lucide/x.svg +16 -0
- package/dist/cdn/icons/lucide/youtube.svg +16 -0
- package/dist/cdn/icons/lucide/zap-off.svg +18 -0
- package/dist/cdn/icons/lucide/zap.svg +15 -0
- package/dist/cdn/icons/lucide/zoom-in.svg +18 -0
- package/dist/cdn/icons/lucide/zoom-out.svg +17 -0
- package/dist/cdn/icons/mage/bell.svg +4 -0
- package/dist/cdn/icons/mage/bookmark.svg +3 -0
- package/dist/cdn/icons/mage/calendar.svg +6 -0
- package/dist/cdn/icons/mage/camera.svg +4 -0
- package/dist/cdn/icons/mage/globe.svg +5 -0
- package/dist/cdn/icons/mage/heart.svg +3 -0
- package/dist/cdn/icons/mage/home.svg +3 -0
- package/dist/cdn/icons/mage/index.json +22 -0
- package/dist/cdn/icons/mage/lock.svg +5 -0
- package/dist/cdn/icons/mage/mail.svg +4 -0
- package/dist/cdn/icons/mage/music.svg +5 -0
- package/dist/cdn/icons/mage/search.svg +4 -0
- package/dist/cdn/icons/mage/settings.svg +4 -0
- package/dist/cdn/icons/mage/star.svg +3 -0
- package/dist/cdn/icons/mage/user.svg +4 -0
- package/dist/cdn/icons/mage/zap.svg +3 -0
- package/dist/cdn/icons/phosphor/bell.svg +1 -0
- package/dist/cdn/icons/phosphor/bookmark.svg +1 -0
- package/dist/cdn/icons/phosphor/calendar.svg +1 -0
- package/dist/cdn/icons/phosphor/camera.svg +1 -0
- package/dist/cdn/icons/phosphor/globe.svg +1 -0
- package/dist/cdn/icons/phosphor/heart.svg +1 -0
- package/dist/cdn/icons/phosphor/home.svg +1 -0
- package/dist/cdn/icons/phosphor/index.json +22 -0
- package/dist/cdn/icons/phosphor/lock.svg +1 -0
- package/dist/cdn/icons/phosphor/mail.svg +1 -0
- package/dist/cdn/icons/phosphor/music.svg +1 -0
- package/dist/cdn/icons/phosphor/search.svg +1 -0
- package/dist/cdn/icons/phosphor/settings.svg +1 -0
- package/dist/cdn/icons/phosphor/star.svg +1 -0
- package/dist/cdn/icons/phosphor/user.svg +1 -0
- package/dist/cdn/icons/phosphor/zap.svg +1 -0
- package/dist/cdn/icons/tabler/bell.svg +20 -0
- package/dist/cdn/icons/tabler/bookmark.svg +19 -0
- package/dist/cdn/icons/tabler/calendar.svg +24 -0
- package/dist/cdn/icons/tabler/camera.svg +20 -0
- package/dist/cdn/icons/tabler/globe.svg +23 -0
- package/dist/cdn/icons/tabler/heart.svg +19 -0
- package/dist/cdn/icons/tabler/home.svg +21 -0
- package/dist/cdn/icons/tabler/index.json +22 -0
- package/dist/cdn/icons/tabler/lock.svg +21 -0
- package/dist/cdn/icons/tabler/mail.svg +20 -0
- package/dist/cdn/icons/tabler/music.svg +22 -0
- package/dist/cdn/icons/tabler/search.svg +20 -0
- package/dist/cdn/icons/tabler/settings.svg +20 -0
- package/dist/cdn/icons/tabler/star.svg +19 -0
- package/dist/cdn/icons/tabler/user.svg +20 -0
- package/dist/cdn/icons/tabler/zap.svg +19 -0
- package/dist/cdn/packs/design-system.full.css +2 -0
- package/dist/cdn/packs/design-system.full.js +90 -0
- package/dist/cdn/packs/effects.full.css +2 -0
- package/dist/cdn/packs/effects.full.js +2 -0
- package/dist/cdn/packs/effects.pack.js +2 -0
- package/dist/cdn/packs/fonts-display/fonts/bodoni-moda-variable-italic.woff2 +0 -0
- package/dist/cdn/packs/fonts-display/fonts/bodoni-moda-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-display/fonts/cormorant-variable-italic.woff2 +0 -0
- package/dist/cdn/packs/fonts-display/fonts/cormorant-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-display/fonts/fraunces-variable-italic.woff2 +0 -0
- package/dist/cdn/packs/fonts-display/fonts/fraunces-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-display.bundle.js +2 -0
- package/dist/cdn/packs/fonts-display.full.css +2 -0
- package/dist/cdn/packs/fonts-display.theme.css +2 -0
- package/dist/cdn/packs/fonts-expressive/fonts/honk-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-expressive/fonts/kablammo-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-expressive/fonts/nabla-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-expressive.bundle.js +2 -0
- package/dist/cdn/packs/fonts-expressive.full.css +2 -0
- package/dist/cdn/packs/fonts-expressive.theme.css +2 -0
- package/dist/cdn/packs/fonts-foundation/fonts/inter-variable-italic.woff2 +0 -0
- package/dist/cdn/packs/fonts-foundation/fonts/inter-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-foundation/fonts/literata-variable-italic.woff2 +0 -0
- package/dist/cdn/packs/fonts-foundation/fonts/literata-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-foundation/fonts/recursive-variable.woff2 +0 -0
- package/dist/cdn/packs/fonts-foundation.bundle.js +2 -0
- package/dist/cdn/packs/fonts-foundation.full.css +2 -0
- package/dist/cdn/packs/fonts-foundation.theme.css +2 -0
- package/dist/cdn/packs/icons.bundle.js +2 -0
- package/dist/cdn/packs/icons.effects.css +2 -0
- package/dist/cdn/packs/icons.effects.js +2 -0
- package/dist/cdn/packs/icons.full.css +5 -0
- package/dist/cdn/packs/icons.full.js +2 -0
- package/dist/cdn/packs/icons.theme.css +2 -0
- package/dist/cdn/packs/kawaii/fonts/CherryBombOne-Regular.woff2 +0 -0
- package/dist/cdn/packs/kawaii/fonts/Coiny-Regular.woff2 +0 -0
- package/dist/cdn/packs/kawaii.bundle.js +2 -0
- package/dist/cdn/packs/kawaii.effects.css +2 -0
- package/dist/cdn/packs/kawaii.effects.js +1 -0
- package/dist/cdn/packs/kawaii.full.css +5 -0
- package/dist/cdn/packs/kawaii.full.js +24 -0
- package/dist/cdn/packs/kawaii.theme.css +2 -0
- package/dist/cdn/packs/manifest.json +214 -0
- package/dist/cdn/packs/memphis/fonts/boogaloo-400.woff2 +0 -0
- package/dist/cdn/packs/memphis/fonts/outfit-400.woff2 +0 -0
- package/dist/cdn/packs/memphis/fonts/outfit-700.woff2 +0 -0
- package/dist/cdn/packs/memphis/fonts/outfit-900.woff2 +0 -0
- package/dist/cdn/packs/memphis/fonts/space-mono-400.woff2 +0 -0
- package/dist/cdn/packs/memphis/fonts/space-mono-700.woff2 +0 -0
- package/dist/cdn/packs/memphis.bundle.js +2 -0
- package/dist/cdn/packs/memphis.effects.css +2 -0
- package/dist/cdn/packs/memphis.effects.js +1 -0
- package/dist/cdn/packs/memphis.full.css +5 -0
- package/dist/cdn/packs/memphis.full.js +1 -0
- package/dist/cdn/packs/memphis.theme.css +2 -0
- package/dist/cdn/packs/prototype.full.css +2 -0
- package/dist/cdn/packs/prototype.full.js +2 -0
- package/dist/cdn/packs/prototype.pack.js +2 -0
- package/dist/cdn/packs/retro.bundle.js +2 -0
- package/dist/cdn/packs/retro.components.js +1 -0
- package/dist/cdn/packs/retro.effects.css +2 -0
- package/dist/cdn/packs/retro.effects.js +16 -0
- package/dist/cdn/packs/retro.full.css +5 -0
- package/dist/cdn/packs/retro.full.js +16 -0
- package/dist/cdn/packs/retro.theme.css +2 -0
- package/dist/cdn/packs/ui.full.css +2 -0
- package/dist/cdn/packs/ui.full.js +219 -0
- package/dist/cdn/packs/ui.pack.js +2 -0
- package/dist/cdn/packs/ux-planning.full.css +2 -0
- package/dist/cdn/packs/ux-planning.full.js +1631 -0
- package/dist/cdn/themes/8bit.css +2 -0
- package/dist/cdn/themes/alpha1999.css +2 -0
- package/dist/cdn/themes/amber.css +2 -0
- package/dist/cdn/themes/art-deco.css +2 -0
- package/dist/cdn/themes/bauhaus.css +2 -0
- package/dist/cdn/themes/brutalist.css +2 -0
- package/dist/cdn/themes/catppuccin-frappe.css +2 -0
- package/dist/cdn/themes/catppuccin-latte.css +2 -0
- package/dist/cdn/themes/catppuccin-macchiato.css +2 -0
- package/dist/cdn/themes/catppuccin-mocha.css +2 -0
- package/dist/cdn/themes/classic.css +2 -0
- package/dist/cdn/themes/claymorphism.css +2 -0
- package/dist/cdn/themes/clinical.css +2 -0
- package/dist/cdn/themes/coral.css +2 -0
- package/dist/cdn/themes/cottagecore.css +2 -0
- package/dist/cdn/themes/cyber.css +2 -0
- package/dist/cdn/themes/dawn.css +2 -0
- package/dist/cdn/themes/dracula.css +2 -0
- package/dist/cdn/themes/dusk.css +2 -0
- package/dist/cdn/themes/editorial.css +2 -0
- package/dist/cdn/themes/emerald.css +2 -0
- package/dist/cdn/themes/financial.css +2 -0
- package/dist/cdn/themes/forest.css +2 -0
- package/dist/cdn/themes/genai.css +2 -0
- package/dist/cdn/themes/glassmorphism.css +2 -0
- package/dist/cdn/themes/government.css +2 -0
- package/dist/cdn/themes/gruvbox.css +2 -0
- package/dist/cdn/themes/high-noon.css +2 -0
- package/dist/cdn/themes/indigo.css +2 -0
- package/dist/cdn/themes/kawaii.css +2 -0
- package/dist/cdn/themes/lavender.css +2 -0
- package/dist/cdn/themes/magna.css +2 -0
- package/dist/cdn/themes/manifest.json +217 -0
- package/dist/cdn/themes/midnight.css +2 -0
- package/dist/cdn/themes/minimal.css +2 -0
- package/dist/cdn/themes/modern.css +2 -0
- package/dist/cdn/themes/nes.css +2 -0
- package/dist/cdn/themes/neumorphism.css +2 -0
- package/dist/cdn/themes/nord.css +2 -0
- package/dist/cdn/themes/ocean.css +2 -0
- package/dist/cdn/themes/organic.css +2 -0
- package/dist/cdn/themes/rose-pine.css +2 -0
- package/dist/cdn/themes/rose.css +2 -0
- package/dist/cdn/themes/rough.css +2 -0
- package/dist/cdn/themes/slate.css +2 -0
- package/dist/cdn/themes/solarized.css +2 -0
- package/dist/cdn/themes/startup.css +2 -0
- package/dist/cdn/themes/sunset.css +2 -0
- package/dist/cdn/themes/super2026.css +2 -0
- package/dist/cdn/themes/swiss.css +2 -0
- package/dist/cdn/themes/terminal.css +2 -0
- package/dist/cdn/themes/tokyo-night.css +2 -0
- package/dist/cdn/themes/vaporwave.css +2 -0
- package/dist/cdn/themes/win9x.css +2 -0
- package/dist/cdn/vanilla-breeze-charts.css +2 -0
- package/dist/cdn/vanilla-breeze-charts.js +395 -0
- package/dist/cdn/vanilla-breeze-core.css +2 -0
- package/dist/cdn/vanilla-breeze-core.js +326 -0
- package/dist/cdn/vanilla-breeze-dev.css +2 -0
- package/dist/cdn/vanilla-breeze-dev.js +2 -0
- package/dist/cdn/vanilla-breeze-extras.js +1265 -0
- package/dist/cdn/vanilla-breeze-labs.css +2 -0
- package/dist/cdn/vanilla-breeze-labs.js +2 -0
- package/dist/cdn/vanilla-breeze.css +2 -0
- package/dist/cdn/vanilla-breeze.js +1852 -0
- package/package.json +145 -0
|
@@ -0,0 +1,1265 @@
|
|
|
1
|
+
var pi=Object.defineProperty;var ft=(r,t)=>()=>(r&&(t=r(r=0)),t);var we=(r,t)=>{for(var e in t)pi(r,e,{get:t[e],enumerable:!0})};function Ee(r,t,e){let i=Math.pow(2,e),s=r*Math.PI/180,n=(t+180)/360*i,o=(1-Math.log(Math.tan(s)+1/Math.cos(s))/Math.PI)/2*i,a=Math.floor(n),l=Math.floor(o),c=Math.round((n-a)*256),h=Math.round((o-l)*256);return{tileX:a,tileY:l,pixelX:c,pixelY:h}}function Se(r,t,e){let i=256*Math.pow(2,e),s=r/i*360-180;return{lat:Math.atan(Math.sinh(Math.PI*(1-2*t/i)))*180/Math.PI,lng:s}}function Y(r,t,e,i){switch(r){case"carto-light":return`https://basemaps.cartocdn.com/light_all/${t}/${e}/${i}.png`;case"carto-dark":return`https://basemaps.cartocdn.com/dark_all/${t}/${e}/${i}.png`;default:return`https://tile.openstreetmap.org/${t}/${e}/${i}.png`}}var kt=ft(()=>{});var Ce={};we(Ce,{MapInteraction:()=>xt});var xt,Te=ft(()=>{kt();xt=class{#t;#e;#i;#r;#n;#s=0;#o=0;#a=15;#u=1;#l=19;#c=0;#m=0;#p=new Map;#h=null;#y=0;#b=0;#g=!1;#d=0;#f=0;constructor({shadow:t,host:e,lat:i,lng:s,zoom:n,provider:o,onDeactivate:a}){this.#t=t,this.#e=e,this.#r=o,this.#n=a,this.#a=n,this.#i=t.querySelector('[part="tiles"]'),this.#h=t.querySelector('[part="marker"]');let l=256*Math.pow(2,n),c=i*Math.PI/180;this.#s=(s+180)/360*l,this.#o=(1-Math.log(Math.tan(c)+1/Math.cos(c))/Math.PI)/2*l,this.#y=this.#s,this.#b=this.#o,this.#c=this.#e.offsetWidth||400,this.#m=this.#e.offsetHeight||300,this.#i.innerHTML="",this.#i.style.transform="",this.#h&&(this.#h.style.position="absolute",this.#h.style.top="",this.#h.style.left="",this.#i.appendChild(this.#h)),this.#v(),this.#x()}#v(){this.#i.addEventListener("pointerdown",this.#w),this.#i.addEventListener("wheel",this.#A,{passive:!1}),this.#e.addEventListener("keydown",this.#C)}#w=t=>{t.button===0&&(t.preventDefault(),this.#g=!0,this.#d=t.clientX,this.#f=t.clientY,this.#i.setPointerCapture(t.pointerId),this.#i.setAttribute("data-dragging",""),this.#i.addEventListener("pointermove",this.#E),this.#i.addEventListener("pointerup",this.#S))};#E=t=>{if(!this.#g)return;let e=t.clientX-this.#d,i=t.clientY-this.#f;this.#d=t.clientX,this.#f=t.clientY,this.#s-=e,this.#o-=i,this.#k(),this.#x()};#S=t=>{this.#g=!1,this.#i.releasePointerCapture(t.pointerId),this.#i.removeAttribute("data-dragging"),this.#i.removeEventListener("pointermove",this.#E),this.#i.removeEventListener("pointerup",this.#S),this.#M()};#A=t=>{t.preventDefault();let e=t.ctrlKey?-t.deltaY*.01:-Math.sign(t.deltaY),i=Math.round(Math.max(this.#u,Math.min(this.#l,this.#a+e)));if(i===this.#a)return;let s=this.#e.getBoundingClientRect(),n=t.clientX-s.left,o=t.clientY-s.top;this.#$(i,n,o)};#C=t=>{switch(t.key){case"ArrowLeft":t.preventDefault(),this.#s-=80,this.#k(),this.#x(),this.#M();break;case"ArrowRight":t.preventDefault(),this.#s+=80,this.#k(),this.#x(),this.#M();break;case"ArrowUp":t.preventDefault(),this.#o-=80,this.#k(),this.#x(),this.#M();break;case"ArrowDown":t.preventDefault(),this.#o+=80,this.#k(),this.#x(),this.#M();break;case"+":case"=":t.preventDefault(),this.#$(this.#a+1,this.#c/2,this.#m/2);break;case"-":t.preventDefault(),this.#$(this.#a-1,this.#c/2,this.#m/2);break;case"Escape":t.preventDefault(),this.#n();break}};#$(t,e,i){if(t=Math.max(this.#u,Math.min(this.#l,t)),t===this.#a)return;let s=this.#s-this.#c/2,n=this.#o-this.#m/2,o=s+e,a=n+i,l=Math.pow(2,t-this.#a);this.#s=o*l-e+this.#c/2,this.#o=a*l-i+this.#m/2,this.#y*=l,this.#b*=l,this.#a=t,this.#j(),this.#k(),this.#x(),this.#M()}#k(){let t=256*Math.pow(2,this.#a);this.#s=(this.#s%t+t)%t,this.#o=Math.max(this.#m/2,Math.min(t-this.#m/2,this.#o))}#x(){let t=-(this.#s-this.#c/2),e=-(this.#o-this.#m/2);this.#i.style.transform=`translate(${Math.round(t)}px, ${Math.round(e)}px)`,this.#N(),this.#_(),this.#L()}#N(){let t=this.#a,e=Math.pow(2,t),i=this.#s-this.#c/2,s=this.#o-this.#m/2,n=i+this.#c,o=s+this.#m,a=Math.floor(i/256)-1,l=Math.max(0,Math.floor(s/256)-1),c=Math.ceil(n/256)+1,h=Math.min(e,Math.ceil(o/256)+1);for(let u=l;u<h;u++)for(let d=a;d<c;d++){let p=(d%e+e)%e,g=`${t}/${p}/${u}`;this.#p.has(g)||this.#T(t,d,u,p)}}#T(t,e,i,s){let n=`${t}/${s}/${i}`;if(this.#p.has(n))return;let o=e*256,a=i*256,l=document.createElement("img");l.src=Y(this.#r,t,s,i),l.alt="",l.draggable=!1,l.style.left=o+"px",l.style.top=a+"px",l.style.width="256px",l.style.height="256px",l._wx=o,l._wy=a,this.#p.set(n,l),this.#i.appendChild(l)}#_(){let t=this.#s-this.#c/2,e=this.#o-this.#m/2,i=512;for(let[s,n]of this.#p){let o=n._wx,a=n._wy;(o+256<t-i||o>t+this.#c+i||a+256<e-i||a>e+this.#m+i)&&(n.remove(),this.#p.delete(s))}}#L(){if(!this.#h)return;let t=this.#h.offsetWidth||32;this.#h.style.left=`${Math.round(this.#y-t/2)}px`,this.#h.style.top=`${Math.round(this.#b-t)}px`,this.#h.style.transform=""}#M(){let{lat:t,lng:e}=Se(this.#s,this.#o,this.#a);this.#e.dispatchEvent(new CustomEvent("geo-map:move",{bubbles:!0,detail:{lat:+t.toFixed(6),lng:+e.toFixed(6),zoom:this.#a}}))}#j(){for(let t of this.#p.values())t.remove();this.#p.clear()}destroy(){if(this.#i.removeEventListener("pointerdown",this.#w),this.#i.removeEventListener("wheel",this.#A),this.#e.removeEventListener("keydown",this.#C),this.#i.removeEventListener("pointermove",this.#E),this.#i.removeEventListener("pointerup",this.#S),this.#h&&this.#h.parentNode===this.#i){let t=this.#t.querySelector('[part="container"]');t&&(t.insertBefore(this.#h,this.#i.nextSibling),this.#h.style.position="",this.#h.style.left="",this.#h.style.top="",this.#h.style.transform="")}this.#j(),this.#e.removeAttribute("data-interactive-active")}}});var Et={};we(Et,{EMOJI_ALIASES:()=>_e,EMOJI_GROUPS:()=>vi,EMOJI_GROUP_ICONS:()=>wi,EMOJI_GROUP_LABELS:()=>yi,EMOJI_MAP:()=>H,getByGroup:()=>xi,resolveEmoji:()=>ki,searchEmoji:()=>Ai});function Me(r){for(let[t,e,i,s]of r){if(H.has(t))continue;let n={shortcode:t,emoji:e,name:i,keywords:[],group:s};H.set(t,n),Q.push(n)}}function ki(r){let t=H.get(r);if(t)return t;let e=_e.get(r);return e&&H.get(e)||null}function xi(r){let t=Z.filter(i=>i.group===r),e=Q.filter(i=>i.group===r);return e.length>0?t.concat(e):t}function Ai(r){let t=r.toLowerCase().trim(),e=Q.length>0?Z.concat(Q):Z;return t?e.filter(i=>i.shortcode.includes(t)||i.name.toLowerCase().includes(t)||i.keywords&&i.keywords.some(s=>s.includes(t))):e}var Z,H,_e,vi,yi,wi,Q,St=ft(()=>{Z=[{shortcode:"smile",emoji:"\u{1F604}",name:"Smiling Face with Open Mouth",keywords:["happy","joy","laugh"],group:"smileys"},{shortcode:"grinning",emoji:"\u{1F600}",name:"Grinning Face",keywords:["happy","smile"],group:"smileys"},{shortcode:"laughing",emoji:"\u{1F606}",name:"Grinning Squinting Face",keywords:["happy","laugh"],group:"smileys"},{shortcode:"sweat_smile",emoji:"\u{1F605}",name:"Grinning Face with Sweat",keywords:["hot","relief"],group:"smileys"},{shortcode:"rofl",emoji:"\u{1F923}",name:"Rolling on the Floor Laughing",keywords:["lol","funny"],group:"smileys"},{shortcode:"joy",emoji:"\u{1F602}",name:"Face with Tears of Joy",keywords:["happy","cry","laugh"],group:"smileys"},{shortcode:"slightly_smiling_face",emoji:"\u{1F642}",name:"Slightly Smiling Face",keywords:["smile"],group:"smileys"},{shortcode:"upside_down_face",emoji:"\u{1F643}",name:"Upside-Down Face",keywords:["sarcasm","silly"],group:"smileys"},{shortcode:"wink",emoji:"\u{1F609}",name:"Winking Face",keywords:["flirt","joke"],group:"smileys"},{shortcode:"blush",emoji:"\u{1F60A}",name:"Smiling Face with Smiling Eyes",keywords:["happy","shy"],group:"smileys"},{shortcode:"innocent",emoji:"\u{1F607}",name:"Smiling Face with Halo",keywords:["angel","good"],group:"smileys"},{shortcode:"heart_eyes",emoji:"\u{1F60D}",name:"Smiling Face with Heart-Eyes",keywords:["love","crush"],group:"smileys"},{shortcode:"star_struck",emoji:"\u{1F929}",name:"Star-Struck",keywords:["wow","amazing"],group:"smileys"},{shortcode:"kissing_heart",emoji:"\u{1F618}",name:"Face Blowing a Kiss",keywords:["love","kiss"],group:"smileys"},{shortcode:"yum",emoji:"\u{1F60B}",name:"Face Savoring Food",keywords:["delicious","tasty"],group:"smileys"},{shortcode:"stuck_out_tongue",emoji:"\u{1F61B}",name:"Face with Tongue",keywords:["playful","silly"],group:"smileys"},{shortcode:"stuck_out_tongue_winking_eye",emoji:"\u{1F61C}",name:"Winking Face with Tongue",keywords:["silly","playful"],group:"smileys"},{shortcode:"zany_face",emoji:"\u{1F92A}",name:"Zany Face",keywords:["crazy","wild"],group:"smileys"},{shortcode:"hugs",emoji:"\u{1F917}",name:"Hugging Face",keywords:["hug","warm"],group:"smileys"},{shortcode:"thinking",emoji:"\u{1F914}",name:"Thinking Face",keywords:["hmm","consider"],group:"smileys"},{shortcode:"shushing_face",emoji:"\u{1F92B}",name:"Shushing Face",keywords:["quiet","secret"],group:"smileys"},{shortcode:"smirk",emoji:"\u{1F60F}",name:"Smirking Face",keywords:["sly","suggestive"],group:"smileys"},{shortcode:"unamused",emoji:"\u{1F612}",name:"Unamused Face",keywords:["bored","unimpressed"],group:"smileys"},{shortcode:"roll_eyes",emoji:"\u{1F644}",name:"Face with Rolling Eyes",keywords:["annoyed","whatever"],group:"smileys"},{shortcode:"grimacing",emoji:"\u{1F62C}",name:"Grimacing Face",keywords:["awkward","nervous"],group:"smileys"},{shortcode:"relieved",emoji:"\u{1F60C}",name:"Relieved Face",keywords:["calm","peaceful"],group:"smileys"},{shortcode:"pensive",emoji:"\u{1F614}",name:"Pensive Face",keywords:["sad","thoughtful"],group:"smileys"},{shortcode:"sleepy",emoji:"\u{1F62A}",name:"Sleepy Face",keywords:["tired","sleep"],group:"smileys"},{shortcode:"sleeping",emoji:"\u{1F634}",name:"Sleeping Face",keywords:["zzz","sleep"],group:"smileys"},{shortcode:"mask",emoji:"\u{1F637}",name:"Face with Medical Mask",keywords:["sick","health"],group:"smileys"},{shortcode:"nerd_face",emoji:"\u{1F913}",name:"Nerd Face",keywords:["geek","smart"],group:"smileys"},{shortcode:"sunglasses",emoji:"\u{1F60E}",name:"Smiling Face with Sunglasses",keywords:["cool","chill"],group:"smileys"},{shortcode:"confused",emoji:"\u{1F615}",name:"Confused Face",keywords:["puzzled","unsure"],group:"smileys"},{shortcode:"worried",emoji:"\u{1F61F}",name:"Worried Face",keywords:["anxious","concern"],group:"smileys"},{shortcode:"cry",emoji:"\u{1F622}",name:"Crying Face",keywords:["sad","tear"],group:"smileys"},{shortcode:"sob",emoji:"\u{1F62D}",name:"Loudly Crying Face",keywords:["sad","cry"],group:"smileys"},{shortcode:"angry",emoji:"\u{1F620}",name:"Angry Face",keywords:["mad","annoyed"],group:"smileys"},{shortcode:"rage",emoji:"\u{1F92C}",name:"Face with Symbols on Mouth",keywords:["angry","swear"],group:"smileys"},{shortcode:"exploding_head",emoji:"\u{1F92F}",name:"Exploding Head",keywords:["mind blown","shocked"],group:"smileys"},{shortcode:"flushed",emoji:"\u{1F633}",name:"Flushed Face",keywords:["embarrassed","shocked"],group:"smileys"},{shortcode:"scream",emoji:"\u{1F631}",name:"Face Screaming in Fear",keywords:["scared","horror"],group:"smileys"},{shortcode:"skull",emoji:"\u{1F480}",name:"Skull",keywords:["dead","death"],group:"smileys"},{shortcode:"clown_face",emoji:"\u{1F921}",name:"Clown Face",keywords:["joke","funny"],group:"smileys"},{shortcode:"ghost",emoji:"\u{1F47B}",name:"Ghost",keywords:["halloween","spooky"],group:"smileys"},{shortcode:"wave",emoji:"\u{1F44B}",name:"Waving Hand",keywords:["hello","goodbye"],group:"people"},{shortcode:"raised_hand",emoji:"\u270B",name:"Raised Hand",keywords:["stop","high five"],group:"people"},{shortcode:"ok_hand",emoji:"\u{1F44C}",name:"OK Hand",keywords:["perfect","nice"],group:"people"},{shortcode:"thumbsup",emoji:"\u{1F44D}",name:"Thumbs Up",keywords:["approve","good","yes"],group:"people"},{shortcode:"thumbsdown",emoji:"\u{1F44E}",name:"Thumbs Down",keywords:["disapprove","bad","no"],group:"people"},{shortcode:"clap",emoji:"\u{1F44F}",name:"Clapping Hands",keywords:["applause","bravo"],group:"people"},{shortcode:"raised_hands",emoji:"\u{1F64C}",name:"Raising Hands",keywords:["celebration","hooray"],group:"people"},{shortcode:"pray",emoji:"\u{1F64F}",name:"Folded Hands",keywords:["thanks","please","hope"],group:"people"},{shortcode:"handshake",emoji:"\u{1F91D}",name:"Handshake",keywords:["deal","agreement"],group:"people"},{shortcode:"point_up",emoji:"\u261D\uFE0F",name:"Index Pointing Up",keywords:["attention","important"],group:"people"},{shortcode:"point_right",emoji:"\u{1F449}",name:"Backhand Index Pointing Right",keywords:["direction","this"],group:"people"},{shortcode:"point_left",emoji:"\u{1F448}",name:"Backhand Index Pointing Left",keywords:["direction","that"],group:"people"},{shortcode:"point_down",emoji:"\u{1F447}",name:"Backhand Index Pointing Down",keywords:["direction","below"],group:"people"},{shortcode:"v",emoji:"\u270C\uFE0F",name:"Victory Hand",keywords:["peace","two"],group:"people"},{shortcode:"crossed_fingers",emoji:"\u{1F91E}",name:"Crossed Fingers",keywords:["luck","hope"],group:"people"},{shortcode:"muscle",emoji:"\u{1F4AA}",name:"Flexed Biceps",keywords:["strong","power"],group:"people"},{shortcode:"writing_hand",emoji:"\u270D\uFE0F",name:"Writing Hand",keywords:["write","note"],group:"people"},{shortcode:"eyes",emoji:"\u{1F440}",name:"Eyes",keywords:["look","see","watch"],group:"people"},{shortcode:"brain",emoji:"\u{1F9E0}",name:"Brain",keywords:["smart","think","mind"],group:"people"},{shortcode:"speaking_head",emoji:"\u{1F5E3}\uFE0F",name:"Speaking Head",keywords:["talk","announce"],group:"people"},{shortcode:"baby",emoji:"\u{1F476}",name:"Baby",keywords:["child","newborn"],group:"people"},{shortcode:"person_shrugging",emoji:"\u{1F937}",name:"Person Shrugging",keywords:["dunno","whatever"],group:"people"},{shortcode:"person_facepalming",emoji:"\u{1F926}",name:"Person Facepalming",keywords:["frustration","disbelief"],group:"people"},{shortcode:"person_raising_hand",emoji:"\u{1F64B}",name:"Person Raising Hand",keywords:["question","volunteer"],group:"people"},{shortcode:"ninja",emoji:"\u{1F977}",name:"Ninja",keywords:["stealth","hidden"],group:"people"},{shortcode:"dog",emoji:"\u{1F436}",name:"Dog Face",keywords:["puppy","pet"],group:"animals"},{shortcode:"cat",emoji:"\u{1F431}",name:"Cat Face",keywords:["kitten","pet"],group:"animals"},{shortcode:"mouse",emoji:"\u{1F42D}",name:"Mouse Face",keywords:["rodent"],group:"animals"},{shortcode:"rabbit",emoji:"\u{1F430}",name:"Rabbit Face",keywords:["bunny","easter"],group:"animals"},{shortcode:"fox",emoji:"\u{1F98A}",name:"Fox",keywords:["clever","sly"],group:"animals"},{shortcode:"bear",emoji:"\u{1F43B}",name:"Bear",keywords:["teddy","nature"],group:"animals"},{shortcode:"unicorn",emoji:"\u{1F984}",name:"Unicorn",keywords:["magic","fantasy"],group:"animals"},{shortcode:"bee",emoji:"\u{1F41D}",name:"Honeybee",keywords:["honey","buzz"],group:"animals"},{shortcode:"butterfly",emoji:"\u{1F98B}",name:"Butterfly",keywords:["pretty","nature"],group:"animals"},{shortcode:"turtle",emoji:"\u{1F422}",name:"Turtle",keywords:["slow","shell"],group:"animals"},{shortcode:"snake",emoji:"\u{1F40D}",name:"Snake",keywords:["reptile"],group:"animals"},{shortcode:"whale",emoji:"\u{1F433}",name:"Spouting Whale",keywords:["ocean","sea"],group:"animals"},{shortcode:"dolphin",emoji:"\u{1F42C}",name:"Dolphin",keywords:["ocean","smart"],group:"animals"},{shortcode:"eagle",emoji:"\u{1F985}",name:"Eagle",keywords:["bird","freedom"],group:"animals"},{shortcode:"owl",emoji:"\u{1F989}",name:"Owl",keywords:["wise","night"],group:"animals"},{shortcode:"penguin",emoji:"\u{1F427}",name:"Penguin",keywords:["cold","linux"],group:"animals"},{shortcode:"octopus",emoji:"\u{1F419}",name:"Octopus",keywords:["ocean","tentacle"],group:"animals"},{shortcode:"seedling",emoji:"\u{1F331}",name:"Seedling",keywords:["plant","grow"],group:"animals"},{shortcode:"evergreen_tree",emoji:"\u{1F332}",name:"Evergreen Tree",keywords:["nature","pine"],group:"animals"},{shortcode:"sunflower",emoji:"\u{1F33B}",name:"Sunflower",keywords:["flower","yellow"],group:"animals"},{shortcode:"rose",emoji:"\u{1F339}",name:"Rose",keywords:["flower","love"],group:"animals"},{shortcode:"apple",emoji:"\u{1F34E}",name:"Red Apple",keywords:["fruit","healthy"],group:"food"},{shortcode:"banana",emoji:"\u{1F34C}",name:"Banana",keywords:["fruit","yellow"],group:"food"},{shortcode:"grapes",emoji:"\u{1F347}",name:"Grapes",keywords:["fruit","wine"],group:"food"},{shortcode:"watermelon",emoji:"\u{1F349}",name:"Watermelon",keywords:["fruit","summer"],group:"food"},{shortcode:"avocado",emoji:"\u{1F951}",name:"Avocado",keywords:["guacamole","healthy"],group:"food"},{shortcode:"pizza",emoji:"\u{1F355}",name:"Pizza",keywords:["food","italian"],group:"food"},{shortcode:"hamburger",emoji:"\u{1F354}",name:"Hamburger",keywords:["burger","fast food"],group:"food"},{shortcode:"taco",emoji:"\u{1F32E}",name:"Taco",keywords:["mexican","food"],group:"food"},{shortcode:"sushi",emoji:"\u{1F363}",name:"Sushi",keywords:["japanese","fish"],group:"food"},{shortcode:"cookie",emoji:"\u{1F36A}",name:"Cookie",keywords:["sweet","biscuit"],group:"food"},{shortcode:"cake",emoji:"\u{1F382}",name:"Birthday Cake",keywords:["birthday","celebration"],group:"food"},{shortcode:"ice_cream",emoji:"\u{1F366}",name:"Soft Ice Cream",keywords:["dessert","cold"],group:"food"},{shortcode:"chocolate_bar",emoji:"\u{1F36B}",name:"Chocolate Bar",keywords:["sweet","candy"],group:"food"},{shortcode:"popcorn",emoji:"\u{1F37F}",name:"Popcorn",keywords:["movie","snack"],group:"food"},{shortcode:"coffee",emoji:"\u2615",name:"Hot Beverage",keywords:["tea","drink","morning"],group:"food"},{shortcode:"beer",emoji:"\u{1F37A}",name:"Beer Mug",keywords:["drink","bar"],group:"food"},{shortcode:"wine_glass",emoji:"\u{1F377}",name:"Wine Glass",keywords:["drink","alcohol"],group:"food"},{shortcode:"cocktail",emoji:"\u{1F378}",name:"Cocktail Glass",keywords:["drink","martini"],group:"food"},{shortcode:"hot_pepper",emoji:"\u{1F336}\uFE0F",name:"Hot Pepper",keywords:["spicy","chili"],group:"food"},{shortcode:"egg",emoji:"\u{1F95A}",name:"Egg",keywords:["breakfast","food"],group:"food"},{shortcode:"earth_americas",emoji:"\u{1F30E}",name:"Globe Americas",keywords:["world","planet"],group:"travel"},{shortcode:"earth_europe",emoji:"\u{1F30D}",name:"Globe Europe-Africa",keywords:["world","planet"],group:"travel"},{shortcode:"sun",emoji:"\u2600\uFE0F",name:"Sun",keywords:["weather","bright","warm"],group:"travel"},{shortcode:"moon",emoji:"\u{1F319}",name:"Crescent Moon",keywords:["night","sleep"],group:"travel"},{shortcode:"star",emoji:"\u2B50",name:"Star",keywords:["favorite","rating"],group:"travel"},{shortcode:"star2",emoji:"\u{1F31F}",name:"Glowing Star",keywords:["sparkle","shine"],group:"travel"},{shortcode:"cloud",emoji:"\u2601\uFE0F",name:"Cloud",keywords:["weather","sky"],group:"travel"},{shortcode:"rainbow",emoji:"\u{1F308}",name:"Rainbow",keywords:["colorful","weather"],group:"travel"},{shortcode:"snowflake",emoji:"\u2744\uFE0F",name:"Snowflake",keywords:["cold","winter"],group:"travel"},{shortcode:"zap",emoji:"\u26A1",name:"High Voltage",keywords:["lightning","electric","fast"],group:"travel"},{shortcode:"fire",emoji:"\u{1F525}",name:"Fire",keywords:["hot","flame","lit"],group:"travel"},{shortcode:"ocean",emoji:"\u{1F30A}",name:"Water Wave",keywords:["sea","wave","surf"],group:"travel"},{shortcode:"airplane",emoji:"\u2708\uFE0F",name:"Airplane",keywords:["travel","flight"],group:"travel"},{shortcode:"rocket",emoji:"\u{1F680}",name:"Rocket",keywords:["launch","space","fast"],group:"travel"},{shortcode:"car",emoji:"\u{1F697}",name:"Automobile",keywords:["drive","vehicle"],group:"travel"},{shortcode:"house",emoji:"\u{1F3E0}",name:"House",keywords:["home","building"],group:"travel"},{shortcode:"tent",emoji:"\u26FA",name:"Tent",keywords:["camping","outdoor"],group:"travel"},{shortcode:"mountain",emoji:"\u26F0\uFE0F",name:"Mountain",keywords:["nature","hike"],group:"travel"},{shortcode:"desert_island",emoji:"\u{1F3DD}\uFE0F",name:"Desert Island",keywords:["beach","vacation"],group:"travel"},{shortcode:"volcano",emoji:"\u{1F30B}",name:"Volcano",keywords:["eruption","nature"],group:"travel"},{shortcode:"soccer",emoji:"\u26BD",name:"Soccer Ball",keywords:["football","sport"],group:"activities"},{shortcode:"basketball",emoji:"\u{1F3C0}",name:"Basketball",keywords:["sport","hoop"],group:"activities"},{shortcode:"tennis",emoji:"\u{1F3BE}",name:"Tennis",keywords:["sport","ball"],group:"activities"},{shortcode:"video_game",emoji:"\u{1F3AE}",name:"Video Game",keywords:["gaming","controller"],group:"activities"},{shortcode:"dart",emoji:"\u{1F3AF}",name:"Bullseye",keywords:["target","goal"],group:"activities"},{shortcode:"trophy",emoji:"\u{1F3C6}",name:"Trophy",keywords:["winner","champion"],group:"activities"},{shortcode:"medal",emoji:"\u{1F947}",name:"Gold Medal",keywords:["first","winner"],group:"activities"},{shortcode:"tada",emoji:"\u{1F389}",name:"Party Popper",keywords:["celebration","party"],group:"activities"},{shortcode:"confetti_ball",emoji:"\u{1F38A}",name:"Confetti Ball",keywords:["party","celebration"],group:"activities"},{shortcode:"balloon",emoji:"\u{1F388}",name:"Balloon",keywords:["party","birthday"],group:"activities"},{shortcode:"art",emoji:"\u{1F3A8}",name:"Artist Palette",keywords:["paint","creative"],group:"activities"},{shortcode:"musical_note",emoji:"\u{1F3B5}",name:"Musical Note",keywords:["music","song"],group:"activities"},{shortcode:"microphone",emoji:"\u{1F3A4}",name:"Microphone",keywords:["sing","karaoke"],group:"activities"},{shortcode:"guitar",emoji:"\u{1F3B8}",name:"Guitar",keywords:["music","rock"],group:"activities"},{shortcode:"dice",emoji:"\u{1F3B2}",name:"Game Die",keywords:["chance","random"],group:"activities"},{shortcode:"bulb",emoji:"\u{1F4A1}",name:"Light Bulb",keywords:["idea","bright"],group:"objects"},{shortcode:"computer",emoji:"\u{1F4BB}",name:"Laptop",keywords:["tech","work"],group:"objects"},{shortcode:"keyboard",emoji:"\u2328\uFE0F",name:"Keyboard",keywords:["type","computer"],group:"objects"},{shortcode:"phone",emoji:"\u{1F4F1}",name:"Mobile Phone",keywords:["cell","call"],group:"objects"},{shortcode:"camera",emoji:"\u{1F4F7}",name:"Camera",keywords:["photo","picture"],group:"objects"},{shortcode:"tv",emoji:"\u{1F4FA}",name:"Television",keywords:["watch","screen"],group:"objects"},{shortcode:"battery",emoji:"\u{1F50B}",name:"Battery",keywords:["charge","power"],group:"objects"},{shortcode:"electric_plug",emoji:"\u{1F50C}",name:"Electric Plug",keywords:["power","connect"],group:"objects"},{shortcode:"mag",emoji:"\u{1F50D}",name:"Magnifying Glass Left",keywords:["search","find"],group:"objects"},{shortcode:"lock",emoji:"\u{1F512}",name:"Locked",keywords:["security","private"],group:"objects"},{shortcode:"unlock",emoji:"\u{1F513}",name:"Unlocked",keywords:["open","access"],group:"objects"},{shortcode:"key",emoji:"\u{1F511}",name:"Key",keywords:["access","password"],group:"objects"},{shortcode:"hammer",emoji:"\u{1F528}",name:"Hammer",keywords:["tool","build"],group:"objects"},{shortcode:"wrench",emoji:"\u{1F527}",name:"Wrench",keywords:["tool","fix"],group:"objects"},{shortcode:"gear",emoji:"\u2699\uFE0F",name:"Gear",keywords:["settings","config"],group:"objects"},{shortcode:"link",emoji:"\u{1F517}",name:"Link",keywords:["chain","url"],group:"objects"},{shortcode:"paperclip",emoji:"\u{1F4CE}",name:"Paperclip",keywords:["attach","clip"],group:"objects"},{shortcode:"scissors",emoji:"\u2702\uFE0F",name:"Scissors",keywords:["cut","snip"],group:"objects"},{shortcode:"pen",emoji:"\u{1F58A}\uFE0F",name:"Pen",keywords:["write","sign"],group:"objects"},{shortcode:"pencil",emoji:"\u270F\uFE0F",name:"Pencil",keywords:["write","draw"],group:"objects"},{shortcode:"book",emoji:"\u{1F4D6}",name:"Open Book",keywords:["read","study"],group:"objects"},{shortcode:"memo",emoji:"\u{1F4DD}",name:"Memo",keywords:["note","write"],group:"objects"},{shortcode:"package",emoji:"\u{1F4E6}",name:"Package",keywords:["box","delivery"],group:"objects"},{shortcode:"mailbox",emoji:"\u{1F4EC}",name:"Open Mailbox with Raised Flag",keywords:["mail","letter"],group:"objects"},{shortcode:"bell",emoji:"\u{1F514}",name:"Bell",keywords:["notification","alert"],group:"objects"},{shortcode:"red_heart",emoji:"\u2764\uFE0F",name:"Red Heart",keywords:["love","valentine"],group:"symbols"},{shortcode:"orange_heart",emoji:"\u{1F9E1}",name:"Orange Heart",keywords:["love"],group:"symbols"},{shortcode:"yellow_heart",emoji:"\u{1F49B}",name:"Yellow Heart",keywords:["love","friendship"],group:"symbols"},{shortcode:"green_heart",emoji:"\u{1F49A}",name:"Green Heart",keywords:["love","nature"],group:"symbols"},{shortcode:"blue_heart",emoji:"\u{1F499}",name:"Blue Heart",keywords:["love","trust"],group:"symbols"},{shortcode:"purple_heart",emoji:"\u{1F49C}",name:"Purple Heart",keywords:["love"],group:"symbols"},{shortcode:"broken_heart",emoji:"\u{1F494}",name:"Broken Heart",keywords:["sad","breakup"],group:"symbols"},{shortcode:"sparkles",emoji:"\u2728",name:"Sparkles",keywords:["shine","magic","new"],group:"symbols"},{shortcode:"hundred",emoji:"\u{1F4AF}",name:"Hundred Points",keywords:["perfect","score"],group:"symbols"},{shortcode:"boom",emoji:"\u{1F4A5}",name:"Collision",keywords:["explosion","impact"],group:"symbols"},{shortcode:"speech_balloon",emoji:"\u{1F4AC}",name:"Speech Balloon",keywords:["talk","chat","message"],group:"symbols"},{shortcode:"thought_balloon",emoji:"\u{1F4AD}",name:"Thought Balloon",keywords:["think","dream"],group:"symbols"},{shortcode:"check_mark",emoji:"\u2705",name:"Check Mark Button",keywords:["done","yes","complete"],group:"symbols"},{shortcode:"x",emoji:"\u274C",name:"Cross Mark",keywords:["no","wrong","delete"],group:"symbols"},{shortcode:"warning",emoji:"\u26A0\uFE0F",name:"Warning",keywords:["caution","alert"],group:"symbols"},{shortcode:"no_entry",emoji:"\u26D4",name:"No Entry",keywords:["stop","forbidden"],group:"symbols"},{shortcode:"question",emoji:"\u2753",name:"Question Mark",keywords:["help","what"],group:"symbols"},{shortcode:"exclamation",emoji:"\u2757",name:"Exclamation Mark",keywords:["important","attention"],group:"symbols"},{shortcode:"arrow_right",emoji:"\u27A1\uFE0F",name:"Right Arrow",keywords:["next","forward"],group:"symbols"},{shortcode:"arrow_left",emoji:"\u2B05\uFE0F",name:"Left Arrow",keywords:["back","previous"],group:"symbols"},{shortcode:"arrow_up",emoji:"\u2B06\uFE0F",name:"Up Arrow",keywords:["above"],group:"symbols"},{shortcode:"arrow_down",emoji:"\u2B07\uFE0F",name:"Down Arrow",keywords:["below"],group:"symbols"},{shortcode:"recycle",emoji:"\u267B\uFE0F",name:"Recycling Symbol",keywords:["environment","green"],group:"symbols"},{shortcode:"infinity",emoji:"\u267E\uFE0F",name:"Infinity",keywords:["forever","loop"],group:"symbols"},{shortcode:"checkered_flag",emoji:"\u{1F3C1}",name:"Chequered Flag",keywords:["finish","race"],group:"flags"},{shortcode:"triangular_flag",emoji:"\u{1F6A9}",name:"Triangular Flag",keywords:["red flag","warning"],group:"flags"},{shortcode:"white_flag",emoji:"\u{1F3F3}\uFE0F",name:"White Flag",keywords:["surrender","peace"],group:"flags"},{shortcode:"rainbow_flag",emoji:"\u{1F3F3}\uFE0F\u200D\u{1F308}",name:"Rainbow Flag",keywords:["pride","lgbtq"],group:"flags"},{shortcode:"pirate_flag",emoji:"\u{1F3F4}\u200D\u2620\uFE0F",name:"Pirate Flag",keywords:["jolly roger","skull"],group:"flags"},{shortcode:"flag_us",emoji:"\u{1F1FA}\u{1F1F8}",name:"Flag: United States",keywords:["usa","america"],group:"flags"},{shortcode:"flag_gb",emoji:"\u{1F1EC}\u{1F1E7}",name:"Flag: United Kingdom",keywords:["uk","britain"],group:"flags"},{shortcode:"flag_fr",emoji:"\u{1F1EB}\u{1F1F7}",name:"Flag: France",keywords:["french"],group:"flags"},{shortcode:"flag_de",emoji:"\u{1F1E9}\u{1F1EA}",name:"Flag: Germany",keywords:["german"],group:"flags"},{shortcode:"flag_jp",emoji:"\u{1F1EF}\u{1F1F5}",name:"Flag: Japan",keywords:["japanese"],group:"flags"},{shortcode:"flag_kr",emoji:"\u{1F1F0}\u{1F1F7}",name:"Flag: South Korea",keywords:["korean"],group:"flags"},{shortcode:"flag_br",emoji:"\u{1F1E7}\u{1F1F7}",name:"Flag: Brazil",keywords:["brazilian"],group:"flags"},{shortcode:"flag_in",emoji:"\u{1F1EE}\u{1F1F3}",name:"Flag: India",keywords:["indian"],group:"flags"},{shortcode:"flag_ca",emoji:"\u{1F1E8}\u{1F1E6}",name:"Flag: Canada",keywords:["canadian","maple"],group:"flags"},{shortcode:"flag_au",emoji:"\u{1F1E6}\u{1F1FA}",name:"Flag: Australia",keywords:["australian"],group:"flags"}],H=new Map(Z.map(r=>[r.shortcode,r])),_e=new Map([["+1","thumbsup"],["-1","thumbsdown"],["heart","red_heart"],["thumbs_up","thumbsup"],["thumbs_down","thumbsdown"],["grin","grinning"],["laughing_crying","joy"],["lol","rofl"],["smiley","smile"],["cool","sunglasses"],["nerd","nerd_face"],["kiss","kissing_heart"],["hug","hugs"],["think","thinking"],["sad","cry"],["mad","angry"],["shrug","person_shrugging"],["facepalm","person_facepalming"],["raised_fist","muscle"],["pray_hands","pray"],["hi","wave"],["bye","wave"],["lightning","zap"],["flame","fire"],["hot","fire"],["bomb","boom"],["idea","bulb"],["laptop","computer"],["search","mag"],["party","tada"],["celebrate","tada"],["congrats","tada"],["check","check_mark"],["done","check_mark"],["yes","check_mark"],["no","x"],["wrong","x"],["love","red_heart"],["star_eyes","star_struck"],["mindblown","exploding_head"],["poop","skull"],["memo_pad","memo"],["notes","memo"],["coffee_cup","coffee"],["tea","coffee"]]),vi=["smileys","people","animals","food","travel","activities","objects","symbols","flags"],yi={smileys:"Smileys & Emotion",people:"People & Body",animals:"Animals & Nature",food:"Food & Drink",travel:"Travel & Places",activities:"Activities",objects:"Objects",symbols:"Symbols",flags:"Flags"},wi={smileys:"\u{1F600}",people:"\u{1F44B}",animals:"\u{1F436}",food:"\u{1F355}",travel:"\u{1F30D}",activities:"\u{1F389}",objects:"\u{1F4A1}",symbols:"\u2764\uFE0F",flags:"\u{1F3C1}"},Q=[];globalThis.__vbEmojiRegister=Me;globalThis.__vbEmojiExtended&&(Me(globalThis.__vbEmojiExtended),delete globalThis.__vbEmojiExtended)});var $r=window.matchMedia("(prefers-reduced-motion: reduce)");var ke=new Map;function m(r,t,e={}){let i=e.priority??10,s={impl:t,bundle:e.bundle,contract:e.contract,priority:i},n=ke.get(r);if(customElements.get(r)){if(!n||n.priority>=i){n&&n.priority===i&&n.impl!==t&&console.warn(`[VB Bundle] Tag <${r}> already registered by "${n.bundle}" (priority ${n.priority}). Skipping "${e.bundle}".`);return}console.warn(`[VB Bundle] Tag <${r}> defined by "${n.bundle}" cannot be replaced (customElements.define is permanent). "${e.bundle}" has higher priority but arrived late.`);return}if(n&&n.priority>=i){n.priority===i&&console.warn(`[VB Bundle] Tag <${r}> already registered by "${n.bundle}". Skipping "${e.bundle}" (first wins at equal priority).`);return}ke.set(r,s),customElements.define(r,t)}var f=class extends HTMLElement{#t=[];connectedCallback(){this.hasAttribute("data-upgraded")||this.setup()!==!1&&this.setAttribute("data-upgraded","")}disconnectedCallback(){for(let t of this.#t)t();this.#t=[],this.removeAttribute("data-upgraded"),this.teardown()}listen(t,e,i,s){t.addEventListener(e,i,s),this.#t.push(()=>t.removeEventListener(e,i,s))}setup(){}teardown(){}};var gt=class extends f{#t=null;#e=null;#i=!1;#r=null;#n=null;#s=null;#o=null;#a=null;#u=null;#l=null;#c=null;#m=null;setup(){if(this.#t=this.querySelector("audio"),!this.#t)return!1;this.#e=this.querySelector(".track-list"),this.#t.removeAttribute("controls");let t=!this.shadowRoot;this.#p(),t&&(this.#y(),this.#b(),this.#g()),this.#E(),this.hasAttribute("autoplay")&&this.#t.play().catch(()=>{}),this.#m=()=>{let e=this.shadowRoot?.querySelector(".player");e&&(e.style.display="none",e.offsetHeight,e.style.display="")},this.listen(window,"vb:theme-change",this.#m)}teardown(){this.#t&&this.#t.setAttribute("controls","")}#p(){if(this.shadowRoot)return;let t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
2
|
+
<style>${this.#h()}</style>
|
|
3
|
+
<div part="player" class="player">
|
|
4
|
+
<div part="controls" class="controls" role="group" aria-label="Audio controls">
|
|
5
|
+
<button part="play-button" class="play-btn" type="button" aria-label="Play">
|
|
6
|
+
<svg class="icon-play" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
7
|
+
<path d="M8 5v14l11-7z"/>
|
|
8
|
+
</svg>
|
|
9
|
+
<svg class="icon-pause" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
10
|
+
<path d="M6 19h4V5H6zm8-14v14h4V5z"/>
|
|
11
|
+
</svg>
|
|
12
|
+
</button>
|
|
13
|
+
<div class="timeline-group">
|
|
14
|
+
<div part="track-info" class="track-info">
|
|
15
|
+
<span class="track-title"></span>
|
|
16
|
+
<span class="time-display">
|
|
17
|
+
<time class="current-time">0:00</time>
|
|
18
|
+
<span class="time-sep"> / </span>
|
|
19
|
+
<time class="duration">0:00</time>
|
|
20
|
+
</span>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="timeline-wrap">
|
|
23
|
+
<input part="timeline" type="range" class="timeline"
|
|
24
|
+
min="0" max="100" value="0" step="0.1"
|
|
25
|
+
aria-label="Seek">
|
|
26
|
+
<div class="timeline-fill"></div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="volume-wrap">
|
|
30
|
+
<button class="mute-btn" type="button" aria-label="Mute">
|
|
31
|
+
<svg class="icon-vol" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="16" height="16">
|
|
32
|
+
<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>
|
|
33
|
+
</svg>
|
|
34
|
+
<svg class="icon-muted" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="16" height="16">
|
|
35
|
+
<path d="M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06a8.99 8.99 0 0 0 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4 9.91 6.09 12 8.18V4z"/>
|
|
36
|
+
</svg>
|
|
37
|
+
</button>
|
|
38
|
+
<input part="volume" type="range" class="volume"
|
|
39
|
+
min="0" max="1" value="1" step="0.01"
|
|
40
|
+
aria-label="Volume">
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<slot></slot>
|
|
44
|
+
</div>
|
|
45
|
+
`,this.#r=t.querySelector(".controls"),this.#n=t.querySelector(".play-btn"),this.#s=t.querySelector(".timeline"),this.#o=t.querySelector(".timeline-fill"),this.#a=t.querySelector(".volume"),this.#u=t.querySelector(".current-time"),this.#l=t.querySelector(".duration"),this.#c=t.querySelector(".track-title")}#h(){return`
|
|
46
|
+
:host {
|
|
47
|
+
display: block;
|
|
48
|
+
--_accent: var(--audio-player-accent, var(--color-primary, oklch(55% 0.2 260)));
|
|
49
|
+
--_bg: var(--audio-player-bg, var(--color-surface, #fff));
|
|
50
|
+
--_radius: var(--audio-player-radius, var(--radius-m, 0.5rem));
|
|
51
|
+
--_text: var(--audio-player-text, var(--color-text, inherit));
|
|
52
|
+
--_border: var(--audio-player-border, var(--color-border, #ddd));
|
|
53
|
+
--_shadow: var(--audio-player-shadow, none);
|
|
54
|
+
--_padding: var(--audio-player-padding, var(--size-xs, 0.5rem) var(--size-s, 0.75rem));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.player {
|
|
58
|
+
background: var(--_bg);
|
|
59
|
+
color: var(--_text);
|
|
60
|
+
border: var(--border-width-thin, 1px) solid var(--_border);
|
|
61
|
+
border-radius: var(--_radius);
|
|
62
|
+
box-shadow: var(--_shadow);
|
|
63
|
+
overflow: hidden;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.controls {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: var(--size-xs, 0.5rem);
|
|
70
|
+
padding: var(--_padding);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* \u2500\u2500 Play button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
74
|
+
.play-btn {
|
|
75
|
+
all: unset;
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
width: 2.25rem;
|
|
80
|
+
height: 2.25rem;
|
|
81
|
+
border-radius: var(--radius-full, 50%);
|
|
82
|
+
background: var(--_accent);
|
|
83
|
+
color: var(--color-text-on-primary, white);
|
|
84
|
+
cursor: pointer;
|
|
85
|
+
flex-shrink: 0;
|
|
86
|
+
transition: background-color var(--duration-fast, 100ms) var(--ease-default, ease),
|
|
87
|
+
transform var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.play-btn:hover {
|
|
91
|
+
background-color: var(--color-primary-hover, var(--_accent));
|
|
92
|
+
transform: scale(1.05);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.play-btn:active {
|
|
96
|
+
transform: scale(0.97);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.play-btn:focus-visible {
|
|
100
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
101
|
+
outline-offset: 2px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.icon-pause { display: none; }
|
|
105
|
+
:host([state="playing"]) .icon-play { display: none; }
|
|
106
|
+
:host([state="playing"]) .icon-pause { display: block; }
|
|
107
|
+
|
|
108
|
+
/* \u2500\u2500 Timeline group \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
109
|
+
.timeline-group {
|
|
110
|
+
flex: 1;
|
|
111
|
+
min-width: 0;
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
gap: var(--size-3xs, 2px);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.track-info {
|
|
118
|
+
display: flex;
|
|
119
|
+
justify-content: space-between;
|
|
120
|
+
align-items: center;
|
|
121
|
+
gap: var(--size-xs, 0.5rem);
|
|
122
|
+
font-size: var(--font-size-xs, 0.75rem);
|
|
123
|
+
line-height: 1.2;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.track-title {
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
white-space: nowrap;
|
|
129
|
+
text-overflow: ellipsis;
|
|
130
|
+
flex: 1;
|
|
131
|
+
font-weight: 500;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.time-display {
|
|
135
|
+
flex-shrink: 0;
|
|
136
|
+
font-family: var(--font-mono, ui-monospace, monospace);
|
|
137
|
+
font-variant-numeric: tabular-nums;
|
|
138
|
+
color: var(--color-text-muted, #666);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.time-sep { opacity: 0.5; }
|
|
142
|
+
|
|
143
|
+
.timeline-wrap {
|
|
144
|
+
position: relative;
|
|
145
|
+
height: 1.25rem;
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.timeline-fill {
|
|
151
|
+
position: absolute;
|
|
152
|
+
left: 0;
|
|
153
|
+
top: 50%;
|
|
154
|
+
transform: translateY(-50%);
|
|
155
|
+
height: 4px;
|
|
156
|
+
background: var(--_accent);
|
|
157
|
+
pointer-events: none;
|
|
158
|
+
border-radius: var(--radius-full, 2px);
|
|
159
|
+
width: 0%;
|
|
160
|
+
transition: width var(--duration-instant, 50ms) linear;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.timeline {
|
|
164
|
+
width: 100%;
|
|
165
|
+
height: 1.25rem;
|
|
166
|
+
appearance: none;
|
|
167
|
+
background: transparent;
|
|
168
|
+
cursor: pointer;
|
|
169
|
+
position: relative;
|
|
170
|
+
z-index: 1;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.timeline::-webkit-slider-runnable-track {
|
|
174
|
+
height: 4px;
|
|
175
|
+
background: var(--_border);
|
|
176
|
+
border-radius: var(--radius-full, 2px);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.timeline::-moz-range-track {
|
|
180
|
+
height: 4px;
|
|
181
|
+
background: var(--_border);
|
|
182
|
+
border-radius: var(--radius-full, 2px);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.timeline::-webkit-slider-thumb {
|
|
186
|
+
-webkit-appearance: none;
|
|
187
|
+
width: 12px;
|
|
188
|
+
height: 12px;
|
|
189
|
+
border-radius: var(--radius-full, 50%);
|
|
190
|
+
background: var(--_accent);
|
|
191
|
+
border: var(--border-width-medium, 2px) solid var(--_bg);
|
|
192
|
+
box-shadow: var(--shadow-sm, 0 1px 3px oklch(0% 0 0 / 0.2));
|
|
193
|
+
cursor: pointer;
|
|
194
|
+
margin-top: -4px;
|
|
195
|
+
transition: transform var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.timeline:hover::-webkit-slider-thumb {
|
|
199
|
+
transform: scale(1.2);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.timeline::-moz-range-thumb {
|
|
203
|
+
width: 12px;
|
|
204
|
+
height: 12px;
|
|
205
|
+
border-radius: var(--radius-full, 50%);
|
|
206
|
+
background: var(--_accent);
|
|
207
|
+
border: var(--border-width-medium, 2px) solid var(--_bg);
|
|
208
|
+
box-shadow: var(--shadow-sm, 0 1px 3px oklch(0% 0 0 / 0.2));
|
|
209
|
+
cursor: pointer;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.timeline::-moz-range-progress {
|
|
213
|
+
height: 4px;
|
|
214
|
+
background: var(--_accent);
|
|
215
|
+
border-radius: var(--radius-full, 2px);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.timeline:focus-visible {
|
|
219
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
220
|
+
outline-offset: 4px;
|
|
221
|
+
border-radius: var(--radius-s, 2px);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/* \u2500\u2500 Volume \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
225
|
+
.volume-wrap {
|
|
226
|
+
display: flex;
|
|
227
|
+
align-items: center;
|
|
228
|
+
gap: var(--size-2xs, 4px);
|
|
229
|
+
flex: 0 0 80px;
|
|
230
|
+
min-width: 0;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.mute-btn {
|
|
234
|
+
all: unset;
|
|
235
|
+
display: flex;
|
|
236
|
+
align-items: center;
|
|
237
|
+
justify-content: center;
|
|
238
|
+
cursor: pointer;
|
|
239
|
+
color: var(--color-text-muted, #666);
|
|
240
|
+
flex-shrink: 0;
|
|
241
|
+
transition: color var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.mute-btn:hover {
|
|
245
|
+
color: var(--color-text, inherit);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.mute-btn:focus-visible {
|
|
249
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
250
|
+
outline-offset: 2px;
|
|
251
|
+
border-radius: var(--radius-s, 2px);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.icon-muted { display: none; }
|
|
255
|
+
:host([muted]) .icon-vol { display: none; }
|
|
256
|
+
:host([muted]) .icon-muted { display: block; }
|
|
257
|
+
|
|
258
|
+
.volume {
|
|
259
|
+
flex: 1;
|
|
260
|
+
min-width: 0;
|
|
261
|
+
height: 1rem;
|
|
262
|
+
appearance: none;
|
|
263
|
+
background: transparent;
|
|
264
|
+
cursor: pointer;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.volume::-webkit-slider-runnable-track {
|
|
268
|
+
height: 3px;
|
|
269
|
+
background: linear-gradient(to right,
|
|
270
|
+
var(--_accent) calc(var(--_vol, 1) * 100%),
|
|
271
|
+
var(--_border) calc(var(--_vol, 1) * 100%));
|
|
272
|
+
border-radius: var(--radius-full, 2px);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.volume::-moz-range-track {
|
|
276
|
+
height: 3px;
|
|
277
|
+
background: var(--_border);
|
|
278
|
+
border-radius: var(--radius-full, 2px);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.volume::-moz-range-progress {
|
|
282
|
+
height: 3px;
|
|
283
|
+
background: var(--_accent);
|
|
284
|
+
border-radius: var(--radius-full, 2px);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.volume::-webkit-slider-thumb {
|
|
288
|
+
-webkit-appearance: none;
|
|
289
|
+
width: 10px;
|
|
290
|
+
height: 10px;
|
|
291
|
+
border-radius: var(--radius-full, 50%);
|
|
292
|
+
background: var(--_accent);
|
|
293
|
+
border: none;
|
|
294
|
+
cursor: pointer;
|
|
295
|
+
margin-top: -3.5px;
|
|
296
|
+
transition: transform var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.volume:hover::-webkit-slider-thumb {
|
|
300
|
+
transform: scale(1.3);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.volume::-moz-range-thumb {
|
|
304
|
+
width: 10px;
|
|
305
|
+
height: 10px;
|
|
306
|
+
border-radius: var(--radius-full, 50%);
|
|
307
|
+
background: var(--_accent);
|
|
308
|
+
border: none;
|
|
309
|
+
cursor: pointer;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.volume:focus-visible {
|
|
313
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
314
|
+
outline-offset: 2px;
|
|
315
|
+
border-radius: var(--radius-s, 2px);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/* \u2500\u2500 Slot: hide native audio controls \u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
319
|
+
::slotted(audio) {
|
|
320
|
+
display: none !important;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/* \u2500\u2500 Reduced motion \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
324
|
+
@media (prefers-reduced-motion: reduce) {
|
|
325
|
+
.play-btn,
|
|
326
|
+
.timeline-fill,
|
|
327
|
+
.timeline::-webkit-slider-thumb,
|
|
328
|
+
.volume::-webkit-slider-thumb,
|
|
329
|
+
.mute-btn {
|
|
330
|
+
transition: none;
|
|
331
|
+
}
|
|
332
|
+
.play-btn:hover,
|
|
333
|
+
.play-btn:active,
|
|
334
|
+
.timeline:hover::-webkit-slider-thumb,
|
|
335
|
+
.volume:hover::-webkit-slider-thumb {
|
|
336
|
+
transform: none;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
`}#y(){this.#t.addEventListener("timeupdate",()=>this.#v()),this.#t.addEventListener("loadedmetadata",()=>this.#w()),this.#t.addEventListener("play",()=>{this.#i=!0,this.setAttribute("state","playing"),this.#n.setAttribute("aria-label","Pause"),this.#A("audio-player:play",{currentTime:this.#t.currentTime,src:this.#t.currentSrc})}),this.#t.addEventListener("pause",()=>{this.#i=!1,this.setAttribute("state","paused"),this.#n.setAttribute("aria-label","Play"),this.#A("audio-player:pause",{currentTime:this.#t.currentTime})}),this.#t.addEventListener("ended",()=>{this.#i=!1,this.setAttribute("state","ended"),this.#n.setAttribute("aria-label","Play");let t=this.#e?.querySelector("li[data-audio-active]");t&&t.setAttribute("data-audio-played",""),this.#e&&this.#f(),this.#A("audio-player:ended",{src:this.#t.currentSrc})})}#b(){this.#n.addEventListener("click",()=>{this.#i?this.#t.pause():this.#t.play().catch(()=>{})}),this.#s.addEventListener("input",()=>{this.#t.duration&&(this.#t.currentTime=Number(this.#s.value)/100*this.#t.duration)}),this.#a.addEventListener("input",()=>{this.#t.volume=Number(this.#a.value),this.#t.muted=!1,this.removeAttribute("muted"),this.#a.style.setProperty("--_vol",this.#a.value)});let t=this.shadowRoot?.querySelector(".mute-btn");t&&(t.addEventListener("click",()=>{this.#t.muted=!this.#t.muted,this.toggleAttribute("muted",this.#t.muted),this.#a.style.setProperty("--_vol",this.#t.muted?"0":this.#a.value)}),this.addEventListener("keydown",e=>{let i=e.target;if(!(i?.tagName==="INPUT"||i?.tagName==="TEXTAREA"))switch(e.key){case" ":e.preventDefault(),this.#i?this.#t.pause():this.#t.play().catch(()=>{});break;case"ArrowLeft":e.preventDefault(),this.#t.currentTime=Math.max(0,this.#t.currentTime-10);break;case"ArrowRight":e.preventDefault(),this.#t.currentTime=Math.min(this.#t.duration||0,this.#t.currentTime+10);break;case"m":case"M":this.#t.muted=!this.#t.muted,this.toggleAttribute("muted",this.#t.muted),this.#a.style.setProperty("--_vol",this.#t.muted?"0":this.#a.value);break}}),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"))}#g(){this.#e&&this.#e.addEventListener("click",t=>{let i=t.target?.closest("a[href]");i&&(t.preventDefault(),this.#d(i.href,i.closest("li")))})}#d(t,e){if(!this.#e)return;this.#e.querySelectorAll("li").forEach(s=>s.removeAttribute("data-audio-active")),e&&e.setAttribute("data-audio-active",""),this.#t.src=t,this.#t.play().catch(()=>{}),this.#E(),this.#A("audio-player:track-change",{src:t,title:e?.querySelector("a")?.textContent??""})}#f(){if(!this.#e)return;let t=[...this.#e.querySelectorAll("li")],e=t.findIndex(s=>s.hasAttribute("data-audio-active"));if(this.hasAttribute("shuffle")){let s=t.filter((n,o)=>o!==e);if(s.length){let n=s[Math.floor(Math.random()*s.length)],o=n.querySelector("a[href]");o&&this.#d(o.href,n)}return}let i=e+1;if(i<t.length){let s=t[i].querySelector("a[href]");s&&this.#d(s.href,t[i])}else if(this.hasAttribute("loop")){let s=t[0]?.querySelector("a[href]");s&&this.#d(s.href,t[0])}}#v(){let t=this.#t.currentTime,e=this.#t.duration||0,i=e?t/e*100:0;this.#u.textContent=this.#S(t),this.#s.value=String(i),this.#o.style.width=`${i}%`}#w(){let t=this.#t.duration||0;this.#l.textContent=this.#S(t)}#E(){if(!this.#c)return;if(this.#e){let e=this.#e.querySelector("li[data-audio-active] a");if(e){this.#c.textContent=e.textContent;return}}let t=this.#t.currentSrc||this.#t.querySelector("source")?.src||"";if(t){let e=t.split("/").pop().split("?")[0];this.#c.textContent=e.replace(/\.[^.]+$/,"").replace(/[-_]/g," ")}}#S(t){if(!Number.isFinite(t))return"0:00";let e=Math.floor(t/60),i=Math.floor(t%60).toString().padStart(2,"0");return`${e}:${i}`}#A(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}};m("audio-player",gt);var bt=new Map;function mi(){if(!bt.has("default"))try{bt.set("default",new AudioContext)}catch{return null}return bt.get("default")}var vt=new WeakMap;function fi(r,t){if(vt.has(r))return vt.get(r);let e=t.createMediaElementSource(r);return vt.set(r,e),e}var yt=class extends f{#t=null;#e=null;#i=null;#r=null;#n=null;#s=null;#o=null;#a=null;#u=!0;#l=!1;#c=!1;#m=null;static get observedAttributes(){return["for","data-mode","data-fft-size"]}setup(){this.#c=window.matchMedia("(prefers-reduced-motion: reduce)").matches;let t=!this.shadowRoot;this.#p(),this.#h(),t&&(this.#E(),this.#S()),this.#m=()=>{let e=this.shadowRoot?.querySelector("canvas");e&&(e.style.display="none",e.offsetHeight,e.style.display="")},this.listen(window,"vb:theme-change",this.#m)}teardown(){this.#g(),this.#a?.disconnect()}attributeChangedCallback(t){t==="for"&&this.#h()}#p(){if(this.shadowRoot)return;let t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
340
|
+
<style>
|
|
341
|
+
:host {
|
|
342
|
+
display: block;
|
|
343
|
+
--_color: var(--audio-visualizer-color, var(--color-primary, oklch(55% 0.2 260)));
|
|
344
|
+
--_bg: var(--audio-visualizer-bg, var(--color-surface-sunken, transparent));
|
|
345
|
+
--_height: var(--audio-visualizer-height, 80px);
|
|
346
|
+
--_radius: var(--audio-visualizer-radius, var(--radius-m, 0.5rem));
|
|
347
|
+
}
|
|
348
|
+
canvas {
|
|
349
|
+
display: block;
|
|
350
|
+
width: 100%;
|
|
351
|
+
height: var(--_height);
|
|
352
|
+
background: var(--_bg);
|
|
353
|
+
border-radius: var(--_radius);
|
|
354
|
+
}
|
|
355
|
+
</style>
|
|
356
|
+
<canvas aria-hidden="true"></canvas>
|
|
357
|
+
`,this.#t=t.querySelector("canvas")}#h(){let t=this.getAttribute("for");t&&(this.#i=document.getElementById(t),!(!this.#i||this.#i.tagName!=="AUDIO")&&(this.#l||this.#i.addEventListener("play",()=>this.#y(),{once:!0})))}#y(){if(this.#l||(this.#l=!0,this.#r=mi(),!this.#r))return;this.#r.state==="suspended"&&this.#r.resume();let t=parseInt(this.getAttribute("data-fft-size")||"256",10);this.#n=this.#r.createAnalyser(),this.#n.fftSize=t,this.#n.smoothingTimeConstant=.8,this.#s=fi(this.#i,this.#r),this.#s.connect(this.#n),this.#n.connect(this.#r.destination),this.#b()}#b(){if(this.#c)return;let t=()=>{if(!this.#u||this.#c){this.#o=null;return}this.#o=requestAnimationFrame(t),this.#d()};this.#o=requestAnimationFrame(t)}#g(){this.#o&&(cancelAnimationFrame(this.#o),this.#o=null)}#d(){let t=this.#t,e=t.getContext("2d");if(!e)return;let i=t.width=t.offsetWidth*(window.devicePixelRatio||1),s=t.height=t.offsetHeight*(window.devicePixelRatio||1),n=getComputedStyle(this),o=n.getPropertyValue("--_color").trim()||"oklch(55% 0.2 260)",a=n.getPropertyValue("--_bg").trim();if(e.clearRect(0,0,i,s),a&&a!=="transparent"&&(e.fillStyle=a,e.fillRect(0,0,i,s)),!this.#n)return;let l=this.getAttribute("data-mode")||"bars",c=this.#n.frequencyBinCount,h=new Uint8Array(c);l==="waveform"?(this.#n.getByteTimeDomainData(h),this.#v(e,i,s,o,h)):l==="circle"?(this.#n.getByteFrequencyData(h),this.#w(e,i,s,o,h)):(this.#n.getByteFrequencyData(h),this.#f(e,i,s,o,h))}#f(t,e,i,s,n){let o=Math.min(n.length,64),a=e/o-1;t.fillStyle=s;for(let l=0;l<o;l++){let h=n[l]/255*i,u=l*(e/o);t.fillRect(u,i-h,a,h)}}#v(t,e,i,s,n){let o=e/n.length;t.strokeStyle=s,t.lineWidth=2,t.beginPath();for(let a=0;a<n.length;a++){let c=n[a]/128*i/2;a===0?t.moveTo(0,c):t.lineTo(a*o,c)}t.stroke()}#w(t,e,i,s,n){let o=e/2,a=i/2,l=Math.min(e,i)*.25,c=n.length;t.strokeStyle=s,t.lineWidth=2,t.beginPath();for(let h=0;h<c;h++){let u=h/c*Math.PI*2,d=n[h]/255*(l*.8),p=l+d,g=o+p*Math.cos(u),v=a+p*Math.sin(u);h===0?t.moveTo(g,v):t.lineTo(g,v)}t.closePath(),t.stroke()}#E(){this.#a=new IntersectionObserver(([t])=>{this.#u=t.isIntersecting,this.#u&&this.#l&&!this.#o&&!this.#c&&this.#b()}),this.#a.observe(this)}#S(){window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",t=>{this.#c=t.matches,t.matches?this.#g():this.#l&&this.#u&&this.#b()})}};m("audio-visualizer",yt);var xe=[.5,.75,1,1.25,1.5,2],gi=3e3,wt=class extends f{#t=null;#e=null;#i=!1;#r=null;#n=null;#s=null;#o=null;#a=null;#u=null;#l=null;#c=null;#m=null;#p=null;#h=null;#y=null;#b=null;#g=null;#d=null;#f=2;#v=null;#w=null;setup(){if(this.#t=this.querySelector("video"),!this.#t)return!1;this.#e=this.querySelector(".track-list"),this.#t.removeAttribute("controls");let t=!this.shadowRoot;this.#E(),t&&(this.#A(),this.#C(),this.#N(),this.#$()),this.hasAttribute("muted")&&(this.#t.muted=!0,this.setAttribute("muted","")),this.hasAttribute("autoplay")&&this.#t.play().catch(()=>{}),this.#k(),this.#v=()=>{let e=this.shadowRoot?.querySelector(".player");e&&(e.style.display="none",e.offsetHeight,e.style.display="")},this.listen(window,"vb:theme-change",this.#v),this.#w=()=>{let e=!!document.fullscreenElement;this.toggleAttribute("data-fullscreen",e),this.#y.setAttribute("aria-label",e?"Exit fullscreen":"Fullscreen"),this.#R("video-player:fullscreen",{active:e})},this.listen(document,"fullscreenchange",this.#w),this.setAttribute("state","idle")}teardown(){this.#t&&this.#t.setAttribute("controls",""),this.#d!=null&&clearTimeout(this.#d)}#E(){if(this.shadowRoot)return;let t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
358
|
+
<style>${this.#S()}</style>
|
|
359
|
+
<div part="player" class="player">
|
|
360
|
+
<slot></slot>
|
|
361
|
+
<button part="play-overlay" class="play-overlay" type="button" aria-label="Play video">
|
|
362
|
+
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="48" height="48">
|
|
363
|
+
<path d="M8 5v14l11-7z"/>
|
|
364
|
+
</svg>
|
|
365
|
+
</button>
|
|
366
|
+
<div class="buffer-indicator" aria-hidden="true">
|
|
367
|
+
<svg viewBox="0 0 24 24" width="40" height="40" fill="none" stroke="currentColor" stroke-width="2">
|
|
368
|
+
<circle cx="12" cy="12" r="10" opacity="0.3"/>
|
|
369
|
+
<path d="M12 2a10 10 0 0 1 10 10" stroke-linecap="round"/>
|
|
370
|
+
</svg>
|
|
371
|
+
</div>
|
|
372
|
+
<div class="controls-gradient" aria-hidden="true"></div>
|
|
373
|
+
<div part="controls" class="controls" role="group" aria-label="Video controls">
|
|
374
|
+
<div class="timeline-wrap">
|
|
375
|
+
<input part="timeline" type="range" class="timeline"
|
|
376
|
+
min="0" max="100" value="0" step="0.1"
|
|
377
|
+
aria-label="Seek">
|
|
378
|
+
<div class="timeline-buffer"></div>
|
|
379
|
+
<div class="timeline-fill"></div>
|
|
380
|
+
</div>
|
|
381
|
+
<div class="controls-row">
|
|
382
|
+
<button part="play-button" class="play-btn" type="button" aria-label="Play">
|
|
383
|
+
<svg class="icon-play" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
384
|
+
<path d="M8 5v14l11-7z"/>
|
|
385
|
+
</svg>
|
|
386
|
+
<svg class="icon-pause" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
387
|
+
<path d="M6 19h4V5H6zm8-14v14h4V5z"/>
|
|
388
|
+
</svg>
|
|
389
|
+
</button>
|
|
390
|
+
<button class="skip-back-btn" type="button" aria-label="Skip back 10 seconds">
|
|
391
|
+
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="18" height="18">
|
|
392
|
+
<path d="M11.99 5V1l-5 5 5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6h-2c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/>
|
|
393
|
+
<text x="12" y="15.5" text-anchor="middle" font-size="7" font-weight="700" fill="currentColor" font-family="system-ui">10</text>
|
|
394
|
+
</svg>
|
|
395
|
+
</button>
|
|
396
|
+
<button class="skip-forward-btn" type="button" aria-label="Skip forward 10 seconds">
|
|
397
|
+
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="18" height="18">
|
|
398
|
+
<path d="M12.01 5V1l5 5-5 5V7c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6h2c0 4.42-3.58 8-8 8s-8-3.58-8-8 3.58-8 8-8z"/>
|
|
399
|
+
<text x="12" y="15.5" text-anchor="middle" font-size="7" font-weight="700" fill="currentColor" font-family="system-ui">10</text>
|
|
400
|
+
</svg>
|
|
401
|
+
</button>
|
|
402
|
+
<div class="volume-wrap">
|
|
403
|
+
<button class="mute-btn" type="button" aria-label="Mute">
|
|
404
|
+
<svg class="icon-vol" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="18" height="18">
|
|
405
|
+
<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>
|
|
406
|
+
</svg>
|
|
407
|
+
<svg class="icon-muted" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="18" height="18">
|
|
408
|
+
<path d="M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06a8.99 8.99 0 0 0 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4 9.91 6.09 12 8.18V4z"/>
|
|
409
|
+
</svg>
|
|
410
|
+
</button>
|
|
411
|
+
<input part="volume" type="range" class="volume"
|
|
412
|
+
min="0" max="1" value="1" step="0.01"
|
|
413
|
+
aria-label="Volume">
|
|
414
|
+
</div>
|
|
415
|
+
<span part="time-display" class="time-display">
|
|
416
|
+
<time class="current-time">0:00</time>
|
|
417
|
+
<span class="time-sep"> / </span>
|
|
418
|
+
<time class="duration">0:00</time>
|
|
419
|
+
</span>
|
|
420
|
+
<span class="spacer"></span>
|
|
421
|
+
<button part="speed-button" class="speed-btn" type="button" aria-label="Playback speed 1x">
|
|
422
|
+
<span aria-live="polite">1x</span>
|
|
423
|
+
</button>
|
|
424
|
+
<button part="captions-button" class="captions-btn" type="button" aria-label="Captions" aria-pressed="false">
|
|
425
|
+
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
426
|
+
<path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 7H9.5v-.5h-2v3h2V13H11v1c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1zm7 0h-1.5v-.5h-2v3h2V13H18v1c0 .55-.45 1-1 1h-3c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v1z"/>
|
|
427
|
+
</svg>
|
|
428
|
+
</button>
|
|
429
|
+
<button part="fullscreen-button" class="fullscreen-btn" type="button" aria-label="Fullscreen">
|
|
430
|
+
<svg class="icon-fs-enter" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
431
|
+
<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/>
|
|
432
|
+
</svg>
|
|
433
|
+
<svg class="icon-fs-exit" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" width="20" height="20">
|
|
434
|
+
<path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/>
|
|
435
|
+
</svg>
|
|
436
|
+
</button>
|
|
437
|
+
</div>
|
|
438
|
+
</div>
|
|
439
|
+
<div class="sr-status" role="status" aria-live="polite"></div>
|
|
440
|
+
</div>
|
|
441
|
+
`,this.#r=t.querySelector(".controls"),this.#n=t.querySelector(".play-btn"),this.#s=t.querySelector(".play-overlay"),this.#o=t.querySelector(".timeline"),this.#a=t.querySelector(".timeline-fill"),this.#u=t.querySelector(".timeline-buffer"),this.#l=t.querySelector(".volume"),this.#c=t.querySelector(".current-time"),this.#m=t.querySelector(".duration"),this.#p=t.querySelector(".speed-btn"),this.#h=t.querySelector(".captions-btn"),this.#y=t.querySelector(".fullscreen-btn"),this.#b=t.querySelector(".buffer-indicator"),this.#g=t.querySelector(".sr-status"),this.#t.querySelector('track[kind="captions"], track[kind="subtitles"]')||(this.#h.hidden=!0)}#S(){return`
|
|
442
|
+
:host {
|
|
443
|
+
display: block;
|
|
444
|
+
--_accent: var(--video-player-accent, var(--color-primary, oklch(55% 0.2 260)));
|
|
445
|
+
--_controls-bg: var(--video-player-controls-bg, oklch(0% 0 0 / 0.75));
|
|
446
|
+
--_controls-text: var(--video-player-controls-text, #fff);
|
|
447
|
+
--_radius: var(--video-player-radius, var(--radius-m, 0.5rem));
|
|
448
|
+
--_border: var(--video-player-border, none);
|
|
449
|
+
--_shadow: var(--video-player-shadow, none);
|
|
450
|
+
--_controls-padding: var(--video-player-controls-padding, var(--size-xs, 0.5rem) var(--size-s, 0.75rem));
|
|
451
|
+
--_overlay-bg: var(--video-player-overlay-bg, oklch(0% 0 0 / 0.4));
|
|
452
|
+
--_timeline-height: var(--video-player-timeline-height, 4px);
|
|
453
|
+
--_timeline-buffer: var(--video-player-timeline-buffer, oklch(100% 0 0 / 0.3));
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.player {
|
|
457
|
+
position: relative;
|
|
458
|
+
container-type: normal;
|
|
459
|
+
background: #000;
|
|
460
|
+
border: var(--_border);
|
|
461
|
+
border-radius: var(--_radius);
|
|
462
|
+
box-shadow: var(--_shadow);
|
|
463
|
+
overflow: hidden;
|
|
464
|
+
line-height: 0;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* \u2500\u2500 Slotted video \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
468
|
+
::slotted(video) {
|
|
469
|
+
display: block;
|
|
470
|
+
width: 100%;
|
|
471
|
+
height: auto;
|
|
472
|
+
aspect-ratio: 16 / 9; /* fallback before metadata loads; intrinsic ratio overrides once known */
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
::slotted(details) {
|
|
476
|
+
line-height: 1.5;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/* \u2500\u2500 Play overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
480
|
+
.play-overlay {
|
|
481
|
+
all: unset;
|
|
482
|
+
position: absolute;
|
|
483
|
+
inset: 0;
|
|
484
|
+
display: flex;
|
|
485
|
+
align-items: center;
|
|
486
|
+
justify-content: center;
|
|
487
|
+
cursor: pointer;
|
|
488
|
+
z-index: 2;
|
|
489
|
+
transition: opacity var(--duration-fast, 200ms) var(--ease-default, ease);
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
.play-overlay svg {
|
|
493
|
+
background: var(--_overlay-bg);
|
|
494
|
+
border-radius: var(--radius-full, 50%);
|
|
495
|
+
padding: 1rem;
|
|
496
|
+
color: var(--_controls-text);
|
|
497
|
+
transition: transform var(--duration-fast, 150ms) var(--ease-default, ease),
|
|
498
|
+
background var(--duration-fast, 150ms) var(--ease-default, ease);
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
.play-overlay:hover svg {
|
|
502
|
+
transform: scale(1.1);
|
|
503
|
+
background: oklch(0% 0 0 / 0.6);
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.play-overlay:focus-visible svg {
|
|
507
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
508
|
+
outline-offset: 4px;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
:host([state="playing"]) .play-overlay,
|
|
512
|
+
:host([state="buffering"]) .play-overlay {
|
|
513
|
+
opacity: 0;
|
|
514
|
+
pointer-events: none;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
:host([state="paused"]) .play-overlay {
|
|
518
|
+
opacity: 0;
|
|
519
|
+
pointer-events: none;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
:host([state="ended"]) .play-overlay {
|
|
523
|
+
opacity: 1;
|
|
524
|
+
pointer-events: auto;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/* \u2500\u2500 Buffer indicator \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
528
|
+
.buffer-indicator {
|
|
529
|
+
position: absolute;
|
|
530
|
+
inset: 0;
|
|
531
|
+
display: flex;
|
|
532
|
+
align-items: center;
|
|
533
|
+
justify-content: center;
|
|
534
|
+
pointer-events: none;
|
|
535
|
+
z-index: 1;
|
|
536
|
+
opacity: 0;
|
|
537
|
+
color: var(--_controls-text);
|
|
538
|
+
transition: opacity var(--duration-fast, 200ms) var(--ease-default, ease);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.buffer-indicator svg {
|
|
542
|
+
animation: vp-spin 1s linear infinite;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
:host([state="buffering"]) .buffer-indicator {
|
|
546
|
+
opacity: 1;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
@keyframes vp-spin {
|
|
550
|
+
to { transform: rotate(360deg); }
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
/* \u2500\u2500 Controls gradient \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
554
|
+
.controls-gradient {
|
|
555
|
+
position: absolute;
|
|
556
|
+
bottom: 0;
|
|
557
|
+
left: 0;
|
|
558
|
+
right: 0;
|
|
559
|
+
height: 120px;
|
|
560
|
+
background: linear-gradient(transparent, oklch(0% 0 0 / 0.7));
|
|
561
|
+
pointer-events: none;
|
|
562
|
+
z-index: 3;
|
|
563
|
+
transition: opacity var(--duration-fast, 300ms) var(--ease-default, ease);
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/* \u2500\u2500 Controls overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
567
|
+
.controls {
|
|
568
|
+
position: absolute;
|
|
569
|
+
bottom: 0;
|
|
570
|
+
left: 0;
|
|
571
|
+
right: 0;
|
|
572
|
+
z-index: 4;
|
|
573
|
+
padding: var(--_controls-padding);
|
|
574
|
+
color: var(--_controls-text);
|
|
575
|
+
line-height: 1.4;
|
|
576
|
+
transition: opacity var(--duration-fast, 300ms) var(--ease-default, ease),
|
|
577
|
+
visibility var(--duration-fast, 300ms);
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/* Controls hidden state */
|
|
581
|
+
:host([state="playing"]:not([controls])) .controls,
|
|
582
|
+
:host([state="playing"]:not([controls])) .controls-gradient {
|
|
583
|
+
opacity: 0;
|
|
584
|
+
visibility: hidden;
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
:host([state="playing"]:not([controls])) {
|
|
588
|
+
cursor: none;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
/* \u2500\u2500 Timeline \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
592
|
+
.timeline-wrap {
|
|
593
|
+
position: relative;
|
|
594
|
+
height: 1.25rem;
|
|
595
|
+
display: flex;
|
|
596
|
+
align-items: center;
|
|
597
|
+
margin-block-end: var(--size-3xs, 2px);
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.timeline-fill {
|
|
601
|
+
position: absolute;
|
|
602
|
+
left: 0;
|
|
603
|
+
top: 50%;
|
|
604
|
+
transform: translateY(-50%);
|
|
605
|
+
height: var(--_timeline-height);
|
|
606
|
+
background: var(--_accent);
|
|
607
|
+
pointer-events: none;
|
|
608
|
+
border-radius: var(--radius-full, 2px);
|
|
609
|
+
width: 0%;
|
|
610
|
+
z-index: 2;
|
|
611
|
+
transition: width var(--duration-instant, 50ms) linear;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.timeline-buffer {
|
|
615
|
+
position: absolute;
|
|
616
|
+
left: 0;
|
|
617
|
+
top: 50%;
|
|
618
|
+
transform: translateY(-50%);
|
|
619
|
+
height: var(--_timeline-height);
|
|
620
|
+
background: var(--_timeline-buffer);
|
|
621
|
+
pointer-events: none;
|
|
622
|
+
border-radius: var(--radius-full, 2px);
|
|
623
|
+
width: 0%;
|
|
624
|
+
z-index: 1;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
.timeline {
|
|
628
|
+
width: 100%;
|
|
629
|
+
height: 1.25rem;
|
|
630
|
+
appearance: none;
|
|
631
|
+
background: transparent;
|
|
632
|
+
cursor: pointer;
|
|
633
|
+
position: relative;
|
|
634
|
+
z-index: 3;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
.timeline::-webkit-slider-runnable-track {
|
|
638
|
+
height: var(--_timeline-height);
|
|
639
|
+
background: oklch(100% 0 0 / 0.2);
|
|
640
|
+
border-radius: var(--radius-full, 2px);
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
.timeline::-moz-range-track {
|
|
644
|
+
height: var(--_timeline-height);
|
|
645
|
+
background: oklch(100% 0 0 / 0.2);
|
|
646
|
+
border-radius: var(--radius-full, 2px);
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
.timeline::-webkit-slider-thumb {
|
|
650
|
+
-webkit-appearance: none;
|
|
651
|
+
width: 14px;
|
|
652
|
+
height: 14px;
|
|
653
|
+
border-radius: var(--radius-full, 50%);
|
|
654
|
+
background: var(--_accent);
|
|
655
|
+
border: 2px solid var(--_controls-text);
|
|
656
|
+
cursor: pointer;
|
|
657
|
+
margin-top: -5px;
|
|
658
|
+
transition: transform var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
.timeline:hover::-webkit-slider-thumb {
|
|
662
|
+
transform: scale(1.3);
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.timeline::-moz-range-thumb {
|
|
666
|
+
width: 14px;
|
|
667
|
+
height: 14px;
|
|
668
|
+
border-radius: var(--radius-full, 50%);
|
|
669
|
+
background: var(--_accent);
|
|
670
|
+
border: 2px solid var(--_controls-text);
|
|
671
|
+
cursor: pointer;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.timeline:focus-visible {
|
|
675
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
676
|
+
outline-offset: 4px;
|
|
677
|
+
border-radius: var(--radius-s, 2px);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
/* \u2500\u2500 Controls row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
681
|
+
.controls-row {
|
|
682
|
+
display: flex;
|
|
683
|
+
align-items: center;
|
|
684
|
+
gap: var(--size-2xs, 4px);
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
.spacer { flex: 1; }
|
|
688
|
+
|
|
689
|
+
/* \u2500\u2500 Shared button reset \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
690
|
+
.controls-row button {
|
|
691
|
+
all: unset;
|
|
692
|
+
display: flex;
|
|
693
|
+
align-items: center;
|
|
694
|
+
justify-content: center;
|
|
695
|
+
width: 2rem;
|
|
696
|
+
height: 2rem;
|
|
697
|
+
border-radius: var(--radius-s, 4px);
|
|
698
|
+
cursor: pointer;
|
|
699
|
+
color: var(--_controls-text);
|
|
700
|
+
transition: background var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
.controls-row button:hover {
|
|
704
|
+
background: oklch(100% 0 0 / 0.15);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
.controls-row button:focus-visible {
|
|
708
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
709
|
+
outline-offset: 2px;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
/* \u2500\u2500 Play button (controls row) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
713
|
+
.icon-pause { display: none; }
|
|
714
|
+
:host([state="playing"]) .icon-play { display: none; }
|
|
715
|
+
:host([state="playing"]) .icon-pause { display: block; }
|
|
716
|
+
|
|
717
|
+
/* \u2500\u2500 Fullscreen icons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
718
|
+
.icon-fs-exit { display: none; }
|
|
719
|
+
:host([data-fullscreen]) .icon-fs-enter { display: none; }
|
|
720
|
+
:host([data-fullscreen]) .icon-fs-exit { display: block; }
|
|
721
|
+
|
|
722
|
+
/* \u2500\u2500 Mute icons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
723
|
+
.icon-muted { display: none; }
|
|
724
|
+
:host([muted]) .icon-vol { display: none; }
|
|
725
|
+
:host([muted]) .icon-muted { display: block; }
|
|
726
|
+
|
|
727
|
+
/* \u2500\u2500 Volume \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
728
|
+
.volume-wrap {
|
|
729
|
+
display: flex;
|
|
730
|
+
align-items: center;
|
|
731
|
+
gap: 0;
|
|
732
|
+
flex: 0 0 auto;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
.volume {
|
|
736
|
+
width: 60px;
|
|
737
|
+
height: 1rem;
|
|
738
|
+
appearance: none;
|
|
739
|
+
background: transparent;
|
|
740
|
+
cursor: pointer;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.volume::-webkit-slider-runnable-track {
|
|
744
|
+
height: 3px;
|
|
745
|
+
background: linear-gradient(to right,
|
|
746
|
+
var(--_accent) calc(var(--_vol, 1) * 100%),
|
|
747
|
+
oklch(100% 0 0 / 0.3) calc(var(--_vol, 1) * 100%));
|
|
748
|
+
border-radius: var(--radius-full, 2px);
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
.volume::-moz-range-track {
|
|
752
|
+
height: 3px;
|
|
753
|
+
background: oklch(100% 0 0 / 0.3);
|
|
754
|
+
border-radius: var(--radius-full, 2px);
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
.volume::-moz-range-progress {
|
|
758
|
+
height: 3px;
|
|
759
|
+
background: var(--_accent);
|
|
760
|
+
border-radius: var(--radius-full, 2px);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
.volume::-webkit-slider-thumb {
|
|
764
|
+
-webkit-appearance: none;
|
|
765
|
+
width: 10px;
|
|
766
|
+
height: 10px;
|
|
767
|
+
border-radius: var(--radius-full, 50%);
|
|
768
|
+
background: var(--_controls-text);
|
|
769
|
+
border: none;
|
|
770
|
+
cursor: pointer;
|
|
771
|
+
margin-top: -3.5px;
|
|
772
|
+
transition: transform var(--duration-fast, 100ms) var(--ease-default, ease);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
.volume:hover::-webkit-slider-thumb {
|
|
776
|
+
transform: scale(1.3);
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
.volume::-moz-range-thumb {
|
|
780
|
+
width: 10px;
|
|
781
|
+
height: 10px;
|
|
782
|
+
border-radius: var(--radius-full, 50%);
|
|
783
|
+
background: var(--_controls-text);
|
|
784
|
+
border: none;
|
|
785
|
+
cursor: pointer;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
.volume:focus-visible {
|
|
789
|
+
outline: var(--focus-ring-width, 2px) solid var(--color-focus-ring, var(--_accent));
|
|
790
|
+
outline-offset: 2px;
|
|
791
|
+
border-radius: var(--radius-s, 2px);
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
/* \u2500\u2500 Time display \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
795
|
+
.time-display {
|
|
796
|
+
font-size: var(--font-size-xs, 0.75rem);
|
|
797
|
+
font-family: var(--font-mono, ui-monospace, monospace);
|
|
798
|
+
font-variant-numeric: tabular-nums;
|
|
799
|
+
white-space: nowrap;
|
|
800
|
+
padding-inline: var(--size-2xs, 4px);
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
.time-sep { opacity: 0.6; }
|
|
804
|
+
|
|
805
|
+
/* \u2500\u2500 Speed button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
806
|
+
.speed-btn {
|
|
807
|
+
font-size: var(--font-size-xs, 0.75rem);
|
|
808
|
+
font-weight: 600;
|
|
809
|
+
min-width: 2.5rem;
|
|
810
|
+
width: auto !important;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
/* \u2500\u2500 Captions button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
814
|
+
:host([captions]) .captions-btn {
|
|
815
|
+
background: oklch(100% 0 0 / 0.2);
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
.captions-btn[hidden] { display: none; }
|
|
819
|
+
|
|
820
|
+
/* \u2500\u2500 Screen reader only \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
821
|
+
.sr-status {
|
|
822
|
+
position: absolute;
|
|
823
|
+
width: 1px;
|
|
824
|
+
height: 1px;
|
|
825
|
+
padding: 0;
|
|
826
|
+
margin: -1px;
|
|
827
|
+
overflow: hidden;
|
|
828
|
+
clip: rect(0, 0, 0, 0);
|
|
829
|
+
white-space: nowrap;
|
|
830
|
+
border: 0;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
/* \u2500\u2500 Reduced motion \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
834
|
+
@media (prefers-reduced-motion: reduce) {
|
|
835
|
+
.play-overlay svg,
|
|
836
|
+
.buffer-indicator svg,
|
|
837
|
+
.controls,
|
|
838
|
+
.controls-gradient,
|
|
839
|
+
.timeline-fill,
|
|
840
|
+
.timeline::-webkit-slider-thumb,
|
|
841
|
+
.volume::-webkit-slider-thumb,
|
|
842
|
+
.controls-row button {
|
|
843
|
+
transition: none;
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
.buffer-indicator svg {
|
|
847
|
+
animation: none;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
.play-overlay:hover svg,
|
|
851
|
+
.timeline:hover::-webkit-slider-thumb,
|
|
852
|
+
.volume:hover::-webkit-slider-thumb {
|
|
853
|
+
transform: none;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
/* Keep controls permanently visible */
|
|
857
|
+
:host([state="playing"]:not([controls])) .controls,
|
|
858
|
+
:host([state="playing"]:not([controls])) .controls-gradient {
|
|
859
|
+
opacity: 1;
|
|
860
|
+
visibility: visible;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
:host([state="playing"]:not([controls])) {
|
|
864
|
+
cursor: auto;
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
`}#A(){this.#t.addEventListener("timeupdate",()=>this.#M()),this.#t.addEventListener("loadedmetadata",()=>this.#j()),this.#t.addEventListener("progress",()=>this.#B()),this.#t.addEventListener("play",()=>{this.#i=!0,this.setAttribute("state","playing"),this.#n.setAttribute("aria-label","Pause"),this.#z("Playing"),this.#R("video-player:play",{currentTime:this.#t.currentTime,src:this.#t.currentSrc})}),this.#t.addEventListener("pause",()=>{this.#i=!1,this.setAttribute("state","paused"),this.#n.setAttribute("aria-label","Play"),this.#k(),this.#z("Paused"),this.#R("video-player:pause",{currentTime:this.#t.currentTime})}),this.#t.addEventListener("ended",()=>{this.#i=!1,this.setAttribute("state","ended"),this.#n.setAttribute("aria-label","Play"),this.#k();let t=this.#e?.querySelector("li[data-video-active]");t&&t.setAttribute("data-video-played",""),this.#e&&this.#L(),this.#z("Ended"),this.#R("video-player:ended",{src:this.#t.currentSrc})}),this.#t.addEventListener("waiting",()=>{this.#i&&(this.setAttribute("state","buffering"),this.#z("Buffering"))}),this.#t.addEventListener("playing",()=>{this.getAttribute("state")==="buffering"&&this.setAttribute("state","playing")})}#C(){this.#s.addEventListener("click",n=>{n.stopPropagation(),this.#t.play().catch(()=>{})}),(this.shadowRoot?.querySelector(".player")).addEventListener("click",n=>{n.target.closest(".controls")||n.target.closest(".play-overlay")||(this.#i?this.#t.pause():this.#t.play().catch(()=>{}))}),this.#n.addEventListener("click",()=>{this.#i?this.#t.pause():this.#t.play().catch(()=>{})}),this.#o.addEventListener("input",()=>{this.#t.duration&&(this.#t.currentTime=Number(this.#o.value)/100*this.#t.duration)}),(this.shadowRoot?.querySelector(".skip-back-btn")).addEventListener("click",()=>{this.#t.currentTime=Math.max(0,this.#t.currentTime-10)}),(this.shadowRoot?.querySelector(".skip-forward-btn")).addEventListener("click",()=>{this.#t.currentTime=Math.min(this.#t.duration||0,this.#t.currentTime+10)}),this.#l.addEventListener("input",()=>{this.#t.volume=Number(this.#l.value),this.#t.muted=!1,this.removeAttribute("muted"),this.#l.style.setProperty("--_vol",this.#l.value)}),(this.shadowRoot?.querySelector(".mute-btn")).addEventListener("click",()=>{this.#t.muted=!this.#t.muted,this.toggleAttribute("muted",this.#t.muted),this.#l.style.setProperty("--_vol",this.#t.muted?"0":this.#l.value)}),this.#p.addEventListener("click",()=>{this.#f=(this.#f+1)%xe.length;let n=xe[this.#f];this.#t.playbackRate=n;let o=this.#p.querySelector("span");o.textContent=`${n}x`,this.#p.setAttribute("aria-label",`Playback speed ${n}x`),this.#R("video-player:speed",{rate:n})}),this.#h.addEventListener("click",()=>{let n=this.#D();if(!n)return;let o=n.mode==="showing";n.mode=o?"hidden":"showing";let a=!o;this.toggleAttribute("captions",a),this.#h.setAttribute("aria-pressed",String(a)),this.#R("video-player:captions",{active:a,label:n.label})}),this.#y.addEventListener("click",()=>this.#I()),this.addEventListener("keydown",n=>this.#O(n)),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0")}#$(){let t=this.shadowRoot?.querySelector(".player"),e=()=>{this.#k(),this.#d!=null&&clearTimeout(this.#d),this.#i&&(this.#d=setTimeout(()=>this.#x(),gi))};t.addEventListener("mousemove",e),t.addEventListener("mouseenter",e),t.addEventListener("mouseleave",()=>{this.#i&&(this.#d!=null&&clearTimeout(this.#d),this.#d=setTimeout(()=>this.#x(),500))}),t.addEventListener("touchstart",()=>{this.hasAttribute("controls")?this.#x():e()},{passive:!0}),this.#r.addEventListener("mouseenter",()=>{this.#d!=null&&clearTimeout(this.#d),this.#k()}),this.#r.addEventListener("focusin",()=>{this.#d!=null&&clearTimeout(this.#d),this.#k()})}#k(){this.setAttribute("controls","")}#x(){this.removeAttribute("controls")}#N(){this.#e&&this.#e.addEventListener("click",t=>{let e=t.target.closest("a[href]");e&&(t.preventDefault(),this.#T(e.href,e.closest("li"),e))})}#T(t,e,i){this.#e.querySelectorAll("li").forEach(a=>a.removeAttribute("data-video-active")),e&&e.setAttribute("data-video-active",""),this.#t.src=t;let n=i?.getAttribute("data-poster");n&&(this.#t.poster=n);let o=i?.getAttribute("data-captions");this.#_(o),this.#t.play().catch(()=>{}),this.#R("video-player:track-change",{src:t,title:i?.textContent??""})}#_(t){if(this.#t.querySelectorAll("track[data-dynamic]").forEach(s=>s.remove()),t){let s=document.createElement("track");s.kind="captions",s.src=t,s.default=!0,s.setAttribute("data-dynamic",""),this.#t.appendChild(s),this.hasAttribute("captions")&&(s.track.mode="showing")}let i=this.#t.querySelector('track[kind="captions"], track[kind="subtitles"]');this.#h.hidden=!i}#L(){if(!this.#e)return;let t=[...this.#e.querySelectorAll("li")],e=t.findIndex(s=>s.hasAttribute("data-video-active"));if(this.hasAttribute("shuffle")){let s=t.filter((n,o)=>o!==e);if(s.length){let n=s[Math.floor(Math.random()*s.length)],o=n.querySelector("a[href]");o&&this.#T(o.href,n,o)}return}let i=e+1;if(i<t.length){let s=t[i].querySelector("a[href]");s&&this.#T(s.href,t[i],s)}else if(this.hasAttribute("loop")){let s=t[0]?.querySelector("a[href]");s&&this.#T(s.href,t[0],s)}}#M(){let t=this.#t.currentTime,e=this.#t.duration||0,i=e?t/e*100:0;this.#c.textContent=this.#q(t),this.#o.value=String(i),this.#o.setAttribute("aria-valuetext",this.#F(t)),this.#a.style.width=`${i}%`}#j(){let t=this.#t.duration||0;this.#m.textContent=this.#q(t)}#B(){let t=this.#t.buffered,e=this.#t.duration||0;if(t.length>0&&e){let i=t.end(t.length-1);this.#u.style.width=`${i/e*100}%`}}#I(){document.fullscreenElement?document.exitFullscreen():this.requestFullscreen().catch(()=>{this.#t.requestFullscreen?.().catch(()=>{})})}#D(){let t=this.#t.textTracks;for(let e=0;e<t.length;e++)if(t[e].kind==="captions"||t[e].kind==="subtitles")return t[e];return null}#O(t){if(!(t.target.tagName==="INPUT"||t.target.tagName==="TEXTAREA"))switch(t.key){case" ":case"k":case"K":t.preventDefault(),this.#i?this.#t.pause():this.#t.play().catch(()=>{});break;case"ArrowLeft":t.preventDefault(),this.#t.currentTime=Math.max(0,this.#t.currentTime-10),this.#k();break;case"ArrowRight":t.preventDefault(),this.#t.currentTime=Math.min(this.#t.duration||0,this.#t.currentTime+10),this.#k();break;case"ArrowUp":t.preventDefault(),this.#t.volume=Math.min(1,this.#t.volume+.05),this.#l.value=String(this.#t.volume),this.#l.style.setProperty("--_vol",String(this.#t.volume)),this.#k();break;case"ArrowDown":t.preventDefault(),this.#t.volume=Math.max(0,this.#t.volume-.05),this.#l.value=String(this.#t.volume),this.#l.style.setProperty("--_vol",String(this.#t.volume)),this.#k();break;case"m":case"M":this.#t.muted=!this.#t.muted,this.toggleAttribute("muted",this.#t.muted),this.#l.style.setProperty("--_vol",this.#t.muted?"0":this.#l.value);break;case"f":case"F":this.#I();break;case"c":case"C":this.#h.click();break;case"Escape":document.fullscreenElement&&document.exitFullscreen();break}}#q(t){if(!Number.isFinite(t))return"0:00";let e=Math.floor(t/3600),i=Math.floor(t%3600/60),s=Math.floor(t%60);return e>0?`${e}:${String(i).padStart(2,"0")}:${String(s).padStart(2,"0")}`:`${i}:${String(s).padStart(2,"0")}`}#F(t){if(!Number.isFinite(t))return"0 seconds";let e=Math.floor(t/3600),i=Math.floor(t%3600/60),s=Math.floor(t%60),n=[];return e>0&&n.push(`${e} hour${e!==1?"s":""}`),i>0&&n.push(`${i} minute${i!==1?"s":""}`),n.push(`${s} second${s!==1?"s":""}`),n.join(" ")}#z(t){this.#g&&(this.#g.textContent=t)}#R(t,e){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}};m("video-player",wt);var Ae=`
|
|
868
|
+
:host {
|
|
869
|
+
display: block;
|
|
870
|
+
position: relative;
|
|
871
|
+
overflow: hidden;
|
|
872
|
+
height: var(--geo-map-height, 300px);
|
|
873
|
+
border-radius: var(--geo-map-border-radius, 0.5rem);
|
|
874
|
+
background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
|
|
875
|
+
color-scheme: light dark;
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
[part="container"] {
|
|
879
|
+
position: relative;
|
|
880
|
+
width: 100%;
|
|
881
|
+
height: 100%;
|
|
882
|
+
overflow: hidden;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
/* Tile grid */
|
|
886
|
+
[part="tiles"] {
|
|
887
|
+
position: absolute;
|
|
888
|
+
display: grid;
|
|
889
|
+
grid-template-columns: repeat(3, 256px);
|
|
890
|
+
grid-template-rows: repeat(3, 256px);
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
[part="tiles"] img {
|
|
894
|
+
display: block;
|
|
895
|
+
width: 256px;
|
|
896
|
+
height: 256px;
|
|
897
|
+
-webkit-user-drag: none;
|
|
898
|
+
user-select: none;
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
/* Marker */
|
|
902
|
+
[part="marker"] {
|
|
903
|
+
position: absolute;
|
|
904
|
+
top: 50%;
|
|
905
|
+
left: 50%;
|
|
906
|
+
width: var(--geo-map-marker-size, 32px);
|
|
907
|
+
height: var(--geo-map-marker-size, 32px);
|
|
908
|
+
transform: translate(-50%, -100%);
|
|
909
|
+
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
|
|
910
|
+
pointer-events: none;
|
|
911
|
+
z-index: 2;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
/* Caption (slot projection) */
|
|
915
|
+
[part="caption"] {
|
|
916
|
+
position: absolute;
|
|
917
|
+
bottom: 0;
|
|
918
|
+
left: 0;
|
|
919
|
+
right: 0;
|
|
920
|
+
background: var(--geo-map-caption-bg, rgba(255, 255, 255, 0.9));
|
|
921
|
+
padding: var(--geo-map-caption-padding, 0.5rem 0.75rem);
|
|
922
|
+
font-size: 0.875rem;
|
|
923
|
+
z-index: 3;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
[part="caption"]:empty,
|
|
927
|
+
[part="caption"]:not(:has(*)) {
|
|
928
|
+
display: none;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
@media (prefers-color-scheme: dark) {
|
|
932
|
+
[part="caption"] {
|
|
933
|
+
background: var(--geo-map-caption-bg, rgba(0, 0, 0, 0.75));
|
|
934
|
+
color: #e0e0e0;
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
/* Attribution */
|
|
939
|
+
[part="attribution"] {
|
|
940
|
+
position: absolute;
|
|
941
|
+
bottom: 0;
|
|
942
|
+
right: 0;
|
|
943
|
+
padding: 2px 5px;
|
|
944
|
+
font-size: var(--geo-map-attribution-font-size, 0.625rem);
|
|
945
|
+
background: rgba(255, 255, 255, 0.7);
|
|
946
|
+
color: #333;
|
|
947
|
+
z-index: 4;
|
|
948
|
+
line-height: 1.4;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
[part="attribution"] a {
|
|
952
|
+
color: inherit;
|
|
953
|
+
text-decoration: none;
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
[part="attribution"] a:hover {
|
|
957
|
+
text-decoration: underline;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
/* When caption is present, shift attribution above it */
|
|
961
|
+
:host([data-has-caption]) [part="attribution"] {
|
|
962
|
+
bottom: auto;
|
|
963
|
+
top: 0;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
/* Overlay \u2014 full surface, appears on hover/focus */
|
|
967
|
+
[part="overlay"] {
|
|
968
|
+
position: absolute;
|
|
969
|
+
inset: 0;
|
|
970
|
+
z-index: 5;
|
|
971
|
+
display: flex;
|
|
972
|
+
align-items: center;
|
|
973
|
+
justify-content: center;
|
|
974
|
+
background: var(--geo-map-overlay-bg, rgba(0, 0, 0, 0.35));
|
|
975
|
+
color: var(--geo-map-overlay-color, #fff);
|
|
976
|
+
opacity: 0;
|
|
977
|
+
transition: opacity 0.2s ease;
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
[part="overlay"]:hover,
|
|
981
|
+
[part="overlay"]:focus-within {
|
|
982
|
+
opacity: 1;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
/* Activate button inside overlay */
|
|
986
|
+
[part="activate"] {
|
|
987
|
+
background: none;
|
|
988
|
+
border: none;
|
|
989
|
+
color: inherit;
|
|
990
|
+
font: inherit;
|
|
991
|
+
font-size: 0.875rem;
|
|
992
|
+
font-weight: 500;
|
|
993
|
+
cursor: pointer;
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
[part="activate"]:focus-visible {
|
|
997
|
+
outline: 2px solid #fff;
|
|
998
|
+
outline-offset: 4px;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
/* Interactive mode \u2014 tiles become absolutely positioned for panning */
|
|
1002
|
+
:host([data-interactive-active]) [part="tiles"] {
|
|
1003
|
+
display: block;
|
|
1004
|
+
cursor: grab;
|
|
1005
|
+
touch-action: none;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
:host([data-interactive-active]) [part="tiles"] img {
|
|
1009
|
+
position: absolute;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
:host([data-interactive-active]) [part="tiles"][data-dragging] {
|
|
1013
|
+
cursor: grabbing;
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
:host([data-interactive-active]) [part="overlay"] {
|
|
1017
|
+
display: none;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
/* Static-only \u2014 hide overlay entirely */
|
|
1021
|
+
:host([static-only]) [part="overlay"] {
|
|
1022
|
+
display: none;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
/* Reduced motion \u2014 disable transitions */
|
|
1026
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1027
|
+
[part="overlay"] {
|
|
1028
|
+
transition: none;
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
/* Error state */
|
|
1033
|
+
[part="container"][data-state="error"] [part="tiles"] {
|
|
1034
|
+
display: none;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
[part="container"][data-state="error"]::after {
|
|
1038
|
+
content: attr(data-error);
|
|
1039
|
+
position: absolute;
|
|
1040
|
+
inset: 0;
|
|
1041
|
+
display: flex;
|
|
1042
|
+
align-items: center;
|
|
1043
|
+
justify-content: center;
|
|
1044
|
+
color: #666;
|
|
1045
|
+
font-size: 0.875rem;
|
|
1046
|
+
text-align: center;
|
|
1047
|
+
padding: 1rem;
|
|
1048
|
+
}
|
|
1049
|
+
`;kt();function bi(r){return`<svg viewBox="0 0 24 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1050
|
+
<path d="M12 0C5.373 0 0 5.373 0 12c0 9 12 24 12 24s12-15 12-24C24 5.373 18.627 0 12 0z" fill="${r}"/>
|
|
1051
|
+
<circle cx="12" cy="12" r="5" fill="white" opacity="0.9"/>
|
|
1052
|
+
</svg>`}var At=class extends f{static get observedAttributes(){return["lat","lng","zoom","marker","marker-color","provider","interactive","static-only","src","place"]}#t=null;#e=!1;constructor(){super(),this.attachShadow({mode:"open"})}get lat(){return parseFloat(this.getAttribute("lat")??"")}get lng(){return parseFloat(this.getAttribute("lng")??"")}get zoom(){let t=parseInt(this.getAttribute("zoom")??"",10);return t>=1&&t<=19?t:15}get showMarker(){return this.getAttribute("marker")!=="false"}get markerColor(){return this.getAttribute("marker-color")||"#e74c3c"}get provider(){return this.getAttribute("provider")||"osm"}get interactive(){let t=this.getAttribute("interactive");return t==="eager"||t==="none"?t:"click"}get staticOnly(){return this.hasAttribute("static-only")}#i(){let t=parseFloat(this.getAttribute("lat")??""),e=parseFloat(this.getAttribute("lng")??"");if(!isNaN(t)&&!isNaN(e))return{lat:t,lng:e};let i=this.getAttribute("src");if(i){let a=this.#r(i);if(a)return a}let s=this.querySelector("address[data-lat][data-lng]");if(s){let a=parseFloat(s.dataset.lat??""),l=parseFloat(s.dataset.lng??"");if(!isNaN(a)&&!isNaN(l))return{lat:a,lng:l}}let n=this.getAttribute("place");if(n){let a=this.#n(n);if(a)return a}let o=document.querySelector('meta[name="geo.position"]');if(o){let l=(o.getAttribute("content")||"").split(";");if(l.length===2){let c=parseFloat(l[0]),h=parseFloat(l[1]);if(!isNaN(c)&&!isNaN(h))return{lat:c,lng:h}}}return null}#r(t){let e=document.getElementById(t);if(!e)return null;if(e.tagName==="ADDRESS"&&e.dataset.lat&&e.dataset.lng){let i=parseFloat(e.dataset.lat),s=parseFloat(e.dataset.lng);if(!isNaN(i)&&!isNaN(s))return{lat:i,lng:s}}return e.tagName==="SCRIPT"&&e.type==="application/ld+json"?this.#s(e):null}#n(t){let e=document.querySelectorAll('script[type="application/ld+json"]');for(let i of e)try{let s=JSON.parse(i.textContent);if(s.name===t){let n=s.geo;if(n){let o=parseFloat(n.latitude),a=parseFloat(n.longitude);if(!isNaN(o)&&!isNaN(a))return{lat:o,lng:a}}}}catch{}return null}#s(t){try{let i=JSON.parse(t.textContent).geo;if(i){let s=parseFloat(i.latitude),n=parseFloat(i.longitude);if(!isNaN(s)&&!isNaN(n))return{lat:s,lng:n}}}catch{}return null}setup(){this.render(),this.loadTiles(),this.#o()}attributeChangedCallback(t,e,i){e!==i&&this.isConnected&&(this.#t&&this.#l(),this.render(),this.loadTiles(),this.#o())}teardown(){this.#t&&(this.#t.destroy(),this.#t=null)}render(){let t=this.#i(),e=t?.lat??NaN,i=t?.lng??NaN,s=!isNaN(e)&&!isNaN(i);this.children.length>0?this.setAttribute("data-has-caption",""):this.removeAttribute("data-has-caption");let o=s?`Map of ${e.toFixed(4)}, ${i.toFixed(4)}`:"Map",a=this.showMarker&&s?`<div part="marker" aria-hidden="true">${bi(this.markerColor)}</div>`:"",c=s&&this.interactive!=="none"&&!this.staticOnly?'<div part="overlay"><button part="activate" aria-label="Activate interactive map" tabindex="0">Click to interact</button></div>':"";this.shadowRoot.innerHTML=`
|
|
1053
|
+
<style>${Ae}</style>
|
|
1054
|
+
<div part="container">
|
|
1055
|
+
<div part="tiles" role="img" aria-label="${o}"></div>
|
|
1056
|
+
${a}
|
|
1057
|
+
${c}
|
|
1058
|
+
<div part="caption"><slot></slot></div>
|
|
1059
|
+
<div part="attribution">
|
|
1060
|
+
<a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">© OpenStreetMap</a>
|
|
1061
|
+
</div>
|
|
1062
|
+
</div>
|
|
1063
|
+
`}loadTiles(){let t=this.#i(),e=t?.lat??NaN,i=t?.lng??NaN;if(isNaN(e)||isNaN(i)){this.handleError("Missing or invalid lat/lng coordinates");return}let s=this.zoom,n=this.provider,{tileX:o,tileY:a,pixelX:l,pixelY:c}=Ee(e,i,s),h=this.shadowRoot.querySelector('[part="tiles"]');if(!h)return;h.innerHTML="";let u=this,d=u.offsetWidth||400,p=u.offsetHeight||300,g=Math.round(d/2-256-l),v=Math.round(p/2-256-c);h.style.transform=`translate(${g}px, ${v}px)`;let w=0,S=0,A=9;for(let N=-1;N<=1;N++)for(let z=-1;z<=1;z++){let j=o+z,L=a+N,di=Y(n,s,j,L),P=document.createElement("img");P.src=di,P.alt="",P.loading="lazy",P.draggable=!1,P.addEventListener("load",()=>{w++,w+S===A&&this.dispatchEvent(new CustomEvent("geo-map:ready",{bubbles:!0,detail:{lat:e,lng:i,zoom:s}}))}),P.addEventListener("error",()=>{S++,S===A?this.handleError("Failed to load map tiles"):w+S===A&&this.dispatchEvent(new CustomEvent("geo-map:ready",{bubbles:!0,detail:{lat:e,lng:i,zoom:s}}))}),h.appendChild(P)}}#o(){let t=this.shadowRoot.querySelector('[part="overlay"]');if(!t)return;let e=t.querySelector('[part="activate"]');t.addEventListener("mouseenter",()=>this.#a(),{once:!0}),e&&e.addEventListener("focus",()=>this.#a(),{once:!0}),e&&e.addEventListener("click",()=>this.#u()),this.interactive==="eager"&&requestAnimationFrame(()=>this.#u())}#a(){if(this.#e)return;this.#e=!0;let t=this.provider,e;t==="carto-light"||t==="carto-dark"?e="https://basemaps.cartocdn.com":e="https://tile.openstreetmap.org";let i=document.createElement("link");i.rel="preconnect",i.href=e,i.crossOrigin="",document.head.appendChild(i)}async#u(){if(this.#t)return;let t=this.#i(),e=t?.lat??NaN,i=t?.lng??NaN;if(isNaN(e)||isNaN(i))return;let{MapInteraction:s}=await Promise.resolve().then(()=>(Te(),Ce));this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.focus(),this.setAttribute("data-interactive-active",""),this.#t=new s({shadow:this.shadowRoot,host:this,lat:e,lng:i,zoom:this.zoom,provider:this.provider,onDeactivate:()=>this.#l()}),this.dispatchEvent(new CustomEvent("geo-map:activate",{bubbles:!0,detail:{lat:e,lng:i,zoom:this.zoom}}))}#l(){this.#t&&(this.#t.destroy(),this.#t=null,this.removeAttribute("data-interactive-active"),this.render(),this.loadTiles(),this.#o())}handleError(t){let e=this.shadowRoot.querySelector('[part="container"]');e&&(e.setAttribute("data-state","error"),e.setAttribute("data-error",t)),this.dispatchEvent(new CustomEvent("geo-map:error",{bubbles:!0,detail:{message:t}}))}};m("geo-map",At);var tt=null;async function Ei(){return tt||(tt=await Promise.resolve().then(()=>(St(),Et)),tt)}var Ct=8,Si=150,$e="vb-emoji-recent",Tt=class extends f{#t;#e;#i;#r;#n;#s=!1;#o=[];#a=-1;#u=null;#l="";#c=null;#m=!1;#p=null;#h=null;async setup(){this.#c=await Ei(),this.#m||(this.#y(),this.#m=!0),this.#t&&this.listen(this.#t,"click",this.#v),this.listen(document,"click",this.#w),this.listen(document,"keydown",this.#E)}teardown(){this.#u&&clearTimeout(this.#u)}#y(){this.#t=this.querySelector(":scope > [data-trigger]")||this.querySelector(":scope > button"),this.#t||(this.#t=document.createElement("button"),this.#t.type="button",this.#t.textContent="\u{1F600}",this.#t.setAttribute("data-trigger",""),this.prepend(this.#t)),this.#t.setAttribute("aria-haspopup","dialog"),this.#t.setAttribute("aria-expanded","false"),this.#t.setAttribute("aria-label",this.#t.getAttribute("aria-label")||"Open emoji picker"),this.#b()}#b(){this.#e=document.createElement("div"),this.#e.classList.add("picker"),this.#e.setAttribute("role","dialog"),this.#e.setAttribute("aria-label","Emoji picker"),this.#e.hidden=!0,this.#i=document.createElement("input"),this.#i.type="search",this.#i.placeholder="Search emoji\u2026",this.#i.setAttribute("aria-label","Search emoji"),this.#i.addEventListener("input",this.#S),this.#i.addEventListener("keydown",this.#A),this.#e.appendChild(this.#i),this.#n=document.createElement("nav"),this.#n.classList.add("categories"),this.#n.setAttribute("role","tablist"),this.#n.setAttribute("aria-label","Emoji categories");for(let t of this.#c.EMOJI_GROUPS){let e=document.createElement("button");e.type="button",e.setAttribute("role","tab"),e.setAttribute("aria-selected",t===this.#c.EMOJI_GROUPS[0]?"true":"false"),e.setAttribute("data-group",t),e.setAttribute("aria-label",this.#c.EMOJI_GROUP_LABELS[t]),e.title=this.#c.EMOJI_GROUP_LABELS[t],e.textContent=this.#c.EMOJI_GROUP_ICONS[t],e.addEventListener("click",this.#C),this.#n.appendChild(e)}this.#e.appendChild(this.#n),this.#r=document.createElement("div"),this.#r.classList.add("grid"),this.#r.setAttribute("role","grid"),this.#r.setAttribute("aria-label","Emoji"),this.#r.addEventListener("keydown",this.#$),this.#e.appendChild(this.#r),this.appendChild(this.#e),this.#g()}#g(t=null){this.#r.innerHTML="",this.#o=[],this.#a=-1;let e=this.#_();if(!this.#l&&e.length>0){let s=document.createElement("div");s.classList.add("group-label"),s.textContent="Recently Used",s.setAttribute("data-group-heading","recent"),this.#r.appendChild(s);for(let n of e){let o=this.#c.EMOJI_MAP.get(n);o&&this.#d(o)}}let i=t||null;if(i)if(i.length===0){let s=document.createElement("div");s.classList.add("no-results"),s.textContent="No emoji found",this.#r.appendChild(s)}else for(let s of i)this.#d(s);else for(let s of this.#c.EMOJI_GROUPS){let n=document.createElement("div");n.classList.add("group-label"),n.textContent=this.#c.EMOJI_GROUP_LABELS[s],n.setAttribute("data-group-heading",s),this.#r.appendChild(n);let o=this.#c.getByGroup(s);for(let a of o)this.#d(a)}}#d(t){let e=document.createElement("button");e.type="button",e.setAttribute("role","gridcell"),e.setAttribute("tabindex","-1"),e.setAttribute("data-shortcode",t.shortcode),e.title=`${t.name} :${t.shortcode}:`,e.textContent=t.emoji,e.addEventListener("click",this.#k),this.#r.appendChild(e),this.#o.push(e)}#f(){let t=this.getAttribute("for");if(!t)return;let e=document.getElementById(t);if(e){if(e.tagName==="INPUT"||e.tagName==="TEXTAREA"){let i=e;this.#p={start:i.selectionStart??i.value.length,end:i.selectionEnd??i.value.length},this.#h=null}else if(e.isContentEditable){let i=window.getSelection();i&&i.rangeCount>0&&(this.#h=i.getRangeAt(0).cloneRange()),this.#p=null}}}#v=t=>{t.stopPropagation(),this.toggle()};#w=t=>{this.#s&&!this.contains(t.target)&&this.close()};#E=t=>{t.key==="Escape"&&this.#s&&(t.preventDefault(),this.close(),this.#t?.focus())};#S=()=>{this.#u&&clearTimeout(this.#u),this.#u=setTimeout(()=>{if(this.#l=this.#i.value.trim(),this.#l){let t=this.#c.searchEmoji(this.#l);this.#g(t)}else this.#g()},Si)};#A=t=>{t.key==="ArrowDown"&&(t.preventDefault(),this.#o.length>0&&this.#x(0))};#C=t=>{let e=t.currentTarget.getAttribute("data-group");for(let s of this.#n.querySelectorAll('[role="tab"]'))s.setAttribute("aria-selected",s===t.currentTarget?"true":"false");this.#l&&(this.#i.value="",this.#l="",this.#g());let i=this.#r.querySelector(`[data-group-heading="${e}"]`);i&&i.scrollIntoView({block:"start",behavior:"smooth"})};#$=t=>{let e=this.#o.length;if(e!==0)switch(t.key){case"ArrowRight":t.preventDefault(),this.#x(this.#a+1);break;case"ArrowLeft":t.preventDefault(),this.#x(this.#a-1);break;case"ArrowDown":t.preventDefault(),this.#x(this.#a+Ct);break;case"ArrowUp":t.preventDefault(),this.#a<Ct?(this.#i.focus(),this.#a=-1):this.#x(this.#a-Ct);break;case"Home":t.preventDefault(),this.#x(0);break;case"End":t.preventDefault(),this.#x(e-1);break;case"Enter":case" ":t.preventDefault(),this.#a>=0&&this.#o[this.#a].click();break;case"Tab":this.close();break}};#k=t=>{let e=t.currentTarget.getAttribute("data-shortcode"),i=this.#c.EMOJI_MAP.get(e);i&&(this.#L(e),this.#N(i),this.dispatchEvent(new CustomEvent("emoji-picker:select",{bubbles:!0,detail:{shortcode:i.shortcode,emoji:i.emoji,name:i.name,keywords:i.keywords}})),this.close(),this.#T())};#x(t){let e=this.#o.length;e!==0&&(t<0&&(t=0),t>=e&&(t=e-1),this.#a=t,this.#o[t].focus())}#N(t){let e=this.getAttribute("for");if(!e)return;let i=document.getElementById(e);if(i){if(i.tagName==="INPUT"||i.tagName==="TEXTAREA"){let s=i,n=this.#p?.start??s.value.length,o=this.#p?.end??n,a=s.value.slice(0,n),l=s.value.slice(o);s.value=a+t.emoji+l;let c=n+t.emoji.length;s.setSelectionRange(c,c),this.#p={start:c,end:c},i.dispatchEvent(new Event("input",{bubbles:!0}))}else if(i.isContentEditable){i.focus();let s=window.getSelection();if(s&&this.#h){s.removeAllRanges(),s.addRange(this.#h);let n=s.getRangeAt(0);n.deleteContents();let o=document.createTextNode(t.emoji);n.insertNode(o),n.setStartAfter(o),n.collapse(!0),s.removeAllRanges(),s.addRange(n),this.#h=n.cloneRange()}else if(s){let n=document.createRange();n.selectNodeContents(i),n.collapse(!1);let o=document.createTextNode(t.emoji);n.insertNode(o),n.setStartAfter(o),n.collapse(!0),s.removeAllRanges(),s.addRange(n)}}}}#T(){let t=this.getAttribute("for");if(!t)return;let e=document.getElementById(t);e&&e.focus()}#_(){try{return JSON.parse(localStorage.getItem($e)||"[]")}catch{return[]}}#L(t){let e=parseInt(this.getAttribute("recent-limit")??"24",10)||24,i=this.#_();i=i.filter(s=>s!==t),i.unshift(t),i.length>e&&(i.length=e);try{localStorage.setItem($e,JSON.stringify(i))}catch{}}open(){this.#s||(this.#f(),this.#s=!0,this.setAttribute("open",""),this.#t?.setAttribute("aria-expanded","true"),this.#e.hidden=!1,this.#i.value="",this.#l="",this.#g(),requestAnimationFrame(()=>{this.#i.focus()}),this.dispatchEvent(new CustomEvent("emoji-picker:open",{bubbles:!0})))}close(){this.#s&&(this.#s=!1,this.removeAttribute("open"),this.#t?.setAttribute("aria-expanded","false"),this.#e.hidden=!0,this.dispatchEvent(new CustomEvent("emoji-picker:close",{bubbles:!0})))}toggle(){this.#s?this.close():this.open()}get isOpen(){return this.#s}};m("emoji-picker",Tt);var _t=class r extends f{#t=null;#e=null;#i=!1;#r=null;setup(){this.setAttribute("role","list"),this.#i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,this.#s(),this.#a(),this.#h(),this.#n()}teardown(){this.#t&&(this.#t.remove(),this.#t=null),r.#C?.source===this&&(r.#C=null)}get draggableChildren(){return[...this.querySelectorAll(':scope > [draggable="true"]')]}get group(){return this.getAttribute("group")||null}get orientation(){return this.getAttribute("orientation")||"vertical"}get sortedOrder(){return this.draggableChildren.map(t=>t.dataset.id)}#n(){for(let t of this.draggableChildren)t.getAttribute("role")||t.setAttribute("role","listitem"),t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.hasAttribute("aria-grabbed")||t.setAttribute("aria-grabbed","false")}#s(){this.#t=document.createElement("div"),this.#t.setAttribute("role","status"),this.#t.setAttribute("aria-live","polite"),this.#t.setAttribute("aria-atomic","true"),this.#t.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);",this.prepend(this.#t)}#o(t){let e=this.#t;e&&(e.textContent="",requestAnimationFrame(()=>{e.textContent=t}))}#a(){this.listen(this,"pointerdown",t=>{this.#r=t.target}),this.listen(this,"dragstart",this.#u.bind(this)),this.listen(this,"dragover",this.#l.bind(this)),this.listen(this,"dragleave",this.#c.bind(this)),this.listen(this,"drop",this.#m.bind(this)),this.listen(this,"dragend",this.#p.bind(this))}#u(t){let e=t.target.closest('[draggable="true"]');if(!e||e.parentElement!==this||this.hasAttribute("disabled"))return;let i=e.querySelector("[data-drag-handle]");if(i&&!i.contains(this.#r)){t.preventDefault();return}e.setAttribute("data-dragging",""),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",e.dataset.id||""),t.dataTransfer.setData("application/x-drag-surface-group",this.group||"");let s=this.#f(e);r.#C={item:e,source:this,originalIndex:s},this.dispatchEvent(new CustomEvent("drag-surface:reorder-start",{bubbles:!0}))}#l(t){let e=r.#C;if(!e||(this.group||e.source.group)&&this.group!==e.source.group)return;t.preventDefault(),t.dataTransfer.dropEffect="move",this.setAttribute("data-drag-over","");let i=this.orientation==="horizontal"?t.clientX:t.clientY;this.#S(i)}#c(t){t.relatedTarget&&!this.contains(t.relatedTarget)&&(this.removeAttribute("data-drag-over"),this.#A())}#m(t){t.preventDefault(),this.removeAttribute("data-drag-over"),this.#A();let e=r.#C;if(!e)return;let{item:i,source:s,originalIndex:n}=e,o=this.orientation==="horizontal"?t.clientX:t.clientY,a=this.#E(o);if(s===this){this.#v(i,a),this.#w();let l=this.#f(i);this.#b(i),this.dispatchEvent(new CustomEvent("drag-surface:reorder",{bubbles:!0,detail:{item:i,itemId:i.dataset.id,oldIndex:n,newIndex:l,order:this.sortedOrder}}))}else this.#v(i,a),this.#w(),s.#w(),this.#b(i),this.dispatchEvent(new CustomEvent("drag-surface:transfer",{bubbles:!0,detail:{item:i,itemId:i.dataset.id,fromSurface:s,toSurface:this,newIndex:this.#f(i),fromOrder:s.sortedOrder,toOrder:this.sortedOrder}}))}#p(){let t=r.#C;t?.item&&t.item.removeAttribute("data-dragging"),this.removeAttribute("data-drag-over"),this.#A(),r.#C=null,this.dispatchEvent(new CustomEvent("drag-surface:reorder-end",{bubbles:!0}))}#h(){this.listen(this,"keydown",this.#y.bind(this))}#y(t){let e=t.target.closest('[draggable="true"]');if(!e||e.parentElement!==this||this.hasAttribute("disabled"))return;let i=e.getAttribute("aria-grabbed")==="true",s=this.orientation==="horizontal",n=s?"ArrowLeft":"ArrowUp",o=s?"ArrowRight":"ArrowDown";if(t.key===" "||t.key==="Enter"){if(t.preventDefault(),i){e.setAttribute("aria-grabbed","false"),this.removeAttribute("data-reorder-mode"),this.#w(),this.#b(e);let c=this.#f(e),h=this.draggableChildren;this.#o(`${this.#d(e)}, dropped at position ${c+1} of ${h.length}`),this.dispatchEvent(new CustomEvent("drag-surface:reorder",{bubbles:!0,detail:{item:e,itemId:e.dataset.id,oldIndex:this.#e,newIndex:c,order:this.sortedOrder}})),this.dispatchEvent(new CustomEvent("drag-surface:reorder-end",{bubbles:!0})),this.#e=null}else{this.#e=this.#f(e),e.setAttribute("aria-grabbed","true"),this.setAttribute("data-reorder-mode","");let c=this.draggableChildren;this.#o(`${this.#d(e)}, grabbed. Position ${this.#e+1} of ${c.length}. Use arrow keys to move, Enter to drop, Escape to cancel.`),this.dispatchEvent(new CustomEvent("drag-surface:reorder-start",{bubbles:!0}))}return}if(!i&&(t.key===n||t.key===o)){t.preventDefault();let c=this.draggableChildren,h=c.indexOf(e),u=t.key===n?Math.max(0,h-1):Math.min(c.length-1,h+1);u!==h&&c[u].focus();return}if(i&&(t.key===n||t.key===o)){t.preventDefault();let c=this.draggableChildren,h=c.indexOf(e),u=t.key===n?Math.max(0,h-1):Math.min(c.length-1,h+1);u!==h&&(this.#v(e,u),e.focus(),this.#o(`Position ${u+1} of ${c.length}`));return}let a=s?"ArrowUp":"ArrowLeft",l=s?"ArrowDown":"ArrowRight";if(i&&(t.key===a||t.key===l)){if(t.preventDefault(),!this.group)return;let c=t.key===l?1:-1,h=this.#g(c);if(!h)return;h.appendChild(e),h.#w(),this.#w(),h.#b(e),e.focus();let u=h.getAttribute("aria-label")||"next surface";h.#o(`Moved to ${u}`),h.dispatchEvent(new CustomEvent("drag-surface:transfer",{bubbles:!0,detail:{item:e,itemId:e.dataset.id,fromSurface:this,toSurface:h,newIndex:h.draggableChildren.indexOf(e),fromOrder:this.sortedOrder,toOrder:h.sortedOrder}})),this.removeAttribute("data-reorder-mode"),h.setAttribute("data-reorder-mode",""),this.#e=null;return}if(i&&t.key==="Escape"){t.preventDefault(),e.setAttribute("aria-grabbed","false"),this.removeAttribute("data-reorder-mode"),this.#e!=null&&(this.#v(e,this.#e),e.focus()),this.#o("Reorder cancelled"),this.dispatchEvent(new CustomEvent("drag-surface:reorder-end",{bubbles:!0})),this.#e=null;return}!i&&t.key==="Escape"&&(t.preventDefault(),e.blur())}#b(t){t.setAttribute("data-just-dropped",""),t.addEventListener("animationend",()=>{t.removeAttribute("data-just-dropped")},{once:!0}),setTimeout(()=>t.removeAttribute("data-just-dropped"),500)}#g(t){if(!this.group)return null;let e=[...document.querySelectorAll(`drag-surface[group="${this.group}"]`)];if(e.length<2)return null;e.sort((n,o)=>{let a=n.getBoundingClientRect(),l=o.getBoundingClientRect();return a.left-l.left||a.top-l.top});let i=e.indexOf(this);return e[i+t]||null}#d(t){return t.dataset.id||t.textContent.trim().slice(0,40)}#f(t){return this.draggableChildren.indexOf(t)}#v(t,e){let s=this.draggableChildren.filter(n=>n!==t)[e]||null;s?this.insertBefore(t,s):this.appendChild(t)}#w(){this.draggableChildren.forEach((t,e)=>{t.dataset.sortOrder=String(e+1)})}#E(t){let e=this.orientation==="horizontal",i=this.draggableChildren.filter(s=>!s.hasAttribute("data-dragging"));for(let s=0;s<i.length;s++){let n=i[s].getBoundingClientRect(),o=e?n.left+n.width/2:n.top+n.height/2;if(t<o)return s}return i.length}#S(t){this.#A();let e=this.orientation==="horizontal",i=this.draggableChildren.filter(s=>!s.hasAttribute("data-dragging"));for(let s=0;s<i.length;s++){let n=i[s].getBoundingClientRect(),o=e?n.left+n.width/2:n.top+n.height/2;if(t<o){i[s].setAttribute("data-drop-target","before");return}}i.length>0&&i[i.length-1].setAttribute("data-drop-target","after")}#A(){for(let t of this.querySelectorAll("[data-drop-target]"))t.removeAttribute("data-drop-target")}static#C=null};m("drag-surface",_t);var Mt=/Mac|iPhone|iPad|iPod/.test(navigator.platform??""),Le={mac:{meta:"\u2318",cmd:"\u2318",alt:"\u2325",shift:"\u21E7",ctrl:"\u2303"},other:{meta:"Ctrl",cmd:"Ctrl",alt:"Alt",shift:"Shift",ctrl:"Ctrl"}};function V(r){let t=Mt?Le.mac:Le.other;return r.split("+").map(e=>{let i=e.trim().toLowerCase();return t[i]??i.toUpperCase()}).join(Mt?"":"+")}function je(r){let t=r.toLowerCase().split("+").map(i=>i.trim());return{key:t.pop()??"",meta:t.includes("meta")||t.includes("cmd"),ctrl:t.includes("ctrl"),shift:t.includes("shift"),alt:t.includes("alt")}}function Re(r,t){if(r.key.toLowerCase()!==t.key)return!1;let e,i;return Mt?(e=t.meta,i=t.ctrl):(e=!1,i=t.meta||t.ctrl),!(e!==r.metaKey||i!==r.ctrlKey||t.shift!==r.shiftKey||t.alt!==r.altKey)}var Ci=new Set(["INPUT","TEXTAREA","SELECT"]),U=[],Ne=!1;function Ti(r){let t=Ci.has(r.target.tagName)||r.target.isContentEditable;for(let e of U)if(!(t&&!e.global)&&Re(r,e.descriptor)){r.preventDefault(),e.callback(r);return}}function _i(){Ne||(document.addEventListener("keydown",Ti),Ne=!0)}function D(r,t,e={}){_i();let i=je(r),s={combo:r,descriptor:i,callback:t,global:e.global===!0};return U.find(o=>o.combo===r)&&console.warn(`[hotkey-bind] Shortcut "${r}" already bound. Last-connected-wins.`),U.unshift(s),function(){let a=U.indexOf(s);a!==-1&&U.splice(a,1)}}var $t=class extends f{#t;#e;#i;#r=[];#n=-1;#s=[];#o=null;#a=[];setup(){this.#u(),this.#l(),this.hasAttribute("discover")&&this.#b()}teardown(){this.#o?.()}#u(){this.#t=document.createElement("dialog"),this.#t.className="command-dialog",this.#t.addEventListener("click",i=>{i.target===this.#t&&this.close()});let t=document.createElement("div");t.className="command-search",this.#e=document.createElement("input"),this.#e.type="search",this.#e.placeholder=this.getAttribute("placeholder")||"Type a command...",this.#e.setAttribute("aria-label","Search commands"),this.#e.autocomplete="off",this.#e.addEventListener("input",this.#c),this.#e.addEventListener("keydown",this.#m),t.appendChild(this.#e),this.#i=document.createElement("div"),this.#i.className="command-list",this.#i.setAttribute("role","listbox"),this.#s=Array.from(this.querySelectorAll("command-group")),this.#s.forEach(i=>{let s=document.createElement("div");s.className="command-group-header",s.textContent=i.getAttribute("label")||"",s.setAttribute("role","presentation");let n=Array.from(i.querySelectorAll("command-item"));this.#i.appendChild(s),n.forEach(o=>{let a=document.createElement("button");a.className="command-option",a.setAttribute("role","option"),a.dataset.value=o.getAttribute("value")||"",a.dataset.searchText=o.textContent.toLowerCase().trim();let l=o.querySelector('[slot="icon"]');if(l){let u=document.createElement("span");u.className="command-icon",u.appendChild(l.cloneNode(!0)),a.appendChild(u)}let c=document.createElement("span");c.className="command-label",c.textContent=o.textContent.trim(),a.appendChild(c);let h=o.getAttribute("data-hotkey");if(h){let u=document.createElement("kbd");u.className="command-kbd",u.textContent=V(h),a.appendChild(u)}a.addEventListener("click",()=>{this.#y(a.dataset.value)}),this.#i.appendChild(a),this.#r.push({btn:a,header:s,group:i})})});let e=document.createElement("div");e.className="command-empty",e.textContent="No results found.",e.hidden=!0,this.#i.appendChild(e),this.#t.appendChild(t),this.#t.appendChild(this.#i),this.appendChild(this.#t)}#l(){let t=this.getAttribute("hotkey")||"meta+k";this.#o=D(t,()=>{this.#t.open?this.close():this.open()},{global:!0})}#c=()=>{let t=this.#e.value.toLowerCase().trim(),e=0,i=new Set;this.#r.forEach(({btn:n,header:o})=>{let a=!t||n.dataset.searchText.includes(t);n.hidden=!a,a&&(e++,i.add(o))}),this.#i.querySelectorAll(".command-group-header").forEach(n=>{n.hidden=!i.has(n)});let s=this.#i.querySelector(".command-empty");s&&(s.hidden=e>0),this.#n=-1,e>0&&this.#h(0)};#m=t=>{let e=this.#p();switch(t.key){case"ArrowDown":t.preventDefault(),this.#h(this.#n+1);break;case"ArrowUp":t.preventDefault(),this.#h(this.#n-1);break;case"Enter":t.preventDefault(),this.#n>=0&&e[this.#n]&&e[this.#n].btn.click();break;case"Escape":t.preventDefault(),this.close();break}};#p(){return this.#r.filter(({btn:t})=>!t.hidden)}#h(t){let e=this.#p();if(e.length===0)return;e.forEach(({btn:s})=>s.removeAttribute("data-active")),t<0&&(t=e.length-1),t>=e.length&&(t=0),this.#n=t;let{btn:i}=e[t];i.setAttribute("data-active",""),i.scrollIntoView({block:"nearest"})}#y(t){this.close(),this.dispatchEvent(new CustomEvent("command-palette:select",{bubbles:!0,detail:{value:t}}))}#b(){this.listen(document,"vb:command-registry-change",this.#g)}#g=()=>{this.#t?.open&&(this.#d(),this.#c())};#d(){if(!this.hasAttribute("discover"))return;let{getRegisteredCommands:t,scanAutoDiscoverable:e}=window.__commandRegistry||{};if(!t)return;this.#r=this.#r.filter(n=>!n.discovered),this.#a.forEach(n=>n.remove()),this.#a=[];let i=this.#i.querySelector(".command-empty"),s=t();for(let[n,o]of s){let a=document.createElement("div");a.className="command-group-header",a.textContent=n,a.setAttribute("role","presentation"),this.#i.insertBefore(a,i),this.#a.push(a);for(let l of o){if(this.contains(l.element))continue;let c=this.#f(l.label,l.icon,l.shortcut);c.dataset.value=`__discovered:${l.label}`,c.addEventListener("click",()=>{this.close(),l.element.click()}),this.#i.insertBefore(c,i),this.#r.push({btn:c,header:a,group:null,discovered:!0})}}if(this.getAttribute("discover")==="auto"&&e){let n=e(),o=new Map;for(let a of n){let l=o.get(a.group)||[];l.push(a),o.set(a.group,l)}for(let[a,l]of o){let c=document.createElement("div");c.className="command-group-header",c.textContent=a,c.setAttribute("role","presentation"),this.#i.insertBefore(c,i),this.#a.push(c);for(let h of l){if(this.contains(h.element))continue;let u=this.#f(h.label,h.icon,h.shortcut);u.dataset.value=`__auto:${h.label}`,u.dataset.auto="",u.addEventListener("click",()=>{this.close(),h.action?h.action():h.element.click()}),this.#i.insertBefore(u,i),this.#r.push({btn:u,header:c,group:null,discovered:!0})}}}}#f(t,e,i){let s=document.createElement("button");if(s.className="command-option",s.setAttribute("role","option"),s.dataset.searchText=t.toLowerCase(),e){let o=document.createElement("span");o.className="command-icon";let a=document.createElement("icon-wc");a.setAttribute("name",e),o.appendChild(a),s.appendChild(o)}let n=document.createElement("span");if(n.className="command-label",n.textContent=t,s.appendChild(n),i){let o=document.createElement("kbd");o.className="command-kbd",o.textContent=V(i),s.appendChild(o)}return s}open(){this.#t.open||(this.#d(),this.#t.showModal(),this.#e.value="",this.#c(),this.#e.focus(),this.dispatchEvent(new CustomEvent("command-palette:open",{bubbles:!0})))}close(){this.#t.open&&(this.#t.close(),this.dispatchEvent(new CustomEvent("command-palette:close",{bubbles:!0})))}get isOpen(){return this.#t?.open??!1}},Lt=class extends HTMLElement{},jt=class extends HTMLElement{};m("command-palette",$t);m("command-group",Lt);m("command-item",jt);var Rt=class extends f{#t;#e=null;setup(){this.#i(),this.#e=D("shift+?",()=>{this.#t.open?this.#t.close():this.#r()})}teardown(){this.#e?.(),this.#e=null,this.#t?.remove(),this.#t=null}#i(){this.#t=document.createElement("dialog"),this.#t.className="shortcut-dialog",this.#t.addEventListener("click",t=>{t.target===this.#t&&this.#t.close()}),this.appendChild(this.#t)}#r(){this.#t.innerHTML="";let t=document.createElement("div");t.className="shortcut-header",t.innerHTML="<h2>Keyboard Shortcuts</h2>",this.#t.appendChild(t);let e=document.createElement("div");e.className="shortcut-body";let{getRegisteredCommands:i}=window.__commandRegistry||{},s=new Map;if(s.set("General",[{label:"Show keyboard shortcuts",shortcut:"shift+?"}]),i)for(let[o,a]of i())for(let l of a){if(!l.shortcut)continue;let c=s.get(o)||[];c.push({label:l.label,shortcut:l.shortcut}),s.set(o,c)}let{getHotkeyActions:n}=window.__hotkeyActionRegistry||{};if(n)for(let[o,a]of n()){let l=s.get(o)||[];for(let c of a)l.push({label:c.label,shortcut:c.shortcut});s.set(o,l)}for(let[o,a]of s){let l=document.createElement("div");l.className="shortcut-group";let c=document.createElement("div");c.className="shortcut-group-header",c.textContent=o,l.appendChild(c);for(let h of a){let u=document.createElement("div");u.className="shortcut-row";let d=document.createElement("span");d.className="shortcut-label",d.textContent=h.label;let p=document.createElement("kbd");p.className="shortcut-kbd",p.textContent=V(h.shortcut),u.appendChild(d),u.appendChild(p),l.appendChild(u)}e.appendChild(l)}this.#t.appendChild(e),this.#t.showModal()}};m("short-cuts",Rt);var Nt=class extends f{#t;#e=!1;setup(){let t=[...this.children];if(t.length<2)return!1;t.length>2&&console.warn("[compare-surface] Expected exactly 2 children; extra children will be ignored.");let e=this.getAttribute("position"),i=e!==null?Number(e):50,s=Math.min(100,Math.max(0,isNaN(i)?50:i));this.#t=document.createElement("div"),this.#t.className="comparison-divider",this.#t.setAttribute("role","slider"),this.#t.setAttribute("aria-label","Comparison slider"),this.#t.setAttribute("aria-valuemin","0"),this.#t.setAttribute("aria-valuemax","100"),this.#t.setAttribute("aria-valuenow",String(Math.round(s))),this.#t.setAttribute("tabindex","0"),this.appendChild(this.#t),this.#o(s),this.listen(this.#t,"pointerdown",this.#i),this.listen(this.#t,"keydown",this.#s)}teardown(){this.#t&&(this.#t.remove(),this.#t=null),this.#e=!1}#i=t=>{t.preventDefault(),this.#e=!0,this.#t.setPointerCapture(t.pointerId),this.#t.addEventListener("pointermove",this.#r),this.#t.addEventListener("pointerup",this.#n)};#r=t=>{if(!this.#e)return;let e=this.getBoundingClientRect(),i=t.clientX-e.left,s=Math.min(100,Math.max(0,i/e.width*100));this.#o(s)};#n=t=>{this.#e=!1,this.#t.releasePointerCapture(t.pointerId),this.#t.removeEventListener("pointermove",this.#r),this.#t.removeEventListener("pointerup",this.#n)};#s=t=>{let e=t.shiftKey?10:1,i=Number(this.#t.getAttribute("aria-valuenow"));t.key==="ArrowLeft"||t.key==="ArrowDown"?(t.preventDefault(),this.#o(Math.max(0,i-e))):(t.key==="ArrowRight"||t.key==="ArrowUp")&&(t.preventDefault(),this.#o(Math.min(100,i+e)))};#o(t){let e=Math.round(t);this.style.setProperty("--_position",`${t}%`),this.#t&&(this.#t.setAttribute("aria-valuenow",String(e)),this.#t.style.left=`${t}%`),this.setAttribute("position",String(e)),this.dispatchEvent(new CustomEvent("compare-surface:change",{detail:{position:t},bubbles:!0}))}get position(){return Number(this.getAttribute("position"))||0}set position(t){let e=Math.min(100,Math.max(0,Number(t)||0));this.#o(e)}};m("compare-surface",Nt);var zt=class extends f{#t;#e;#i;#r=!1;#n=50;#s=!1;#o=50;get#a(){return this.getAttribute("direction")==="vertical"}get#u(){let t=this.getAttribute("min"),e=Number(t);return t!==null&&!isNaN(e)?e:10}get#l(){let t=this.getAttribute("max"),e=Number(t);return t!==null&&!isNaN(e)?e:90}get position(){return this.#n}set position(t){this.#d(Number(t))}get collapsed(){return this.#s}set collapsed(t){t?this.#b():this.#g()}reset(){let t=this.getAttribute("position"),e=Number(t),i=t!==null&&!isNaN(e)?e:50;this.#s=!1,this.#d(i),this.#w()}setup(){let t=[...this.children].filter(a=>!a.classList.contains("split-divider"));if(t.length<2)return!1;this.#e=t[0],this.#i=t[1];let e=this.getAttribute("position"),i=Number(e),s=e!==null&&!isNaN(i)?i:null,n=this.#f(),o=s??n??50;this.#t=document.createElement("div"),this.#t.className="split-divider",this.#t.setAttribute("role","separator"),this.#t.setAttribute("aria-orientation",this.#a?"vertical":"horizontal"),this.#t.setAttribute("aria-valuenow",String(Math.round(o))),this.#t.setAttribute("aria-valuemin",String(this.#u)),this.#t.setAttribute("aria-valuemax",String(this.#l)),this.#t.setAttribute("aria-label","Resize panels"),this.#t.setAttribute("tabindex","0"),this.insertBefore(this.#t,this.#i),this.#d(o),this.listen(this.#t,"pointerdown",this.#c),this.listen(this.#t,"keydown",this.#h),this.hasAttribute("collapsible")&&this.listen(this.#t,"dblclick",this.#y)}teardown(){this.#t&&(this.#t.remove(),this.#t=null)}#c=t=>{t.preventDefault(),this.#r=!0,this.#t.setPointerCapture(t.pointerId),this.style.userSelect="none",this.#t.addEventListener("pointermove",this.#m),this.#t.addEventListener("pointerup",this.#p)};#m=t=>{if(!this.#r)return;let e=this.getBoundingClientRect(),i;this.#a?i=(t.clientY-e.top)/e.height*100:i=(t.clientX-e.left)/e.width*100,this.#s&&(this.#s=!1),this.#d(i)};#p=t=>{this.#r=!1,this.#t.releasePointerCapture(t.pointerId),this.style.userSelect="",this.#t.removeEventListener("pointermove",this.#m),this.#t.removeEventListener("pointerup",this.#p),this.#v()};#h=t=>{let e=t.shiftKey?10:1,i=this.#n,s=this.#a?["ArrowUp"]:["ArrowLeft"],n=this.#a?["ArrowDown"]:["ArrowRight"];s.includes(t.key)?(t.preventDefault(),this.#d(i-e),this.#v()):n.includes(t.key)?(t.preventDefault(),this.#d(i+e),this.#v()):t.key==="Home"?(t.preventDefault(),this.#d(this.#u),this.#v()):t.key==="End"&&(t.preventDefault(),this.#d(this.#l),this.#v())};#y=()=>{this.#s?this.#g():this.#b(),this.#v()};#b(){this.#o=this.#n,this.#s=!0,this.#e.style.flexBasis="0%",this.#e.style.overflow="hidden",this.#t.setAttribute("aria-valuenow","0"),this.#n=0,this.dispatchEvent(new CustomEvent("split-surface:collapse",{detail:{collapsed:!0},bubbles:!0}))}#g(){this.#s=!1,this.#e.style.overflow="auto",this.#d(this.#o),this.dispatchEvent(new CustomEvent("split-surface:collapse",{detail:{collapsed:!1},bubbles:!0}))}#d(t){let e=this.#s?0:Math.min(this.#l,Math.max(this.#u,t));this.#n=e,this.#e.style.flexBasis=`${e}%`,this.#e.style.flexGrow="0",this.#e.style.flexShrink="0",this.#e.style.overflow="auto",this.#i.style.flexGrow="1",this.#i.style.overflow="auto",this.#t.setAttribute("aria-valuenow",String(Math.round(e))),this.dispatchEvent(new CustomEvent("split-surface:resize",{detail:{position:e},bubbles:!0}))}#f(){let t=this.getAttribute("persist");if(!t)return null;try{let e=localStorage.getItem(`split-surface:${t}`);return e!==null?Number(e):null}catch{return null}}#v(){let t=this.getAttribute("persist");if(t)try{localStorage.setItem(`split-surface:${t}`,String(Math.round(this.#n)))}catch{}}#w(){let t=this.getAttribute("persist");if(t)try{localStorage.removeItem(`split-surface:${t}`)}catch{}}};m("split-surface",zt);var Pt=class extends f{#t;#e=null;setup(){this.#e===null&&(this.#e=this.getAttribute("value")||this.textContent.trim());let t=this.#e;if(!t)return!1;let e=parseInt(this.getAttribute("size")??"200",10)||200,i=parseInt(this.getAttribute("error-correction")??"1",10)||1;this.#t=document.createElement("canvas"),this.#t.width=e,this.#t.height=e,this.#t.setAttribute("role","img"),this.#t.setAttribute("aria-label",`QR code: ${t}`),this.#i(t,e,i)}static get observedAttributes(){return["value","size"]}attributeChangedCallback(t,e,i){if(!this.#t||!this.isConnected)return;t==="value"&&i&&(this.#e=i);let s=this.#e||this.getAttribute("value")||"";if(!s)return;let n=parseInt(this.getAttribute("size")??"200",10)||200,o=parseInt(this.getAttribute("error-correction")??"1",10)||1;this.#t.width=n,this.#t.height=n,this.#t.setAttribute("aria-label",`QR code: ${s}`),this.#i(s,n,o)}#i(t,e,i){let s=$i(t,i),n=this.#t.getContext("2d"),o=s.length,a=e/o,l=getComputedStyle(this),c=this.getAttribute("color")||l.color||"#000",h=this.getAttribute("background")||"transparent";n.clearRect(0,0,e,e),h!=="transparent"&&(n.fillStyle=h,n.fillRect(0,0,e,e)),n.fillStyle=c;for(let d=0;d<o;d++)for(let p=0;p<o;p++)s[d][p]&&n.fillRect(Math.round(p*a),Math.round(d*a),Math.ceil(a),Math.ceil(a));this.textContent="",this.appendChild(this.#t);let u=document.createElement("span");u.className="sr-only",u.textContent=t,this.appendChild(u)}toDataURL(t="image/png"){return this.#t?.toDataURL(t)??""}},et=[[[26,7],[44,10],[70,15],[100,20],[134,26],[172,18],[196,20],[242,24],[292,30],[346,18]],[[26,10],[44,16],[70,26],[100,18],[134,24],[172,16],[196,18],[242,22],[292,22],[346,26]],[[26,13],[44,22],[70,18],[100,26],[134,18],[172,24],[196,18],[242,22],[292,20],[346,28]],[[26,17],[44,28],[70,22],[100,16],[134,22],[172,28],[196,26],[242,26],[292,24],[346,28]]],Mi=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,52]];function $i(r,t=1){let e=new TextEncoder().encode(r),i=Li(e.length,t),s=et[t][i-1][0],n=et[t][i-1][1],o=s-n,a=ji(e,i,o),l=Ri(a,o,n),c=i*4+17,h=Array.from({length:c},()=>new Uint8Array(c)),u=Array.from({length:c},()=>new Uint8Array(c));return zi(h,u,c),Pi(h,u,i),Bi(h,u,c),Ii(u,c),qi(h,u,l,c),Gi(h,u,c,t)}function Li(r,t){for(let e=1;e<=10;e++){let i=et[t][e-1][0],s=et[t][e-1][1],n=i-s,o=e<=9?8:16,a=Math.ceil((4+o)/8);if(r<=n-a)return e}return 10}function ji(r,t,e){let i=[],s=(u,d)=>{for(let p=d-1;p>=0;p--)i.push(u>>p&1)};s(4,4);let n=t<=9?8:16;s(r.length,n);for(let u of r)s(u,8);let o=e*8,a=Math.min(4,o-i.length);for(s(0,a);i.length%8!==0;)i.push(0);let l=[236,17],c=0;for(;i.length<o;)s(l[c%2],8),c++;let h=[];for(let u=0;u<i.length;u+=8){let d=0;for(let p=0;p<8;p++)d=d<<1|(i[u+p]||0);h.push(d)}return h}function Ri(r,t,e){let i=Ni(e),s=new Uint8Array(t+e);for(let o=0;o<t;o++)s[o]=r[o];for(let o=0;o<t;o++){let a=s[o];if(a===0)continue;let l=it[a];for(let c=0;c<i.length;c++)s[o+c]^=G[(l+it[i[c]])%255]}let n=[...r.slice(0,t)];for(let o=0;o<e;o++)n.push(s[t+o]);return n}var G=new Uint8Array(512),it=new Uint8Array(256);(function(){let t=1;for(let e=0;e<255;e++)G[e]=t,it[t]=e,t<<=1,t>=256&&(t^=285);for(let e=255;e<512;e++)G[e]=G[e-255]})();function Ni(r){let t=new Uint8Array([1]);for(let e=0;e<r;e++){let i=new Uint8Array(t.length+1),s=e;for(let n=0;n<t.length;n++)i[n]^=t[n],i[n+1]^=G[(it[t[n]]+s)%255];t=i}return t}function zi(r,t,e){let i=[[0,0],[e-7,0],[0,e-7]];for(let[s,n]of i){for(let o=0;o<7;o++)for(let a=0;a<7;a++){let l=o===0||o===6||a===0||a===6||o>=2&&o<=4&&a>=2&&a<=4;r[s+o][n+a]=l?1:0,t[s+o][n+a]=1}for(let o=-1;o<=7;o++)for(let[a,l]of[[o,-1],[o,7],[-1,o],[7,o]]){let c=s+a,h=n+l;c>=0&&c<e&&h>=0&&h<e&&(r[c][h]=0,t[c][h]=1)}}}function Pi(r,t,e){if(e<2)return;let i=Mi[e-1];for(let s of i)for(let n of i)if(!t[s][n])for(let o=-2;o<=2;o++)for(let a=-2;a<=2;a++){let l=Math.abs(o)===2||Math.abs(a)===2||o===0&&a===0;r[s+o][n+a]=l?1:0,t[s+o][n+a]=1}}function Bi(r,t,e){for(let i=8;i<e-8;i++){let s=i%2===0?1:0;t[6][i]||(r[6][i]=s,t[6][i]=1),t[i][6]||(r[i][6]=s,t[i][6]=1)}}function Ii(r,t){for(let e=0;e<=8;e++)e<t&&(r[8][e]=1),e<t&&(r[e][8]=1);for(let e=0;e<=7;e++)r[8][t-1-e]=1,r[t-1-e][8]=1;r[t-8][8]=1}function qi(r,t,e,i){let s=[];for(let a of e)for(let l=7;l>=0;l--)s.push(a>>l&1);let n=0,o=!0;for(let a=i-1;a>=1;a-=2){a===6&&(a=5);let l=o?Array.from({length:i},(c,h)=>i-1-h):Array.from({length:i},(c,h)=>h);for(let c of l)for(let h of[a,a-1])h<0||h>=i||t[c][h]||(r[c][h]=n<s.length?s[n]:0,n++);o=!o}}var Di=[30660,29427,32170,30877,26159,25368,27713,26998,21522,20773,24188,23371,17913,16590,20375,19104,13663,12392,16177,14854,9396,8579,11994,11245,5769,5054,7399,6608,1890,597,3340,2107];function Fi(r,t){let i=[1,0,3,2][r]*8+t;return Di[i]}var Oi=[(r,t)=>(r+t)%2===0,r=>r%2===0,(r,t)=>t%3===0,(r,t)=>(r+t)%3===0,(r,t)=>(Math.floor(r/2)+Math.floor(t/3))%2===0,(r,t)=>r*t%2+r*t%3===0,(r,t)=>(r*t%2+r*t%3)%2===0,(r,t)=>((r+t)%2+r*t%3)%2===0];function Hi(r,t,e,i){let s=r.map(o=>new Uint8Array(o)),n=Oi[i];for(let o=0;o<e;o++)for(let a=0;a<e;a++)!t[o][a]&&n(o,a)&&(s[o][a]^=1);return s}function Vi(r,t,e,i){let s=Fi(e,i),n=[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[7,8],[8,8],[8,7],[8,5],[8,4],[8,3],[8,2],[8,1],[8,0]];for(let a=0;a<15;a++){let[l,c]=n[a];r[l][c]=s>>14-a&1}let o=[[8,t-1],[8,t-2],[8,t-3],[8,t-4],[8,t-5],[8,t-6],[8,t-7],[8,t-8],[t-7,8],[t-6,8],[t-5,8],[t-4,8],[t-3,8],[t-2,8],[t-1,8]];for(let a=0;a<15;a++){let[l,c]=o[a];r[l][c]=s>>14-a&1}r[t-8][8]=1}function Ui(r,t){let e=0;for(let i=0;i<t;i++){let s=1;for(let n=1;n<t;n++)r[i][n]===r[i][n-1]?(s++,s===5?e+=3:s>5&&(e+=1)):s=1}for(let i=0;i<t;i++){let s=1;for(let n=1;n<t;n++)r[n][i]===r[n-1][i]?(s++,s===5?e+=3:s>5&&(e+=1)):s=1}for(let i=0;i<t-1;i++)for(let s=0;s<t-1;s++){let n=r[i][s];n===r[i][s+1]&&n===r[i+1][s]&&n===r[i+1][s+1]&&(e+=3)}return e}function Gi(r,t,e,i){let s=1/0,n=null;for(let o=0;o<8;o++){let a=Hi(r,t,e,o);Vi(a,e,i,o);let l=Ui(a,e);l<s&&(s=l,n=a)}return n}m("qr-code",Pt);var Bt=class extends f{#t;#e;#i;#r=!1;#n=0;#s=0;#o=0;#a=!1;#u=!1;get activated(){return this.#a}get#l(){let t=this.getAttribute("threshold"),e=Number(t);return t!==null&&!isNaN(e)?Math.min(100,Math.max(0,e)):90}setup(){this.#u||(this.#c(),this.#u=!0),this.listen(this.#t,"pointerdown",this.#m),this.listen(this.#t,"keydown",this.#y),this.listen(this.#t,"transitionend",this.#b)}#c(){this.#i=document.createElement("div"),this.#i.className="slide-track",this.#e=document.createElement("span"),this.#e.className="slide-label",this.#e.textContent=this.getAttribute("label")||"Slide to confirm",this.#t=document.createElement("div"),this.#t.className="slide-handle",this.#t.setAttribute("role","slider"),this.#t.setAttribute("aria-valuemin","0"),this.#t.setAttribute("aria-valuemax","100"),this.#t.setAttribute("aria-valuenow","0"),this.#t.setAttribute("aria-label",this.getAttribute("label")||"Slide to confirm"),this.#t.setAttribute("tabindex","0"),this.#t.innerHTML='<icon-wc name="chevrons-right" size="sm"></icon-wc>',this.#i.append(this.#e,this.#t),this.textContent="",this.appendChild(this.#i),this.#f(0)}reset(){this.#a=!1,this.removeAttribute("data-activated"),this.#e.textContent=this.getAttribute("label")||"Slide to confirm",this.#t.removeAttribute("aria-disabled"),this.#t.setAttribute("tabindex","0"),this.#f(0),this.dispatchEvent(new CustomEvent("slide-accept:reset",{bubbles:!0}))}#m=t=>{if(!this.#a){if(t.preventDefault(),this.hasAttribute("transitioning")){let e=this.#t.getBoundingClientRect(),i=this.#i.getBoundingClientRect(),s=parseFloat(getComputedStyle(this.#i).getPropertyValue("--_handle-inset")||"0"),n=this.#t.offsetWidth,o=i.width-n-s*2,a=e.left-i.left-s;this.removeAttribute("transitioning"),this.#n=o>0?Math.max(0,Math.min(100,a/o*100)):0,this.#f(this.#n)}this.#r=!0,this.#s=t.clientX,this.#o=this.#n,this.#t.setPointerCapture(t.pointerId),this.setAttribute("data-dragging",""),this.#t.addEventListener("pointermove",this.#p),this.#t.addEventListener("pointerup",this.#h),this.#t.addEventListener("pointercancel",this.#h)}};#p=t=>{if(!this.#r)return;let e=this.#i.getBoundingClientRect().width-this.#t.offsetWidth;if(e<=0)return;let s=(t.clientX-this.#s)/e*100,n=Math.min(100,Math.max(0,this.#o+s));this.#f(n)};#h=t=>{this.#r&&(this.#r=!1,this.removeAttribute("data-dragging"),this.#t.releasePointerCapture(t.pointerId),this.#t.removeEventListener("pointermove",this.#p),this.#t.removeEventListener("pointerup",this.#h),this.#t.removeEventListener("pointercancel",this.#h),this.#n>=this.#l?this.#g():this.#d())};#y=t=>{if(this.#a)return;let e=t.shiftKey?20:5;t.key==="ArrowRight"?(t.preventDefault(),this.#f(Math.min(100,this.#n+e))):t.key==="ArrowLeft"?(t.preventDefault(),this.#f(Math.max(0,this.#n-e))):t.key==="End"?(t.preventDefault(),this.#g()):t.key==="Home"&&(t.preventDefault(),this.#f(0)),t.key==="ArrowRight"&&this.#n>=this.#l&&this.#g()};#b=()=>{this.removeAttribute("transitioning")};#g(){this.#a=!0,this.#f(100),this.setAttribute("data-activated",""),this.#e.textContent=this.getAttribute("activated-label")||"Confirmed!",this.#t.setAttribute("aria-disabled","true"),this.#t.removeAttribute("tabindex"),this.dispatchEvent(new CustomEvent("slide-accept:accept",{bubbles:!0}))}#d(){this.setAttribute("transitioning",""),this.#f(0),setTimeout(()=>{this.hasAttribute("transitioning")&&this.removeAttribute("transitioning")},500)}#f(t){this.#n=t,this.style.setProperty("--_slide-position",String(t)),this.#t.setAttribute("aria-valuenow",String(Math.round(t)))}};m("slide-accept",Bt);var It=class extends f{static observedAttributes=["colors","names","layout","show-values","show-names","size"];setup(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}#t(){let t=this.getAttribute("colors")||"",e=this.getAttribute("names")||"",i=this.getAttribute("layout")||"inline",s=this.getAttribute("size")||"md",n=this.hasAttribute("show-values"),o=this.hasAttribute("show-names")||e.length>0,a=this.#i(t),l=e?e.split(",").map(p=>p.trim()):[],h={sm:48,md:80,lg:120}[s]||80,u="display:flex;flex-wrap:wrap;gap:var(--size-xs,0.5rem)";i==="grid"?u=`display:grid;grid-template-columns:repeat(auto-fill,minmax(${h}px,1fr));gap:var(--size-xs,0.5rem)`:i==="list"&&(u="display:flex;flex-direction:column;gap:var(--size-xs,0.5rem)");let d=a.map((p,g)=>{let v=l[g]||"",w=this.#r(p),S=i==="list"?"display:flex;flex-direction:row;align-items:center;gap:0.75rem":`display:flex;flex-direction:column;align-items:center;gap:0.25rem;max-inline-size:${h}px`,A=i==="list"?36:h;return`<div class="swatch-wrap" role="listitem" style="${S}">
|
|
1064
|
+
<button type="button" class="color-box" data-index="${g}"
|
|
1065
|
+
style="background:${p};color:${w};width:${A}px;height:${A}px;border:1px solid oklch(0% 0 0/0.15);border-radius:var(--radius-s,0.25rem);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:var(--font-mono,monospace);position:relative;overflow:hidden;flex-shrink:0"
|
|
1066
|
+
title="Click to copy${v?": "+v:""}"
|
|
1067
|
+
aria-label="${v||"Color "+(g+1)}: ${p}">
|
|
1068
|
+
<span class="color-value" style="font-size:0.625rem;line-height:1.2;opacity:${n?"1":"0"};text-align:center;padding:2px 4px;word-break:break-all;transition:opacity 0.15s ease">${this.#e(p)}</span>
|
|
1069
|
+
</button>
|
|
1070
|
+
${o&&v?`<span style="font-size:var(--font-size-xs,0.75rem);color:var(--color-text-muted,#666);text-align:center;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">${v}</span>`:""}
|
|
1071
|
+
</div>`}).join("");this.innerHTML=`<div class="palette ${i}" role="list" aria-label="Color palette" style="${u}">${d}</div>`,this.querySelectorAll(".color-box").forEach(p=>{n||(p.addEventListener("pointerenter",()=>{let g=p.querySelector(".color-value");g&&(g.style.opacity="1")}),p.addEventListener("pointerleave",()=>{let g=p.querySelector(".color-value");g&&(g.style.opacity="0")})),p.addEventListener("click",()=>{let g=Number(p.dataset.index),v=a[g],w=l[g]||"";navigator.clipboard?.writeText(v),this.dispatchEvent(new CustomEvent("color-palette:select",{bubbles:!0,detail:{color:v,name:w,index:g}})),p.style.outline="3px solid currentColor",p.style.outlineOffset="2px",setTimeout(()=>{p.style.outline="",p.style.outlineOffset=""},600)})})}#e(t){if(t.startsWith("#"))return t;let e=t.match(/oklch\(\s*([\d.]+)%?\s+([\d.]+)\s+([\d.]+)/);return e?`${e[1]}% .${e[2].replace("0.","")}`:t.length>12?t.slice(0,12)+"\u2026":t}#i(t){if(!t)return[];let e=[],i=0,s="";for(let n of t)n==="("?i++:n===")"&&i--,n===","&&i===0?(e.push(s.trim()),s=""):s+=n;return s.trim()&&e.push(s.trim()),e}#r(t){let e=t.match(/oklch\(\s*([\d.]+)%?\s/);if(e){let i=parseFloat(e[1]);return(i>1?i/100:i)>.6?"#000":"#fff"}if(t.startsWith("#")){let i=t.replace("#",""),s=parseInt(i.substring(0,2),16)/255,n=parseInt(i.substring(2,4),16)/255,o=parseInt(i.substring(4,6),16)/255;return .2126*s+.7152*n+.0722*o>.4?"#000":"#fff"}return"#000"}};m("color-palette",It);function Wi(r,t,e){t/=100,e/=100;let i=o=>(o+r/30)%12,s=t*Math.min(e,1-e),n=o=>e-s*Math.max(-1,Math.min(i(o)-3,9-i(o),1));return{r:Math.round(n(0)*255),g:Math.round(n(8)*255),b:Math.round(n(4)*255)}}function Ki(r,t,e){r/=255,t/=255,e/=255;let i=Math.max(r,t,e),s=Math.min(r,t,e),n=(i+s)/2,o=0,a=0;if(i!==s){let l=i-s;switch(a=n>.5?l/(2-i-s):l/(i+s),i){case r:o=((t-e)/l+(t<e?6:0))/6;break;case t:o=((e-r)/l+2)/6;break;case e:o=((r-t)/l+4)/6;break}}return{h:Math.round(o*360),s:Math.round(a*100),l:Math.round(n*100)}}function qt(r){r=r.replace(/^#/,""),r.length===3&&(r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2]);let t=parseInt(r,16);return{r:t>>16&255,g:t>>8&255,b:t&255}}function Xi(r,t,e){return"#"+[r,t,e].map(i=>Math.max(0,Math.min(255,Math.round(i))).toString(16).padStart(2,"0")).join("")}function ze(r){let{r:t,g:e,b:i}=qt(r);return Ki(t,e,i)}function x(r,t,e){let{r:i,g:s,b:n}=Wi(r,t,e);return Xi(i,s,n)}var M=r=>(r%360+360)%360;function Ji(r,t,e){return{colors:[x(r,t,e),x(M(r+180),t,e)],names:["Base","Complement"]}}function Yi(r,t,e){return{colors:[x(M(r-30),t,e),x(r,t,e),x(M(r+30),t,e)],names:["Analog A","Base","Analog B"]}}function Zi(r,t,e){return{colors:[x(r,t,e),x(M(r+120),t,e),x(M(r+240),t,e)],names:["Base","Triad A","Triad B"]}}function Qi(r,t,e){return{colors:[x(r,t,e),x(M(r+150),t,e),x(M(r+210),t,e)],names:["Base","Split A","Split B"]}}function ts(r,t,e){return{colors:[x(r,t,e),x(M(r+90),t,e),x(M(r+180),t,e),x(M(r+270),t,e)],names:["Base","Tetrad A","Tetrad B","Tetrad C"]}}var es=[{label:"50",l:96},{label:"100",l:90},{label:"200",l:80},{label:"300",l:70},{label:"400",l:60},{label:"500",l:50},{label:"600",l:40},{label:"700",l:30},{label:"800",l:22},{label:"900",l:15},{label:"950",l:10}];function is(r,t,e){let i=[],s=[];for(let n of es){let o=n.l>85||n.l<20?Math.max(t*.6,5):t;i.push(x(r,Math.round(o),n.l)),s.push(n.label)}return{colors:i,names:s}}var Pe={complementary:Ji,analogous:Yi,triadic:Zi,"split-complementary":Qi,tetradic:ts,monochromatic:is};function Be(r,t){let{h:e,s:i,l:s}=ze(r);return(Pe[t]||Pe.complementary)(e,i,s)}var Dt=class extends f{static observedAttributes=["seed","harmony","include-seed","show-export","layout","size","show-values","show-names"];#t=null;#e="";#i=[];#r=[];setup(){this.#t=this.querySelector("color-picker")||this.querySelector('input[type="color"]'),this.#e=this.#n(),this.#e&&(this.#s(),this.#a(),this.#p())}attributeChangedCallback(){this.isConnected&&this.hasAttribute("data-upgraded")&&(this.#e=this.#n(),this.#e&&this.#s())}#n(){if(this.#t){let t=this.#t;if(t.tagName==="COLOR-PICKER"){let e=t.value;return e&&e!=="#000000"?e:t.querySelector('input[type="color"]')?.value||e||""}return t.value||""}return this.getAttribute("seed")||""}#s(){let t=this.getAttribute("harmony")||"complementary",e=this.getAttribute("layout")||"inline",i=this.getAttribute("size")||"md",s=this.hasAttribute("show-values"),n=this.hasAttribute("show-names"),o=this.hasAttribute("show-export"),{colors:a,names:l}=Be(this.#e,t);this.#i=a,this.#r=l;let h={sm:48,md:80,lg:120}[i]||80,u="display:flex;flex-wrap:wrap;gap:var(--size-xs,0.5rem)";e==="grid"?u=`display:grid;grid-template-columns:repeat(auto-fill,minmax(${h}px,1fr));gap:var(--size-xs,0.5rem)`:e==="list"&&(u="display:flex;flex-direction:column;gap:var(--size-xs,0.5rem)");let d=a.map((w,S)=>{let A=l[S]||"",N=this.#l(w),z=e==="list"?"display:flex;flex-direction:row;align-items:center;gap:0.75rem":`display:flex;flex-direction:column;align-items:center;gap:0.25rem;max-inline-size:${h}px`,j=e==="list"?36:h,L=w.length>12?w.slice(0,12)+"\u2026":w;return`<div class="swatch-wrap" role="listitem" style="${z}">
|
|
1072
|
+
<button type="button" class="color-box" data-index="${S}"
|
|
1073
|
+
style="background:${w};color:${N};width:${j}px;height:${j}px;border:1px solid oklch(0% 0 0/0.15);border-radius:var(--radius-s,0.25rem);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:var(--font-mono,monospace);position:relative;overflow:hidden;flex-shrink:0"
|
|
1074
|
+
title="Click to copy${A?": "+A:""}"
|
|
1075
|
+
aria-label="${A||"Color "+(S+1)}: ${w}">
|
|
1076
|
+
<span class="color-value" style="font-size:0.625rem;line-height:1.2;opacity:${s?"1":"0"};text-align:center;padding:2px 4px;word-break:break-all;transition:opacity 0.15s ease">${L}</span>
|
|
1077
|
+
</button>
|
|
1078
|
+
${n&&A?`<span style="font-size:var(--font-size-xs,0.75rem);color:var(--color-text-muted,#666);text-align:center;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">${A}</span>`:""}
|
|
1079
|
+
</div>`}).join(""),p="";o&&(p=`<div class="pg-export" role="toolbar" aria-label="Export palette" style="display:flex;gap:0.5rem;margin-block-start:var(--size-xs,0.5rem)">
|
|
1080
|
+
<button type="button" class="pg-copy-hex" style="padding:0.25rem 0.75rem;border:1px solid var(--color-border,#ccc);border-radius:var(--radius-s,0.25rem);background:var(--color-surface,#fff);color:var(--color-text,#333);cursor:pointer;font-size:var(--font-size-xs,0.75rem);font-family:inherit">Copy Hex</button>
|
|
1081
|
+
<button type="button" class="pg-copy-css" style="padding:0.25rem 0.75rem;border:1px solid var(--color-border,#ccc);border-radius:var(--radius-s,0.25rem);background:var(--color-surface,#fff);color:var(--color-text,#333);cursor:pointer;font-size:var(--font-size-xs,0.75rem);font-family:inherit">Copy CSS</button>
|
|
1082
|
+
</div>`);let g=this.#t;for(let w of[...this.children])w!==g&&(w.classList?.contains("pg-seed-label")||w.remove());if(g&&!this.querySelector(".pg-seed-label")){let w=document.createElement("span");w.className="pg-seed-label",w.textContent="Seed Color",g.before(w)}let v=document.createElement("div");if(v.className=`palette ${e}`,v.setAttribute("role","list"),v.setAttribute("aria-label","Color palette"),v.style.cssText=u,v.innerHTML=d,g?g.after(v):this.prepend(v),p){let w=document.createElement("div");w.innerHTML=p,this.append(w.firstElementChild)}this.#o(v,a,l,s),o&&this.#u()}#o(t,e,i,s){t.querySelectorAll(".color-box").forEach(n=>{s||(n.addEventListener("pointerenter",()=>{let o=n.querySelector(".color-value");o&&(o.style.opacity="1")}),n.addEventListener("pointerleave",()=>{let o=n.querySelector(".color-value");o&&(o.style.opacity="0")})),n.addEventListener("click",()=>{let o=Number(n.dataset.index),a=e[o],l=i[o]||"";navigator.clipboard?.writeText(a),this.dispatchEvent(new CustomEvent("color-palette:select",{bubbles:!0,detail:{color:a,name:l,index:o}})),n.style.outline="3px solid currentColor",n.style.outlineOffset="2px",setTimeout(()=>{n.style.outline="",n.style.outlineOffset=""},600)})})}#a(){let t=this.#t;t&&(t.tagName==="COLOR-PICKER"?this.listen(t,"color-picker:change",e=>{this.#e=e.detail.hex,this.#s(),this.#p()}):this.listen(t,"input",()=>{this.#e=t.value,this.#s(),this.#p()}))}#u(){let t=this.querySelector(".pg-copy-hex"),e=this.querySelector(".pg-copy-css");t&&t.addEventListener("click",()=>{navigator.clipboard?.writeText(this.#i.join(", ")),this.#m(t,"Copy Hex")}),e&&e.addEventListener("click",()=>{let i=this.getAttribute("harmony")||"complementary",s=this.#c(i);navigator.clipboard?.writeText(s),this.#m(e,"Copy CSS")})}#l(t){if(t.startsWith("#")){let{r:e,g:i,b:s}=qt(t);return .2126*(e/255)+.7152*(i/255)+.0722*(s/255)>.4?"#000":"#fff"}return"#000"}#c(t){return t==="monochromatic"?this.#i.map((e,i)=>`--color-seed-${this.#r[i]||i+1}: ${e};`).join(`
|
|
1083
|
+
`):this.#i.map((e,i)=>`--palette-${this.#r[i]?this.#r[i].toLowerCase().replace(/\s+/g,"-"):`${i+1}`}: ${e};`).join(`
|
|
1084
|
+
`)}#m(t,e){t.textContent="Copied!",setTimeout(()=>{t.textContent=e},1500)}#p(){let t=this.getAttribute("harmony")||"complementary";this.dispatchEvent(new CustomEvent("palette-generator:generate",{bubbles:!0,detail:{colors:[...this.#i],harmony:t,seed:this.#e}}))}};m("palette-generator",Dt);var Ft=class extends f{static observedAttributes=["font-family","label","sample","show-scale","show-weights","show-characters","weights"];setup(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}#t(){let t=this.getAttribute("font-family")||"system-ui",e=this.getAttribute("label")||t.replace(/['"]/g,"").split(",")[0],i=this.getAttribute("sample")||"The quick brown fox jumps over the lazy dog",s=this.hasAttribute("show-scale"),n=this.hasAttribute("show-weights"),o=this.hasAttribute("show-characters"),l=(this.getAttribute("weights")||"300,400,500,600,700").split(",").map(h=>h.trim()),c="";if(c+=`<div class="specimen-header" style="font-family:${t}">
|
|
1085
|
+
<span class="specimen-label">${e}</span>
|
|
1086
|
+
<p class="specimen-sample" contenteditable="plaintext-only" spellcheck="false">${i}</p>
|
|
1087
|
+
</div>`,o&&(c+=`<div class="specimen-chars" style="font-family:${t}">
|
|
1088
|
+
<div class="char-row"><span class="char-label">Upper</span>${"ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("").map(h=>`<span>${h}</span>`).join("")}</div>
|
|
1089
|
+
<div class="char-row"><span class="char-label">Lower</span>${"abcdefghijklmnopqrstuvwxyz".split("").map(h=>`<span>${h}</span>`).join("")}</div>
|
|
1090
|
+
<div class="char-row"><span class="char-label">Digits</span>${"0123456789".split("").map(h=>`<span>${h}</span>`).join("")}</div>
|
|
1091
|
+
<div class="char-row"><span class="char-label">Punct</span>${"!@#$%^&*()_+-=[]{}|;:,.<>?".split("").map(h=>`<span>${h==="<"?"<":h===">"?">":h==="&"?"&":h}</span>`).join("")}</div>
|
|
1092
|
+
</div>`),n){c+='<div class="specimen-weights">';for(let h of l)c+=`<div class="weight-sample" style="font-family:${t};font-weight:${h}">
|
|
1093
|
+
<span class="weight-label">${h}</span>
|
|
1094
|
+
<span class="weight-text">Aa</span>
|
|
1095
|
+
</div>`;c+="</div>"}if(s){let h=[{name:"xs",rem:.75},{name:"sm",rem:.875},{name:"md",rem:1},{name:"lg",rem:1.125},{name:"xl",rem:1.25},{name:"2xl",rem:1.5},{name:"3xl",rem:1.875},{name:"4xl",rem:2.25},{name:"5xl",rem:3}];c+='<div class="specimen-scale">';for(let u of h)c+=`<div class="scale-step" style="font-family:${t};font-size:${u.rem}rem">
|
|
1096
|
+
<span class="scale-label">${u.name}</span>
|
|
1097
|
+
<span class="scale-text">${i.substring(0,30)}</span>
|
|
1098
|
+
</div>`;c+="</div>"}this.innerHTML=c}};m("type-specimen",Ft);var Ot=class extends f{static observedAttributes=["tokens","prefix","show-values","label"];setup(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}#t(){let t=this.getAttribute("tokens")||"3xs,2xs,xs,s,m,l,xl,2xl,3xl",e=this.getAttribute("prefix")||"--size-",i=this.getAttribute("show-values")!=="false",s=this.getAttribute("label")||"",n=t.split(",").map(a=>a.trim()),o="";s&&(o+=`<div style="font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted,#666);margin-block-end:0.75rem;font-family:var(--font-sans,system-ui)">${s}</div>`),o+=`<div role="list" aria-label="${s||"Spacing scale"}" style="display:flex;flex-direction:column;gap:0.25rem">`;for(let a of n){let l=`${e}${a}`;o+=`<div role="listitem" style="display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:0.75rem;min-block-size:1.75rem">
|
|
1099
|
+
<span style="font-family:var(--font-mono,monospace);font-size:0.875rem;color:var(--color-text-muted,#666);text-align:end">${a}</span>
|
|
1100
|
+
<div class="scale-bar" style="display:block;block-size:var(--size-m,1rem);min-inline-size:2px;inline-size:var(${l});background:var(--color-interactive,oklch(55% 0.2 260));border-radius:var(--radius-s,0.25rem)" aria-hidden="true"></div>
|
|
1101
|
+
${i?'<span class="scale-value" style="font-family:var(--font-mono,monospace);font-size:0.75rem;color:var(--color-text-muted,#666);font-variant-numeric:tabular-nums;min-inline-size:3.5rem;text-align:end"></span>':""}
|
|
1102
|
+
</div>`}o+="</div>",this.innerHTML=o,i&&requestAnimationFrame(()=>{this.querySelectorAll(".scale-bar").forEach(a=>{let l=a.getBoundingClientRect().width,c=a.nextElementSibling;c&&(c.textContent=`${Math.round(l*100)/100}px`)})})}};m("spacing-specimen",Ot);var Ht=class extends f{#t=null;static get observedAttributes(){return["position"]}get#e(){return this.getAttribute("persist")||"consent-banner"}get#i(){let t=this.getAttribute("expires");return t==="0"||t==="never"?0:t?parseInt(t,10):365}setup(){if(this.#t=this.querySelector("dialog"),!this.#t)return!1;this.getAttribute("trigger")&&this.listen(document,"click",this.#a);let t=this.#u();if(t&&!this.#c(t))return this.getAttribute("trigger")?this.hidden=!0:this.remove(),!1;this.#r()}#r(){(this.getAttribute("position")||"bottom")==="center"?(this.#t.showModal(),this.#t.addEventListener("cancel",this.#s)):this.#t.show(),this.addEventListener("click",this.#o)}#n(){this.#t.removeEventListener("cancel",this.#s),this.removeEventListener("click",this.#o),this.#t.close(),this.getAttribute("trigger")?this.hidden=!0:this.remove()}#s=t=>{t.preventDefault()};#o=t=>{let e=t.target.closest("button[value]");if(!e)return;let i=e.value;if(!["accept","reject","save"].includes(i))return;let s=[...this.querySelectorAll('input[type="checkbox"]')],n={};i==="accept"?s.forEach(o=>{n[o.name]=!0}):i==="reject"?s.forEach(o=>{n[o.name]=!!o.disabled}):s.forEach(o=>{n[o.name]=o.checked}),this.#l({preferences:n,action:i,timestamp:Date.now()}),this.dispatchEvent(new CustomEvent("consent-banner:change",{bubbles:!0,detail:{preferences:n,action:i}})),this.#n()};#a=t=>{let e=this.getAttribute("trigger");if(!e||!t.target.closest(e))return;t.preventDefault();let s=this.#u();if(s?.preferences)for(let[n,o]of Object.entries(s.preferences)){let a=this.querySelector(`input[type="checkbox"][name="${CSS.escape(n)}"]`);a&&!a.disabled&&(a.checked=o)}this.hidden=!1,this.#r()};#u(){try{let t=localStorage.getItem(this.#e);return t?JSON.parse(t):null}catch{return null}}#l(t){try{localStorage.setItem(this.#e,JSON.stringify(t))}catch{}}#c(t){let e=this.#i;return e===0?!1:Date.now()-(t.timestamp||0)>e*864e5}static reset(t="consent-banner"){try{localStorage.removeItem(t)}catch{}}static getConsent(t="consent-banner"){try{let e=localStorage.getItem(t);return e?JSON.parse(e):null}catch{return null}}};m("consent-banner",Ht);var Vt=class extends f{#t=null;#e=null;#i=[];#r="";#n=0;#s=null;#o=null;#a=null;#u=null;#l=!1;#c=!1;#m=0;#p=null;#h=null;#y=null;#b=null;#g=null;#d=null;#f=null;static get observedAttributes(){return["speed","voice","for"]}attributeChangedCallback(t,e,i){if(e!==i&&(t==="for"&&(this.stop(),this.#S()),(t==="speed"||t==="voice")&&this.#l&&this.#x(),t==="speed"&&this.#g)){let s=this.#R(parseFloat(i)||1);this.#g.value=String(s),this.#d&&(this.#d.textContent=`${s}\xD7`)}}setup(){if(!("speechSynthesis"in window))return this.style.display="none",!1;this.#v(),this.#S(),this.#_(),this.#u=this.#D(),this.#u.then(t=>this.#O(t)),this.listen(window,"beforeunload",this.#H)}teardown(){this.stop(),this.#L()}play(){if(this.#c){this.resume();return}this.#l||this.#k(0)}pause(){!this.#l||this.#c||(speechSynthesis.pause(),this.#c=!0,this.#F(!0),this.#P("text-reader:pause"))}resume(){this.#c&&(speechSynthesis.resume(),this.#c=!1,this.#F(!1),this.#P("text-reader:resume"))}stop(){speechSynthesis.cancel(),this.#z(),this.#P("text-reader:stop")}get voices(){return this.#u||this.#D()}get speaking(){return this.#l}get paused(){return this.#c}get progress(){return this.#r.length?Math.min(this.#n/this.#r.length,1):0}#v(){let t=document.createElement("div");t.setAttribute("part","controls"),t.setAttribute("role","group"),t.setAttribute("aria-label","Article reader");let e=this.#w("play",this.getAttribute("label-play")||"Play","\u25B6");e.addEventListener("click",()=>this.play());let i=this.#w("pause",this.getAttribute("label-pause")||"Pause","\u23F8");i.hidden=!0,i.addEventListener("click",()=>this.pause());let s=this.#w("stop",this.getAttribute("label-stop")||"Stop","\u23F9");s.disabled=!0,s.addEventListener("click",()=>this.stop());let n=document.createElement("select");n.setAttribute("aria-label","Voice");let o=document.createElement("option");o.textContent="Loading voices\u2026",n.append(o),n.addEventListener("change",()=>{this.#l&&this.#x()});let a=document.createElement("label");a.setAttribute("data-speed-group","");let l=document.createElement("span");l.setAttribute("data-speed-value","");let c=this.#R(parseFloat(this.getAttribute("speed")??"1")||1);l.textContent=`${c}\xD7`;let h=document.createElement("input");h.type="range",h.min="0.5",h.max="2",h.step="0.1",h.value=String(c),h.setAttribute("aria-label","Speed"),h.addEventListener("input",()=>{let u=parseFloat(h.value);l.textContent=`${u}\xD7`,this.#l&&this.#x()}),a.append(l,h),this.#E("icon-play",e),this.#E("icon-pause",i),this.#E("icon-stop",s),t.append(e,i,s,n,a),this.prepend(t),this.#f=t,this.#p=e,this.#h=i,this.#y=s,this.#b=n,this.#g=h,this.#d=l}#w(t,e,i){let s=document.createElement("button");return s.type="button",s.setAttribute("part",`button ${t}`),s.setAttribute("aria-label",e),s.textContent=i,s}#E(t,e){let i=this.querySelector(`[slot="${t}"]`);i&&(i.removeAttribute("slot"),e.textContent="",e.append(i))}#S(){let t=this.getAttribute("for");if(!t){console.warn('<text-reader>: missing "for" attribute'),this.#A();return}if(this.#t=document.getElementById(t),!this.#t){console.warn(`<text-reader>: no element found with id="${t}"`),this.#A();return}this.#$(),this.#C()}#A(){this.#p&&(this.#p.disabled=!0),this.#y&&(this.#y.disabled=!0)}#C(){this.#p&&(this.#p.disabled=!1)}#$(){let t=this.#t;if(!t)return;let e=this.getAttribute("selectors")||"p,li",i=[...t.querySelectorAll(e)],s=o=>o.closest("pre")||o.closest("code")||o.closest('[aria-hidden="true"]');this.#i=[];let n=0;for(let o of i){if(s(o))continue;let a=o.textContent.trim();a&&(this.#i.push({element:o,text:a,speechStart:n,speechEnd:n+a.length}),n+=a.length+1)}this.#r=this.#i.map(o=>o.text).join(" ")}#k(t){if(!this.#r)return;let e=t>0?this.#r.slice(t):this.#r;if(!e.trim())return;let i=new SpeechSynthesisUtterance(e);i.rate=this.#R(parseFloat(this.#g?.value??"1")||1);let s=this.#b?.selectedOptions[0];if(s?.dataset.voiceUri){let n=speechSynthesis.getVoices().find(o=>o.voiceURI===s.dataset.voiceUri);n&&(i.voice=n)}i.onboundary=n=>{if(n.name!=="word")return;let o=t+n.charIndex;this.#n=o;let a=n.charLength;if(!a){let c=this.#r.slice(o).match(/^\S+/);a=c?c[0].length:1}this.#M(o,a),this.#P("text-reader:word",{word:this.#r.slice(o,o+a),charIndex:o,element:this.#B(o)?.element})},i.onend=()=>{let n=Date.now()-this.#m;this.#z(),this.#P("text-reader:end",{duration:n})},i.onerror=n=>{n.error==="interrupted"||n.error==="canceled"||(this.#z(),this.#P("text-reader:error",{error:n.error}))},this.#e=i,this.#l=!0,this.#c=!1,this.#m=Date.now(),this.#n=t,this.#q(!0),speechSynthesis.cancel(),speechSynthesis.speak(i),this.#N(),this.#P("text-reader:play",{voice:i.voice?.name,speed:i.rate})}#x(){let t=this.#n;speechSynthesis.cancel(),this.#T(),requestAnimationFrame(()=>this.#k(t))}#N(){this.#T(),this.#s=setInterval(()=>{if(!speechSynthesis.speaking){this.#T();return}speechSynthesis.pause(),speechSynthesis.resume()},1e4)}#T(){this.#s&&clearInterval(this.#s),this.#s=null}#_(){if(!CSS.highlights)return;let t=new CSSStyleSheet;t.replaceSync(`
|
|
1103
|
+
::highlight(text-reader-word) {
|
|
1104
|
+
background-color: var(--text-reader-highlight, Mark);
|
|
1105
|
+
color: var(--text-reader-highlight-text, MarkText);
|
|
1106
|
+
}
|
|
1107
|
+
`),this.#o=t,document.adoptedStyleSheets=[...document.adoptedStyleSheets,t]}#L(){let t=this.#o;t&&(document.adoptedStyleSheets=document.adoptedStyleSheets.filter(e=>e!==t),this.#o=null),this.#j()}#M(t,e){if(!CSS.highlights||this.getAttribute("highlight")==="false")return;let i=this.#B(t);if(!i)return;let s=t-i.speechStart,n=this.#I(i.element,s,e);if(!n)return;let o=new Highlight(n);if(CSS.highlights.set("text-reader-word",o),this.#a=o,this.getAttribute("scroll")!=="false"){let a=n.getBoundingClientRect(),l=window.innerHeight;(a.top<0||a.bottom>l)&&i.element.scrollIntoView({behavior:"smooth",block:"nearest"})}}#j(){CSS.highlights&&CSS.highlights.delete("text-reader-word"),this.#a=null}#B(t){let e=this.#i,i=0,s=e.length-1;for(;i<=s;){let n=i+s>>>1,o=e[n];if(t<o.speechStart)s=n-1;else if(t>=o.speechEnd)i=n+1;else return o}return null}#I(t,e,i){let s=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),n=0;for(;s.nextNode();){let o=s.currentNode,a=o.textContent??"";if(!a.trim())continue;let l=a.length;if(n+l>e){let c=e-n,h=document.createRange();h.setStart(o,Math.min(c,l));let u=c+i;return u<=l?h.setEnd(o,u):h.setEnd(o,l),h}n+=l}return null}async#D(){let t=speechSynthesis.getVoices();return t.length>0?t:new Promise(e=>{let i=()=>{speechSynthesis.removeEventListener("voiceschanged",i),e(speechSynthesis.getVoices())};speechSynthesis.addEventListener("voiceschanged",i),setTimeout(()=>{speechSynthesis.removeEventListener("voiceschanged",i),e(speechSynthesis.getVoices())},3e3)})}#O(t){if(!this.#b||!t.length)return;let e=this.#b;e.innerHTML="";let i=document.documentElement.lang||"en",s=t.filter(l=>l.lang.startsWith(i)),n=t.filter(l=>!l.lang.startsWith(i)),o=[...s,...n],a=this.getAttribute("voice");for(let l of o){let c=document.createElement("option");c.textContent=`${l.name} (${l.lang})`,c.dataset.voiceUri=l.voiceURI,a&&l.voiceURI===a&&(c.selected=!0),e.append(c)}if(!a){let l=s.find(c=>c.default)||s[0];if(l){let c=[...e.options].find(h=>h.dataset.voiceUri===l.voiceURI);c&&(c.selected=!0)}}}#q(t){!this.#p||!this.#h||!this.#y||(t?(this.#p.hidden=!0,this.#h.hidden=!1,this.#y.disabled=!1):(this.#p.hidden=!1,this.#h.hidden=!0,this.#y.disabled=!0))}#F(t){!this.#p||!this.#h||(this.#p.hidden=!t,this.#h.hidden=t)}#z(){this.#l=!1,this.#c=!1,this.#n=0,this.#e=null,this.#T(),this.#j(),this.#q(!1)}#R(t){return Math.round(Math.max(.5,Math.min(2,t))*10)/10}#P(t,e={}){this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0}))}#H=()=>{speechSynthesis.cancel()}};m("text-reader",Vt);function Ut(r){if(!r||typeof r!="string")return"";let t=document.createElement("template");return t.innerHTML=r,t.content.querySelectorAll("script, iframe, object, embed, form, base, link, meta, noscript").forEach(s=>s.remove()),t.content.querySelectorAll("*").forEach(s=>{for(let n of[...s.attributes]){if(n.name.startsWith("on")){s.removeAttribute(n.name);continue}if(["href","src","action","formaction","xlink:href"].includes(n.name)){let o=n.value.trim().toLowerCase();(o.startsWith("javascript:")||o.startsWith("data:text/html"))&&s.removeAttribute(n.name);continue}(n.name==="srcdoc"||n.name==="data"&&s.tagName==="OBJECT")&&s.removeAttribute(n.name)}}),t.innerHTML}var Gt=class extends f{#t=null;#e=null;#i=null;#r=new Map;#n=null;setup(){this.#s(),this.#o(),this.#l(),this.#a(),this.#d(),this.#c()}teardown(){}#s(){this.#t=this.querySelector(":scope > chat-thread"),this.#e=this.querySelector(":scope > chat-input"),this.#i=this.querySelector(":scope > header select[data-model-select]")}#o(){let t=this.querySelector(":scope > script[data-participants]");if(t)try{let e=JSON.parse(t.textContent);this.#r=new Map(Object.entries(e))}catch{console.warn("[chat-window] Invalid participant JSON")}}#a(){if(this.#t)for(let t of this.#t.querySelectorAll("chat-message[data-from]"))this.#u(t)}#u(t){let e=t.getAttribute("data-from");if(!e)return;let i=this.#r.get(e);i?.name?t.setAttribute("data-from-label",i.name):t.hasAttribute("data-from-label")||t.setAttribute("data-from-label",e)}#l(){if(!this.#i)return;let t=this.getAttribute("model");t?this.#i.value=t:this.#i.value&&this.setAttribute("model",this.#i.value)}#c(){this.listen(this,"chat-input:send",this.#m),this.#i&&this.listen(this.#i,"change",this.#p)}#m=async t=>{t.stopPropagation();let{message:e}=t.detail;if(!e||!this.#t)return;let i=this.#h("user",e,"user");this.#t.appendChild(i),this.#f(),this.#d();let s=this.#g(),n=this.#y(s);this.#t.appendChild(n),this.#f(),this.#e&&(this.#e.disabled=!0);let o=this.getAttribute("endpoint");if(o)try{let a=await this.#v(o,e);this.#b(n,a)}catch(a){this.#b(n,"<p>Sorry, something went wrong.</p>"),n.setAttribute("data-status","error"),this.dispatchEvent(new CustomEvent("chat-window:error",{bubbles:!0,detail:{error:a.message,status:a.status??0}}))}else this.dispatchEvent(new CustomEvent("chat-window:send",{bubbles:!0,detail:{message:e,typingElement:n}}));this.#e&&(this.#e.disabled=!1,this.#e.focus()),this.#f()};#p=()=>{let t=this.#i.value;this.setAttribute("model",t),this.dispatchEvent(new CustomEvent("chat-window:model-change",{bubbles:!0,detail:{model:t}}))};#h(t,e,i){let s=document.createElement("chat-message");s.setAttribute("data-role",t),i&&(s.setAttribute("data-from",i),this.#u(s));let n=document.createElement("chat-bubble");if(e.includes("<"))n.innerHTML=Ut(e);else{let o=document.createElement("p");o.textContent=e,n.appendChild(o)}return s.appendChild(n),s}#y(t){let e=document.createElement("chat-message");if(e.setAttribute("data-role","agent"),e.setAttribute("data-status","typing"),t){e.setAttribute("data-from",t),this.#u(e);let o=this.#r.get(t)?.name??t;e.setAttribute("aria-label",`${o} is typing`)}else e.setAttribute("aria-label","Agent is typing");let i=this.getAttribute("model");i&&e.setAttribute("data-model",i);let s=document.createElement("chat-bubble");return e.appendChild(s),e}#b(t,e){let i=t.querySelector("chat-bubble");i&&(i.innerHTML=Ut(e)),t.removeAttribute("data-status"),t.removeAttribute("aria-label")}#g(){for(let[t,e]of this.#r)if(e.role==="agent")return t;return null}#d(){if(!this.#t)return;this.#t.querySelector("chat-message")!==null?(this.#n&&(this.#n.remove(),this.#n=null),this.#t.hidden=!1):(this.#t.hidden=!0,this.#n||(this.#n=document.createElement("p"),this.#n.setAttribute("data-chat-empty",""),this.#n.textContent=this.getAttribute("empty-message")||"Send a message to start.",this.#t.insertAdjacentElement("afterend",this.#n)))}#f(){this.#t&&requestAnimationFrame(()=>{this.#t.scrollTop=this.#t.scrollHeight})}async#v(t,e){let i={message:e,model:this.getAttribute("model")||void 0},s=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!s.ok){let o=new Error(`Chat request failed: ${s.status}`);throw o.status=s.status,o}let n=await s.json();return n.html??n.message??n.content??""}get model(){return this.getAttribute("model")??""}set model(t){this.setAttribute("model",t),this.#i&&(this.#i.value=t)}get participants(){return this.#r}set participants(t){this.#r=t instanceof Map?t:new Map(Object.entries(t)),this.#a()}clearThread(){if(this.#t){for(;this.#t.firstChild;)this.#t.removeChild(this.#t.firstChild);this.#d()}}appendMessage(t,e,i){if(!this.#t)return;let s=this.#h(t,e,i);this.#t.appendChild(s),this.#f(),this.#d()}};m("chat-window",Gt);var Wt=class extends f{static formAssociated=!0;#t;#e;#i;#r;constructor(){super(),this.#t=this.attachInternals()}setup(){if(this.#e=this.querySelector(":scope > textarea, :scope textarea[data-grow]"),this.#i=this.querySelector("[data-send]"),!this.#e)return!1;this.listen(this.#e,"keydown",this.#n),this.listen(this.#e,"input",this.#s),this.#i&&this.listen(this.#i,"click",this.#o),this.#u(),this.#l(),this.hasAttribute("autofocus")&&requestAnimationFrame(()=>this.#e.focus())}teardown(){clearTimeout(this.#r)}#n=t=>{switch(t.key){case"Enter":t.shiftKey||(t.preventDefault(),this.#a());break;case"Escape":t.preventDefault(),this.reset();break}};#s=()=>{this.#u(),this.#l(),clearTimeout(this.#r),this.#r=setTimeout(()=>{this.dispatchEvent(new CustomEvent("chat-input:input",{bubbles:!0,detail:{value:this.value,length:this.value.length}}))},100)};#o=t=>{t.preventDefault(),this.#a()};#a(){let t=this.value.trim(),e=parseInt(this.getAttribute("minlength")??"1",10)||1;t.length<e||this.disabled||(this.dispatchEvent(new CustomEvent("chat-input:send",{bubbles:!0,detail:{message:t,from:null,model:null}})),this.reset())}#u(){let t=this.value;t?this.#t.setFormValue(t):this.#t.setFormValue(null)}#l(){let t=this.value,e=parseInt(this.getAttribute("maxlength")??"4000",10)||4e3;t.length>e?this.#t.setValidity({tooLong:!0},`Message exceeds ${e} characters`,this.#e):this.#t.setValidity({})}formResetCallback(){this.reset()}formStateRestoreCallback(t){!t||!this.#e||(this.#e.value=t,this.#u(),this.#l())}get value(){return this.#e?.value??""}set value(t){this.#e&&(this.#e.value=t,this.#e.dispatchEvent(new Event("input",{bubbles:!0})),this.#u(),this.#l())}get disabled(){return this.hasAttribute("disabled")}set disabled(t){t?(this.setAttribute("disabled",""),this.#e&&(this.#e.disabled=!0),this.#i&&(this.#i.disabled=!0)):(this.removeAttribute("disabled"),this.#e&&(this.#e.disabled=!1),this.#i&&(this.#i.disabled=!1))}focus(){this.#e?.focus()}reset(){this.#e&&(this.#e.value="",this.#e.dispatchEvent(new Event("input",{bubbles:!0})),this.#u(),this.#l())}static get observedAttributes(){return["disabled"]}attributeChangedCallback(t,e,i){if(t==="disabled"){let s=i!==null;this.#e&&(this.#e.disabled=s),this.#i&&(this.#i.disabled=s)}}};m("chat-input",Wt);var st="http://www.w3.org/2000/svg";function ss(r){return r.trim().split(/[\s,]+/).map(Number)}function rs(r,t){let e=ss(t);switch(r){case"rect":{let[i,s,n,o]=e;return{type:"rect",x:i,y:s,width:n-i,height:o-s}}case"circle":{let[i,s,n]=e;return{type:"circle",cx:i,cy:s,r:n}}case"poly":{let i=[];for(let s=0;s<e.length;s+=2)i.push([e[s],e[s+1]]);return{type:"poly",points:i}}default:return null}}function ns(r){if(!r)return null;switch(r.type){case"rect":{let t=document.createElementNS(st,"rect");return t.setAttribute("x",String(r.x)),t.setAttribute("y",String(r.y)),t.setAttribute("width",String(r.width)),t.setAttribute("height",String(r.height)),t}case"circle":{let t=document.createElementNS(st,"circle");return t.setAttribute("cx",String(r.cx)),t.setAttribute("cy",String(r.cy)),t.setAttribute("r",String(r.r)),t}case"poly":{let t=document.createElementNS(st,"polygon");return t.setAttribute("points",r.points.map(e=>e.join(",")).join(" ")),t}default:return null}}function os(r){if(!r)return{x:0,y:0,width:0,height:0};switch(r.type){case"rect":return{x:r.x,y:r.y,width:r.width,height:r.height};case"circle":return{x:r.cx-r.r,y:r.cy-r.r,width:r.r*2,height:r.r*2};case"poly":{let t=100,e=100,i=0,s=0;for(let[n,o]of r.points)n<t&&(t=n),o<e&&(e=o),n>i&&(i=n),o>s&&(s=o);return{x:t,y:e,width:i-t,height:s-e}}default:return{x:0,y:0,width:0,height:0}}}var Kt=class extends HTMLElement{get shape(){return this.getAttribute("shape")||"rect"}get coords(){return this.getAttribute("coords")||""}get label(){return this.getAttribute("label")||""}get href(){return this.getAttribute("href")}get target(){return this.getAttribute("target")||""}get tooltipMode(){return this.getAttribute("tooltip")||"hover"}get disabled(){return this.hasAttribute("disabled")}connectedCallback(){this.setAttribute("data-upgraded","")}disconnectedCallback(){this.removeAttribute("data-upgraded")}},Xt=class extends f{#t=null;#e=null;#i=null;#r=[];#n=[];#s=null;#o=null;#a=null;setup(){if(this.#t=this.querySelector(":scope > img"),!this.#t){let t=this.getAttribute("src"),e=this.getAttribute("alt");if(t)this.#t=document.createElement("img"),this.#t.src=t,this.#t.alt=e||"",this.prepend(this.#t);else return!1}this.#t.classList.add("image-map-img"),this.#t.complete?this.#u():this.#t.addEventListener("load",()=>this.#u(),{once:!0})}teardown(){this.#o?.disconnect(),this.#c(),this.#e?.remove(),this.#i?.remove();for(let t of this.#n)t.anchor?.remove();this.#n=[],this.#r=[]}#u(){let t=[...this.querySelectorAll(":scope > map-area")];if(t.length===0){this.setAttribute("data-upgraded","");return}this.#e=document.createElementNS(st,"svg"),this.#e.setAttribute("viewBox","0 0 100 100"),this.#e.setAttribute("preserveAspectRatio","none"),this.#e.setAttribute("aria-hidden","true"),this.#e.classList.add("image-map-overlay"),this.#i=document.createElement("div"),this.#i.className="image-map-tooltip",this.#i.setAttribute("role","tooltip"),this.#i.setAttribute("aria-live","polite"),this.#i.id=`imap-tip-${crypto.randomUUID().slice(0,8)}`;for(let e of t){let i=e,s=i.shape,n=i.coords,o=rs(s,n),a=ns(o);if(!a)continue;let l=os(o),c=i.href?document.createElement("a"):document.createElement("button");i.href&&(c.href=i.href,i.target&&(c.target=i.target)),c.className="image-map-anchor",c.setAttribute("aria-label",i.label),c.setAttribute("aria-describedby",this.#i.id),c.textContent=i.label,c.style.left=`${l.x}%`,c.style.top=`${l.y}%`,c.style.width=`${l.width}%`,c.style.height=`${l.height}%`,i.disabled&&(a.setAttribute("data-disabled",""),c.setAttribute("tabindex","-1"),c.setAttribute("aria-disabled","true"));let h=e.innerHTML,u={area:e,parsed:o,svgShape:a,anchor:c,contentHTML:h};if(!i.disabled){let d=i.tooltipMode;this.listen(a,"pointerenter",()=>{d==="hover"&&this.#l(u),a.setAttribute("data-hover",""),this.#h("image-map:area-enter",i)}),this.listen(a,"pointerleave",()=>{d==="hover"&&this.#c(),a.removeAttribute("data-hover"),this.#h("image-map:area-leave",i)}),this.listen(a,"click",()=>{d==="click"&&(this.#s===u?this.#c():this.#l(u)),this.#h("image-map:area-activate",i),i.href&&d!=="click"&&(i.target==="_blank"?window.open(i.href,"_blank","noopener"):window.location.href=i.href)}),this.listen(a,"touchstart",p=>{d==="hover"&&(this.#a!==u?(p.preventDefault(),this.#a=u,this.#l(u)):this.#a=null)},{passive:!1}),this.listen(c,"focus",()=>{this.#l(u),a.setAttribute("data-hover","")}),this.listen(c,"blur",()=>{this.#c(),a.removeAttribute("data-hover")})}this.#e.appendChild(a),this.#n.push(u),this.#r.push(c)}this.appendChild(this.#e);for(let e of this.#r)this.appendChild(e);this.appendChild(this.#i),this.listen(this,"keydown",this.#p),this.#o=new ResizeObserver(()=>{this.#s&&this.#m(this.#s.svgShape)}),this.#o.observe(this.#t),this.setAttribute("role","group"),this.hasAttribute("aria-label")||this.setAttribute("aria-label",this.#t.alt||"Image map"),this.setAttribute("data-upgraded","")}#l(t){this.#i&&(this.#s=t,this.#i.innerHTML=t.contentHTML,this.#i.setAttribute("data-visible",""),this.#m(t.svgShape))}#c(){this.#i&&(this.#s=null,this.#i.removeAttribute("data-visible"))}#m(t){if(!this.#i||!t)return;let e=t.getBoundingClientRect(),i=this.#i.getBoundingClientRect(),s=8,n=8,o=window.innerWidth,a=window.innerHeight,l,c,h=e.top-i.height-s;h>=n?(l=h,c=e.left+(e.width-i.width)/2):e.bottom+s+i.height<=a-n?(l=e.bottom+s,c=e.left+(e.width-i.width)/2):e.right+s+i.width<=o-n?(l=e.top+(e.height-i.height)/2,c=e.right+s):(l=e.top+(e.height-i.height)/2,c=e.left-i.width-s),c=Math.max(n,Math.min(c,o-i.width-n)),l=Math.max(n,Math.min(l,a-i.height-n)),this.#i.style.top=`${l}px`,this.#i.style.left=`${c}px`}#p=t=>{let e=this.#r.filter(s=>!s.hasAttribute("aria-disabled")),i=e.indexOf(document.activeElement);switch(t.key){case"ArrowDown":case"ArrowRight":{t.preventDefault();let s=i<e.length-1?i+1:0;e[s]?.focus();break}case"ArrowUp":case"ArrowLeft":{t.preventDefault();let s=i>0?i-1:e.length-1;e[s]?.focus();break}case"Escape":this.#c(),this.#a=null;break}};#h(t,e){this.dispatchEvent(new CustomEvent(t,{detail:{area:e},bubbles:!0}))}};m("map-area",Kt);m("image-map",Xt);var as='<svg viewBox="0 0 68 48" width="68" height="48" aria-hidden="true" focusable="false"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.64 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="var(--color-error, #f00)"/><path d="M45 24 27 14v20z" fill="#fff"/></svg>',ls={hq:"hqdefault",mq:"mqdefault",sd:"sddefault",maxres:"maxresdefault"},Jt=class extends f{#t;#e;setup(){if(this.#t=this.getAttribute("video-id"),this.#e=this.getAttribute("title")??"Play video",!this.#t)return console.warn("youtube-player: missing required video-id attribute"),!1;this.hasAttribute("autoplay")?this.#a():this.#n()}#i(){let t=new URLSearchParams({autoplay:"1"}),e=this.getAttribute("start");e&&t.set("start",e);let i=this.getAttribute("list");return i&&t.set("list",i),this.getAttribute("params")&&new URLSearchParams(this.getAttribute("params")).forEach((s,n)=>t.set(n,s)),`https://www.youtube-nocookie.com/embed/${this.#t}?${t}`}#r(){let t=this.getAttribute("thumbnail")??"hq";return`https://i.ytimg.com/vi/${this.#t}/${ls[t]??"hqdefault"}.jpg`}#n(){this.setAttribute("state","ready"),this.setAttribute("tabindex","0"),this.setAttribute("role","button"),this.setAttribute("aria-label",`Play ${this.#e}`),this.innerHTML=`<img src="${this.#r()}" alt="" loading="lazy" decoding="async"><button type="button" aria-label="Play ${this.#e}">${as}</button>`,this.addEventListener("click",this.#s,{once:!0}),this.addEventListener("keydown",this.#o)}#s=()=>{this.removeEventListener("keydown",this.#o),this.#a()};#o=t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.removeEventListener("click",this.#s),this.#a())};#a(){this.setAttribute("state","active"),this.removeAttribute("tabindex"),this.removeAttribute("role"),this.removeAttribute("aria-label"),this.innerHTML=`<iframe src="${this.#i()}" title="${this.#e}" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen loading="lazy"></iframe>`,this.querySelector("iframe")?.focus()}};m("youtube-player",Jt);var rt=CSS.supports("anchor-name","--x"),Ie=()=>window.matchMedia("(prefers-reduced-motion: reduce)").matches,Yt=class extends HTMLElement{get target(){return this.dataset.target}get placement(){return this.dataset.placement??"auto"}get action(){return this.dataset.action??"none"}get actionHint(){return this.dataset.actionHint??null}get skippable(){return this.dataset.skippable!=="false"}get scrollBehavior(){return this.dataset.scroll??"smooth"}},Zt=class r extends f{#t=[];#e=0;#i=!1;#r=null;#n=null;#s=null;#o=null;#a=null;#u=null;#l=null;#c=null;static#m=null;static observedAttributes=["data-step"];setup(){if(this.#t=[...this.querySelectorAll("tour-step")],this.#t.length===0)return!1;let t=this.querySelector(".page-tour-start-btn");if(t&&this.listen(t,"click",e=>{e.preventDefault(),this.start()}),this.id&&this.listen(document,"click",e=>{e.target.closest(`[data-tour="${this.id}"]`)&&(e.preventDefault(),this.start())}),this.dataset.trigger==="auto"){let e=this.#B();e?.complete||e?.skipped?this.setAttribute("data-complete",""):setTimeout(()=>this.start(e?.step??0),400)}}teardown(){this.#i&&this.stop()}attributeChangedCallback(t,e,i){if(t==="data-step"&&this.#i&&e!==null){let s=parseInt(i,10);!Number.isNaN(s)&&s!==this.#e&&this.#v(s)}}start(t=0){r.#m&&r.#m!==this&&r.#m.stop(),this.#a=document.activeElement,this.#i=!0,r.#m=this,this.#p(),this.setAttribute("data-active",""),this.removeAttribute("data-complete"),this.#_("tour:start",{step:t}),this.#v(t)}stop(){this.#N(),this.#i=!1,this.removeAttribute("data-active"),r.#m===this&&(r.#m=null)}next(){!this.#i||this.#s?.querySelector('[data-action="next"]')?.hasAttribute("data-waiting")||(this.#e<this.#t.length-1?this.#v(this.#e+1,"next"):this.#x())}prev(){this.#i&&this.#e>0&&this.#v(this.#e-1,"prev")}goto(t){this.#i&&t>=0&&t<this.#t.length&&this.#v(t)}skip(){!this.#i||(this.dataset.mode??"passive")==="forced"||(this.#_("tour:skip",{step:this.#e}),this.#j({skipped:!0}),this.stop(),this.setAttribute("data-complete",""))}reset(){this.#I(),this.removeAttribute("data-complete"),this.dataset.step="0"}#p(){this.#r=document.createElement("div"),this.#r.className="page-tour-backdrop",this.#r.setAttribute("aria-hidden","true"),this.#r.addEventListener("click",()=>{(this.dataset.mode??"passive")!=="forced"&&this.skip()}),this.#n=document.createElement("div"),this.#n.className="page-tour-spotlight",this.#n.setAttribute("aria-hidden","true"),this.#s=document.createElement("div"),this.#s.className="page-tour-card",this.#s.setAttribute("popover","manual"),this.#s.setAttribute("role","dialog"),this.#s.setAttribute("aria-modal","true"),this.#s.setAttribute("aria-label",this.dataset.title??"Page Tour"),this.#s.addEventListener("keydown",t=>this.#E(t)),this.#s.addEventListener("click",t=>this.#A(t)),this.#o=document.createElement("div"),this.#o.setAttribute("aria-live","polite"),this.#o.setAttribute("aria-atomic","true"),this.#o.className="sr-only",this.#o.id=`page-tour-announcer-${crypto.randomUUID().slice(0,8)}`,this.append(this.#r,this.#n,this.#s,this.#o),this.#s.showPopover(),requestAnimationFrame(()=>{this.#r?.setAttribute("data-visible","")})}#h(t){let e=parseInt(this.dataset.spotlightPadding,10)||8,i=t.getBoundingClientRect();Object.assign(this.#n.style,{top:`${i.top-e}px`,left:`${i.left-e}px`,width:`${i.width+e*2}px`,height:`${i.height+e*2}px`})}#y(t,e){if(this.#s){if(rt){this.#b(t,e);return}this.#g(t,e)}}#b(t,e){let i="--tour-target";t.style.anchorName=i,this.#s.style.positionAnchor=i,this.#s.style.position="fixed",this.#s.style.top="",this.#s.style.left="",this.#s.style.bottom="",this.#s.style.right="";let s="var(--tour-card-offset, 0.75rem)";switch(e==="auto"?this.#d(t):e){case"bottom":this.#s.style.top="anchor(bottom)",this.#s.style.left="anchor(center)",this.#s.style.translate="0 calc("+s+")";break;case"top":this.#s.style.bottom="anchor(top)",this.#s.style.left="anchor(center)",this.#s.style.translate="0 calc(-1 * "+s+")";break;case"right":this.#s.style.left="anchor(right)",this.#s.style.top="anchor(center)",this.#s.style.translate=s+" 0";break;case"left":this.#s.style.right="anchor(left)",this.#s.style.top="anchor(center)",this.#s.style.translate="calc(-1 * "+s+") 0";break}}#g(t,e){let i=t.getBoundingClientRect(),s=12,n=8,o=e==="auto"?this.#d(t):e;this.#s.style.position="fixed",this.#s.style.visibility="hidden",this.#s.style.top="0",this.#s.style.left="0",this.#s.style.translate="";let a=this.#s.getBoundingClientRect();this.#s.style.visibility="";let l,c,h=parseInt(this.dataset.spotlightPadding,10)||8;switch(o){case"bottom":l=i.bottom+h+s,c=i.left+(i.width-a.width)/2;break;case"top":l=i.top-h-s-a.height,c=i.left+(i.width-a.width)/2;break;case"right":l=i.top+(i.height-a.height)/2,c=i.right+h+s;break;case"left":l=i.top+(i.height-a.height)/2,c=i.left-h-s-a.width;break}c=Math.max(n,Math.min(c,window.innerWidth-a.width-n)),l=Math.max(n,Math.min(l,window.innerHeight-a.height-n)),Object.assign(this.#s.style,{top:`${l}px`,left:`${c}px`,translate:""})}#d(t){let e=t.getBoundingClientRect(),i=window.innerWidth,n=window.innerHeight-e.bottom,o=e.top,a=i-e.right,l=e.left,c=Math.max(n,o,a,l);return c===n?"bottom":c===o?"top":c===a?"right":"left"}#f(t,e){let i=this.#t.length,s=e===i-1,n=e===0,a=(this.dataset.mode??"passive")!=="forced",l=t.action!=="none";this.#s.innerHTML=`
|
|
1108
|
+
<div class="page-tour-progress" aria-hidden="true">
|
|
1109
|
+
${this.#t.map((c,h)=>`
|
|
1110
|
+
<span class="page-tour-pip" ${h===e?"data-active":""} ${h<e?"data-visited":""}></span>
|
|
1111
|
+
`).join("")}
|
|
1112
|
+
</div>
|
|
1113
|
+
<p class="page-tour-meta">
|
|
1114
|
+
<span class="page-tour-step-count">Step ${e+1} of ${i}</span>
|
|
1115
|
+
</p>
|
|
1116
|
+
<div class="page-tour-content">
|
|
1117
|
+
${t.innerHTML}
|
|
1118
|
+
</div>
|
|
1119
|
+
${l&&t.actionHint?`
|
|
1120
|
+
<p class="page-tour-action-hint">${t.actionHint}</p>
|
|
1121
|
+
`:""}
|
|
1122
|
+
<footer class="page-tour-footer">
|
|
1123
|
+
${a?`
|
|
1124
|
+
<button type="button" class="page-tour-skip" data-action="skip">
|
|
1125
|
+
${s?"Close":"Skip tour"}
|
|
1126
|
+
</button>
|
|
1127
|
+
`:""}
|
|
1128
|
+
<nav class="page-tour-nav" aria-label="Tour navigation">
|
|
1129
|
+
${n?"":`
|
|
1130
|
+
<button type="button" class="page-tour-prev" data-action="prev">
|
|
1131
|
+
Previous
|
|
1132
|
+
</button>
|
|
1133
|
+
`}
|
|
1134
|
+
<button
|
|
1135
|
+
type="button"
|
|
1136
|
+
class="page-tour-next"
|
|
1137
|
+
data-action="next"
|
|
1138
|
+
${l?"data-waiting":""}
|
|
1139
|
+
>
|
|
1140
|
+
${s?"Finish":"Next"}
|
|
1141
|
+
</button>
|
|
1142
|
+
</nav>
|
|
1143
|
+
</footer>
|
|
1144
|
+
`}#v(t,e="next"){if(this.#l?.abort(),this.#l=null,this.#e!==t){let c=this.#t[this.#e],h=c?document.querySelector(c.target):null;h&&(rt&&(h.style.anchorName=""),h.removeAttribute("data-tour-target"))}this.#$(),this.#e=t;let i=this.#t[t],s=document.querySelector(i.target);if(!s){console.warn(`[page-tour] Target "${i.target}" not found, skipping step ${t}`),e==="next"&&t<this.#t.length-1?this.#v(t+1,"next"):e==="prev"&&t>0&&this.#v(t-1,"prev");return}s.setAttribute("data-tour-target","");let n=Ie()?"instant":i.scrollBehavior;i.scrollBehavior!=="none"&&s.scrollIntoView({block:"nearest",behavior:n});let o=()=>{this.#h(s),this.#y(s,i.placement)};o(),setTimeout(o,Ie()?0:300),this.#f(i,t),this.#s.hasAttribute("tabindex")||this.#s.setAttribute("tabindex","-1"),this.#s.focus(),requestAnimationFrame(()=>{let c=this.#s?.querySelector(".page-tour-content h3, .page-tour-content h2, .page-tour-content h4");c?(c.hasAttribute("tabindex")||c.setAttribute("tabindex","-1"),c.focus()):this.#s?.querySelector('[data-action="next"]')?.focus()});let l=i.querySelector("h3, h2, h4")?.textContent??`Step ${t+1}`;this.#T(`Step ${t+1} of ${this.#t.length}: ${l}`),this.dataset.step=String(t),i.action!=="none"&&this.#w(i),this.#C(s),this.#j({step:t}),this.#i&&this.#_("tour:step",{step:t,target:s,direction:e})}#w(t){let e=document.querySelector(t.target);if(!e)return;let i=this.#s?.querySelector('[data-action="next"]'),s=new AbortController;this.#l=s;let o={click:"click",focus:"focus",input:"input",change:"change"}[t.action];o?e.addEventListener(o,()=>{i?.removeAttribute("data-waiting"),this.#s?.querySelector(".page-tour-action-hint")?.remove(),i?.focus(),this.#_("tour:action",{step:this.#e,action:t.action}),s.abort()},{signal:s.signal,once:!0}):t.action==="custom"&&this.addEventListener("tour:action",()=>{i?.removeAttribute("data-waiting"),this.#s?.querySelector(".page-tour-action-hint")?.remove(),i?.focus(),s.abort()},{signal:s.signal,once:!0})}#E(t){let e=this.dataset.mode??"passive",s=this.#t[this.#e]?.action!=="none",o=this.#s?.querySelector('[data-action="next"]')?.hasAttribute("data-waiting");switch(t.key){case"Escape":e!=="forced"&&(t.preventDefault(),this.skip());break;case"ArrowRight":case"ArrowDown":t.preventDefault(),s&&o||this.next();break;case"ArrowLeft":case"ArrowUp":t.preventDefault(),this.prev();break;case"Home":t.preventDefault(),this.goto(0);break;case"End":t.preventDefault(),this.goto(this.#t.length-1);break;case"Tab":this.#S(t,s&&o);break}}#S(t,e){let i=[...this.#s.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(c=>!c.disabled&&c.offsetParent!==null),s=[];if(e){let c=this.#t[this.#e],h=document.querySelector(c.target);h&&(s=(h.matches("input, select, textarea, button, [href], [tabindex]")?[h]:[...h.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')]).filter(d=>!d.disabled&&d.offsetParent!==null))}let n=[...i,...s];if(n.length===0)return;let o=n[0],a=n[n.length-1],l=document.activeElement;t.shiftKey?(l===o||!n.includes(l))&&(t.preventDefault(),a.focus()):(l===a||!n.includes(l))&&(t.preventDefault(),o.focus())}#A(t){let e=t.target.closest("[data-action]");if(!e)return;switch(e.dataset.action){case"next":this.next();break;case"prev":this.prev();break;case"skip":this.skip();break}}#C(t){this.#u=new ResizeObserver(()=>{this.#k(t)}),this.#u.observe(t),this.listen(window,"scroll",()=>this.#k(t),{passive:!0})}#$(){this.#u&&(this.#u.disconnect(),this.#u=null),this.#c&&(cancelAnimationFrame(this.#c),this.#c=null)}#k(t){this.#c||(this.#c=requestAnimationFrame(()=>{if(this.#c=null,!this.#i)return;this.#h(t);let e=this.#t[this.#e];rt||this.#g(t,e.placement)}))}#x(){this.#_("tour:complete",{steps:this.#t.length}),this.#j({complete:!0}),this.stop(),this.setAttribute("data-complete","")}#N(){this.#l?.abort(),this.#l=null,this.#$();let t=this.#t[this.#e],e=t?document.querySelector(t.target):null;e&&(rt&&(e.style.anchorName=""),e.removeAttribute("data-tour-target")),this.#r?.remove(),this.#n?.remove(),this.#s?.hidePopover?.(),this.#s?.remove(),this.#o?.remove(),this.#r=null,this.#n=null,this.#s=null,this.#o=null,this.#a&&typeof this.#a.focus=="function"&&(this.#a.focus(),this.#a=null)}#T(t){this.#o&&(this.#o.textContent="",requestAnimationFrame(()=>{this.#o&&(this.#o.textContent=t)}))}#_(t,e){let i=t!=="tour:skip";this.dispatchEvent(new CustomEvent(t,{bubbles:!0,cancelable:i,detail:e}))}#L(){let t=this.dataset.persist??"session";return t==="session"?sessionStorage:t==="local"?localStorage:null}#M(){return`vb-tour-${this.dataset.persistKey??window.location.pathname}`}#j(t){let e=this.#L();if(!e)return;let i=this.#M(),s={};try{s=JSON.parse(e.getItem(i))??{}}catch{}e.setItem(i,JSON.stringify({...s,...t}))}#B(){let t=this.#L();if(!t)return null;try{return JSON.parse(t.getItem(this.#M()))}catch{return null}}#I(){let t=this.#L();t&&t.removeItem(this.#M())}};m("page-tour",Zt);m("tour-step",Yt);function ie(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var q=ie();function Ue(r){q=r}var B={exec:()=>null};function b(r,t=""){let e=typeof r=="string"?r:r.source,i={replace:(s,n)=>{let o=typeof n=="string"?n:n.source;return o=o.replace(E.caret,"$1"),e=e.replace(s,o),i},getRegex:()=>new RegExp(e,t)};return i}var cs=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),E={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}>`)},hs=/^(?:[ \t]*(?:\n|$))+/,us=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ds=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,J=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ps=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,se=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Ge=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,We=b(Ge).replace(/bull/g,se).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ms=b(Ge).replace(/bull/g,se).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),re=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,fs=/^[^\n]+/,ne=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,gs=b(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ne).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),bs=b(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,se).getRegex(),ct="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",oe=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,vs=b("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",oe).replace("tag",ct).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ke=b(re).replace("hr",J).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex(),ys=b(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ke).getRegex(),ae={blockquote:ys,code:us,def:gs,fences:ds,heading:ps,hr:J,html:vs,lheading:We,list:bs,newline:hs,paragraph:Ke,table:B,text:fs},qe=b("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",J).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex(),ws={...ae,lheading:ms,table:qe,paragraph:b(re).replace("hr",J).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qe).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",ct).getRegex()},ks={...ae,html:b(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",oe).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:B,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:b(re).replace("hr",J).replace("heading",` *#{1,6} *[^
|
|
1145
|
+
]`).replace("lheading",We).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,As=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Xe=/^( {2,}|\\)\n(?!\s*$)/,Es=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,F=/[\p{P}\p{S}]/u,ht=/[\s\p{P}\p{S}]/u,le=/[^\s\p{P}\p{S}]/u,Ss=b(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,ht).getRegex(),Je=/(?!~)[\p{P}\p{S}]/u,Cs=/(?!~)[\s\p{P}\p{S}]/u,Ts=/(?:[^\s\p{P}\p{S}]|~)/u,_s=b(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",cs?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Ye=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Ms=b(Ye,"u").replace(/punct/g,F).getRegex(),$s=b(Ye,"u").replace(/punct/g,Je).getRegex(),Ze="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ls=b(Ze,"gu").replace(/notPunctSpace/g,le).replace(/punctSpace/g,ht).replace(/punct/g,F).getRegex(),js=b(Ze,"gu").replace(/notPunctSpace/g,Ts).replace(/punctSpace/g,Cs).replace(/punct/g,Je).getRegex(),Rs=b("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,le).replace(/punctSpace/g,ht).replace(/punct/g,F).getRegex(),Ns=b(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,F).getRegex(),zs="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",Ps=b(zs,"gu").replace(/notPunctSpace/g,le).replace(/punctSpace/g,ht).replace(/punct/g,F).getRegex(),Bs=b(/\\(punct)/,"gu").replace(/punct/g,F).getRegex(),Is=b(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),qs=b(oe).replace("(?:-->|$)","-->").getRegex(),Ds=b("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",qs).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ot=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Fs=b(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",ot).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Qe=b(/^!?\[(label)\]\[(ref)\]/).replace("label",ot).replace("ref",ne).getRegex(),ti=b(/^!?\[(ref)\](?:\[\])?/).replace("ref",ne).getRegex(),Os=b("reflink|nolink(?!\\()","g").replace("reflink",Qe).replace("nolink",ti).getRegex(),De=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ce={_backpedal:B,anyPunctuation:Bs,autolink:Is,blockSkip:_s,br:Xe,code:As,del:B,delLDelim:B,delRDelim:B,emStrongLDelim:Ms,emStrongRDelimAst:Ls,emStrongRDelimUnd:Rs,escape:xs,link:Fs,nolink:ti,punctuation:Ss,reflink:Qe,reflinkSearch:Os,tag:Ds,text:Es,url:B},Hs={...ce,link:b(/^!?\[(label)\]\((.*?)\)/).replace("label",ot).getRegex(),reflink:b(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ot).getRegex()},Qt={...ce,emStrongRDelimAst:js,emStrongLDelim:$s,delLDelim:Ns,delRDelim:Ps,url:b(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",De).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:b(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",De).getRegex()},Vs={...Qt,br:b(Xe).replace("{2,}","*").getRegex(),text:b(Qt.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},nt={normal:ae,gfm:ws,pedantic:ks},W={normal:ce,gfm:Qt,breaks:Vs,pedantic:Hs},Us={"&":"&","<":"<",">":">",'"':""","'":"'"},Fe=r=>Us[r];function $(r,t){if(t){if(E.escapeTest.test(r))return r.replace(E.escapeReplace,Fe)}else if(E.escapeTestNoEncode.test(r))return r.replace(E.escapeReplaceNoEncode,Fe);return r}function Oe(r){try{r=encodeURI(r).replace(E.percentDecode,"%")}catch{return null}return r}function He(r,t){let e=r.replace(E.findPipe,(n,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),i=e.split(E.splitPipe),s=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),t)if(i.length>t)i.splice(t);else for(;i.length<t;)i.push("");for(;s<i.length;s++)i[s]=i[s].trim().replace(E.slashPipe,"|");return i}function K(r,t,e){let i=r.length;if(i===0)return"";let s=0;for(;s<i;){let n=r.charAt(i-s-1);if(n===t&&!e)s++;else if(n!==t&&e)s++;else break}return r.slice(0,i-s)}function Gs(r,t){if(r.indexOf(t[1])===-1)return-1;let e=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===t[0])e++;else if(r[i]===t[1]&&(e--,e<0))return i;return e>0?-2:-1}function Ws(r,t=0){let e=t,i="";for(let s of r)if(s===" "){let n=4-e%4;i+=" ".repeat(n),e+=n}else i+=s,e++;return i}function Ve(r,t,e,i,s){let n=t.href,o=t.title||null,a=r[1].replace(s.other.outputLinkReplace,"$1");i.state.inLink=!0;let l={type:r[0].charAt(0)==="!"?"image":"link",raw:e,href:n,title:o,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,l}function Ks(r,t,e){let i=r.match(e.other.indentCodeCompensation);if(i===null)return t;let s=i[1];return t.split(`
|
|
1146
|
+
`).map(n=>{let o=n.match(e.other.beginningSpace);if(o===null)return n;let[a]=o;return a.length>=s.length?n.slice(s.length):n}).join(`
|
|
1147
|
+
`)}var at=class{options;rules;lexer;constructor(r){this.options=r||q}space(r){let t=this.rules.block.newline.exec(r);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(r){let t=this.rules.block.code.exec(r);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:K(e,`
|
|
1148
|
+
`)}}}fences(r){let t=this.rules.block.fences.exec(r);if(t){let e=t[0],i=Ks(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:i}}}heading(r){let t=this.rules.block.heading.exec(r);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let i=K(e,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(e=i.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(r){let t=this.rules.block.hr.exec(r);if(t)return{type:"hr",raw:K(t[0],`
|
|
1149
|
+
`)}}blockquote(r){let t=this.rules.block.blockquote.exec(r);if(t){let e=K(t[0],`
|
|
1150
|
+
`).split(`
|
|
1151
|
+
`),i="",s="",n=[];for(;e.length>0;){let o=!1,a=[],l;for(l=0;l<e.length;l++)if(this.rules.other.blockquoteStart.test(e[l]))a.push(e[l]),o=!0;else if(!o)a.push(e[l]);else break;e=e.slice(l);let c=a.join(`
|
|
1152
|
+
`),h=c.replace(this.rules.other.blockquoteSetextReplace,`
|
|
1153
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
|
|
1154
|
+
${c}`:c,s=s?`${s}
|
|
1155
|
+
${h}`:h;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,n,!0),this.lexer.state.top=u,e.length===0)break;let d=n.at(-1);if(d?.type==="code")break;if(d?.type==="blockquote"){let p=d,g=p.raw+`
|
|
1156
|
+
`+e.join(`
|
|
1157
|
+
`),v=this.blockquote(g);n[n.length-1]=v,i=i.substring(0,i.length-p.raw.length)+v.raw,s=s.substring(0,s.length-p.text.length)+v.text;break}else if(d?.type==="list"){let p=d,g=p.raw+`
|
|
1158
|
+
`+e.join(`
|
|
1159
|
+
`),v=this.list(g);n[n.length-1]=v,i=i.substring(0,i.length-d.raw.length)+v.raw,s=s.substring(0,s.length-p.raw.length)+v.raw,e=g.substring(n.at(-1).raw.length).split(`
|
|
1160
|
+
`);continue}}return{type:"blockquote",raw:i,tokens:n,text:s}}}list(r){let t=this.rules.block.list.exec(r);if(t){let e=t[1].trim(),i=e.length>1,s={type:"list",raw:"",ordered:i,start:i?+e.slice(0,-1):"",loose:!1,items:[]};e=i?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=i?e:"[*+-]");let n=this.rules.other.listItemRegex(e),o=!1;for(;r;){let l=!1,c="",h="";if(!(t=n.exec(r))||this.rules.block.hr.test(r))break;c=t[0],r=r.substring(c.length);let u=Ws(t[2].split(`
|
|
1161
|
+
`,1)[0],t[1].length),d=r.split(`
|
|
1162
|
+
`,1)[0],p=!u.trim(),g=0;if(this.options.pedantic?(g=2,h=u.trimStart()):p?g=t[1].length+1:(g=u.search(this.rules.other.nonSpaceChar),g=g>4?1:g,h=u.slice(g),g+=t[1].length),p&&this.rules.other.blankLine.test(d)&&(c+=d+`
|
|
1163
|
+
`,r=r.substring(d.length+1),l=!0),!l){let v=this.rules.other.nextBulletRegex(g),w=this.rules.other.hrRegex(g),S=this.rules.other.fencesBeginRegex(g),A=this.rules.other.headingBeginRegex(g),N=this.rules.other.htmlBeginRegex(g),z=this.rules.other.blockquoteBeginRegex(g);for(;r;){let j=r.split(`
|
|
1164
|
+
`,1)[0],L;if(d=j,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),L=d):L=d.replace(this.rules.other.tabCharGlobal," "),S.test(d)||A.test(d)||N.test(d)||z.test(d)||v.test(d)||w.test(d))break;if(L.search(this.rules.other.nonSpaceChar)>=g||!d.trim())h+=`
|
|
1165
|
+
`+L.slice(g);else{if(p||u.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||S.test(u)||A.test(u)||w.test(u))break;h+=`
|
|
1166
|
+
`+d}p=!d.trim(),c+=j+`
|
|
1167
|
+
`,r=r.substring(j.length+1),u=L.slice(g)}}s.loose||(o?s.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0)),s.items.push({type:"list_item",raw:c,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),s.raw+=c}let a=s.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let l of s.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,""),l.tokens[0]?.type==="text"||l.tokens[0]?.type==="paragraph"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let c=this.rules.other.listTaskCheckbox.exec(l.raw);if(c){let h={type:"checkbox",raw:c[0]+" ",checked:c[0]!=="[ ]"};l.checked=h.checked,s.loose?l.tokens[0]&&["paragraph","text"].includes(l.tokens[0].type)&&"tokens"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=h.raw+l.tokens[0].raw,l.tokens[0].text=h.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(h)):l.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):l.tokens.unshift(h)}}if(!s.loose){let c=l.tokens.filter(u=>u.type==="space"),h=c.length>0&&c.some(u=>this.rules.other.anyLine.test(u.raw));s.loose=h}}if(s.loose)for(let l of s.items){l.loose=!0;for(let c of l.tokens)c.type==="text"&&(c.type="paragraph")}return s}}html(r){let t=this.rules.block.html.exec(r);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(r){let t=this.rules.block.def.exec(r);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:i,title:s}}}table(r){let t=this.rules.block.table.exec(r);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let e=He(t[1]),i=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
1168
|
+
`):[],n={type:"table",raw:t[0],header:[],align:[],rows:[]};if(e.length===i.length){for(let o of i)this.rules.other.tableAlignRight.test(o)?n.align.push("right"):this.rules.other.tableAlignCenter.test(o)?n.align.push("center"):this.rules.other.tableAlignLeft.test(o)?n.align.push("left"):n.align.push(null);for(let o=0;o<e.length;o++)n.header.push({text:e[o],tokens:this.lexer.inline(e[o]),header:!0,align:n.align[o]});for(let o of s)n.rows.push(He(o,n.header.length).map((a,l)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:n.align[l]})));return n}}lheading(r){let t=this.rules.block.lheading.exec(r);if(t){let e=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(r){let t=this.rules.block.paragraph.exec(r);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
1169
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(r){let t=this.rules.block.text.exec(r);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(r){let t=this.rules.inline.escape.exec(r);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(r){let t=this.rules.inline.tag.exec(r);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(r){let t=this.rules.inline.link.exec(r);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let n=K(e.slice(0,-1),"\\");if((e.length-n.length)%2===0)return}else{let n=Gs(t[2],"()");if(n===-2)return;if(n>-1){let o=(t[0].indexOf("!")===0?5:4)+t[1].length+n;t[2]=t[2].substring(0,n),t[0]=t[0].substring(0,o).trim(),t[3]=""}}let i=t[2],s="";if(this.options.pedantic){let n=this.rules.other.pedanticHrefTitle.exec(i);n&&(i=n[1],s=n[3])}else s=t[3]?t[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?i=i.slice(1):i=i.slice(1,-1)),Ve(t,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(r,t){let e;if((e=this.rules.inline.reflink.exec(r))||(e=this.rules.inline.nolink.exec(r))){let i=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=t[i.toLowerCase()];if(!s){let n=e[0].charAt(0);return{type:"text",raw:n,text:n}}return Ve(e,s,e[0],this.lexer,this.rules)}}emStrong(r,t,e=""){let i=this.rules.inline.emStrongLDelim.exec(r);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!e||this.rules.inline.punctuation.exec(e))){let s=[...i[0]].length-1,n,o,a=s,l=0,c=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*r.length+s);(i=c.exec(t))!=null;){if(n=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!n)continue;if(o=[...n].length,i[3]||i[4]){a+=o;continue}else if((i[5]||i[6])&&s%3&&!((s+o)%3)){l+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a+l);let h=[...i[0]][0].length,u=r.slice(0,s+i.index+h+o);if(Math.min(s,o)%2){let p=u.slice(1,-1);return{type:"em",raw:u,text:p,tokens:this.lexer.inlineTokens(p)}}let d=u.slice(2,-2);return{type:"strong",raw:u,text:d,tokens:this.lexer.inlineTokens(d)}}}}codespan(r){let t=this.rules.inline.code.exec(r);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(e),s=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return i&&s&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(r){let t=this.rules.inline.br.exec(r);if(t)return{type:"br",raw:t[0]}}del(r,t,e=""){let i=this.rules.inline.delLDelim.exec(r);if(i&&(!i[1]||!e||this.rules.inline.punctuation.exec(e))){let s=[...i[0]].length-1,n,o,a=s,l=this.rules.inline.delRDelim;for(l.lastIndex=0,t=t.slice(-1*r.length+s);(i=l.exec(t))!=null;){if(n=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!n||(o=[...n].length,o!==s))continue;if(i[3]||i[4]){a+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a);let c=[...i[0]][0].length,h=r.slice(0,s+i.index+c+o),u=h.slice(s,-s);return{type:"del",raw:h,text:u,tokens:this.lexer.inlineTokens(u)}}}}autolink(r){let t=this.rules.inline.autolink.exec(r);if(t){let e,i;return t[2]==="@"?(e=t[1],i="mailto:"+e):(e=t[1],i=e),{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}url(r){let t;if(t=this.rules.inline.url.exec(r)){let e,i;if(t[2]==="@")e=t[0],i="mailto:"+e;else{let s;do s=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(s!==t[0]);e=t[0],t[1]==="www."?i="http://"+t[0]:i=t[0]}return{type:"link",raw:t[0],text:e,href:i,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(r){let t=this.rules.inline.text.exec(r);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},C=class te{tokens;options;state;inlineQueue;tokenizer;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||q,this.options.tokenizer=this.options.tokenizer||new at,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:E,block:nt.normal,inline:W.normal};this.options.pedantic?(e.block=nt.pedantic,e.inline=W.pedantic):this.options.gfm&&(e.block=nt.gfm,this.options.breaks?e.inline=W.breaks:e.inline=W.gfm),this.tokenizer.rules=e}static get rules(){return{block:nt,inline:W}}static lex(t,e){return new te(e).lex(t)}static lexInline(t,e){return new te(e).inlineTokens(t)}lex(t){t=t.replace(E.carriageReturn,`
|
|
1170
|
+
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let i=this.inlineQueue[e];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],i=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace(E.tabCharGlobal," ").replace(E.spaceLine,""));t;){let s;if(this.options.extensions?.block?.some(o=>(s=o.call({lexer:this},t,e))?(t=t.substring(s.raw.length),e.push(s),!0):!1))continue;if(s=this.tokenizer.space(t)){t=t.substring(s.raw.length);let o=e.at(-1);s.raw.length===1&&o!==void 0?o.raw+=`
|
|
1171
|
+
`:e.push(s);continue}if(s=this.tokenizer.code(t)){t=t.substring(s.raw.length);let o=e.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1172
|
+
`)?"":`
|
|
1173
|
+
`)+s.raw,o.text+=`
|
|
1174
|
+
`+s.text,this.inlineQueue.at(-1).src=o.text):e.push(s);continue}if(s=this.tokenizer.fences(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.heading(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.hr(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.blockquote(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.list(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.html(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.def(t)){t=t.substring(s.raw.length);let o=e.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1175
|
+
`)?"":`
|
|
1176
|
+
`)+s.raw,o.text+=`
|
|
1177
|
+
`+s.raw,this.inlineQueue.at(-1).src=o.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title},e.push(s));continue}if(s=this.tokenizer.table(t)){t=t.substring(s.raw.length),e.push(s);continue}if(s=this.tokenizer.lheading(t)){t=t.substring(s.raw.length),e.push(s);continue}let n=t;if(this.options.extensions?.startBlock){let o=1/0,a=t.slice(1),l;this.options.extensions.startBlock.forEach(c=>{l=c.call({lexer:this},a),typeof l=="number"&&l>=0&&(o=Math.min(o,l))}),o<1/0&&o>=0&&(n=t.substring(0,o+1))}if(this.state.top&&(s=this.tokenizer.paragraph(n))){let o=e.at(-1);i&&o?.type==="paragraph"?(o.raw+=(o.raw.endsWith(`
|
|
1178
|
+
`)?"":`
|
|
1179
|
+
`)+s.raw,o.text+=`
|
|
1180
|
+
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):e.push(s),i=n.length!==t.length,t=t.substring(s.raw.length);continue}if(s=this.tokenizer.text(t)){t=t.substring(s.raw.length);let o=e.at(-1);o?.type==="text"?(o.raw+=(o.raw.endsWith(`
|
|
1181
|
+
`)?"":`
|
|
1182
|
+
`)+s.raw,o.text+=`
|
|
1183
|
+
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):e.push(s);continue}if(t){let o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){this.tokenizer.lexer=this;let i=t,s=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)l.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,s.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let n;for(;(s=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)n=s[2]?s[2].length:0,i=i.slice(0,s.index+n)+"["+"a".repeat(s[0].length-n-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=this.options.hooks?.emStrongMask?.call({lexer:this},i)??i;let o=!1,a="";for(;t;){o||(a=""),o=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},t,e))?(t=t.substring(l.raw.length),e.push(l),!0):!1))continue;if(l=this.tokenizer.escape(t)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.tag(t)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.link(t)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(l.raw.length);let h=e.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):e.push(l);continue}if(l=this.tokenizer.emStrong(t,i,a)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.codespan(t)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.br(t)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.del(t,i,a)){t=t.substring(l.raw.length),e.push(l);continue}if(l=this.tokenizer.autolink(t)){t=t.substring(l.raw.length),e.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(t))){t=t.substring(l.raw.length),e.push(l);continue}let c=t;if(this.options.extensions?.startInline){let h=1/0,u=t.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},u),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(c=t.substring(0,h+1))}if(l=this.tokenizer.inlineText(c)){t=t.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(a=l.raw.slice(-1)),o=!0;let h=e.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):e.push(l);continue}if(t){let h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return e}},lt=class{options;parser;constructor(r){this.options=r||q}space(r){return""}code({text:r,lang:t,escaped:e}){let i=(t||"").match(E.notSpaceStart)?.[0],s=r.replace(E.endingNewline,"")+`
|
|
1184
|
+
`;return i?'<pre><code class="language-'+$(i)+'">'+(e?s:$(s,!0))+`</code></pre>
|
|
1185
|
+
`:"<pre><code>"+(e?s:$(s,!0))+`</code></pre>
|
|
1186
|
+
`}blockquote({tokens:r}){return`<blockquote>
|
|
1187
|
+
${this.parser.parse(r)}</blockquote>
|
|
1188
|
+
`}html({text:r}){return r}def(r){return""}heading({tokens:r,depth:t}){return`<h${t}>${this.parser.parseInline(r)}</h${t}>
|
|
1189
|
+
`}hr(r){return`<hr>
|
|
1190
|
+
`}list(r){let t=r.ordered,e=r.start,i="";for(let o=0;o<r.items.length;o++){let a=r.items[o];i+=this.listitem(a)}let s=t?"ol":"ul",n=t&&e!==1?' start="'+e+'"':"";return"<"+s+n+`>
|
|
1191
|
+
`+i+"</"+s+`>
|
|
1192
|
+
`}listitem(r){return`<li>${this.parser.parse(r.tokens)}</li>
|
|
1193
|
+
`}checkbox({checked:r}){return"<input "+(r?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:r}){return`<p>${this.parser.parseInline(r)}</p>
|
|
1194
|
+
`}table(r){let t="",e="";for(let s=0;s<r.header.length;s++)e+=this.tablecell(r.header[s]);t+=this.tablerow({text:e});let i="";for(let s=0;s<r.rows.length;s++){let n=r.rows[s];e="";for(let o=0;o<n.length;o++)e+=this.tablecell(n[o]);i+=this.tablerow({text:e})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
1195
|
+
<thead>
|
|
1196
|
+
`+t+`</thead>
|
|
1197
|
+
`+i+`</table>
|
|
1198
|
+
`}tablerow({text:r}){return`<tr>
|
|
1199
|
+
${r}</tr>
|
|
1200
|
+
`}tablecell(r){let t=this.parser.parseInline(r.tokens),e=r.header?"th":"td";return(r.align?`<${e} align="${r.align}">`:`<${e}>`)+t+`</${e}>
|
|
1201
|
+
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${$(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${this.parser.parseInline(r)}</del>`}link({href:r,title:t,tokens:e}){let i=this.parser.parseInline(e),s=Oe(r);if(s===null)return i;r=s;let n='<a href="'+r+'"';return t&&(n+=' title="'+$(t)+'"'),n+=">"+i+"</a>",n}image({href:r,title:t,text:e,tokens:i}){i&&(e=this.parser.parseInline(i,this.parser.textRenderer));let s=Oe(r);if(s===null)return $(e);r=s;let n=`<img src="${r}" alt="${$(e)}"`;return t&&(n+=` title="${$(t)}"`),n+=">",n}text(r){return"tokens"in r&&r.tokens?this.parser.parseInline(r.tokens):"escaped"in r&&r.escaped?r.text:$(r.text)}},he=class{strong({text:r}){return r}em({text:r}){return r}codespan({text:r}){return r}del({text:r}){return r}html({text:r}){return r}text({text:r}){return r}link({text:r}){return""+r}image({text:r}){return""+r}br(){return""}checkbox({raw:r}){return r}},T=class ee{options;renderer;textRenderer;constructor(t){this.options=t||q,this.options.renderer=this.options.renderer||new lt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new he}static parse(t,e){return new ee(e).parse(t)}static parseInline(t,e){return new ee(e).parseInline(t)}parse(t){this.renderer.parser=this;let e="";for(let i=0;i<t.length;i++){let s=t[i];if(this.options.extensions?.renderers?.[s.type]){let o=s,a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){e+=a||"";continue}}let n=s;switch(n.type){case"space":{e+=this.renderer.space(n);break}case"hr":{e+=this.renderer.hr(n);break}case"heading":{e+=this.renderer.heading(n);break}case"code":{e+=this.renderer.code(n);break}case"table":{e+=this.renderer.table(n);break}case"blockquote":{e+=this.renderer.blockquote(n);break}case"list":{e+=this.renderer.list(n);break}case"checkbox":{e+=this.renderer.checkbox(n);break}case"html":{e+=this.renderer.html(n);break}case"def":{e+=this.renderer.def(n);break}case"paragraph":{e+=this.renderer.paragraph(n);break}case"text":{e+=this.renderer.text(n);break}default:{let o='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return e}parseInline(t,e=this.renderer){this.renderer.parser=this;let i="";for(let s=0;s<t.length;s++){let n=t[s];if(this.options.extensions?.renderers?.[n.type]){let a=this.options.extensions.renderers[n.type].call({parser:this},n);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(n.type)){i+=a||"";continue}}let o=n;switch(o.type){case"escape":{i+=e.text(o);break}case"html":{i+=e.html(o);break}case"link":{i+=e.link(o);break}case"image":{i+=e.image(o);break}case"checkbox":{i+=e.checkbox(o);break}case"strong":{i+=e.strong(o);break}case"em":{i+=e.em(o);break}case"codespan":{i+=e.codespan(o);break}case"br":{i+=e.br(o);break}case"del":{i+=e.del(o);break}case"text":{i+=e.text(o);break}default:{let a='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return i}},X=class{options;block;constructor(r){this.options=r||q}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(r){return r}postprocess(r){return r}processAllTokens(r){return r}emStrongMask(r){return r}provideLexer(){return this.block?C.lex:C.lexInline}provideParser(){return this.block?T.parse:T.parseInline}},Xs=class{defaults=ie();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=T;Renderer=lt;TextRenderer=he;Lexer=C;Tokenizer=at;Hooks=X;constructor(...r){this.use(...r)}walkTokens(r,t){let e=[];for(let i of r)switch(e=e.concat(t.call(this,i)),i.type){case"table":{let s=i;for(let n of s.header)e=e.concat(this.walkTokens(n.tokens,t));for(let n of s.rows)for(let o of n)e=e.concat(this.walkTokens(o.tokens,t));break}case"list":{let s=i;e=e.concat(this.walkTokens(s.items,t));break}default:{let s=i;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(n=>{let o=s[n].flat(1/0);e=e.concat(this.walkTokens(o,t))}):s.tokens&&(e=e.concat(this.walkTokens(s.tokens,t)))}}return e}use(...r){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(e=>{let i={...e};if(i.async=this.defaults.async||i.async||!1,e.extensions&&(e.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let n=t.renderers[s.name];n?t.renderers[s.name]=function(...o){let a=s.renderer.apply(this,o);return a===!1&&(a=n.apply(this,o)),a}:t.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let n=t[s.level];n?n.unshift(s.tokenizer):t[s.level]=[s.tokenizer],s.start&&(s.level==="block"?t.startBlock?t.startBlock.push(s.start):t.startBlock=[s.start]:s.level==="inline"&&(t.startInline?t.startInline.push(s.start):t.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(t.childTokens[s.name]=s.childTokens)}),i.extensions=t),e.renderer){let s=this.defaults.renderer||new lt(this.defaults);for(let n in e.renderer){if(!(n in s))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let o=n,a=e.renderer[o],l=s[o];s[o]=(...c)=>{let h=a.apply(s,c);return h===!1&&(h=l.apply(s,c)),h||""}}i.renderer=s}if(e.tokenizer){let s=this.defaults.tokenizer||new at(this.defaults);for(let n in e.tokenizer){if(!(n in s))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let o=n,a=e.tokenizer[o],l=s[o];s[o]=(...c)=>{let h=a.apply(s,c);return h===!1&&(h=l.apply(s,c)),h}}i.tokenizer=s}if(e.hooks){let s=this.defaults.hooks||new X;for(let n in e.hooks){if(!(n in s))throw new Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let o=n,a=e.hooks[o],l=s[o];X.passThroughHooks.has(n)?s[o]=c=>{if(this.defaults.async&&X.passThroughHooksRespectAsync.has(n))return(async()=>{let u=await a.call(s,c);return l.call(s,u)})();let h=a.call(s,c);return l.call(s,h)}:s[o]=(...c)=>{if(this.defaults.async)return(async()=>{let u=await a.apply(s,c);return u===!1&&(u=await l.apply(s,c)),u})();let h=a.apply(s,c);return h===!1&&(h=l.apply(s,c)),h}}i.hooks=s}if(e.walkTokens){let s=this.defaults.walkTokens,n=e.walkTokens;i.walkTokens=function(o){let a=[];return a.push(n.call(this,o)),s&&(a=a.concat(s.call(this,o))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,t){return C.lex(r,t??this.defaults)}parser(r,t){return T.parse(r,t??this.defaults)}parseMarkdown(r){return(t,e)=>{let i={...e},s={...this.defaults,...i},n=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return n(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return n(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return n(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=r),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(t):t,a=await(s.hooks?await s.hooks.provideLexer():r?C.lex:C.lexInline)(o,s),l=s.hooks?await s.hooks.processAllTokens(a):a;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let c=await(s.hooks?await s.hooks.provideParser():r?T.parse:T.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(c):c})().catch(n);try{s.hooks&&(t=s.hooks.preprocess(t));let o=(s.hooks?s.hooks.provideLexer():r?C.lex:C.lexInline)(t,s);s.hooks&&(o=s.hooks.processAllTokens(o)),s.walkTokens&&this.walkTokens(o,s.walkTokens);let a=(s.hooks?s.hooks.provideParser():r?T.parse:T.parseInline)(o,s);return s.hooks&&(a=s.hooks.postprocess(a)),a}catch(o){return n(o)}}}onError(r,t){return e=>{if(e.message+=`
|
|
1202
|
+
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+$(e.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(e);throw e}}},I=new Xs;function y(r,t){return I.parse(r,t)}y.options=y.setOptions=function(r){return I.setOptions(r),y.defaults=I.defaults,Ue(y.defaults),y};y.getDefaults=ie;y.defaults=q;y.use=function(...r){return I.use(...r),y.defaults=I.defaults,Ue(y.defaults),y};y.walkTokens=function(r,t){return I.walkTokens(r,t)};y.parseInline=I.parseInline;y.Parser=T;y.parser=T.parse;y.Renderer=lt;y.TextRenderer=he;y.Lexer=C;y.lexer=C.lex;y.Tokenizer=at;y.Hooks=X;y.parse=y;var uo=y.options,po=y.setOptions,mo=y.use,fo=y.walkTokens,go=y.parseInline;var bo=T.parse,vo=C.lex;var ue=class extends f{#t=null;#e=null;#i=null;static get observedAttributes(){return["src"]}setup(){this.#n()}teardown(){this.#e?.abort(),this.removeAttribute("data-rendered"),this.removeAttribute("data-loading")}attributeChangedCallback(t,e,i){t==="src"&&i&&e!==i&&this.isConnected&&this.#n()}get parser(){return this.#t}set parser(t){this.#t=typeof t=="function"?t:null}async render(){await this.#n()}async reload(){this.getAttribute("src")&&await this.#n()}#r(){if(this.getAttribute("src"))return null;let t=this.querySelector('script[type="text/markdown"]');if(t)return t.textContent;let e=this.querySelector("template[data-md]");if(e)return e.content.textContent;let i=this.querySelector(":scope > pre");return i?i.textContent:null}async#n(){let t=this.getAttribute("src"),e;if(this.removeAttribute("data-rendered"),this.removeAttribute("data-error"),t){this.#e?.abort(),this.#e=new AbortController,this.setAttribute("data-loading",""),this.#a("markdown-viewer:fetch",{src:t});try{let n=await fetch(t,{signal:this.#e.signal});if(!n.ok)throw new Error(`HTTP ${n.status}: ${n.statusText}`);e=await n.text()}catch(n){if(n.name==="AbortError")return;this.removeAttribute("data-loading"),this.setAttribute("data-error",""),this.#a("markdown-viewer:error",{error:n.message});return}this.removeAttribute("data-loading")}else e=this.#r();if(e==null)return;let i;try{i=await(await this.#s())(e)}catch(n){this.setAttribute("data-error",""),this.#a("markdown-viewer:error",{error:n.message});return}this.#i||(this.#i=document.createElement("div"),this.#i.className="md-content",this.#i.setAttribute("part","content"),this.appendChild(this.#i)),this.#i.innerHTML=i,this.#o(),this.setAttribute("data-rendered","");let s=this.getAttribute("ping");if(s&&navigator.sendBeacon?.(s,JSON.stringify({src:t||"inline"})),this.#a("markdown-viewer:rendered",{src:t,node:this.#i}),this.hasAttribute("highlight"))for(let n of this.#i.querySelectorAll('pre > code[class*="language-"]')){let o=n.className.match(/language-(\S+)/)?.[1]||"";this.#a("markdown-viewer:highlight",{node:n,language:o})}}async#s(){return this.#t?this.#t:t=>y.parse(t,{gfm:!0})}#o(){if(!this.#i)return;let t=this.dataset.theme??this.closest("[data-theme]")?.dataset.theme;t&&(this.#i.dataset.theme=t)}#a(t,e){this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0,composed:!0}))}};m("markdown-viewer",ue);var de=class extends f{#t=null;#e=null;#i=null;#r=null;#n="";#s=0;static get observedAttributes(){return["name","placeholder","rows"]}setup(){this.#o(),this.#a(),this.#l()}teardown(){clearTimeout(this.#s),this.removeAttribute("data-editing")}attributeChangedCallback(t,e,i){!this.#t||e===i||(t==="name"&&(this.#t.name=i||""),t==="placeholder"&&(this.#t.placeholder=i||""),t==="rows"&&(this.#t.rows=parseInt(i,10)||10))}get value(){return this.#t?.value??""}set value(t){this.#t&&(this.#t.value=t,this.#l())}get textarea(){return this.#t}#o(){let e=this.querySelector("textarea")?.value||"";this.#i=document.createElement("section"),this.#i.className="md-editor-pane",this.#i.setAttribute("aria-label","Markdown source"),this.#r=document.createElement("section"),this.#r.className="md-preview-pane",this.#r.setAttribute("aria-label","Rendered preview"),this.#r.setAttribute("aria-live","polite"),this.#t=document.createElement("textarea"),this.#t.className="md-editor-input",this.#t.value=e,this.#t.name=this.getAttribute("name")||"",this.#t.placeholder=this.getAttribute("placeholder")||"Write markdown here...",this.#t.rows=parseInt(this.getAttribute("rows"),10)||10,this.#t.setAttribute("spellcheck","true"),this.#e=document.createElement("markdown-viewer"),this.hasAttribute("highlight")&&this.#e.setAttribute("highlight","");let i=this.dataset.theme??this.closest("[data-theme]")?.dataset.theme;i&&(this.#e.dataset.theme=i),this.#i.appendChild(this.#t),this.#r.appendChild(this.#e),this.innerHTML="",this.appendChild(this.#i),this.appendChild(this.#r),this.#n=e}#a(){this.listen(this.#t,"input",()=>{this.#c("markdown-editor:input",{value:this.#t.value}),this.#u()}),this.listen(this.#t,"focus",()=>{this.setAttribute("data-editing","")}),this.listen(this.#t,"blur",()=>{this.removeAttribute("data-editing"),this.#t.value!==this.#n&&(this.#n=this.#t.value,this.#c("markdown-editor:change",{value:this.#t.value}))}),this.hasAttribute("data-tab-indent")&&this.listen(this.#t,"keydown",t=>{if(t.key==="Tab"&&!t.shiftKey&&!t.ctrlKey&&!t.metaKey){t.preventDefault();let{selectionStart:e,selectionEnd:i}=this.#t;this.#t.setRangeText(" ",e,i,"end"),this.#t.dispatchEvent(new Event("input",{bubbles:!0}))}})}#u(){clearTimeout(this.#s),this.#s=setTimeout(()=>this.#l(),150)}#l(){if(!this.#e)return;let t=this.#t?.value||"";if(!t.trim()){let i=this.#e.querySelector(".md-content");i&&(i.innerHTML="");return}let e=this.#e.querySelector('script[type="text/markdown"]');e||(e=document.createElement("script"),e.type="text/markdown",this.#e.prepend(e)),e.textContent=t,this.#e.removeAttribute("data-rendered"),this.#e.render()}#c(t,e){this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0,composed:!0}))}};m("markdown-editor",de);var ei={shadow:{prefix:"--shadow-",tokens:"xs,s,m,l,xl,2xl"},radius:{prefix:"--radius-",tokens:"xs,s,m,l,xl,2xl,full"},border:{prefix:"--border-width-",tokens:"thin,medium,thick"},color:{prefix:"--color-",tokens:"primary,secondary,accent,success,warning,error,info"},size:{prefix:"--size-",tokens:"3xs,2xs,xs,s,m,l,xl,2xl,3xl"}},ii={shadow:Js,radius:Ys,border:Zs,color:Qs,size:tr},pe=class extends f{static observedAttributes=["type","tokens","prefix","show-values","label"];setup(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}#t(){let t=this.getAttribute("type")||"shadow",e=ei[t]||ei.shadow,i=this.getAttribute("prefix")||e.prefix,s=this.getAttribute("tokens")||e.tokens,n=this.getAttribute("show-values")!=="false",o=this.getAttribute("label")||"",a=s.split(",").map(h=>h.trim()),l=ii[t]||ii.shadow,c="";o&&(c+=`<p style="font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted,#666);margin-block-end:0.75rem;font-family:var(--font-sans,system-ui)">${o}</p>`),c+=l(a,i,n),this.innerHTML=c,n&&requestAnimationFrame(()=>this.#e(t,i,a))}#e(t,e,i){let s=getComputedStyle(this);this.querySelectorAll("[data-token-value]").forEach(n=>{let o=n.dataset.tokenValue,a=s.getPropertyValue(`${e}${o}`).trim();if(t==="radius"||t==="size"){let l=this.querySelector(`[data-token-sample="${o}"]`);if(l){let c=t==="radius"?"borderRadius":"width",h=t==="size"?l.getBoundingClientRect().width:null;n.textContent=h!=null?`${Math.round(h*100)/100}px`:a||"\u2014"}}else n.textContent=a||"\u2014"})}};function Js(r,t,e){let i='<div role="list" style="display:flex;flex-wrap:wrap;gap:1rem;align-items:end">';for(let s of r)i+=`<div role="listitem" style="text-align:center">
|
|
1203
|
+
<div style="width:7rem;height:5rem;background:var(--color-surface,#fff);border-radius:var(--radius-m,0.5rem);box-shadow:var(${t}${s})" aria-hidden="true"></div>
|
|
1204
|
+
<p style="font-family:var(--font-mono,monospace);font-size:0.75rem;color:var(--color-text-muted,#666);margin-block-start:0.5rem">${s}</p>
|
|
1205
|
+
${e?`<p data-token-value="${s}" style="font-family:var(--font-mono,monospace);font-size:0.625rem;color:var(--color-text-muted,#999);max-width:7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap"></p>`:""}
|
|
1206
|
+
</div>`;return i+="</div>",i}function Ys(r,t,e){let i='<div role="list" style="display:flex;flex-wrap:wrap;gap:1rem;align-items:end">';for(let s of r)i+=`<div role="listitem" style="text-align:center">
|
|
1207
|
+
<div data-token-sample="${s}" style="width:4.5rem;height:4.5rem;background:var(--color-primary,oklch(55% 0.2 260));border-radius:var(${t}${s});display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.75rem;font-family:var(--font-mono,monospace)" aria-hidden="true">${s}</div>
|
|
1208
|
+
${e?`<p data-token-value="${s}" style="font-family:var(--font-mono,monospace);font-size:0.625rem;color:var(--color-text-muted,#999);margin-block-start:0.25rem"></p>`:""}
|
|
1209
|
+
</div>`;return i+="</div>",i}function Zs(r,t,e){let i='<div role="list" style="display:flex;flex-direction:column;gap:0.75rem">';for(let s of r)i+=`<div role="listitem" style="display:grid;grid-template-columns:4rem 1fr auto;align-items:center;gap:0.75rem">
|
|
1210
|
+
<span style="font-family:var(--font-mono,monospace);font-size:0.875rem;color:var(--color-text-muted,#666);text-align:end">${s}</span>
|
|
1211
|
+
<div style="border-block-start:var(${t}${s}) solid var(--color-text,#333);min-inline-size:4rem" aria-hidden="true"></div>
|
|
1212
|
+
${e?`<span data-token-value="${s}" style="font-family:var(--font-mono,monospace);font-size:0.75rem;color:var(--color-text-muted,#666);font-variant-numeric:tabular-nums"></span>`:""}
|
|
1213
|
+
</div>`;return i+="</div>",i}function Qs(r,t,e){let i='<div role="list" style="display:flex;flex-wrap:wrap;gap:0.75rem">';for(let s of r)i+=`<div role="listitem" style="text-align:center">
|
|
1214
|
+
<div style="width:4rem;height:3rem;background:var(${t}${s});border-radius:var(--radius-s,0.25rem);border:1px solid var(--color-border,#ddd)" aria-hidden="true"></div>
|
|
1215
|
+
<p style="font-family:var(--font-mono,monospace);font-size:0.625rem;color:var(--color-text-muted,#666);margin-block-start:0.25rem">${s}</p>
|
|
1216
|
+
${e?`<p data-token-value="${s}" style="font-family:var(--font-mono,monospace);font-size:0.5625rem;color:var(--color-text-muted,#999);max-width:4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap"></p>`:""}
|
|
1217
|
+
</div>`;return i+="</div>",i}function tr(r,t,e){let i='<div role="list" style="display:flex;flex-direction:column;gap:0.25rem">';for(let s of r)i+=`<div role="listitem" style="display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:0.75rem;min-block-size:1.75rem">
|
|
1218
|
+
<span style="font-family:var(--font-mono,monospace);font-size:0.875rem;color:var(--color-text-muted,#666);text-align:end">${s}</span>
|
|
1219
|
+
<div data-token-sample="${s}" style="display:block;block-size:var(--size-m,1rem);min-inline-size:2px;inline-size:var(${t}${s});background:var(--color-interactive,oklch(55% 0.2 260));border-radius:var(--radius-s,0.25rem)" aria-hidden="true"></div>
|
|
1220
|
+
${e?`<span data-token-value="${s}" style="font-family:var(--font-mono,monospace);font-size:0.75rem;color:var(--color-text-muted,#666);font-variant-numeric:tabular-nums;min-inline-size:3.5rem;text-align:end"></span>`:""}
|
|
1221
|
+
</div>`;return i+="</div>",i}m("token-specimen",pe);var er={button:()=>`
|
|
1222
|
+
<layout-cluster data-layout-gap="s">
|
|
1223
|
+
<button>Primary</button>
|
|
1224
|
+
<button class="secondary">Secondary</button>
|
|
1225
|
+
<button disabled>Disabled</button>
|
|
1226
|
+
</layout-cluster>`,input:()=>`
|
|
1227
|
+
<layout-stack data-layout-gap="xs">
|
|
1228
|
+
<input type="text" placeholder="Text input" aria-label="Sample text input"/>
|
|
1229
|
+
<input type="email" placeholder="email@example.com" aria-label="Sample email"/>
|
|
1230
|
+
<input type="text" value="Read only" readonly aria-label="Read-only input"/>
|
|
1231
|
+
</layout-stack>`,select:()=>`
|
|
1232
|
+
<select aria-label="Sample select">
|
|
1233
|
+
<option>Choose an option</option>
|
|
1234
|
+
<option>Option A</option>
|
|
1235
|
+
<option>Option B</option>
|
|
1236
|
+
<option>Option C</option>
|
|
1237
|
+
</select>`,checkbox:()=>`
|
|
1238
|
+
<layout-stack data-layout-gap="xs">
|
|
1239
|
+
<label><input type="checkbox" checked="checked"/> Checked option</label>
|
|
1240
|
+
<label><input type="checkbox"/> Unchecked option</label>
|
|
1241
|
+
<label><input type="checkbox" disabled/> Disabled option</label>
|
|
1242
|
+
</layout-stack>`,radio:()=>`
|
|
1243
|
+
<layout-stack data-layout-gap="xs">
|
|
1244
|
+
<label><input type="radio" name="sampler-radio" checked="checked"/> Selected</label>
|
|
1245
|
+
<label><input type="radio" name="sampler-radio"/> Unselected</label>
|
|
1246
|
+
<label><input type="radio" name="sampler-radio" disabled/> Disabled</label>
|
|
1247
|
+
</layout-stack>`,badge:()=>`
|
|
1248
|
+
<layout-cluster data-layout-gap="xs">
|
|
1249
|
+
<layout-badge>Default</layout-badge>
|
|
1250
|
+
<layout-badge data-color="success">Success</layout-badge>
|
|
1251
|
+
<layout-badge data-color="warning">Warning</layout-badge>
|
|
1252
|
+
<layout-badge data-color="danger">Danger</layout-badge>
|
|
1253
|
+
<layout-badge data-color="info">Info</layout-badge>
|
|
1254
|
+
</layout-cluster>`,progress:()=>`
|
|
1255
|
+
<layout-stack data-layout-gap="xs">
|
|
1256
|
+
<progress value="33" max="100">33%</progress>
|
|
1257
|
+
<progress value="66" max="100">66%</progress>
|
|
1258
|
+
<progress value="100" max="100">100%</progress>
|
|
1259
|
+
</layout-stack>`,range:()=>`
|
|
1260
|
+
<input type="range" min="0" max="100" value="50" aria-label="Sample range"/>`,textarea:()=>`
|
|
1261
|
+
<textarea rows="3" placeholder="Textarea sample" aria-label="Sample textarea" style="width:100%"></textarea>`},me=class extends f{static observedAttributes=["components","label","compact"];setup(){this.#t()}attributeChangedCallback(){this.isConnected&&this.#t()}#t(){let t=this.getAttribute("components")||"button,input,select,checkbox,radio,badge,progress",e=this.getAttribute("label")||"",i=this.hasAttribute("compact"),s=t.split(",").map(a=>a.trim()),n=i?"0.75rem":"1.25rem",o="";e&&(o+=`<p style="font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted,#666);margin-block-end:0.75rem;font-family:var(--font-sans,system-ui)">${e}</p>`),o+=`<section style="display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:${n}">`;for(let a of s){let l=er[a];l&&(o+=`<article style="border:1px solid var(--color-border,#ddd);border-radius:var(--radius-m,0.5rem);padding:var(--size-m,1rem);background:var(--color-surface,#fff)">
|
|
1262
|
+
<p style="font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted,#999);margin-block-end:var(--size-s,0.5rem);font-family:var(--font-sans,system-ui)">${a}</p>
|
|
1263
|
+
${l()}
|
|
1264
|
+
</article>`)}o+="</section>",this.innerHTML=o}};m("component-sampler",me);var fe='track[kind="chapters"][data-chapter-list]';function si(r=document){r.querySelectorAll(fe).forEach(t=>ge(t))}function ge(r){if(r.hasAttribute("data-chapter-list-init"))return;r.setAttribute("data-chapter-list-init","");let t=r.parentElement;if(!t||t.tagName!=="VIDEO")return;let e=r.track;e.mode==="disabled"&&(e.mode="hidden"),r.readyState>=2?ri(t,e):r.addEventListener("load",()=>ri(t,e),{once:!0})}function ri(r,t){let e=t.cues;if(!e||e.length===0)return;let i=document.createElement("nav");i.setAttribute("aria-label","Video chapters"),i.classList.add("chapter-list");let s=document.createElement("ol");for(let o of e){let a=document.createElement("li"),l=document.createElement("button");l.type="button";let c=document.createElement("span");c.textContent=o.text;let h=document.createElement("time");h.textContent=ir(o.startTime),h.setAttribute("datetime",sr(o.startTime)),l.appendChild(c),l.appendChild(h),l.addEventListener("click",()=>{r.currentTime=o.startTime,r.paused&&r.play()}),a.appendChild(l),s.appendChild(a)}i.appendChild(s),r.insertAdjacentElement("afterend",i);let n=null;r.addEventListener("timeupdate",()=>{let o=r.currentTime,a=-1;for(let l=0;l<e.length;l++)if(o>=e[l].startTime&&o<e[l].endTime){a=l;break}n&&n.removeAttribute("data-active"),a>=0?(n=s.children[a],n.setAttribute("data-active","")):n=null})}function ir(r){let t=Math.floor(r/3600),e=Math.floor(r%3600/60),i=Math.floor(r%60);return t>0?`${t}:${String(e).padStart(2,"0")}:${String(i).padStart(2,"0")}`:`${e}:${String(i).padStart(2,"0")}`}function sr(r){let t=Math.floor(r/3600),e=Math.floor(r%3600/60),i=Math.floor(r%60);return`PT${t?t+"H":""}${e?e+"M":""}${i}S`}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>si()):si();var rr=new MutationObserver(r=>{for(let t of r)for(let e of t.addedNodes){if(e.nodeType!==Node.ELEMENT_NODE)continue;let i=e;i.matches?.(fe)&&ge(i),i.querySelectorAll?.(fe).forEach(s=>ge(s))}});rr.observe(document.documentElement,{childList:!0,subtree:!0});var O="[data-command], [commandfor]",nr="Page Actions",_=new Map;function ut(r){if(_.has(r)||r.hasAttribute("data-command-init"))return;r.setAttribute("data-command-init","");let t=r.getAttribute("data-command")||r.textContent.trim();if(!t)return;let e=r.getAttribute("data-command-group")||nr,i=r.getAttribute("data-command-icon")||null,s=r.getAttribute("data-shortcut")||null,n=null;s&&(n=D(s,()=>r.click()));let o={element:r,label:t,group:e,icon:i,shortcut:s,unbind:n};_.set(r,o),document.dispatchEvent(new CustomEvent("vb:command-registry-change",{detail:{action:"add",entry:o}}))}function be(r){let t=_.get(r);t&&(t.unbind?.(),_.delete(r),r.removeAttribute("data-command-init"),document.dispatchEvent(new CustomEvent("vb:command-registry-change",{detail:{action:"remove",element:r}})))}function or(){let r=new Map;for(let t of _.values()){if(t.element.hidden||t.element.closest("[hidden]"))continue;let e=r.get(t.group)||[];e.push(t),r.set(t.group,e)}return r}function ni(r=document){r.querySelectorAll(O).forEach(ut)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>ni()):ni();var ar=new MutationObserver(r=>{for(let t of r){for(let e of t.addedNodes){if(e.nodeType!==Node.ELEMENT_NODE)continue;let i=e;i.matches(O)&&ut(i),i.querySelectorAll(O).forEach(ut)}for(let e of t.removedNodes){if(e.nodeType!==Node.ELEMENT_NODE)continue;let i=e;_.has(i)&&be(i),i.querySelectorAll(O).forEach(s=>{_.has(s)&&be(s)})}if(t.type==="attributes"&&t.target.nodeType===Node.ELEMENT_NODE){let e=t.target;e.matches(O)&&!_.has(e)?ut(e):!e.matches(O)&&_.has(e)&&be(e)}}});ar.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-command","commandfor"]});function lr(){let r='footer, aside, dialog, [hidden], [aria-hidden="true"]',e=[];return document.querySelectorAll("nav a[href]").forEach(i=>{if(i.closest(r)||_.has(i))return;let s=i.textContent.trim();!s||e.length>=50||e.push({element:i,label:s,group:"Navigation",icon:null,shortcut:null,auto:!0,action:null})}),document.querySelectorAll("h2[id], h3[id]").forEach(i=>{if(i.closest(r)||_.has(i))return;let s=i.textContent.trim();!s||e.length>=50||e.push({element:i,label:`Jump to: ${s}`,group:"On This Page",icon:null,shortcut:null,auto:!0,action:()=>i.scrollIntoView({behavior:"smooth"})})}),e}window.__commandRegistry={getRegisteredCommands:or,scanAutoDiscoverable:lr};var cr=window.matchMedia("(prefers-reduced-motion: reduce)");function oi(){return cr.matches||document.documentElement.hasAttribute("data-motion-reduced")}var ai=0,k={_effects:new Map,_triggers:new Map,_transitions:new Map,_instances:new WeakMap,_triggerCleanups:new WeakMap,_transitionCleanups:new WeakMap,_observer:null,effect(r,t){this._effects.set(r,t),document.querySelectorAll("[data-effect]").forEach(e=>{(e.getAttribute("data-effect")||"").split(/\s+/).includes(r)&&this._initEffect(e,r)})},trigger(r,t){this._triggers.set(r,t)},transition(r,t){this._transitions.set(r,t)},uid(r){return r.id?r.id:(r._vbUid||(ai++,r._vbUid=`vb-${ai}`),r._vbUid)},theme(r,t){this._themes=this._themes||new Map,this._themes.set(r,t)},applyTheme(r,t=document.documentElement){let e=this._themes?.get(r);if(e)for(let[i,s]of Object.entries(e))t.style.setProperty(i,s)},swap(r){return document.startViewTransition?document.startViewTransition(r):r()},observe(r=document){if(r.querySelectorAll("[data-effect]").forEach(e=>this._processElement(e)),r.querySelectorAll("[data-stagger]").forEach(e=>this._processStagger(e)),r.querySelectorAll("[data-transition]").forEach(e=>this._processTransition(e)),this._observer)return;this._observer=new MutationObserver(e=>{for(let i of e){if(i.type==="childList"){for(let s of i.addedNodes)s.nodeType===Node.ELEMENT_NODE&&this._processTree(s);for(let s of i.removedNodes)s.nodeType===Node.ELEMENT_NODE&&this._cleanupTree(s)}if(i.type==="attributes"){let s=i.target;i.attributeName==="data-effect"&&this._reconcileEffects(s),i.attributeName==="data-trigger"&&this._reconcileTrigger(s),i.attributeName==="data-stagger"&&this._processStagger(s),i.attributeName==="data-transition"&&this._processTransition(s)}}});let t=r===document?document.body:r;this._observer.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-effect","data-trigger","data-stagger","data-transition"]})},disconnect(){this._observer&&(this._observer.disconnect(),this._observer=null)},params(r){let t=getComputedStyle(r);return{get(e){return t.getPropertyValue(`--vb-${e}`).trim()},getNumber(e,i=0){let s=t.getPropertyValue(`--vb-${e}`).trim();return s?parseFloat(s):i},hasClass(e){return r.classList.contains(e)}}},emit(r,t,e={}){r.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))},prefersReducedMotion:oi,_processTree(r){r.hasAttribute?.("data-effect")&&this._processElement(r),r.hasAttribute?.("data-stagger")&&this._processStagger(r),r.hasAttribute?.("data-transition")&&this._processTransition(r),r.querySelectorAll?.("[data-effect]").forEach(t=>this._processElement(t)),r.querySelectorAll?.("[data-stagger]").forEach(t=>this._processStagger(t)),r.querySelectorAll?.("[data-transition]").forEach(t=>this._processTransition(t))},_cleanupTree(r){r.hasAttribute?.("data-effect")&&this._cleanupElement(r),r.hasAttribute?.("data-transition")&&this._cleanupTransition(r),r.querySelectorAll?.("[data-effect]").forEach(t=>this._cleanupElement(t)),r.querySelectorAll?.("[data-transition]").forEach(t=>this._cleanupTransition(t))},_processElement(r){if(r.hasAttribute("data-effect-processed"))return;r.setAttribute("data-effect-processed","");let t=r.getAttribute("data-effect")?.split(/\s+/).filter(Boolean)||[];for(let e of t)this._initEffect(r,e);this._wireTrigger(r,t)},_initEffect(r,t){let e=this._effects.get(t);if(!e)return;let i=this._instances.get(r);if(i?.has(t))return;oi();let s=e(r);s&&(i||(i=new Map,this._instances.set(r,i)),typeof s=="function"?i.set(t,{cleanup:s}):i.set(t,s))},_wireTrigger(r,t){let e=r.getAttribute("data-trigger");if(!e){this._activateEffects(r);return}let i=e.split(/\s+/).filter(Boolean);for(let s of i){let n=s.indexOf(":"),o=n>-1?s.slice(0,n):s,a=n>-1?s.slice(n+1):null,l=this._triggers.get(o);if(!l)continue;let c=l(r,()=>this._activateEffects(r),a);if(c){let h=this._triggerCleanups.get(r);if(h){let u=h;this._triggerCleanups.set(r,()=>{u(),c()})}else this._triggerCleanups.set(r,c)}}},_activateEffects(r){r.setAttribute("data-effect-active","");let t=this._instances.get(r);if(t)for(let[,e]of t)e.activate&&e.activate()},_cleanupElement(r){let t=this._instances.get(r);if(t){for(let[,i]of t)i.cleanup&&i.cleanup();this._instances.delete(r)}let e=this._triggerCleanups.get(r);e&&(e(),this._triggerCleanups.delete(r))},_reconcileEffects(r){let t=r.getAttribute("data-effect")?.split(/\s+/).filter(Boolean)||[],e=this._instances.get(r);if(e)for(let[i,s]of e)t.includes(i)||(s.cleanup&&s.cleanup(),e.delete(i));for(let i of t)e?.has(i)||this._initEffect(r,i);r.hasAttribute("data-effect-processed")||(r.setAttribute("data-effect-processed",""),this._wireTrigger(r,t))},_reconcileTrigger(r){let t=this._triggerCleanups.get(r);t&&(t(),this._triggerCleanups.delete(r));let e=r.getAttribute("data-effect")?.split(/\s+/).filter(Boolean)||[];this._wireTrigger(r,e)},_processStagger(r){let t=r.children;for(let e=0;e<t.length;e++)t[e].style.setProperty("--vb-stagger-index",String(e))},_processTransition(r){if(r.hasAttribute("data-transition-processed"))return;r.setAttribute("data-transition-processed","");let t=r.getAttribute("data-transition");if(!t)return;let e=this._transitions.get(t);if(e){let i=e(r);i&&this._transitionCleanups.set(r,i)}else r.style.viewTransitionName=`${t}-${this.uid(r)}`},_cleanupTransition(r){let t=this._transitionCleanups.get(r);t&&(t(),this._transitionCleanups.delete(r)),r.style.viewTransitionName=""}};typeof window<"u"&&(window.VB=k);k.effect("glitch",r=>{r.hasAttribute("data-effect-glitch-init")||(r.setAttribute("data-effect-glitch-init",""),r.setAttribute("data-glitch-text",r.textContent))});function hr(r){let t=r.textContent;r.setAttribute("aria-label",t),r.innerHTML="",t.split(/(\s+)/).forEach((i,s)=>{if(/^\s+$/.test(i)){r.appendChild(document.createTextNode(i));return}let n=document.createElement("span");n.className="vb-blur-chunk",n.textContent=i,n.style.setProperty("--i",String(Math.floor(s/2))),n.setAttribute("aria-hidden","true"),r.appendChild(n)})}function ur(r){let t=r.textContent;r.setAttribute("aria-label",t);let e=t.split(/\s+/).filter(Boolean),i=[],s="",n=r.offsetWidth,o=document.createElement("span");o.style.visibility="hidden",o.style.position="absolute",o.style.font=getComputedStyle(r).font,document.body.appendChild(o),e.forEach(a=>{let l=s?s+" "+a:a;o.textContent=l,o.offsetWidth>n&&s?(i.push(s),s=a):s=l}),s&&i.push(s),document.body.removeChild(o),i.length===0&&i.push(t),r.innerHTML="",i.forEach((a,l)=>{let c=document.createElement("span");c.className="vb-blur-chunk",c.textContent=a,c.style.setProperty("--i",String(l)),c.setAttribute("aria-hidden","true"),r.appendChild(c),l<i.length-1&&r.appendChild(document.createTextNode(" "))})}k.effect("blur-reveal",r=>{if(r.hasAttribute("data-effect-blur-reveal-init")||(r.setAttribute("data-effect-blur-reveal-init",""),k.prefersReducedMotion()))return;let t=r.classList.contains("line")?"line":"word",e=k.params(r).get("blur-reveal-delay")||"80ms";return r.style.setProperty("--blur-delay",e),t==="line"?ur(r):hr(r),{activate(){r.setAttribute("data-effect-active","")},cleanup(){}}});function dr(r,t,e,i){let s=0;function n(){s<=t.length?(r.firstChild.textContent=t.slice(0,s),s++,setTimeout(n,e)):i&&i()}n()}function pr(r,t,e){let i=r.firstChild.textContent,s=i.length;function n(){s>=0?(r.firstChild.textContent=i.slice(0,s),s--,setTimeout(n,t/2)):e&&e()}n()}function mr(r){let t=r.getAttribute("data-typewriter-text"),e=k.params(r),i=e.getNumber("typewriter-speed",50),s=e.getNumber("typewriter-delay",0),o=r.classList.contains("loop")?2e3:null;r.textContent="";let a=document.createTextNode("");if(r.appendChild(a),!r.classList.contains("no-cursor")){let h=document.createElement("span");h.className="vb-typewriter-cursor",h.textContent="|",h.setAttribute("aria-hidden","true"),r.appendChild(h)}function c(){dr(r,t,i,()=>{o!==null&&setTimeout(()=>{pr(r,i,()=>{setTimeout(c,400)})},o)})}setTimeout(c,s)}k.effect("typewriter",r=>{if(r.hasAttribute("data-effect-typewriter-init"))return;r.setAttribute("data-effect-typewriter-init","");let t=r.textContent.trim();if(r.setAttribute("data-typewriter-text",t),r.setAttribute("aria-label",t),!k.prefersReducedMotion())return r.textContent="",{activate(){mr(r)},cleanup(){}}});var li="!<>-_\\/[]{}=+*^?#";function ci(r){return r[Math.floor(Math.random()*r.length)]}function fr(r){let t=r.getAttribute("data-scramble-text"),e=k.params(r),i=e.getNumber("scramble-duration",1500),s=e.get("scramble-chars")||li,n=e.getNumber("scramble-speed",30),o=t.length,a=0,l=Math.ceil(i/n);function c(){let h=a/l,u=Math.floor(h*o),d="";for(let p=0;p<o;p++)p<u?d+=t[p]:t[p]===" "?d+=" ":d+=ci(s);r.textContent=d,a++,a<=l?setTimeout(c,n):r.textContent=t}c()}k.effect("scramble",r=>{if(r.hasAttribute("data-effect-scramble-init"))return;r.setAttribute("data-effect-scramble-init","");let t=r.textContent.trim();if(r.setAttribute("data-scramble-text",t),r.setAttribute("aria-label",t),k.prefersReducedMotion())return;let e=k.params(r).get("scramble-chars")||li;return r.textContent=t.replace(/\S/g,()=>ci(e)),{activate(){fr(r)},cleanup(){}}});k.effect("animate-image",r=>{if(r.hasAttribute("data-effect-animate-image-init"))return;r.setAttribute("data-effect-animate-image-init","");let t=r,e=document.createElement("div");if(e.className="animate-image-wrapper",!t.parentNode)return;t.parentNode.insertBefore(e,t),e.appendChild(t);let i=document.createElement("button");i.type="button",i.className="animate-image-toggle",i.setAttribute("aria-label","Pause animation"),e.appendChild(i);let s=t.src,n=null,o=!1;function a(){let u=document.createElement("canvas");u.width=t.naturalWidth||t.width,u.height=t.naturalHeight||t.height;let d=u.getContext("2d");if(d){d.drawImage(t,0,0);try{n=u.toDataURL("image/png")}catch{n=null}}}function l(){o||(o=!0,t.setAttribute("data-animate-image-paused",""),i.setAttribute("aria-label","Play animation"),i.classList.add("paused"),n&&(t.src=n))}function c(){o&&(o=!1,t.removeAttribute("data-animate-image-paused"),i.setAttribute("aria-label","Pause animation"),i.classList.remove("paused"),t.src=s)}i.addEventListener("click",()=>o?c():l()),t.complete&&t.naturalWidth?a():t.addEventListener("load",a,{once:!0});let h=window.matchMedia("(prefers-reduced-motion: reduce)");return(h.matches||document.documentElement.dataset.motionReduced!==void 0)&&(t.complete?(a(),l()):t.addEventListener("load",()=>{a(),l()},{once:!0})),h.addEventListener("change",u=>{u.matches&&l()}),t.hasAttribute("data-animate-image-paused")&&(t.complete?(a(),o=!1,l()):t.addEventListener("load",()=>{a(),o=!1,l()},{once:!0})),{cleanup(){e.parentNode&&(e.parentNode.insertBefore(t,e),e.remove())}}});var dt=new Map,ve=null,pt=!1;function gr(r){for(let[t,e]of dt)r.querySelectorAll(t).forEach(e)}function br(r){if(r.nodeType!==Node.ELEMENT_NODE)return;let t=r;for(let[e,i]of dt)t.matches(e)&&i(t),t.querySelectorAll(e).forEach(i)}function vr(){ve||(ve=new MutationObserver(r=>{for(let t of r)for(let e of t.addedNodes)br(e)}),ve.observe(document.documentElement,{childList:!0,subtree:!0}))}function yr(){pt||(pt=!0,gr(document))}function hi(r,t){dt.set(r,t),vr(),pt||document.readyState!=="loading"?(pt=!0,document.querySelectorAll(r).forEach(t)):dt.size===1&&document.addEventListener("DOMContentLoaded",yr)}var mt=null;async function wr(){if(mt)return;mt=(await Promise.resolve().then(()=>(St(),Et))).resolveEmoji}var kr="[data-emoji]",R=/:([a-z0-9_+-]+):/g,xr=new Set(["SCRIPT","STYLE","CODE","PRE","TEXTAREA"]),Ar=new Set(["INPUT","TEXTAREA"]),Er=100;function Sr(r){if(r.hasAttribute("data-emoji-init"))return;if(r.setAttribute("data-emoji-init",""),Ar.has(r.tagName)){Cr(r);return}let t=r.getAttribute("data-emoji-unknown")||"keep";if(ui(r,t),r.getAttribute("data-emoji-scan")==="observe"){let e=null;new MutationObserver(()=>{e&&clearTimeout(e),e=setTimeout(()=>{ui(r,t),e=null},Er)}).observe(r,{childList:!0,subtree:!0,characterData:!0})}}function Cr(r){let t=!1;r.addEventListener("compositionstart",()=>{t=!0}),r.addEventListener("compositionend",()=>{t=!1,ye(r)}),r.addEventListener("input",()=>{t||ye(r)}),r.value&&R.test(r.value)&&(R.lastIndex=0,ye(r))}function ye(r){let t=r.value;R.lastIndex=0;let e,i="",s=0,n=0,o=r.selectionStart??t.length,a=!1;for(;(e=R.exec(t))!==null;){let c=e[0],h=e[1],u=mt(h);if(i+=t.slice(s,e.index),u){i+=u.emoji,a=!0;let d=e.index+c.length;o>=d?n+=c.length-u.emoji.length:o>e.index&&(n+=o-e.index-u.emoji.length)}else i+=c;s=e.index+c.length}if(!a)return;i+=t.slice(s),r.value=i;let l=Math.max(0,o-n);r.setSelectionRange(l,l)}function ui(r,t){let e=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,{acceptNode(s){let n=s.parentElement;return!n||xr.has(n.tagName)||n.isContentEditable||n.hasAttribute("data-emoji-processed")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),i=[];for(;e.nextNode();)R.test(e.currentNode.textContent??"")&&i.push(e.currentNode),R.lastIndex=0;for(let s of i)Tr(s,t)}function Tr(r,t){let e=r.textContent;R.lastIndex=0;let i,s=0,n=[],o=!1;for(;(i=R.exec(e))!==null;){let a=i[1],l=mt(a);i.index>s&&n.push(e.slice(s,i.index)),l?(n.push(l.emoji),o=!0):t==="strip"?o=!0:n.push(i[0]),s=i.index+i[0].length}o&&(s<e.length&&n.push(e.slice(s)),r.textContent=n.join(""))}function _r(r){wr().then(()=>Sr(r))}hi(kr,_r);
|
|
1265
|
+
//# sourceMappingURL=vanilla-breeze-extras.js.map
|