@krollins/blueprint 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +123 -123
- package/README.npm.md +123 -123
- package/dist/components/accordion/accordion.d.ts +6 -1
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/accordion/accordion.style.d.ts.map +1 -1
- package/dist/components/accordion.js +2 -394
- package/dist/components/alert/alert.d.ts +6 -1
- package/dist/components/alert/alert.d.ts.map +1 -1
- package/dist/components/alert/alert.style.d.ts.map +1 -1
- package/dist/components/alert.js +2 -219
- package/dist/components/avatar/avatar.d.ts +6 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +2 -238
- package/dist/components/badge/badge.d.ts.map +1 -1
- package/dist/components/badge/badge.style.d.ts.map +1 -1
- package/dist/components/badge.js +2 -144
- package/dist/components/breadcrumb/breadcrumb.d.ts +6 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.style.d.ts +9 -0
- package/dist/components/breadcrumb/breadcrumb.style.d.ts.map +1 -1
- package/dist/components/breadcrumb.js +2 -481
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/button.js +2 -192
- package/dist/components/card/card.d.ts.map +1 -1
- package/dist/components/card.js +2 -223
- package/dist/components/checkbox/checkbox.d.ts +7 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox.js +2 -336
- package/dist/components/code-block/code-block.d.ts.map +1 -1
- package/dist/components/code-block.js +2 -585
- package/dist/components/color-picker/color-picker.d.ts +12 -1
- package/dist/components/color-picker/color-picker.d.ts.map +1 -1
- package/dist/components/color-picker/color-picker.style.d.ts.map +1 -1
- package/dist/components/color-picker/color-picker.utils.d.ts.map +1 -1
- package/dist/components/color-picker.js +2 -1660
- package/dist/components/combobox/combobox.d.ts +14 -1
- package/dist/components/combobox/combobox.d.ts.map +1 -1
- package/dist/components/combobox/combobox.style.d.ts.map +1 -1
- package/dist/components/combobox.js +2 -595
- package/dist/components/container/container.d.ts +26 -0
- package/dist/components/container/container.d.ts.map +1 -0
- package/dist/components/container/container.style.d.ts +2 -0
- package/dist/components/container/container.style.d.ts.map +1 -0
- package/dist/components/container.js +2 -0
- package/dist/components/date-picker/date-picker.d.ts +15 -1
- package/dist/components/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker.style.d.ts.map +1 -1
- package/dist/components/date-picker.js +2 -726
- package/dist/components/divider/divider.d.ts.map +1 -1
- package/dist/components/divider.js +2 -214
- package/dist/components/drawer/drawer.d.ts +6 -1
- package/dist/components/drawer/drawer.d.ts.map +1 -1
- package/dist/components/drawer/drawer.style.d.ts.map +1 -1
- package/dist/components/drawer.js +2 -569
- package/dist/components/dropdown/dropdown.d.ts.map +1 -1
- package/dist/components/dropdown.js +2 -377
- package/dist/components/fieldset/fieldset.d.ts +54 -0
- package/dist/components/fieldset/fieldset.d.ts.map +1 -0
- package/dist/components/fieldset/fieldset.style.d.ts +2 -0
- package/dist/components/fieldset/fieldset.style.d.ts.map +1 -0
- package/dist/components/fieldset.js +2 -0
- package/dist/components/file-upload/file-upload.d.ts +13 -1
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/file-upload.style.d.ts.map +1 -1
- package/dist/components/file-upload.js +2 -669
- package/dist/components/grid/grid.d.ts +37 -0
- package/dist/components/grid/grid.d.ts.map +1 -0
- package/dist/components/grid/grid.style.d.ts +2 -0
- package/dist/components/grid/grid.style.d.ts.map +1 -0
- package/dist/components/grid.js +2 -0
- package/dist/components/heading/heading.d.ts.map +1 -1
- package/dist/components/heading.js +2 -161
- package/dist/components/icon/icon.d.ts +1 -1
- package/dist/components/icon/icon.d.ts.map +1 -1
- package/dist/components/icon/icon.style.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/airplay.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/alarm-clock.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/align-horizontal.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/align-vertical.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/angle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/archive.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-bottom-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-bottom-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-down-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-down.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-left-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-right-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-top-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-top-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-up-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/arrow-up.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/audio-wave.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/backspace.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/backward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bag.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-75.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-charging.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-empty.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-full.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-half.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/battery-low.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bell-disabled.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bell-ringing.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bell-snooze.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bell.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bluetooth.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/book-closed.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/book-text.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/book.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bookmark-book.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/bookmark.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/box-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/box-download.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/box-open.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/box-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/box.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/boxes.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/branch.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/briefcase.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/browser-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/browser.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/button-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/button-minus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calculator.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-date.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-day.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-days.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-last-day.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-month.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-move.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-split.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar-week.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/calendar.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/camera-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/camera-noflash-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/camera-noflash.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/camera.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/capture.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/card-timeline.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/card-view.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/carousel.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cart.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cast.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chain.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chat-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/check-circle-outside.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/check-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/check.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/checkbox-checked.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/checkbox-empty.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-close.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-down-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-down-double.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-down.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-left-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-left-double.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-open.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-right-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-right-double.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-up-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-up-double.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/chevron-up.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/circle-menu.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/circle-split.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-check.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-copy.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-cross.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-notes.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clipboard.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/clock.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/close.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud-disconnect.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud-download-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud-download.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud-upload-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud-upload.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cloud.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/code.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/coffee.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/coin.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/coins.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/compass.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/component-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/contacts.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/contract.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/create.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/credit-card.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/crop.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cross-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cross.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/crosshair.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cube.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cubes.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/cylinder.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/database.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/diamond.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/directions.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/disc.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/display-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/display.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/document-justified.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/document-list.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/document-stack.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/document-words.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/document.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/door-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/door.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/download-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/download.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/downward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/drag-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/drag-vertical.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/drag.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/duplicate-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/duplicate.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/enter-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/enter.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/episodes.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/exit-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/exit-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/expand-height.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/expand-width.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/expand.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/external.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/eye-closed.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/eye-no.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/eye.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/face-delighted.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/face-happy.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/face-neutral.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/face-sad.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/file-download.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/file-upload.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/files-history.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/files-multi.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/files-stack.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/film.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/filter-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/filter-single.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/filter.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/filtering.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/fingerprint.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/flag.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/flame-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/flame.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/flip-view.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/floppy.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/folder-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/folder-closed.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/folder-minus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/folder-open.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/fork-git.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/forward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/frame.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/fullscreen.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/funnel.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/gauge.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/gift.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/globe.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/gps.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grab.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/graph-bar.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/graph-box.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/graph-increase.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid-circles-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid-circles.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid-small.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid-squares-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid-squares.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/grid.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/hand.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/harddrive.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/hash.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/heart-rate.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/heart-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/heart.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/height.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/hierarchy.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/home-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/home-check.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/home-door.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/home.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/import.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/inbox-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/inbox.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/info-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/iphone-landscape.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/iphone-portrait.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/jump-backward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/jump-forward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/jump-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/jump-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/keyboard.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/laptop.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lightbulb-on.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lightbulb.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lightning-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lightning.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lineweight.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/link-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/link-broken.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/link-horizontal.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/link-vertical.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/link.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/list-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/list-numbered.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/list.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/loader.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/location.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lock-open.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/lock.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-delete.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-minus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-new.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-open.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mail.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/marquee.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/maximise.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/menu-hamburger.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/menu-horizontal.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/menu-vertical.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/message-writing.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/message.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/microphone-disabled.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/microphone-muted.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/microphone.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/midpoint.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/mini-player.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/minimise.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/minus-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/minus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/moon.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/move.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/newspaper.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/no-sign.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/notebook.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/notification.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/nut.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pages.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-bottom.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-center.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-sectioned.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/panel-top.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paper-folded.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paper-plane-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paper-plane.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paper.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paperclip.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paragraph-center.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paragraph-end.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paragraph-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paragraph-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/paragraph-start.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pen.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/phone-landscape.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/phone-portrait.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/picture.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pie-half.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pie-quarter.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pie-third.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pill.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/play-button.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/plus-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/plus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/postcard.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/printer.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/projector.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pull-down.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pull-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pull-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/pull-up.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/push-down.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/push-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/push-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/push-up.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/question-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/radio-on.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/receipt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/record.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/redo.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/refresh-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/refresh.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/replicate-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/replicate.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reset-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reset-forward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reset-hard.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reset-temporary.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reset.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/retweet.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reuse.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reverse-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/reverse.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/revert.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/rocket.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/ruler.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/scale-contract.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/scale-extend.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/scale.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/scalpel.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/search.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/server.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/settings.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/share-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/share.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/shuffle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/side-menu.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/signal-full.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/signal-low.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/signal-medium.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/signal-none.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/slash-backward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/slash-forward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/sliders.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/sort-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/sort.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/speaker.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/speech-bubble.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/speech-typing.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/split-three.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/split.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/star.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/sun.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/support.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/swap.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/switch.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/table-header.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/table.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/tag-milestone.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/tag.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/tags.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/target.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/terminal.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/thread.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/thumbs-down.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/thumbs-up.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/ticket.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/timeline.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/todo.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/toggle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/toggles.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/translate.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/trash-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/trash.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/trophy.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/tv-mode.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/unarchive.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/undo-history.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/undo.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/unlink-horizontal.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/unlink-vertical.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/upload-alt.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/upload.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/upward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user-male-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user-male.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user-remove.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/user.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/users.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/venn.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/version.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/versions.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/video.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-0.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-add.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-disabled.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-high.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-low.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-minus.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/volume-muted.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wallet.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/warning-circle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/warning-hex.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/warning-triangle.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/waves.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/width.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wifi-error.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wifi-none.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wifi.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/window-collapse-left.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/window-collapse-right.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/window-content.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/window.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wrap-back.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/wrap-forward.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/write.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/zoom-cancel.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/zoom-in.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/zoom-out.d.ts.map +1 -1
- package/dist/components/icon/icons/entries/zoom-reset.d.ts.map +1 -1
- package/dist/components/icon-button/icon-button.d.ts +52 -0
- package/dist/components/icon-button/icon-button.d.ts.map +1 -0
- package/dist/components/icon-button/icon-button.style.d.ts +2 -0
- package/dist/components/icon-button/icon-button.style.d.ts.map +1 -0
- package/dist/components/icon-button.js +2 -0
- package/dist/components/icon.js +2 -196
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/input.d.ts +12 -2
- package/dist/components/input/input.d.ts.map +1 -1
- package/dist/components/input/input.style.d.ts.map +1 -1
- package/dist/components/input.js +2 -363
- package/dist/components/link/link.d.ts.map +1 -1
- package/dist/components/link.js +2 -178
- package/dist/components/menu/menu.d.ts.map +1 -1
- package/dist/components/menu.js +2 -331
- package/dist/components/modal/modal.d.ts.map +1 -1
- package/dist/components/modal.js +2 -317
- package/dist/components/multi-select/multi-select.d.ts +16 -1
- package/dist/components/multi-select/multi-select.d.ts.map +1 -1
- package/dist/components/multi-select/multi-select.style.d.ts.map +1 -1
- package/dist/components/multi-select.js +2 -642
- package/dist/components/notification/notification.d.ts +14 -2
- package/dist/components/notification/notification.d.ts.map +1 -1
- package/dist/components/notification/notification.style.d.ts.map +1 -1
- package/dist/components/notification-stack/notification-stack.d.ts +87 -0
- package/dist/components/notification-stack/notification-stack.d.ts.map +1 -0
- package/dist/components/notification-stack/notification-stack.style.d.ts +2 -0
- package/dist/components/notification-stack/notification-stack.style.d.ts.map +1 -0
- package/dist/components/notification-stack.js +2 -0
- package/dist/components/notification.js +2 -436
- package/dist/components/number-input/number-input.d.ts +18 -2
- package/dist/components/number-input/number-input.d.ts.map +1 -1
- package/dist/components/number-input/number-input.style.d.ts.map +1 -1
- package/dist/components/number-input.js +2 -556
- package/dist/components/pagination/pagination.d.ts.map +1 -1
- package/dist/components/pagination.js +2 -320
- package/dist/components/popover/popover.d.ts +6 -1
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/popover/popover.style.d.ts.map +1 -1
- package/dist/components/popover.js +2 -598
- package/dist/components/progress/progress.d.ts.map +1 -1
- package/dist/components/progress.js +2 -219
- package/dist/components/radio/radio.d.ts +12 -0
- package/dist/components/radio/radio.d.ts.map +1 -1
- package/dist/components/radio-group/radio-group.d.ts +87 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.style.d.ts +2 -0
- package/dist/components/radio-group/radio-group.style.d.ts.map +1 -0
- package/dist/components/radio-group.js +2 -0
- package/dist/components/radio.js +2 -321
- package/dist/components/select/select.d.ts +12 -1
- package/dist/components/select/select.d.ts.map +1 -1
- package/dist/components/select/select.style.d.ts.map +1 -1
- package/dist/components/select.js +2 -498
- package/dist/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton.js +2 -240
- package/dist/components/slider/slider.d.ts +12 -1
- package/dist/components/slider/slider.d.ts.map +1 -1
- package/dist/components/slider/slider.style.d.ts.map +1 -1
- package/dist/components/slider.js +2 -9
- package/dist/components/spinner/spinner.d.ts.map +1 -1
- package/dist/components/spinner.js +2 -133
- package/dist/components/stack/stack.d.ts +37 -0
- package/dist/components/stack/stack.d.ts.map +1 -0
- package/dist/components/stack/stack.style.d.ts +2 -0
- package/dist/components/stack/stack.style.d.ts.map +1 -0
- package/dist/components/stack.js +2 -0
- package/dist/components/stepper/stepper.d.ts.map +1 -1
- package/dist/components/stepper/stepper.style.d.ts.map +1 -1
- package/dist/components/stepper.js +2 -812
- package/dist/components/switch/switch.d.ts +7 -0
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/switch.js +2 -379
- package/dist/components/table/table.d.ts +6 -1
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/components/table.js +2 -644
- package/dist/components/tabs/tabs.d.ts +6 -1
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +2 -547
- package/dist/components/tag/tag.d.ts +6 -1
- package/dist/components/tag/tag.d.ts.map +1 -1
- package/dist/components/tag/tag.style.d.ts.map +1 -1
- package/dist/components/tag.js +2 -292
- package/dist/components/text/text.d.ts.map +1 -1
- package/dist/components/text.js +2 -278
- package/dist/components/textarea/textarea.d.ts +11 -3
- package/dist/components/textarea/textarea.d.ts.map +1 -1
- package/dist/components/textarea/textarea.style.d.ts.map +1 -1
- package/dist/components/textarea.js +2 -380
- package/dist/components/time-picker/time-picker.d.ts +12 -1
- package/dist/components/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/time-picker/time-picker.style.d.ts.map +1 -1
- package/dist/components/time-picker.js +2 -457
- package/dist/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +2 -239
- package/dist/components/tree/tree.d.ts +8 -2
- package/dist/components/tree/tree.d.ts.map +1 -1
- package/dist/components/tree.js +2 -583
- package/dist/icons/airplay.js +6 -6
- package/dist/icons/airplay.js.map +1 -1
- package/dist/icons/alarm-clock.js +6 -6
- package/dist/icons/alarm-clock.js.map +1 -1
- package/dist/icons/align-horizontal.js +6 -6
- package/dist/icons/align-horizontal.js.map +1 -1
- package/dist/icons/align-vertical.js +6 -6
- package/dist/icons/align-vertical.js.map +1 -1
- package/dist/icons/angle.js +6 -6
- package/dist/icons/angle.js.map +1 -1
- package/dist/icons/archive.js +6 -6
- package/dist/icons/archive.js.map +1 -1
- package/dist/icons/arrow-bottom-left.js +6 -6
- package/dist/icons/arrow-bottom-left.js.map +1 -1
- package/dist/icons/arrow-bottom-right.js +6 -6
- package/dist/icons/arrow-bottom-right.js.map +1 -1
- package/dist/icons/arrow-down-circle.js +6 -6
- package/dist/icons/arrow-down-circle.js.map +1 -1
- package/dist/icons/arrow-down.js +6 -6
- package/dist/icons/arrow-down.js.map +1 -1
- package/dist/icons/arrow-left-circle.js +6 -6
- package/dist/icons/arrow-left-circle.js.map +1 -1
- package/dist/icons/arrow-left.js +6 -6
- package/dist/icons/arrow-left.js.map +1 -1
- package/dist/icons/arrow-right-circle.js +6 -6
- package/dist/icons/arrow-right-circle.js.map +1 -1
- package/dist/icons/arrow-right.js +6 -6
- package/dist/icons/arrow-right.js.map +1 -1
- package/dist/icons/arrow-top-left.js +6 -6
- package/dist/icons/arrow-top-left.js.map +1 -1
- package/dist/icons/arrow-top-right.js +6 -6
- package/dist/icons/arrow-top-right.js.map +1 -1
- package/dist/icons/arrow-up-circle.js +6 -6
- package/dist/icons/arrow-up-circle.js.map +1 -1
- package/dist/icons/arrow-up.js +6 -6
- package/dist/icons/arrow-up.js.map +1 -1
- package/dist/icons/audio-wave.js +6 -6
- package/dist/icons/audio-wave.js.map +1 -1
- package/dist/icons/backspace.js +6 -6
- package/dist/icons/backspace.js.map +1 -1
- package/dist/icons/backward.js +6 -6
- package/dist/icons/backward.js.map +1 -1
- package/dist/icons/bag.js +6 -6
- package/dist/icons/bag.js.map +1 -1
- package/dist/icons/battery-75.js +6 -6
- package/dist/icons/battery-75.js.map +1 -1
- package/dist/icons/battery-charging.js +6 -6
- package/dist/icons/battery-charging.js.map +1 -1
- package/dist/icons/battery-empty.js +6 -6
- package/dist/icons/battery-empty.js.map +1 -1
- package/dist/icons/battery-full.js +6 -6
- package/dist/icons/battery-full.js.map +1 -1
- package/dist/icons/battery-half.js +6 -6
- package/dist/icons/battery-half.js.map +1 -1
- package/dist/icons/battery-low.js +6 -6
- package/dist/icons/battery-low.js.map +1 -1
- package/dist/icons/bell-disabled.js +6 -6
- package/dist/icons/bell-disabled.js.map +1 -1
- package/dist/icons/bell-ringing.js +6 -6
- package/dist/icons/bell-ringing.js.map +1 -1
- package/dist/icons/bell-snooze.js +6 -6
- package/dist/icons/bell-snooze.js.map +1 -1
- package/dist/icons/bell.js +6 -6
- package/dist/icons/bell.js.map +1 -1
- package/dist/icons/bluetooth.js +6 -6
- package/dist/icons/bluetooth.js.map +1 -1
- package/dist/icons/book-closed.js +6 -6
- package/dist/icons/book-closed.js.map +1 -1
- package/dist/icons/book-text.js +6 -6
- package/dist/icons/book-text.js.map +1 -1
- package/dist/icons/book.js +6 -6
- package/dist/icons/book.js.map +1 -1
- package/dist/icons/bookmark-book.js +6 -6
- package/dist/icons/bookmark-book.js.map +1 -1
- package/dist/icons/bookmark.js +6 -6
- package/dist/icons/bookmark.js.map +1 -1
- package/dist/icons/box-add.js +6 -6
- package/dist/icons/box-add.js.map +1 -1
- package/dist/icons/box-download.js +6 -6
- package/dist/icons/box-download.js.map +1 -1
- package/dist/icons/box-open.js +6 -6
- package/dist/icons/box-open.js.map +1 -1
- package/dist/icons/box-remove.js +6 -6
- package/dist/icons/box-remove.js.map +1 -1
- package/dist/icons/box.js +6 -6
- package/dist/icons/box.js.map +1 -1
- package/dist/icons/boxes.js +6 -6
- package/dist/icons/boxes.js.map +1 -1
- package/dist/icons/branch.js +6 -6
- package/dist/icons/branch.js.map +1 -1
- package/dist/icons/briefcase.js +6 -6
- package/dist/icons/briefcase.js.map +1 -1
- package/dist/icons/browser-alt.js +6 -6
- package/dist/icons/browser-alt.js.map +1 -1
- package/dist/icons/browser.js +6 -6
- package/dist/icons/browser.js.map +1 -1
- package/dist/icons/button-add.js +6 -6
- package/dist/icons/button-add.js.map +1 -1
- package/dist/icons/button-minus.js +6 -6
- package/dist/icons/button-minus.js.map +1 -1
- package/dist/icons/calculator.js +6 -6
- package/dist/icons/calculator.js.map +1 -1
- package/dist/icons/calendar-add.js +6 -6
- package/dist/icons/calendar-add.js.map +1 -1
- package/dist/icons/calendar-date.js +6 -6
- package/dist/icons/calendar-date.js.map +1 -1
- package/dist/icons/calendar-day.js +6 -6
- package/dist/icons/calendar-day.js.map +1 -1
- package/dist/icons/calendar-days.js +6 -6
- package/dist/icons/calendar-days.js.map +1 -1
- package/dist/icons/calendar-last-day.js +6 -6
- package/dist/icons/calendar-last-day.js.map +1 -1
- package/dist/icons/calendar-month.js +6 -6
- package/dist/icons/calendar-month.js.map +1 -1
- package/dist/icons/calendar-move.js +6 -6
- package/dist/icons/calendar-move.js.map +1 -1
- package/dist/icons/calendar-remove.js +6 -6
- package/dist/icons/calendar-remove.js.map +1 -1
- package/dist/icons/calendar-split.js +6 -6
- package/dist/icons/calendar-split.js.map +1 -1
- package/dist/icons/calendar-week.js +6 -6
- package/dist/icons/calendar-week.js.map +1 -1
- package/dist/icons/calendar.js +6 -6
- package/dist/icons/calendar.js.map +1 -1
- package/dist/icons/camera-alt.js +6 -6
- package/dist/icons/camera-alt.js.map +1 -1
- package/dist/icons/camera-noflash-alt.js +6 -6
- package/dist/icons/camera-noflash-alt.js.map +1 -1
- package/dist/icons/camera-noflash.js +6 -6
- package/dist/icons/camera-noflash.js.map +1 -1
- package/dist/icons/camera.js +6 -6
- package/dist/icons/camera.js.map +1 -1
- package/dist/icons/capture.js +6 -6
- package/dist/icons/capture.js.map +1 -1
- package/dist/icons/card-timeline.js +6 -6
- package/dist/icons/card-timeline.js.map +1 -1
- package/dist/icons/card-view.js +6 -6
- package/dist/icons/card-view.js.map +1 -1
- package/dist/icons/carousel.js +6 -6
- package/dist/icons/carousel.js.map +1 -1
- package/dist/icons/cart.js +6 -6
- package/dist/icons/cart.js.map +1 -1
- package/dist/icons/cast.js +6 -6
- package/dist/icons/cast.js.map +1 -1
- package/dist/icons/chain.js +6 -6
- package/dist/icons/chain.js.map +1 -1
- package/dist/icons/chat-add.js +6 -6
- package/dist/icons/chat-add.js.map +1 -1
- package/dist/icons/check-circle-outside.js +6 -6
- package/dist/icons/check-circle-outside.js.map +1 -1
- package/dist/icons/check-circle.js +6 -6
- package/dist/icons/check-circle.js.map +1 -1
- package/dist/icons/check.js +6 -6
- package/dist/icons/check.js.map +1 -1
- package/dist/icons/checkbox-checked.js +6 -6
- package/dist/icons/checkbox-checked.js.map +1 -1
- package/dist/icons/checkbox-empty.js +6 -6
- package/dist/icons/checkbox-empty.js.map +1 -1
- package/dist/icons/chevron-close.js +6 -6
- package/dist/icons/chevron-close.js.map +1 -1
- package/dist/icons/chevron-down-circle.js +6 -6
- package/dist/icons/chevron-down-circle.js.map +1 -1
- package/dist/icons/chevron-down-double.js +6 -6
- package/dist/icons/chevron-down-double.js.map +1 -1
- package/dist/icons/chevron-down.js +6 -6
- package/dist/icons/chevron-down.js.map +1 -1
- package/dist/icons/chevron-left-circle.js +6 -6
- package/dist/icons/chevron-left-circle.js.map +1 -1
- package/dist/icons/chevron-left-double.js +6 -6
- package/dist/icons/chevron-left-double.js.map +1 -1
- package/dist/icons/chevron-left.js +6 -6
- package/dist/icons/chevron-left.js.map +1 -1
- package/dist/icons/chevron-open.js +6 -6
- package/dist/icons/chevron-open.js.map +1 -1
- package/dist/icons/chevron-right-circle.js +6 -6
- package/dist/icons/chevron-right-circle.js.map +1 -1
- package/dist/icons/chevron-right-double.js +6 -6
- package/dist/icons/chevron-right-double.js.map +1 -1
- package/dist/icons/chevron-right.js +6 -6
- package/dist/icons/chevron-right.js.map +1 -1
- package/dist/icons/chevron-up-circle.js +6 -6
- package/dist/icons/chevron-up-circle.js.map +1 -1
- package/dist/icons/chevron-up-double.js +6 -6
- package/dist/icons/chevron-up-double.js.map +1 -1
- package/dist/icons/chevron-up.js +6 -6
- package/dist/icons/chevron-up.js.map +1 -1
- package/dist/icons/circle-menu.js +6 -6
- package/dist/icons/circle-menu.js.map +1 -1
- package/dist/icons/circle-split.js +6 -6
- package/dist/icons/circle-split.js.map +1 -1
- package/dist/icons/circle.js +6 -6
- package/dist/icons/circle.js.map +1 -1
- package/dist/icons/clipboard-add.js +6 -6
- package/dist/icons/clipboard-add.js.map +1 -1
- package/dist/icons/clipboard-check.js +6 -6
- package/dist/icons/clipboard-check.js.map +1 -1
- package/dist/icons/clipboard-copy.js +6 -6
- package/dist/icons/clipboard-copy.js.map +1 -1
- package/dist/icons/clipboard-cross.js +6 -6
- package/dist/icons/clipboard-cross.js.map +1 -1
- package/dist/icons/clipboard-notes.js +6 -6
- package/dist/icons/clipboard-notes.js.map +1 -1
- package/dist/icons/clipboard-remove.js +6 -6
- package/dist/icons/clipboard-remove.js.map +1 -1
- package/dist/icons/clipboard.js +6 -6
- package/dist/icons/clipboard.js.map +1 -1
- package/dist/icons/clock.js +6 -6
- package/dist/icons/clock.js.map +1 -1
- package/dist/icons/close.js +6 -6
- package/dist/icons/close.js.map +1 -1
- package/dist/icons/cloud-disconnect.js +6 -6
- package/dist/icons/cloud-disconnect.js.map +1 -1
- package/dist/icons/cloud-download-alt.js +6 -6
- package/dist/icons/cloud-download-alt.js.map +1 -1
- package/dist/icons/cloud-download.js +6 -6
- package/dist/icons/cloud-download.js.map +1 -1
- package/dist/icons/cloud-upload-alt.js +6 -6
- package/dist/icons/cloud-upload-alt.js.map +1 -1
- package/dist/icons/cloud-upload.js +6 -6
- package/dist/icons/cloud-upload.js.map +1 -1
- package/dist/icons/cloud.js +6 -6
- package/dist/icons/cloud.js.map +1 -1
- package/dist/icons/code.js +6 -6
- package/dist/icons/code.js.map +1 -1
- package/dist/icons/coffee.js +6 -6
- package/dist/icons/coffee.js.map +1 -1
- package/dist/icons/coin.js +6 -6
- package/dist/icons/coin.js.map +1 -1
- package/dist/icons/coins.js +6 -6
- package/dist/icons/coins.js.map +1 -1
- package/dist/icons/compass.js +6 -6
- package/dist/icons/compass.js.map +1 -1
- package/dist/icons/component-add.js +6 -6
- package/dist/icons/component-add.js.map +1 -1
- package/dist/icons/contacts.js +6 -6
- package/dist/icons/contacts.js.map +1 -1
- package/dist/icons/contract.js +6 -6
- package/dist/icons/contract.js.map +1 -1
- package/dist/icons/create.js +6 -13
- package/dist/icons/create.js.map +1 -1
- package/dist/icons/credit-card.js +6 -6
- package/dist/icons/credit-card.js.map +1 -1
- package/dist/icons/crop.js +6 -6
- package/dist/icons/crop.js.map +1 -1
- package/dist/icons/cross-circle.js +6 -6
- package/dist/icons/cross-circle.js.map +1 -1
- package/dist/icons/cross.js +6 -6
- package/dist/icons/cross.js.map +1 -1
- package/dist/icons/crosshair.js +6 -6
- package/dist/icons/crosshair.js.map +1 -1
- package/dist/icons/cube.js +6 -6
- package/dist/icons/cube.js.map +1 -1
- package/dist/icons/cubes.js +6 -6
- package/dist/icons/cubes.js.map +1 -1
- package/dist/icons/cylinder.js +6 -6
- package/dist/icons/cylinder.js.map +1 -1
- package/dist/icons/database.js +6 -6
- package/dist/icons/database.js.map +1 -1
- package/dist/icons/diamond.js +6 -6
- package/dist/icons/diamond.js.map +1 -1
- package/dist/icons/directions.js +6 -6
- package/dist/icons/directions.js.map +1 -1
- package/dist/icons/disc.js +6 -6
- package/dist/icons/disc.js.map +1 -1
- package/dist/icons/display-alt.js +6 -6
- package/dist/icons/display-alt.js.map +1 -1
- package/dist/icons/display.js +6 -6
- package/dist/icons/display.js.map +1 -1
- package/dist/icons/document-justified.js +6 -6
- package/dist/icons/document-justified.js.map +1 -1
- package/dist/icons/document-list.js +6 -6
- package/dist/icons/document-list.js.map +1 -1
- package/dist/icons/document-stack.js +6 -6
- package/dist/icons/document-stack.js.map +1 -1
- package/dist/icons/document-words.js +6 -6
- package/dist/icons/document-words.js.map +1 -1
- package/dist/icons/document.js +6 -6
- package/dist/icons/document.js.map +1 -1
- package/dist/icons/door-alt.js +6 -6
- package/dist/icons/door-alt.js.map +1 -1
- package/dist/icons/door.js +6 -6
- package/dist/icons/door.js.map +1 -1
- package/dist/icons/download-alt.js +6 -6
- package/dist/icons/download-alt.js.map +1 -1
- package/dist/icons/download.js +6 -6
- package/dist/icons/download.js.map +1 -1
- package/dist/icons/downward.js +6 -6
- package/dist/icons/downward.js.map +1 -1
- package/dist/icons/drag-circle.js +6 -6
- package/dist/icons/drag-circle.js.map +1 -1
- package/dist/icons/drag-vertical.js +6 -6
- package/dist/icons/drag-vertical.js.map +1 -1
- package/dist/icons/drag.js +6 -6
- package/dist/icons/drag.js.map +1 -1
- package/dist/icons/duplicate-alt.js +6 -6
- package/dist/icons/duplicate-alt.js.map +1 -1
- package/dist/icons/duplicate.js +6 -6
- package/dist/icons/duplicate.js.map +1 -1
- package/dist/icons/enter-alt.js +6 -6
- package/dist/icons/enter-alt.js.map +1 -1
- package/dist/icons/enter.js +6 -6
- package/dist/icons/enter.js.map +1 -1
- package/dist/icons/episodes.js +6 -6
- package/dist/icons/episodes.js.map +1 -1
- package/dist/icons/exit-left.js +6 -6
- package/dist/icons/exit-left.js.map +1 -1
- package/dist/icons/exit-right.js +6 -6
- package/dist/icons/exit-right.js.map +1 -1
- package/dist/icons/expand-height.js +6 -6
- package/dist/icons/expand-height.js.map +1 -1
- package/dist/icons/expand-width.js +6 -6
- package/dist/icons/expand-width.js.map +1 -1
- package/dist/icons/expand.js +6 -6
- package/dist/icons/expand.js.map +1 -1
- package/dist/icons/external.js +6 -6
- package/dist/icons/external.js.map +1 -1
- package/dist/icons/eye-closed.js +6 -6
- package/dist/icons/eye-closed.js.map +1 -1
- package/dist/icons/eye-no.js +6 -6
- package/dist/icons/eye-no.js.map +1 -1
- package/dist/icons/eye.js +6 -6
- package/dist/icons/eye.js.map +1 -1
- package/dist/icons/face-delighted.js +6 -6
- package/dist/icons/face-delighted.js.map +1 -1
- package/dist/icons/face-happy.js +6 -6
- package/dist/icons/face-happy.js.map +1 -1
- package/dist/icons/face-neutral.js +6 -6
- package/dist/icons/face-neutral.js.map +1 -1
- package/dist/icons/face-sad.js +6 -6
- package/dist/icons/face-sad.js.map +1 -1
- package/dist/icons/file-download.js +6 -6
- package/dist/icons/file-download.js.map +1 -1
- package/dist/icons/file-upload.js +6 -6
- package/dist/icons/file-upload.js.map +1 -1
- package/dist/icons/files-history.js +6 -6
- package/dist/icons/files-history.js.map +1 -1
- package/dist/icons/files-multi.js +6 -6
- package/dist/icons/files-multi.js.map +1 -1
- package/dist/icons/files-stack.js +6 -6
- package/dist/icons/files-stack.js.map +1 -1
- package/dist/icons/film.js +6 -6
- package/dist/icons/film.js.map +1 -1
- package/dist/icons/filter-circle.js +6 -6
- package/dist/icons/filter-circle.js.map +1 -1
- package/dist/icons/filter-single.js +6 -6
- package/dist/icons/filter-single.js.map +1 -1
- package/dist/icons/filter.js +6 -6
- package/dist/icons/filter.js.map +1 -1
- package/dist/icons/filtering.js +6 -6
- package/dist/icons/filtering.js.map +1 -1
- package/dist/icons/fingerprint.js +6 -6
- package/dist/icons/fingerprint.js.map +1 -1
- package/dist/icons/flag.js +6 -6
- package/dist/icons/flag.js.map +1 -1
- package/dist/icons/flame-alt.js +6 -6
- package/dist/icons/flame-alt.js.map +1 -1
- package/dist/icons/flame.js +6 -11
- package/dist/icons/flame.js.map +1 -1
- package/dist/icons/flip-view.js +6 -6
- package/dist/icons/flip-view.js.map +1 -1
- package/dist/icons/floppy.js +6 -6
- package/dist/icons/floppy.js.map +1 -1
- package/dist/icons/folder-add.js +6 -6
- package/dist/icons/folder-add.js.map +1 -1
- package/dist/icons/folder-closed.js +6 -6
- package/dist/icons/folder-closed.js.map +1 -1
- package/dist/icons/folder-minus.js +6 -6
- package/dist/icons/folder-minus.js.map +1 -1
- package/dist/icons/folder-open.js +6 -6
- package/dist/icons/folder-open.js.map +1 -1
- package/dist/icons/fork-git.js +6 -6
- package/dist/icons/fork-git.js.map +1 -1
- package/dist/icons/forward.js +6 -6
- package/dist/icons/forward.js.map +1 -1
- package/dist/icons/frame.js +6 -6
- package/dist/icons/frame.js.map +1 -1
- package/dist/icons/fullscreen.js +6 -6
- package/dist/icons/fullscreen.js.map +1 -1
- package/dist/icons/funnel.js +6 -6
- package/dist/icons/funnel.js.map +1 -1
- package/dist/icons/gauge.js +6 -6
- package/dist/icons/gauge.js.map +1 -1
- package/dist/icons/gift.js +6 -6
- package/dist/icons/gift.js.map +1 -1
- package/dist/icons/globe.js +6 -6
- package/dist/icons/globe.js.map +1 -1
- package/dist/icons/gps.js +6 -6
- package/dist/icons/gps.js.map +1 -1
- package/dist/icons/grab.js +6 -6
- package/dist/icons/grab.js.map +1 -1
- package/dist/icons/graph-bar.js +6 -6
- package/dist/icons/graph-bar.js.map +1 -1
- package/dist/icons/graph-box.js +6 -6
- package/dist/icons/graph-box.js.map +1 -1
- package/dist/icons/graph-increase.js +6 -6
- package/dist/icons/graph-increase.js.map +1 -1
- package/dist/icons/grid-circles-add.js +6 -6
- package/dist/icons/grid-circles-add.js.map +1 -1
- package/dist/icons/grid-circles.js +6 -6
- package/dist/icons/grid-circles.js.map +1 -1
- package/dist/icons/grid-small.js +6 -6
- package/dist/icons/grid-small.js.map +1 -1
- package/dist/icons/grid-squares-add.js +6 -6
- package/dist/icons/grid-squares-add.js.map +1 -1
- package/dist/icons/grid-squares.js +6 -6
- package/dist/icons/grid-squares.js.map +1 -1
- package/dist/icons/grid.js +6 -6
- package/dist/icons/grid.js.map +1 -1
- package/dist/icons/hand.js +6 -6
- package/dist/icons/hand.js.map +1 -1
- package/dist/icons/harddrive.js +6 -6
- package/dist/icons/harddrive.js.map +1 -1
- package/dist/icons/hash.js +6 -6
- package/dist/icons/hash.js.map +1 -1
- package/dist/icons/heart-rate.js +6 -6
- package/dist/icons/heart-rate.js.map +1 -1
- package/dist/icons/heart-remove.js +6 -6
- package/dist/icons/heart-remove.js.map +1 -1
- package/dist/icons/heart.js +6 -6
- package/dist/icons/heart.js.map +1 -1
- package/dist/icons/height.js +6 -6
- package/dist/icons/height.js.map +1 -1
- package/dist/icons/hierarchy.js +6 -6
- package/dist/icons/hierarchy.js.map +1 -1
- package/dist/icons/home-alt.js +6 -6
- package/dist/icons/home-alt.js.map +1 -1
- package/dist/icons/home-check.js +6 -6
- package/dist/icons/home-check.js.map +1 -1
- package/dist/icons/home-door.js +6 -6
- package/dist/icons/home-door.js.map +1 -1
- package/dist/icons/home.js +6 -6
- package/dist/icons/home.js.map +1 -1
- package/dist/icons/import.js +6 -6
- package/dist/icons/import.js.map +1 -1
- package/dist/icons/inbox-alt.js +6 -6
- package/dist/icons/inbox-alt.js.map +1 -1
- package/dist/icons/inbox.js +6 -6
- package/dist/icons/inbox.js.map +1 -1
- package/dist/icons/info-circle.js +6 -6
- package/dist/icons/info-circle.js.map +1 -1
- package/dist/icons/iphone-landscape.js +6 -6
- package/dist/icons/iphone-landscape.js.map +1 -1
- package/dist/icons/iphone-portrait.js +6 -6
- package/dist/icons/iphone-portrait.js.map +1 -1
- package/dist/icons/jump-backward.js +6 -6
- package/dist/icons/jump-backward.js.map +1 -1
- package/dist/icons/jump-forward.js +6 -6
- package/dist/icons/jump-forward.js.map +1 -1
- package/dist/icons/jump-left.js +6 -6
- package/dist/icons/jump-left.js.map +1 -1
- package/dist/icons/jump-right.js +6 -6
- package/dist/icons/jump-right.js.map +1 -1
- package/dist/icons/keyboard.js +6 -6
- package/dist/icons/keyboard.js.map +1 -1
- package/dist/icons/laptop.js +6 -6
- package/dist/icons/laptop.js.map +1 -1
- package/dist/icons/lightbulb-on.js +6 -6
- package/dist/icons/lightbulb-on.js.map +1 -1
- package/dist/icons/lightbulb.js +6 -6
- package/dist/icons/lightbulb.js.map +1 -1
- package/dist/icons/lightning-alt.js +6 -6
- package/dist/icons/lightning-alt.js.map +1 -1
- package/dist/icons/lightning.js +6 -6
- package/dist/icons/lightning.js.map +1 -1
- package/dist/icons/lineweight.js +6 -6
- package/dist/icons/lineweight.js.map +1 -1
- package/dist/icons/link-alt.js +6 -6
- package/dist/icons/link-alt.js.map +1 -1
- package/dist/icons/link-broken.js +6 -6
- package/dist/icons/link-broken.js.map +1 -1
- package/dist/icons/link-horizontal.js +6 -6
- package/dist/icons/link-horizontal.js.map +1 -1
- package/dist/icons/link-vertical.js +6 -6
- package/dist/icons/link-vertical.js.map +1 -1
- package/dist/icons/link.js +6 -6
- package/dist/icons/link.js.map +1 -1
- package/dist/icons/list-add.js +6 -6
- package/dist/icons/list-add.js.map +1 -1
- package/dist/icons/list-numbered.js +6 -6
- package/dist/icons/list-numbered.js.map +1 -1
- package/dist/icons/list.js +6 -6
- package/dist/icons/list.js.map +1 -1
- package/dist/icons/loader.js +6 -6
- package/dist/icons/loader.js.map +1 -1
- package/dist/icons/location.js +6 -6
- package/dist/icons/location.js.map +1 -1
- package/dist/icons/lock-open.js +6 -6
- package/dist/icons/lock-open.js.map +1 -1
- package/dist/icons/lock.js +6 -6
- package/dist/icons/lock.js.map +1 -1
- package/dist/icons/mail-add.js +6 -6
- package/dist/icons/mail-add.js.map +1 -1
- package/dist/icons/mail-delete.js +6 -6
- package/dist/icons/mail-delete.js.map +1 -1
- package/dist/icons/mail-minus.js +6 -6
- package/dist/icons/mail-minus.js.map +1 -1
- package/dist/icons/mail-new.js +6 -6
- package/dist/icons/mail-new.js.map +1 -1
- package/dist/icons/mail-open.js +6 -6
- package/dist/icons/mail-open.js.map +1 -1
- package/dist/icons/mail-remove.js +6 -6
- package/dist/icons/mail-remove.js.map +1 -1
- package/dist/icons/mail.js +6 -6
- package/dist/icons/mail.js.map +1 -1
- package/dist/icons/marquee.js +6 -6
- package/dist/icons/marquee.js.map +1 -1
- package/dist/icons/maximise.js +6 -6
- package/dist/icons/maximise.js.map +1 -1
- package/dist/icons/menu-hamburger.js +6 -6
- package/dist/icons/menu-hamburger.js.map +1 -1
- package/dist/icons/menu-horizontal.js +6 -6
- package/dist/icons/menu-horizontal.js.map +1 -1
- package/dist/icons/menu-vertical.js +6 -6
- package/dist/icons/menu-vertical.js.map +1 -1
- package/dist/icons/message-writing.js +6 -6
- package/dist/icons/message-writing.js.map +1 -1
- package/dist/icons/message.js +6 -6
- package/dist/icons/message.js.map +1 -1
- package/dist/icons/microphone-disabled.js +6 -6
- package/dist/icons/microphone-disabled.js.map +1 -1
- package/dist/icons/microphone-muted.js +6 -6
- package/dist/icons/microphone-muted.js.map +1 -1
- package/dist/icons/microphone.js +6 -6
- package/dist/icons/microphone.js.map +1 -1
- package/dist/icons/midpoint.js +6 -6
- package/dist/icons/midpoint.js.map +1 -1
- package/dist/icons/mini-player.js +6 -6
- package/dist/icons/mini-player.js.map +1 -1
- package/dist/icons/minimise.js +6 -6
- package/dist/icons/minimise.js.map +1 -1
- package/dist/icons/minus-circle.js +6 -6
- package/dist/icons/minus-circle.js.map +1 -1
- package/dist/icons/minus.js +6 -6
- package/dist/icons/minus.js.map +1 -1
- package/dist/icons/moon.js +6 -6
- package/dist/icons/moon.js.map +1 -1
- package/dist/icons/move.js +6 -6
- package/dist/icons/move.js.map +1 -1
- package/dist/icons/newspaper.js +6 -6
- package/dist/icons/newspaper.js.map +1 -1
- package/dist/icons/no-sign.js +6 -6
- package/dist/icons/no-sign.js.map +1 -1
- package/dist/icons/notebook.js +6 -6
- package/dist/icons/notebook.js.map +1 -1
- package/dist/icons/notification.js +6 -6
- package/dist/icons/notification.js.map +1 -1
- package/dist/icons/nut.js +6 -6
- package/dist/icons/nut.js.map +1 -1
- package/dist/icons/pages.js +6 -6
- package/dist/icons/pages.js.map +1 -1
- package/dist/icons/panel-bottom.js +6 -6
- package/dist/icons/panel-bottom.js.map +1 -1
- package/dist/icons/panel-center.js +6 -6
- package/dist/icons/panel-center.js.map +1 -1
- package/dist/icons/panel-left.js +6 -6
- package/dist/icons/panel-left.js.map +1 -1
- package/dist/icons/panel-right.js +6 -6
- package/dist/icons/panel-right.js.map +1 -1
- package/dist/icons/panel-sectioned.js +6 -6
- package/dist/icons/panel-sectioned.js.map +1 -1
- package/dist/icons/panel-top.js +6 -6
- package/dist/icons/panel-top.js.map +1 -1
- package/dist/icons/paper-folded.js +6 -6
- package/dist/icons/paper-folded.js.map +1 -1
- package/dist/icons/paper-plane-alt.js +6 -6
- package/dist/icons/paper-plane-alt.js.map +1 -1
- package/dist/icons/paper-plane.js +6 -6
- package/dist/icons/paper-plane.js.map +1 -1
- package/dist/icons/paper.js +6 -6
- package/dist/icons/paper.js.map +1 -1
- package/dist/icons/paperclip.js +6 -6
- package/dist/icons/paperclip.js.map +1 -1
- package/dist/icons/paragraph-center.js +6 -6
- package/dist/icons/paragraph-center.js.map +1 -1
- package/dist/icons/paragraph-end.js +6 -6
- package/dist/icons/paragraph-end.js.map +1 -1
- package/dist/icons/paragraph-left.js +6 -6
- package/dist/icons/paragraph-left.js.map +1 -1
- package/dist/icons/paragraph-right.js +6 -6
- package/dist/icons/paragraph-right.js.map +1 -1
- package/dist/icons/paragraph-start.js +6 -6
- package/dist/icons/paragraph-start.js.map +1 -1
- package/dist/icons/pen.js +6 -6
- package/dist/icons/pen.js.map +1 -1
- package/dist/icons/phone-landscape.js +6 -6
- package/dist/icons/phone-landscape.js.map +1 -1
- package/dist/icons/phone-portrait.js +6 -6
- package/dist/icons/phone-portrait.js.map +1 -1
- package/dist/icons/picture.js +6 -6
- package/dist/icons/picture.js.map +1 -1
- package/dist/icons/pie-half.js +6 -6
- package/dist/icons/pie-half.js.map +1 -1
- package/dist/icons/pie-quarter.js +6 -6
- package/dist/icons/pie-quarter.js.map +1 -1
- package/dist/icons/pie-third.js +6 -6
- package/dist/icons/pie-third.js.map +1 -1
- package/dist/icons/pill.js +6 -6
- package/dist/icons/pill.js.map +1 -1
- package/dist/icons/play-button.js +6 -6
- package/dist/icons/play-button.js.map +1 -1
- package/dist/icons/plus-circle.js +6 -6
- package/dist/icons/plus-circle.js.map +1 -1
- package/dist/icons/plus.js +6 -6
- package/dist/icons/plus.js.map +1 -1
- package/dist/icons/postcard.js +6 -6
- package/dist/icons/postcard.js.map +1 -1
- package/dist/icons/printer.js +6 -6
- package/dist/icons/printer.js.map +1 -1
- package/dist/icons/projector.js +6 -6
- package/dist/icons/projector.js.map +1 -1
- package/dist/icons/pull-down.js +6 -6
- package/dist/icons/pull-down.js.map +1 -1
- package/dist/icons/pull-left.js +6 -6
- package/dist/icons/pull-left.js.map +1 -1
- package/dist/icons/pull-right.js +6 -6
- package/dist/icons/pull-right.js.map +1 -1
- package/dist/icons/pull-up.js +6 -6
- package/dist/icons/pull-up.js.map +1 -1
- package/dist/icons/push-down.js +6 -6
- package/dist/icons/push-down.js.map +1 -1
- package/dist/icons/push-left.js +6 -6
- package/dist/icons/push-left.js.map +1 -1
- package/dist/icons/push-right.js +6 -6
- package/dist/icons/push-right.js.map +1 -1
- package/dist/icons/push-up.js +6 -6
- package/dist/icons/push-up.js.map +1 -1
- package/dist/icons/question-circle.js +6 -6
- package/dist/icons/question-circle.js.map +1 -1
- package/dist/icons/radio-on.js +6 -6
- package/dist/icons/radio-on.js.map +1 -1
- package/dist/icons/receipt.js +6 -6
- package/dist/icons/receipt.js.map +1 -1
- package/dist/icons/record.js +6 -6
- package/dist/icons/record.js.map +1 -1
- package/dist/icons/redo.js +6 -6
- package/dist/icons/redo.js.map +1 -1
- package/dist/icons/refresh-alt.js +6 -6
- package/dist/icons/refresh-alt.js.map +1 -1
- package/dist/icons/refresh.js +6 -6
- package/dist/icons/refresh.js.map +1 -1
- package/dist/icons/replicate-alt.js +6 -6
- package/dist/icons/replicate-alt.js.map +1 -1
- package/dist/icons/replicate.js +6 -6
- package/dist/icons/replicate.js.map +1 -1
- package/dist/icons/reset-alt.js +6 -6
- package/dist/icons/reset-alt.js.map +1 -1
- package/dist/icons/reset-forward.js +6 -6
- package/dist/icons/reset-forward.js.map +1 -1
- package/dist/icons/reset-hard.js +6 -6
- package/dist/icons/reset-hard.js.map +1 -1
- package/dist/icons/reset-temporary.js +6 -6
- package/dist/icons/reset-temporary.js.map +1 -1
- package/dist/icons/reset.js +6 -6
- package/dist/icons/reset.js.map +1 -1
- package/dist/icons/resolver.js +439 -438
- package/dist/icons/resolver.js.map +1 -1
- package/dist/icons/retweet.js +6 -6
- package/dist/icons/retweet.js.map +1 -1
- package/dist/icons/reuse.js +6 -6
- package/dist/icons/reuse.js.map +1 -1
- package/dist/icons/reverse-alt.js +6 -6
- package/dist/icons/reverse-alt.js.map +1 -1
- package/dist/icons/reverse.js +6 -6
- package/dist/icons/reverse.js.map +1 -1
- package/dist/icons/revert.js +6 -6
- package/dist/icons/revert.js.map +1 -1
- package/dist/icons/rocket.js +6 -6
- package/dist/icons/rocket.js.map +1 -1
- package/dist/icons/ruler.js +6 -6
- package/dist/icons/ruler.js.map +1 -1
- package/dist/icons/scale-contract.js +6 -6
- package/dist/icons/scale-contract.js.map +1 -1
- package/dist/icons/scale-extend.js +6 -6
- package/dist/icons/scale-extend.js.map +1 -1
- package/dist/icons/scale.js +6 -6
- package/dist/icons/scale.js.map +1 -1
- package/dist/icons/scalpel.js +6 -6
- package/dist/icons/scalpel.js.map +1 -1
- package/dist/icons/search.js +6 -6
- package/dist/icons/search.js.map +1 -1
- package/dist/icons/server.js +6 -6
- package/dist/icons/server.js.map +1 -1
- package/dist/icons/settings.js +6 -6
- package/dist/icons/settings.js.map +1 -1
- package/dist/icons/share-alt.js +6 -6
- package/dist/icons/share-alt.js.map +1 -1
- package/dist/icons/share.js +6 -6
- package/dist/icons/share.js.map +1 -1
- package/dist/icons/shuffle.js +6 -6
- package/dist/icons/shuffle.js.map +1 -1
- package/dist/icons/side-menu.js +6 -6
- package/dist/icons/side-menu.js.map +1 -1
- package/dist/icons/signal-full.js +6 -6
- package/dist/icons/signal-full.js.map +1 -1
- package/dist/icons/signal-low.js +6 -6
- package/dist/icons/signal-low.js.map +1 -1
- package/dist/icons/signal-medium.js +6 -6
- package/dist/icons/signal-medium.js.map +1 -1
- package/dist/icons/signal-none.js +6 -6
- package/dist/icons/signal-none.js.map +1 -1
- package/dist/icons/slash-backward.js +6 -6
- package/dist/icons/slash-backward.js.map +1 -1
- package/dist/icons/slash-forward.js +6 -6
- package/dist/icons/slash-forward.js.map +1 -1
- package/dist/icons/sliders.js +6 -6
- package/dist/icons/sliders.js.map +1 -1
- package/dist/icons/sort-alt.js +6 -6
- package/dist/icons/sort-alt.js.map +1 -1
- package/dist/icons/sort.js +6 -6
- package/dist/icons/sort.js.map +1 -1
- package/dist/icons/speaker.js +6 -6
- package/dist/icons/speaker.js.map +1 -1
- package/dist/icons/speech-bubble.js +6 -6
- package/dist/icons/speech-bubble.js.map +1 -1
- package/dist/icons/speech-typing.js +6 -6
- package/dist/icons/speech-typing.js.map +1 -1
- package/dist/icons/split-three.js +6 -6
- package/dist/icons/split-three.js.map +1 -1
- package/dist/icons/split.js +6 -6
- package/dist/icons/split.js.map +1 -1
- package/dist/icons/star.js +6 -6
- package/dist/icons/star.js.map +1 -1
- package/dist/icons/sun.js +6 -6
- package/dist/icons/sun.js.map +1 -1
- package/dist/icons/support.js +6 -6
- package/dist/icons/support.js.map +1 -1
- package/dist/icons/swap.js +6 -6
- package/dist/icons/swap.js.map +1 -1
- package/dist/icons/switch.js +6 -6
- package/dist/icons/switch.js.map +1 -1
- package/dist/icons/table-header.js +6 -6
- package/dist/icons/table-header.js.map +1 -1
- package/dist/icons/table.js +6 -6
- package/dist/icons/table.js.map +1 -1
- package/dist/icons/tag-milestone.js +6 -6
- package/dist/icons/tag-milestone.js.map +1 -1
- package/dist/icons/tag.js +6 -6
- package/dist/icons/tag.js.map +1 -1
- package/dist/icons/tags.js +6 -6
- package/dist/icons/tags.js.map +1 -1
- package/dist/icons/target.js +6 -6
- package/dist/icons/target.js.map +1 -1
- package/dist/icons/terminal.js +6 -6
- package/dist/icons/terminal.js.map +1 -1
- package/dist/icons/thread.js +6 -6
- package/dist/icons/thread.js.map +1 -1
- package/dist/icons/thumbs-down.js +6 -6
- package/dist/icons/thumbs-down.js.map +1 -1
- package/dist/icons/thumbs-up.js +6 -6
- package/dist/icons/thumbs-up.js.map +1 -1
- package/dist/icons/ticket.js +6 -6
- package/dist/icons/ticket.js.map +1 -1
- package/dist/icons/timeline.js +6 -6
- package/dist/icons/timeline.js.map +1 -1
- package/dist/icons/todo.js +6 -6
- package/dist/icons/todo.js.map +1 -1
- package/dist/icons/toggle.js +6 -6
- package/dist/icons/toggle.js.map +1 -1
- package/dist/icons/toggles.js +6 -6
- package/dist/icons/toggles.js.map +1 -1
- package/dist/icons/translate.js +6 -6
- package/dist/icons/translate.js.map +1 -1
- package/dist/icons/trash-alt.js +6 -6
- package/dist/icons/trash-alt.js.map +1 -1
- package/dist/icons/trash.js +6 -6
- package/dist/icons/trash.js.map +1 -1
- package/dist/icons/trophy.js +6 -6
- package/dist/icons/trophy.js.map +1 -1
- package/dist/icons/tv-mode.js +6 -6
- package/dist/icons/tv-mode.js.map +1 -1
- package/dist/icons/unarchive.js +6 -6
- package/dist/icons/unarchive.js.map +1 -1
- package/dist/icons/undo-history.js +6 -6
- package/dist/icons/undo-history.js.map +1 -1
- package/dist/icons/undo.js +6 -6
- package/dist/icons/undo.js.map +1 -1
- package/dist/icons/unlink-horizontal.js +6 -6
- package/dist/icons/unlink-horizontal.js.map +1 -1
- package/dist/icons/unlink-vertical.js +6 -6
- package/dist/icons/unlink-vertical.js.map +1 -1
- package/dist/icons/upload-alt.js +6 -6
- package/dist/icons/upload-alt.js.map +1 -1
- package/dist/icons/upload.js +6 -6
- package/dist/icons/upload.js.map +1 -1
- package/dist/icons/upward.js +6 -6
- package/dist/icons/upward.js.map +1 -1
- package/dist/icons/user-add.js +6 -6
- package/dist/icons/user-add.js.map +1 -1
- package/dist/icons/user-circle.js +6 -6
- package/dist/icons/user-circle.js.map +1 -1
- package/dist/icons/user-male-circle.js +6 -6
- package/dist/icons/user-male-circle.js.map +1 -1
- package/dist/icons/user-male.js +6 -6
- package/dist/icons/user-male.js.map +1 -1
- package/dist/icons/user-remove.js +6 -6
- package/dist/icons/user-remove.js.map +1 -1
- package/dist/icons/user.js +6 -6
- package/dist/icons/user.js.map +1 -1
- package/dist/icons/users.js +6 -6
- package/dist/icons/users.js.map +1 -1
- package/dist/icons/venn.js +6 -6
- package/dist/icons/venn.js.map +1 -1
- package/dist/icons/version.js +6 -6
- package/dist/icons/version.js.map +1 -1
- package/dist/icons/versions.js +6 -6
- package/dist/icons/versions.js.map +1 -1
- package/dist/icons/video.js +6 -6
- package/dist/icons/video.js.map +1 -1
- package/dist/icons/volume-0.js +6 -6
- package/dist/icons/volume-0.js.map +1 -1
- package/dist/icons/volume-add.js +6 -6
- package/dist/icons/volume-add.js.map +1 -1
- package/dist/icons/volume-disabled.js +6 -6
- package/dist/icons/volume-disabled.js.map +1 -1
- package/dist/icons/volume-high.js +6 -6
- package/dist/icons/volume-high.js.map +1 -1
- package/dist/icons/volume-low.js +6 -6
- package/dist/icons/volume-low.js.map +1 -1
- package/dist/icons/volume-minus.js +6 -6
- package/dist/icons/volume-minus.js.map +1 -1
- package/dist/icons/volume-muted.js +6 -6
- package/dist/icons/volume-muted.js.map +1 -1
- package/dist/icons/wallet.js +6 -6
- package/dist/icons/wallet.js.map +1 -1
- package/dist/icons/warning-circle.js +6 -6
- package/dist/icons/warning-circle.js.map +1 -1
- package/dist/icons/warning-hex.js +6 -6
- package/dist/icons/warning-hex.js.map +1 -1
- package/dist/icons/warning-triangle.js +6 -6
- package/dist/icons/warning-triangle.js.map +1 -1
- package/dist/icons/waves.js +6 -6
- package/dist/icons/waves.js.map +1 -1
- package/dist/icons/width.js +6 -6
- package/dist/icons/width.js.map +1 -1
- package/dist/icons/wifi-error.js +6 -6
- package/dist/icons/wifi-error.js.map +1 -1
- package/dist/icons/wifi-none.js +6 -6
- package/dist/icons/wifi-none.js.map +1 -1
- package/dist/icons/wifi.js +6 -6
- package/dist/icons/wifi.js.map +1 -1
- package/dist/icons/window-collapse-left.js +6 -6
- package/dist/icons/window-collapse-left.js.map +1 -1
- package/dist/icons/window-collapse-right.js +6 -6
- package/dist/icons/window-collapse-right.js.map +1 -1
- package/dist/icons/window-content.js +6 -6
- package/dist/icons/window-content.js.map +1 -1
- package/dist/icons/window.js +6 -6
- package/dist/icons/window.js.map +1 -1
- package/dist/icons/wrap-back.js +6 -6
- package/dist/icons/wrap-back.js.map +1 -1
- package/dist/icons/wrap-forward.js +6 -6
- package/dist/icons/wrap-forward.js.map +1 -1
- package/dist/icons/write.js +6 -6
- package/dist/icons/write.js.map +1 -1
- package/dist/icons/zoom-cancel.js +6 -6
- package/dist/icons/zoom-cancel.js.map +1 -1
- package/dist/icons/zoom-in.js +6 -6
- package/dist/icons/zoom-in.js.map +1 -1
- package/dist/icons/zoom-out.js +6 -6
- package/dist/icons/zoom-out.js.map +1 -1
- package/dist/icons/zoom-reset.js +6 -6
- package/dist/icons/zoom-reset.js.map +1 -1
- package/dist/index.css +2 -1
- package/dist/index.js +56 -99
- package/dist/shared/accordion-DdjSWHBH.js +359 -0
- package/dist/shared/accordion-DdjSWHBH.js.map +1 -0
- package/dist/shared/alert-CZE6Ht5G.js +234 -0
- package/dist/shared/alert-CZE6Ht5G.js.map +1 -0
- package/dist/shared/avatar-DMc878aU.js +232 -0
- package/dist/shared/avatar-DMc878aU.js.map +1 -0
- package/dist/shared/badge-Bc661ppN.js +142 -0
- package/dist/shared/badge-Bc661ppN.js.map +1 -0
- package/dist/shared/boolean-converter-saxBDLhA.js +13 -0
- package/dist/shared/boolean-converter-saxBDLhA.js.map +1 -0
- package/dist/shared/breadcrumb-BUUBrakn.js +459 -0
- package/dist/shared/breadcrumb-BUUBrakn.js.map +1 -0
- package/dist/shared/button-BBmxCyz-.js +186 -0
- package/dist/shared/button-BBmxCyz-.js.map +1 -0
- package/dist/shared/card-Cm0X0KrG.js +216 -0
- package/dist/shared/card-Cm0X0KrG.js.map +1 -0
- package/dist/shared/checkbox-DVNGkHj-.js +322 -0
- package/dist/shared/checkbox-DVNGkHj-.js.map +1 -0
- package/dist/shared/code-block-9yvHd_mF.js +542 -0
- package/dist/shared/code-block-9yvHd_mF.js.map +1 -0
- package/dist/shared/color-picker-C3-0c3_0.js +1423 -0
- package/dist/shared/color-picker-C3-0c3_0.js.map +1 -0
- package/dist/shared/combobox-fcD23BVq.js +557 -0
- package/dist/shared/combobox-fcD23BVq.js.map +1 -0
- package/dist/shared/container-g5tWN0VG.js +85 -0
- package/dist/shared/container-g5tWN0VG.js.map +1 -0
- package/dist/shared/date-picker-CBtZk2uN.js +719 -0
- package/dist/shared/date-picker-CBtZk2uN.js.map +1 -0
- package/dist/shared/debounce-BOon6N4f.js +23 -0
- package/dist/shared/debounce-BOon6N4f.js.map +1 -0
- package/dist/shared/decorate-BJVyhdRd.js +9 -0
- package/dist/shared/divider-Cs0fV9wg.js +205 -0
- package/dist/shared/divider-Cs0fV9wg.js.map +1 -0
- package/dist/shared/drawer-B_BgT3xH.js +533 -0
- package/dist/shared/drawer-B_BgT3xH.js.map +1 -0
- package/dist/shared/dropdown-DXT3zeCU.js +316 -0
- package/dist/shared/dropdown-DXT3zeCU.js.map +1 -0
- package/dist/shared/field-message-CPXPLd6z.js +46 -0
- package/dist/shared/field-message-CPXPLd6z.js.map +1 -0
- package/dist/shared/fieldset-BPRt4nC5.js +155 -0
- package/dist/shared/fieldset-BPRt4nC5.js.map +1 -0
- package/dist/shared/file-upload-Cn6JAJ2C.js +608 -0
- package/dist/shared/file-upload-Cn6JAJ2C.js.map +1 -0
- package/dist/shared/form-control-CBEBNz12.js +120 -0
- package/dist/shared/form-control-CBEBNz12.js.map +1 -0
- package/dist/shared/grid-BDSEzri7.js +88 -0
- package/dist/shared/grid-BDSEzri7.js.map +1 -0
- package/dist/shared/heading-9DjHVERY.js +150 -0
- package/dist/shared/heading-9DjHVERY.js.map +1 -0
- package/dist/shared/icon-SU3ebQcn.js +176 -0
- package/dist/shared/icon-SU3ebQcn.js.map +1 -0
- package/dist/shared/icon-button-BQJ44FGd.js +230 -0
- package/dist/shared/icon-button-BQJ44FGd.js.map +1 -0
- package/dist/shared/input-nV6RvTZq.js +329 -0
- package/dist/shared/input-nV6RvTZq.js.map +1 -0
- package/dist/shared/link-BlDSXjMo.js +174 -0
- package/dist/shared/link-BlDSXjMo.js.map +1 -0
- package/dist/shared/memoize-CpXRWhgJ.js +14 -0
- package/dist/shared/memoize-CpXRWhgJ.js.map +1 -0
- package/dist/shared/menu-Cr_E847O.js +291 -0
- package/dist/shared/menu-Cr_E847O.js.map +1 -0
- package/dist/shared/modal-BxL4EDMm.js +299 -0
- package/dist/shared/modal-BxL4EDMm.js.map +1 -0
- package/dist/shared/multi-select-BuU5RFrR.js +631 -0
- package/dist/shared/multi-select-BuU5RFrR.js.map +1 -0
- package/dist/shared/notification--jDZt64l.js +385 -0
- package/dist/shared/notification--jDZt64l.js.map +1 -0
- package/dist/shared/notification-stack-iVG35x2L.js +127 -0
- package/dist/shared/notification-stack-iVG35x2L.js.map +1 -0
- package/dist/shared/number-input-CnHIbGjG.js +474 -0
- package/dist/shared/number-input-CnHIbGjG.js.map +1 -0
- package/dist/shared/pagination-sPm2C9Gl.js +295 -0
- package/dist/shared/pagination-sPm2C9Gl.js.map +1 -0
- package/dist/shared/popover-BBmiWhfm.js +560 -0
- package/dist/shared/popover-BBmiWhfm.js.map +1 -0
- package/dist/shared/progress-BPsiJ-Bl.js +198 -0
- package/dist/shared/progress-BPsiJ-Bl.js.map +1 -0
- package/dist/shared/radio-DnuSzORk.js +306 -0
- package/dist/shared/radio-DnuSzORk.js.map +1 -0
- package/dist/shared/radio-group-Cey9Yz5s.js +163 -0
- package/dist/shared/radio-group-Cey9Yz5s.js.map +1 -0
- package/dist/shared/select-Dz52figi.js +465 -0
- package/dist/shared/select-Dz52figi.js.map +1 -0
- package/dist/shared/skeleton-BY6tANXI.js +206 -0
- package/dist/shared/skeleton-BY6tANXI.js.map +1 -0
- package/dist/shared/slider-6Q8ChlAS.js +425 -0
- package/dist/shared/slider-6Q8ChlAS.js.map +1 -0
- package/dist/shared/spinner-Bg4fErQA.js +129 -0
- package/dist/shared/spinner-Bg4fErQA.js.map +1 -0
- package/dist/shared/stack-BZslXtDg.js +113 -0
- package/dist/shared/stack-BZslXtDg.js.map +1 -0
- package/dist/shared/stepper-B42LunTc.js +713 -0
- package/dist/shared/stepper-B42LunTc.js.map +1 -0
- package/dist/shared/switch-Df-8K3aW.js +348 -0
- package/dist/shared/switch-Df-8K3aW.js.map +1 -0
- package/dist/shared/table-D2qrSuqf.js +575 -0
- package/dist/shared/table-D2qrSuqf.js.map +1 -0
- package/dist/shared/tabs-CDf79ZXn.js +523 -0
- package/dist/shared/tabs-CDf79ZXn.js.map +1 -0
- package/dist/shared/tag-CHVTSqVW.js +292 -0
- package/dist/shared/tag-CHVTSqVW.js.map +1 -0
- package/dist/shared/text-DpWMArti.js +272 -0
- package/dist/shared/text-DpWMArti.js.map +1 -0
- package/dist/shared/textarea-Cba7xnZw.js +346 -0
- package/dist/shared/textarea-Cba7xnZw.js.map +1 -0
- package/dist/shared/time-picker-B_KTAdhx.js +423 -0
- package/dist/shared/time-picker-B_KTAdhx.js.map +1 -0
- package/dist/shared/tooltip-DUXEHFzC.js +212 -0
- package/dist/shared/tooltip-DUXEHFzC.js.map +1 -0
- package/dist/shared/tree-Dm3oQey1.js +450 -0
- package/dist/shared/tree-Dm3oQey1.js.map +1 -0
- package/dist/utilities/field-message.d.ts +42 -0
- package/dist/utilities/field-message.d.ts.map +1 -0
- package/dist/utilities/form-control.d.ts +87 -0
- package/dist/utilities/form-control.d.ts.map +1 -0
- package/dist/utilities/index.d.ts +2 -0
- package/dist/utilities/index.d.ts.map +1 -1
- package/package.json +35 -29
- package/dist/components/accordion.js.map +0 -1
- package/dist/components/alert.js.map +0 -1
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/badge.js.map +0 -1
- package/dist/components/breadcrumb.js.map +0 -1
- package/dist/components/button.js.map +0 -1
- package/dist/components/card.js.map +0 -1
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/code-block.js.map +0 -1
- package/dist/components/color-picker.js.map +0 -1
- package/dist/components/combobox.js.map +0 -1
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/divider.js.map +0 -1
- package/dist/components/drawer.js.map +0 -1
- package/dist/components/dropdown.js.map +0 -1
- package/dist/components/file-upload.js.map +0 -1
- package/dist/components/heading.js.map +0 -1
- package/dist/components/icon.js.map +0 -1
- package/dist/components/input.js.map +0 -1
- package/dist/components/link.js.map +0 -1
- package/dist/components/menu.js.map +0 -1
- package/dist/components/modal.js.map +0 -1
- package/dist/components/multi-select.js.map +0 -1
- package/dist/components/notification.js.map +0 -1
- package/dist/components/number-input.js.map +0 -1
- package/dist/components/pagination.js.map +0 -1
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress.js.map +0 -1
- package/dist/components/radio.js.map +0 -1
- package/dist/components/select.js.map +0 -1
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slider.js.map +0 -1
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/stepper.js.map +0 -1
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table.js.map +0 -1
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/tag.js.map +0 -1
- package/dist/components/text.js.map +0 -1
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/time-picker.js.map +0 -1
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/tree.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/shared/boolean-converter-XDGfS9LC.js +0 -12
- package/dist/shared/boolean-converter-XDGfS9LC.js.map +0 -1
- package/dist/shared/debounce-BckY30Sf.js +0 -23
- package/dist/shared/debounce-BckY30Sf.js.map +0 -1
- package/dist/shared/memoize-DlOFy-92.js +0 -16
- package/dist/shared/memoize-DlOFy-92.js.map +0 -1
- package/dist/shared/slider-BNt5TITl.js +0 -484
- package/dist/shared/slider-BNt5TITl.js.map +0 -1
|
@@ -2,4 +2,6 @@ export { throttle } from './throttle.js';
|
|
|
2
2
|
export { debounce } from './debounce.js';
|
|
3
3
|
export { memoizeOne } from './memoize.js';
|
|
4
4
|
export { booleanConverter } from './boolean-converter.js';
|
|
5
|
+
export { FormControlMixin, customErrorValidity, syncCustomValidity, type FormControlInterface, type FormValue, type FormValidity, } from './form-control.js';
|
|
6
|
+
export { fieldMessageState, renderFieldMessage, fieldMessageStyles, HELPER_TEXT_ID, ERROR_MESSAGE_ID, type FieldMessageOptions, type FieldMessageState, } from './field-message.js';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krollins/blueprint",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "A highly portable and customizable component library built on Lit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -19,30 +19,38 @@
|
|
|
19
19
|
"./button": "./dist/components/button.js",
|
|
20
20
|
"./card": "./dist/components/card.js",
|
|
21
21
|
"./checkbox": "./dist/components/checkbox.js",
|
|
22
|
+
"./code-block": "./dist/components/code-block.js",
|
|
22
23
|
"./color-picker": "./dist/components/color-picker.js",
|
|
23
24
|
"./combobox": "./dist/components/combobox.js",
|
|
25
|
+
"./container": "./dist/components/container.js",
|
|
24
26
|
"./date-picker": "./dist/components/date-picker.js",
|
|
25
27
|
"./divider": "./dist/components/divider.js",
|
|
26
28
|
"./drawer": "./dist/components/drawer.js",
|
|
27
29
|
"./dropdown": "./dist/components/dropdown.js",
|
|
30
|
+
"./fieldset": "./dist/components/fieldset.js",
|
|
28
31
|
"./file-upload": "./dist/components/file-upload.js",
|
|
32
|
+
"./grid": "./dist/components/grid.js",
|
|
29
33
|
"./heading": "./dist/components/heading.js",
|
|
30
34
|
"./icon": "./dist/components/icon.js",
|
|
35
|
+
"./icon-button": "./dist/components/icon-button.js",
|
|
31
36
|
"./input": "./dist/components/input.js",
|
|
32
37
|
"./link": "./dist/components/link.js",
|
|
33
38
|
"./menu": "./dist/components/menu.js",
|
|
34
39
|
"./modal": "./dist/components/modal.js",
|
|
35
40
|
"./multi-select": "./dist/components/multi-select.js",
|
|
36
41
|
"./notification": "./dist/components/notification.js",
|
|
42
|
+
"./notification-stack": "./dist/components/notification-stack.js",
|
|
37
43
|
"./number-input": "./dist/components/number-input.js",
|
|
38
44
|
"./pagination": "./dist/components/pagination.js",
|
|
39
45
|
"./popover": "./dist/components/popover.js",
|
|
40
46
|
"./progress": "./dist/components/progress.js",
|
|
41
47
|
"./radio": "./dist/components/radio.js",
|
|
48
|
+
"./radio-group": "./dist/components/radio-group.js",
|
|
42
49
|
"./select": "./dist/components/select.js",
|
|
43
50
|
"./skeleton": "./dist/components/skeleton.js",
|
|
44
51
|
"./slider": "./dist/components/slider.js",
|
|
45
52
|
"./spinner": "./dist/components/spinner.js",
|
|
53
|
+
"./stack": "./dist/components/stack.js",
|
|
46
54
|
"./stepper": "./dist/components/stepper.js",
|
|
47
55
|
"./switch": "./dist/components/switch.js",
|
|
48
56
|
"./table": "./dist/components/table.js",
|
|
@@ -65,7 +73,8 @@
|
|
|
65
73
|
"sideEffects": [
|
|
66
74
|
"dist/index.js",
|
|
67
75
|
"dist/index.css",
|
|
68
|
-
"dist/components/**/*.js"
|
|
76
|
+
"dist/components/**/*.js",
|
|
77
|
+
"dist/shared/**/*.js"
|
|
69
78
|
],
|
|
70
79
|
"repository": {
|
|
71
80
|
"type": "git",
|
|
@@ -86,12 +95,12 @@
|
|
|
86
95
|
"test:cli": "vitest source/cli",
|
|
87
96
|
"test:themes": "vitest source/themes",
|
|
88
97
|
"test:themes:run": "vitest run source/themes",
|
|
89
|
-
"lint": "eslint source
|
|
90
|
-
"lint:fix": "eslint source --
|
|
91
|
-
"format": "prettier --write source/**/*.{ts,tsx,css,md}",
|
|
92
|
-
"format:check": "prettier --check source/**/*.{ts,tsx,css,md}",
|
|
93
|
-
"theme:generate": "npm run build:cli && node dist/cli/commands/generate-theme.js",
|
|
94
|
-
"theme:generate-types": "npm run build:cli && node dist/cli/index.js theme generate-types",
|
|
98
|
+
"lint": "eslint source",
|
|
99
|
+
"lint:fix": "eslint source --fix",
|
|
100
|
+
"format": "prettier --write \"source/**/*.{ts,tsx,css,md}\"",
|
|
101
|
+
"format:check": "prettier --check \"source/**/*.{ts,tsx,css,md}\"",
|
|
102
|
+
"theme:generate": "npm run build:cli && node dist/cli/commands/generate-theme.js && prettier --write --log-level warn source/themes/generated",
|
|
103
|
+
"theme:generate-types": "npm run build:cli && node dist/cli/index.js theme generate-types && prettier --write --log-level warn source/themes/generated/theme.d.ts",
|
|
95
104
|
"theme:watch-types": "npm run build:cli && node dist/cli/index.js theme generate-types --watch",
|
|
96
105
|
"storybook": "storybook dev -p 6006",
|
|
97
106
|
"build-storybook": "storybook build",
|
|
@@ -111,35 +120,32 @@
|
|
|
111
120
|
"license": "MIT",
|
|
112
121
|
"type": "module",
|
|
113
122
|
"devDependencies": {
|
|
114
|
-
"@changesets/cli": "^
|
|
123
|
+
"@changesets/cli": "^3.0.3",
|
|
115
124
|
"@eslint/js": "^10.0.1",
|
|
116
125
|
"@iarna/toml": "^2.2.5",
|
|
117
|
-
"@inquirer/prompts": "^8.
|
|
118
|
-
"@storybook/web-components-vite": "^10.1
|
|
119
|
-
"@types/chokidar": "^1.7.5",
|
|
126
|
+
"@inquirer/prompts": "^8.7.3",
|
|
127
|
+
"@storybook/web-components-vite": "^10.6.1",
|
|
120
128
|
"@types/culori": "^4.0.1",
|
|
121
129
|
"@types/iarna__toml": "^2.0.5",
|
|
122
|
-
"@types/node": "^
|
|
123
|
-
"@
|
|
130
|
+
"@types/node": "^26.6.4",
|
|
131
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
132
|
+
"@vitest/coverage-v8": "^5.0.3",
|
|
133
|
+
"@vitest/ui": "^5.0.3",
|
|
124
134
|
"chokidar": "^5.0.0",
|
|
125
|
-
"commander": "^
|
|
135
|
+
"commander": "^15.0.0",
|
|
126
136
|
"culori": "^4.0.2",
|
|
127
|
-
"eslint": "^10.0
|
|
137
|
+
"eslint": "^10.12.0",
|
|
128
138
|
"eslint-config-prettier": "^10.1.8",
|
|
129
|
-
"eslint-plugin-storybook": "^10.
|
|
130
|
-
"happy-dom": "^20.
|
|
131
|
-
"prettier": "^3.
|
|
132
|
-
"storybook": "^10.1
|
|
133
|
-
"typescript": "
|
|
134
|
-
"typescript-eslint": "^8.
|
|
135
|
-
"vite": "^
|
|
136
|
-
"vitest": "^
|
|
139
|
+
"eslint-plugin-storybook": "^10.6.1",
|
|
140
|
+
"happy-dom": "^20.14.5",
|
|
141
|
+
"prettier": "^3.9.9",
|
|
142
|
+
"storybook": "^10.6.1",
|
|
143
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
144
|
+
"typescript-eslint": "^8.71.1",
|
|
145
|
+
"vite": "^8.3.3",
|
|
146
|
+
"vitest": "^5.0.3"
|
|
137
147
|
},
|
|
138
148
|
"dependencies": {
|
|
139
|
-
"
|
|
140
|
-
"lit": "^3.3.2"
|
|
141
|
-
},
|
|
142
|
-
"overrides": {
|
|
143
|
-
"minimatch": "^10.2.1"
|
|
149
|
+
"lit": "^3.3.3"
|
|
144
150
|
}
|
|
145
151
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","sources":["../../source/components/accordion/accordion.style.ts","../../source/components/accordion/accordion.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const accordionStyles = css`\n /* ===== ACCORDION CONTAINER ===== */\n\n :host {\n display: block;\n }\n\n .accordion {\n font-family: var(--bp-font-family);\n display: flex;\n flex-direction: column;\n border: var(--bp-border-width) solid var(--bp-color-border);\n border-radius: var(--bp-border-radius);\n overflow: hidden;\n }\n\n /* Disabled state */\n .accordion--disabled {\n opacity: var(--bp-opacity-disabled);\n pointer-events: none;\n }\n\n /* ===== ACCORDION ITEM ===== */\n\n /* Separators between items */\n :host(:not(:first-of-type)) {\n border-top: var(--bp-border-width) solid var(--bp-color-border);\n }\n\n .item {\n display: flex;\n flex-direction: column;\n }\n\n /* Header button */\n .item__header {\n /* Reset */\n appearance: none;\n border: none;\n background: transparent;\n margin: 0;\n\n /* Layout */\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--bp-spacing-4) var(--bp-spacing-4);\n gap: var(--bp-spacing-3);\n\n /* Typography */\n font-family: var(--bp-font-family);\n font-size: var(--bp-font-size-base);\n font-weight: var(--bp-font-weight-medium);\n text-align: left;\n color: var(--bp-color-text);\n line-height: var(--bp-line-height-normal);\n\n /* Interaction */\n cursor: pointer;\n transition: background-color var(--bp-transition-fast);\n }\n\n .item__header:hover:not(:disabled) {\n background-color: var(--bp-color-surface);\n }\n\n .item__header:focus {\n outline: none;\n }\n\n .item__header:focus-visible {\n outline: var(--bp-focus-width) var(--bp-focus-style) var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n .item__header:active:not(:disabled) {\n background-color: var(--bp-color-surface-hover);\n transform: translateY(1px);\n }\n .item__header-content {\n display: flex;\n align-items: center;\n gap: var(--bp-spacing-3);\n flex: 1;\n }\n\n /* Expand/collapse icon */\n .item__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--bp-color-text-muted);\n transition: transform var(--bp-transition-fast);\n }\n\n /* Icon is sized by bp-icon component */\n\n /* Rotate icon when expanded */\n .item--expanded .item__icon {\n transform: rotate(180deg);\n }\n\n /* Collapsible content */\n .item__content {\n display: grid;\n grid-template-rows: 0fr;\n overflow: hidden;\n transition: grid-template-rows var(--bp-transition-base);\n content-visibility: hidden;\n }\n\n .item--expanded .item__content {\n grid-template-rows: 1fr;\n content-visibility: visible;\n }\n\n .item__body {\n min-height: 0;\n padding: 0 var(--bp-spacing-4) var(--bp-spacing-4) var(--bp-spacing-4);\n color: var(--bp-color-text);\n font-size: var(--bp-font-size-sm);\n line-height: var(--bp-line-height-relaxed);\n overflow: hidden;\n opacity: 0;\n transition: opacity var(--bp-transition-fast);\n }\n\n .item--expanded .item__body {\n opacity: 1;\n transition-delay: 100ms;\n }\n\n .item:not(.item--expanded) .item__body {\n padding-top: 0;\n padding-bottom: 0;\n opacity: 0;\n transition-delay: 0ms;\n }\n\n /* Disabled state */\n .item--disabled .item__header {\n cursor: not-allowed;\n opacity: var(--bp-opacity-disabled);\n }\n\n .item--disabled .item__icon {\n opacity: 1;\n }\n\n .item--disabled .item__header:hover {\n background-color: transparent;\n }\n\n /* Reduced motion */\n @media (prefers-reduced-motion: reduce) {\n .item__icon {\n transition: none;\n }\n\n .item__content {\n transition: none;\n }\n\n .item__body {\n transition: none;\n opacity: 1;\n }\n\n .item__header:active:not(:disabled) {\n transform: none;\n }\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { accordionStyles } from './accordion.style.js';\nimport { chevronDownSvg } from '../icon/icons/entries/chevron-down.js';\nimport '../icon/icon.js';\n\n/**\n * A container component that groups accordion items.\n * Controls single or multiple expansion behavior.\n *\n * @element bp-accordion\n *\n * @property {boolean} multiple - Whether multiple items can be expanded simultaneously\n * @property {string[]} expandedItems - Array of expanded item IDs\n * @property {boolean} disabled - Whether all items are disabled\n *\n * @fires bp-expand - Fired when an item is expanded\n * @fires bp-collapse - Fired when an item is collapsed\n *\n * @slot - Default slot for bp-accordion-item elements\n *\n * @csspart accordion - The main accordion container\n */\n@customElement('bp-accordion')\nexport class BpAccordion extends LitElement {\n /** Whether multiple items can be expanded simultaneously */\n @property({ type: Boolean, reflect: true }) declare multiple: boolean;\n\n /** Array of expanded item IDs */\n @property({ type: Array }) declare expandedItems: string[];\n\n /** Whether all items are disabled */\n @property({ type: Boolean, reflect: true }) declare disabled: boolean;\n\n static styles = [accordionStyles];\n\n constructor() {\n super();\n this.multiple = false;\n this.expandedItems = [];\n this.disabled = false;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('bp-item-toggle', this.handleItemToggle);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('bp-item-toggle', this.handleItemToggle);\n }\n\n /**\n * Handles item toggle events from child accordion items.\n * Updates expandedItems array based on multiple mode and dispatches expand/collapse events.\n */\n private handleItemToggle = (event: Event) => {\n const customEvent = event as CustomEvent<{ id: string; expanded: boolean }>;\n const { id, expanded } = customEvent.detail;\n\n if (expanded) {\n if (this.multiple) {\n this.expandedItems = [...this.expandedItems, id];\n } else {\n // Close other items when not in multiple mode\n this.expandedItems = [id];\n }\n this.dispatchEvent(\n new CustomEvent('bp-expand', {\n detail: { id },\n bubbles: true,\n composed: true,\n })\n );\n } else {\n this.expandedItems = this.expandedItems.filter((itemId) => itemId !== id);\n this.dispatchEvent(\n new CustomEvent('bp-collapse', {\n detail: { id },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n this.updateChildItems();\n };\n\n /**\n * Synchronizes child accordion items with the expandedItems state.\n * Also applies disabled state to all items when accordion is disabled.\n */\n private updateChildItems() {\n const items = this.querySelectorAll('bp-accordion-item');\n items.forEach((item) => {\n const accordionItem = item as BpAccordionItem;\n const isExpanded = this.expandedItems.includes(accordionItem.itemId);\n accordionItem.expanded = isExpanded;\n if (this.disabled) {\n accordionItem.disabled = true;\n }\n });\n }\n\n /**\n * Initializes expandedItems array from children with expanded attribute.\n * Called on first render to respect items marked as expanded in HTML.\n */\n private initializeExpandedItems() {\n const items = this.querySelectorAll('bp-accordion-item');\n const expandedIds: string[] = [];\n\n items.forEach((item) => {\n const accordionItem = item as BpAccordionItem;\n if (accordionItem.expanded && accordionItem.itemId) {\n expandedIds.push(accordionItem.itemId);\n }\n });\n\n if (expandedIds.length > 0) {\n // In single mode, only keep the first expanded item\n this.expandedItems = this.multiple ? expandedIds : [expandedIds[0]];\n }\n }\n\n firstUpdated(): void {\n // Initialize expanded items from children on first render\n this.initializeExpandedItems();\n this.updateChildItems();\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (\n changedProperties.has('expandedItems') ||\n changedProperties.has('disabled')\n ) {\n this.updateChildItems();\n }\n }\n\n /** Expand an item by ID */\n expand(id: string) {\n if (!this.expandedItems.includes(id)) {\n if (this.multiple) {\n this.expandedItems = [...this.expandedItems, id];\n } else {\n this.expandedItems = [id];\n }\n this.updateChildItems();\n this.dispatchEvent(\n new CustomEvent('bp-expand', {\n detail: { id },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n /** Collapse an item by ID */\n collapse(id: string) {\n if (this.expandedItems.includes(id)) {\n this.expandedItems = this.expandedItems.filter((itemId) => itemId !== id);\n this.updateChildItems();\n this.dispatchEvent(\n new CustomEvent('bp-collapse', {\n detail: { id },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n /** Expand all items (only works in multiple mode) */\n expandAll() {\n if (!this.multiple) return;\n const items = this.querySelectorAll('bp-accordion-item');\n const ids: string[] = [];\n items.forEach((item) => {\n const accordionItem = item as BpAccordionItem;\n if (!accordionItem.disabled) {\n ids.push(accordionItem.itemId);\n }\n });\n this.expandedItems = ids;\n this.updateChildItems();\n }\n\n /** Collapse all items */\n collapseAll() {\n this.expandedItems = [];\n this.updateChildItems();\n }\n\n /**\n * Handles slot changes - when children are added or removed.\n * Initializes expanded state from new children.\n */\n private handleSlotChange() {\n // Only initialize from children if expandedItems is empty\n // Otherwise respect the parent's state\n if (this.expandedItems.length === 0) {\n this.initializeExpandedItems();\n }\n this.updateChildItems();\n }\n\n render() {\n const classes = {\n accordion: true,\n 'accordion--disabled': this.disabled,\n };\n\n return html`\n <div class=${classMap(classes)} part=\"accordion\" role=\"presentation\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\n/**\n * An individual accordion item with header and collapsible content.\n *\n * @element bp-accordion-item\n *\n * @property {string} itemId - Unique identifier for this item\n * @property {string} header - Header text displayed in the trigger button\n * @property {boolean} expanded - Whether the content is expanded\n * @property {boolean} disabled - Whether this item is disabled\n *\n * @slot - Default slot for the collapsible content\n * @slot header - Custom header content (overrides header property)\n * @slot icon - Custom icon for the header\n *\n * @csspart item - The accordion item container\n * @csspart header - The header/trigger button\n * @csspart icon - The expand/collapse icon\n * @csspart content - The collapsible content wrapper\n * @csspart body - The inner content container\n */\n@customElement('bp-accordion-item')\nexport class BpAccordionItem extends LitElement {\n /** Unique identifier for this item */\n @property({ type: String, attribute: 'item-id', reflect: true })\n declare itemId: string;\n\n /** Header text displayed in the trigger button */\n @property({ type: String }) declare header: string;\n\n /** Whether the content is expanded */\n @property({ type: Boolean, reflect: true }) declare expanded: boolean;\n\n /** Whether this item is disabled */\n @property({ type: Boolean, reflect: true }) declare disabled: boolean;\n\n static styles = [accordionStyles];\n\n constructor() {\n super();\n this.itemId = '';\n this.header = '';\n this.expanded = false;\n this.disabled = false;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n // Generate ID if not provided\n if (!this.itemId) {\n this.itemId = `accordion-item-${Math.random().toString(36).slice(2, 9)}`;\n }\n }\n\n /**\n * Handles toggle action and dispatches bp-item-toggle event.\n * Also manages focus on the header button after expansion.\n */\n private handleToggle() {\n if (this.disabled) return;\n\n this.dispatchEvent(\n new CustomEvent('bp-item-toggle', {\n detail: { id: this.itemId, expanded: !this.expanded },\n bubbles: true,\n composed: true,\n })\n );\n\n // Focus management: focus header after toggle completes\n this.updateComplete.then(() => {\n const header = this.shadowRoot?.querySelector(\n '.item__header'\n ) as HTMLElement;\n header?.focus();\n });\n }\n\n /**\n * Handles keyboard navigation.\n * Triggers toggle on Enter or Space key press.\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleToggle();\n }\n }\n\n render() {\n const itemClasses = {\n item: true,\n 'item--expanded': this.expanded,\n 'item--disabled': this.disabled,\n };\n\n const headerId = `${this.itemId}-header`;\n const contentId = `${this.itemId}-content`;\n\n return html`\n <div class=${classMap(itemClasses)} part=\"item\">\n <button\n class=\"item__header\"\n part=\"header\"\n id=${headerId}\n aria-expanded=${this.expanded}\n aria-controls=${contentId}\n aria-disabled=${this.disabled}\n ?disabled=${this.disabled}\n @click=${this.handleToggle}\n @keydown=${this.handleKeyDown}\n >\n <span class=\"item__header-content\">\n <slot name=\"icon\"></slot>\n <slot name=\"header\">${this.header}</slot>\n </span>\n <span class=\"item__icon\" part=\"icon\" aria-hidden=\"true\">\n <bp-icon .svg=${chevronDownSvg} size=\"md\"></bp-icon>\n </span>\n </button>\n <div\n class=\"item__content\"\n part=\"content\"\n id=${contentId}\n role=\"region\"\n aria-labelledby=${headerId}\n >\n <div class=\"item__body\" part=\"body\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-accordion': BpAccordion;\n 'bp-accordion-item': BpAccordionItem;\n }\n}\n"],"names":["accordionStyles","css","BpAccordion","LitElement","event","customEvent","id","expanded","itemId","item","accordionItem","isExpanded","items","expandedIds","changedProperties","ids","classes","html","classMap","__decorateClass","property","customElement","BpAccordionItem","itemClasses","headerId","contentId","chevronDownSvg"],"mappings":";;;;AAEO,MAAMA,IAAkBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACuBxB,IAAMC,IAAN,cAA0BC,EAAW;AAAA,EAY1C,cAAc;AACZ,UAAA,GAoBF,KAAQ,mBAAmB,CAACC,MAAiB;AAC3C,YAAMC,IAAcD,GACd,EAAE,IAAAE,GAAI,UAAAC,EAAA,IAAaF,EAAY;AAErC,MAAIE,KACE,KAAK,WACP,KAAK,gBAAgB,CAAC,GAAG,KAAK,eAAeD,CAAE,IAG/C,KAAK,gBAAgB,CAACA,CAAE,GAE1B,KAAK;AAAA,QACH,IAAI,YAAY,aAAa;AAAA,UAC3B,QAAQ,EAAE,IAAAA,EAAA;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,QAAA,CACX;AAAA,MAAA,MAGH,KAAK,gBAAgB,KAAK,cAAc,OAAO,CAACE,MAAWA,MAAWF,CAAE,GACxE,KAAK;AAAA,QACH,IAAI,YAAY,eAAe;AAAA,UAC7B,QAAQ,EAAE,IAAAA,EAAA;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,QAAA,CACX;AAAA,MAAA,IAIL,KAAK,iBAAA;AAAA,IACP,GAjDE,KAAK,WAAW,IAChB,KAAK,gBAAgB,CAAA,GACrB,KAAK,WAAW;AAAA,EAClB;AAAA,EAEA,oBAA0B;AACxB,UAAM,kBAAA,GACN,KAAK,iBAAiB,kBAAkB,KAAK,gBAAgB;AAAA,EAC/D;AAAA,EAEA,uBAA6B;AAC3B,UAAM,qBAAA,GACN,KAAK,oBAAoB,kBAAkB,KAAK,gBAAgB;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CQ,mBAAmB;AAEzB,IADc,KAAK,iBAAiB,mBAAmB,EACjD,QAAQ,CAACG,MAAS;AACtB,YAAMC,IAAgBD,GAChBE,IAAa,KAAK,cAAc,SAASD,EAAc,MAAM;AACnE,MAAAA,EAAc,WAAWC,GACrB,KAAK,aACPD,EAAc,WAAW;AAAA,IAE7B,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,0BAA0B;AAChC,UAAME,IAAQ,KAAK,iBAAiB,mBAAmB,GACjDC,IAAwB,CAAA;AAE9B,IAAAD,EAAM,QAAQ,CAACH,MAAS;AACtB,YAAMC,IAAgBD;AACtB,MAAIC,EAAc,YAAYA,EAAc,UAC1CG,EAAY,KAAKH,EAAc,MAAM;AAAA,IAEzC,CAAC,GAEGG,EAAY,SAAS,MAEvB,KAAK,gBAAgB,KAAK,WAAWA,IAAc,CAACA,EAAY,CAAC,CAAC;AAAA,EAEtE;AAAA,EAEA,eAAqB;AAEnB,SAAK,wBAAA,GACL,KAAK,iBAAA;AAAA,EACP;AAAA,EAEA,QAAQC,GAA+C;AACrD,KACEA,EAAkB,IAAI,eAAe,KACrCA,EAAkB,IAAI,UAAU,MAEhC,KAAK,iBAAA;AAAA,EAET;AAAA;AAAA,EAGA,OAAOR,GAAY;AACjB,IAAK,KAAK,cAAc,SAASA,CAAE,MAC7B,KAAK,WACP,KAAK,gBAAgB,CAAC,GAAG,KAAK,eAAeA,CAAE,IAE/C,KAAK,gBAAgB,CAACA,CAAE,GAE1B,KAAK,iBAAA,GACL,KAAK;AAAA,MACH,IAAI,YAAY,aAAa;AAAA,QAC3B,QAAQ,EAAE,IAAAA,EAAA;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAGP;AAAA;AAAA,EAGA,SAASA,GAAY;AACnB,IAAI,KAAK,cAAc,SAASA,CAAE,MAChC,KAAK,gBAAgB,KAAK,cAAc,OAAO,CAACE,MAAWA,MAAWF,CAAE,GACxE,KAAK,iBAAA,GACL,KAAK;AAAA,MACH,IAAI,YAAY,eAAe;AAAA,QAC7B,QAAQ,EAAE,IAAAA,EAAA;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAGP;AAAA;AAAA,EAGA,YAAY;AACV,QAAI,CAAC,KAAK,SAAU;AACpB,UAAMM,IAAQ,KAAK,iBAAiB,mBAAmB,GACjDG,IAAgB,CAAA;AACtB,IAAAH,EAAM,QAAQ,CAACH,MAAS;AACtB,YAAMC,IAAgBD;AACtB,MAAKC,EAAc,YACjBK,EAAI,KAAKL,EAAc,MAAM;AAAA,IAEjC,CAAC,GACD,KAAK,gBAAgBK,GACrB,KAAK,iBAAA;AAAA,EACP;AAAA;AAAA,EAGA,cAAc;AACZ,SAAK,gBAAgB,CAAA,GACrB,KAAK,iBAAA;AAAA,EACP;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,mBAAmB;AAGzB,IAAI,KAAK,cAAc,WAAW,KAChC,KAAK,wBAAA,GAEP,KAAK,iBAAA;AAAA,EACP;AAAA,EAEA,SAAS;AACP,UAAMC,IAAU;AAAA,MACd,WAAW;AAAA,MACX,uBAAuB,KAAK;AAAA,IAAA;AAG9B,WAAOC;AAAA,mBACQC,EAASF,CAAO,CAAC;AAAA,4BACR,KAAK,gBAAgB;AAAA;AAAA;AAAA,EAG/C;AACF;AArMad,EAUJ,SAAS,CAACF,CAAe;AARoBmB,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAF/BlB,EAEyC,WAAA,YAAA,CAAA;AAGjBiB,EAAA;AAAA,EAAlCC,EAAS,EAAE,MAAM,MAAA,CAAO;AAAA,GALdlB,EAKwB,WAAA,iBAAA,CAAA;AAGiBiB,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAR/BlB,EAQyC,WAAA,YAAA,CAAA;AARzCA,IAANiB,EAAA;AAAA,EADNE,EAAc,cAAc;AAAA,GAChBnB,CAAA;AA4NN,IAAMoB,IAAN,cAA8BnB,EAAW;AAAA,EAgB9C,cAAc;AACZ,UAAA,GACA,KAAK,SAAS,IACd,KAAK,SAAS,IACd,KAAK,WAAW,IAChB,KAAK,WAAW;AAAA,EAClB;AAAA,EAEA,oBAA0B;AACxB,UAAM,kBAAA,GAED,KAAK,WACR,KAAK,SAAS,kBAAkB,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAAA,EAE1E;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,eAAe;AACrB,IAAI,KAAK,aAET,KAAK;AAAA,MACH,IAAI,YAAY,kBAAkB;AAAA,QAChC,QAAQ,EAAE,IAAI,KAAK,QAAQ,UAAU,CAAC,KAAK,SAAA;AAAA,QAC3C,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA,GAIH,KAAK,eAAe,KAAK,MAAM;AAI7B,MAHe,KAAK,YAAY;AAAA,QAC9B;AAAA,MAAA,GAEM,MAAA;AAAA,IACV,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,cAAcC,GAAsB;AAC1C,IAAI,KAAK,aAELA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACzCA,EAAM,eAAA,GACN,KAAK,aAAA;AAAA,EAET;AAAA,EAEA,SAAS;AACP,UAAMmB,IAAc;AAAA,MAClB,MAAM;AAAA,MACN,kBAAkB,KAAK;AAAA,MACvB,kBAAkB,KAAK;AAAA,IAAA,GAGnBC,IAAW,GAAG,KAAK,MAAM,WACzBC,IAAY,GAAG,KAAK,MAAM;AAEhC,WAAOR;AAAA,mBACQC,EAASK,CAAW,CAAC;AAAA;AAAA;AAAA;AAAA,eAIzBC,CAAQ;AAAA,0BACG,KAAK,QAAQ;AAAA,0BACbC,CAAS;AAAA,0BACT,KAAK,QAAQ;AAAA,sBACjB,KAAK,QAAQ;AAAA,mBAChB,KAAK,YAAY;AAAA,qBACf,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,kCAIL,KAAK,MAAM;AAAA;AAAA;AAAA,4BAGjBC,CAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAM3BD,CAAS;AAAA;AAAA,4BAEID,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQlC;AACF;AAlHaF,EAcJ,SAAS,CAACtB,CAAe;AAXxBmB,EAAA;AAAA,EADPC,EAAS,EAAE,MAAM,QAAQ,WAAW,WAAW,SAAS,IAAM;AAAA,GAFpDE,EAGH,WAAA,UAAA,CAAA;AAG4BH,EAAA;AAAA,EAAnCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GANfE,EAMyB,WAAA,UAAA,CAAA;AAGgBH,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAT/BE,EASyC,WAAA,YAAA,CAAA;AAGAH,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAZ/BE,EAYyC,WAAA,YAAA,CAAA;AAZzCA,IAANH,EAAA;AAAA,EADNE,EAAc,mBAAmB;AAAA,GACrBC,CAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sources":["../../source/components/alert/alert.style.ts","../../source/components/alert/alert.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const alertStyles = css`\n /* Base styles */\n :host {\n display: block;\n animation: slideIn var(--bp-transition-base) ease-out;\n }\n\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translateY(calc(-1 * var(--bp-spacing-md)));\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .alert {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: var(--bp-spacing-md);\n padding: var(--bp-spacing-sm) var(--bp-spacing-md);\n font-family: var(--bp-font-family);\n font-size: var(--bp-font-size-base);\n line-height: var(--bp-line-height-relaxed);\n border-radius: var(--bp-border-radius-md);\n border-width: var(--bp-border-width);\n border-style: solid;\n }\n\n @media (min-width: var(--bp-breakpoint-sm)) {\n .alert {\n padding: var(--bp-spacing-md) var(--bp-spacing-lg);\n }\n }\n\n .alert-content {\n display: flex;\n align-items: flex-start;\n gap: var(--bp-spacing-md);\n flex: 1;\n }\n\n .alert-icon {\n display: flex;\n align-items: flex-start;\n padding-top: var(--bp-spacing-0-5);\n flex-shrink: 0;\n }\n\n .alert-icon svg {\n width: var(--bp-spacing-5);\n height: var(--bp-spacing-5);\n flex-shrink: 0;\n }\n\n .alert-message {\n flex: 1;\n }\n\n ::slotted([slot='title']) {\n display: block;\n font-weight: var(--bp-font-weight-semibold);\n line-height: var(--bp-line-height-tight);\n margin-bottom: var(--bp-spacing-xs);\n }\n\n .alert-close {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: var(--bp-spacing-2xs);\n border-radius: var(--bp-border-radius-sm);\n color: inherit;\n opacity: 0.8;\n transition: all var(--bp-transition-fast);\n flex-shrink: 0;\n }\n\n .alert-close:hover {\n opacity: 1;\n background-color: currentColor;\n opacity: 0.1;\n }\n\n .alert-close:active {\n opacity: 0.15;\n }\n\n .alert-close:focus-visible {\n outline: var(--bp-focus-ring);\n outline-offset: var(--bp-focus-offset);\n }\n\n /* Variants */\n .alert--info {\n background-color: var(--bp-color-surface-elevated);\n border-color: var(--bp-color-info);\n border-left-width: var(--bp-spacing-1);\n color: var(--bp-color-text);\n }\n\n .alert--success {\n background-color: var(--bp-color-surface-elevated);\n border-color: var(--bp-color-success);\n border-left-width: var(--bp-spacing-1);\n color: var(--bp-color-text);\n }\n\n .alert--warning {\n background-color: var(--bp-color-surface-elevated);\n border-color: var(--bp-color-warning);\n border-left-width: var(--bp-spacing-1);\n color: var(--bp-color-text);\n box-shadow: var(--bp-shadow-sm);\n }\n\n .alert--error {\n background-color: var(--bp-color-surface-elevated);\n border-color: var(--bp-color-error);\n border-left-width: var(--bp-spacing-1);\n color: var(--bp-color-text);\n box-shadow: var(--bp-shadow-sm);\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { alertStyles } from './alert.style.js';\nimport { infoCircleSvg } from '../icon/icons/entries/info-circle.js';\nimport { checkCircleSvg } from '../icon/icons/entries/check-circle.js';\nimport { warningCircleSvg } from '../icon/icons/entries/warning-circle.js';\nimport { crossCircleSvg } from '../icon/icons/entries/cross-circle.js';\nimport { crossSvg } from '../icon/icons/entries/cross.js';\nimport '../icon/icon.js';\n\nexport type AlertVariant = 'info' | 'success' | 'warning' | 'error';\n\nconst VARIANT_ICONS: Record<AlertVariant, string> = {\n info: infoCircleSvg,\n success: checkCircleSvg,\n warning: warningCircleSvg,\n error: crossCircleSvg,\n};\n\n/**\n * An alert component for displaying notification messages to users.\n *\n * @slot - Message content\n * @slot title - Optional title/heading for the alert\n * @slot icon - Optional custom icon (replaces default icon)\n *\n * @fires bp-close - Fired when the alert is dismissed (cancelable)\n */\n@customElement('bp-alert')\nexport class BpAlert extends LitElement {\n /**\n * Visual variant indicating the type of alert\n */\n @property({ type: String, reflect: true }) declare variant: AlertVariant;\n\n /**\n * Whether the alert can be dismissed by the user\n */\n @property({ type: Boolean, reflect: true }) declare dismissible: boolean;\n\n /**\n * Whether to show a default icon for the variant\n */\n @property({ type: Boolean, reflect: true }) declare showIcon: boolean;\n\n static styles = [alertStyles];\n\n constructor() {\n super();\n this.variant = 'info';\n this.dismissible = false;\n this.showIcon = false;\n }\n\n private handleClose() {\n const event = new CustomEvent('bp-close', {\n detail: {\n variant: this.variant,\n timestamp: Date.now(),\n },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n\n this.dispatchEvent(event);\n\n // Only remove if event wasn't prevented\n if (!event.defaultPrevented) {\n this.remove();\n }\n }\n\n private getVariantIconSvg(): string {\n return VARIANT_ICONS[this.variant];\n }\n\n render() {\n return html`\n <div\n class=\"alert alert--${this.variant}\"\n part=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div class=\"alert-content\">\n ${this.showIcon\n ? html`\n <div class=\"alert-icon\" part=\"icon\">\n <slot name=\"icon\">\n <bp-icon .svg=${this.getVariantIconSvg()}></bp-icon>\n </slot>\n </div>\n `\n : null}\n <div class=\"alert-message\" part=\"message\">\n <slot name=\"title\"></slot>\n <slot></slot>\n </div>\n </div>\n ${this.dismissible\n ? html`\n <button\n class=\"alert-close\"\n part=\"close-button\"\n @click=${this.handleClose}\n aria-label=\"Close alert\"\n >\n <bp-icon .svg=${crossSvg}></bp-icon>\n </button>\n `\n : null}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-alert': BpAlert;\n }\n}\n"],"names":["alertStyles","css","VARIANT_ICONS","infoCircleSvg","checkCircleSvg","warningCircleSvg","crossCircleSvg","BpAlert","LitElement","event","html","crossSvg","__decorateClass","property","customElement"],"mappings":";;;;;;;AAEO,MAAMA,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACU3B,MAAMC,IAA8C;AAAA,EAClD,MAAMC;AAAA,EACN,SAASC;AAAA,EACT,SAASC;AAAA,EACT,OAAOC;AACT;AAYO,IAAMC,IAAN,cAAsBC,EAAW;AAAA,EAkBtC,cAAc;AACZ,UAAA,GACA,KAAK,UAAU,QACf,KAAK,cAAc,IACnB,KAAK,WAAW;AAAA,EAClB;AAAA,EAEQ,cAAc;AACpB,UAAMC,IAAQ,IAAI,YAAY,YAAY;AAAA,MACxC,QAAQ;AAAA,QACN,SAAS,KAAK;AAAA,QACd,WAAW,KAAK,IAAA;AAAA,MAAI;AAAA,MAEtB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,IAAA,CACb;AAED,SAAK,cAAcA,CAAK,GAGnBA,EAAM,oBACT,KAAK,OAAA;AAAA,EAET;AAAA,EAEQ,oBAA4B;AAClC,WAAOP,EAAc,KAAK,OAAO;AAAA,EACnC;AAAA,EAEA,SAAS;AACP,WAAOQ;AAAA;AAAA,8BAEmB,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAM9B,KAAK,WACHA;AAAA;AAAA;AAAA,oCAGsB,KAAK,mBAAmB;AAAA;AAAA;AAAA,kBAI9C,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMR,KAAK,cACHA;AAAA;AAAA;AAAA;AAAA,yBAIa,KAAK,WAAW;AAAA;AAAA;AAAA,gCAGTC,CAAQ;AAAA;AAAA,gBAG5B,IAAI;AAAA;AAAA;AAAA,EAGd;AACF;AAtFaJ,EAgBJ,SAAS,CAACP,CAAW;AAZuBY,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAJ9BN,EAIwC,WAAA,WAAA,CAAA;AAKCK,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAT/BN,EASyC,WAAA,eAAA,CAAA;AAKAK,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAd/BN,EAcyC,WAAA,YAAA,CAAA;AAdzCA,IAANK,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZP,CAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sources":["../../source/components/avatar/avatar.style.ts","../../source/components/avatar/avatar.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const avatarStyles = css`\n /* Base styles */\n :host {\n display: inline-flex;\n position: relative;\n }\n\n .avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: var(--bp-color-primary);\n color: var(--bp-color-text-inverse);\n font-family: var(--bp-font-family);\n font-weight: var(--bp-font-weight-semibold);\n user-select: none;\n flex-shrink: 0;\n box-shadow: var(--bp-shadow-sm);\n position: relative;\n }\n\n /* Image avatars have different background */\n .avatar:has(.avatar__image) {\n background: var(--bp-color-surface);\n color: var(--bp-color-text);\n }\n\n .avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n\n .avatar__initials {\n text-transform: uppercase;\n line-height: 1;\n letter-spacing: 0.02em;\n }\n\n .avatar__fallback {\n opacity: 0.8;\n }\n\n /* Shapes */\n .avatar--circle {\n border-radius: var(--bp-border-radius-full);\n }\n\n .avatar--square {\n border-radius: var(--bp-border-radius-sm);\n }\n\n /* Sizes */\n .avatar--xs {\n width: var(--bp-spacing-6);\n height: var(--bp-spacing-6);\n }\n\n .avatar--xs .avatar__initials {\n font-size: var(--bp-font-size-xs);\n }\n\n .avatar--sm {\n width: var(--bp-spacing-8);\n height: var(--bp-spacing-8);\n }\n\n .avatar--sm .avatar__initials {\n font-size: var(--bp-font-size-sm);\n }\n\n .avatar--md {\n width: var(--bp-spacing-10);\n height: var(--bp-spacing-10);\n }\n\n .avatar--md .avatar__initials {\n font-size: var(--bp-font-size-base);\n }\n\n .avatar--lg {\n width: var(--bp-spacing-12);\n height: var(--bp-spacing-12);\n }\n\n .avatar--lg .avatar__initials {\n font-size: var(--bp-font-size-lg);\n }\n\n .avatar--xl {\n width: var(--bp-spacing-16);\n height: var(--bp-spacing-16);\n }\n\n .avatar--xl .avatar__initials {\n font-size: var(--bp-font-size-2xl);\n }\n\n /* States - Interactive */\n :host([clickable]) .avatar {\n cursor: pointer;\n transition:\n transform var(--bp-duration-fast),\n box-shadow var(--bp-duration-fast);\n }\n\n :host([clickable]) .avatar:hover {\n transform: translateY(calc(-1 * var(--bp-spacing-0-5)));\n box-shadow: var(--bp-shadow-md);\n }\n\n :host([clickable]:focus-within) .avatar {\n outline: var(--bp-focus-width) solid var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n\n /* Status indicator */\n .avatar__status {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 25%;\n height: 25%;\n min-width: var(--bp-spacing-2);\n min-height: var(--bp-spacing-2);\n border-radius: var(--bp-border-radius-full);\n border: var(--bp-focus-width) solid var(--bp-color-surface-elevated);\n }\n\n .avatar__status--online {\n background: var(--bp-color-success);\n }\n\n .avatar__status--offline {\n background: var(--bp-color-border-strong);\n }\n\n .avatar__status--busy {\n background: var(--bp-color-error);\n }\n\n .avatar__status--away {\n background: var(--bp-color-warning);\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { avatarStyles } from './avatar.style.js';\nimport { usersSvg } from '../icon/icons/entries/users.js';\nimport '../icon/icon.js';\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type AvatarShape = 'circle' | 'square';\nexport type AvatarStatus = 'online' | 'offline' | 'busy' | 'away';\n\n/**\n * An avatar component that displays user profile images with fallback to initials.\n * Supports multiple sizes, shapes, status indicators, and interactive states.\n */\n@customElement('bp-avatar')\nexport class BpAvatar extends LitElement {\n /**\n * Image source URL for the avatar.\n * @type {string}\n * @default ''\n */\n @property({ type: String, reflect: true }) declare src: string;\n\n /**\n * Alt text for the avatar image (accessibility).\n * @type {string}\n * @default ''\n */\n @property({ type: String, reflect: true }) declare alt: string;\n\n /**\n * Initials to display when no image is provided.\n * @type {string}\n * @default ''\n */\n @property({ type: String, reflect: true }) declare initials: string;\n\n /**\n * Size of the avatar.\n * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}\n * @default 'md'\n */\n @property({ type: String, reflect: true }) declare size: AvatarSize;\n\n /**\n * Shape of the avatar.\n * @type {'circle' | 'square'}\n * @default 'circle'\n */\n @property({ type: String, reflect: true }) declare shape: AvatarShape;\n\n /**\n * Status indicator for the avatar.\n * @type {'online' | 'offline' | 'busy' | 'away' | undefined}\n * @default undefined\n */\n @property({ type: String, reflect: true }) declare status?: AvatarStatus;\n\n /**\n * Makes the avatar interactive with hover/focus states.\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean, reflect: true }) declare clickable: boolean;\n\n /**\n * Name for tooltip display on hover.\n * @type {string}\n * @default ''\n */\n @property({ type: String }) declare name: string;\n\n /**\n * Internal state to track if image failed to load.\n * @private\n */\n @state() private imageError = false;\n\n static styles = [avatarStyles];\n\n constructor() {\n super();\n this.src = '';\n this.alt = '';\n this.initials = '';\n this.size = 'md';\n this.shape = 'circle';\n this.clickable = false;\n this.name = '';\n }\n\n private handleImageError() {\n // Track image error state to show fallback\n this.imageError = true;\n }\n\n render() {\n const hasImage = this.src.length > 0 && !this.imageError;\n const hasInitials = this.initials.length > 0;\n const titleText = this.name || this.alt;\n\n return html`\n <div\n class=\"avatar avatar--${this.size} avatar--${this.shape}\"\n part=\"avatar\"\n title=\"${titleText}\"\n >\n ${hasImage\n ? html`\n <img\n class=\"avatar__image\"\n src=\"${this.src}\"\n alt=\"${this.alt}\"\n @error=\"${this.handleImageError}\"\n part=\"image\"\n />\n `\n : hasInitials\n ? html`<span\n class=\"avatar__initials\"\n part=\"initials\"\n role=\"img\"\n aria-label=\"${this.alt || 'User avatar'}\"\n >${this.initials}</span\n >`\n : html`<bp-icon\n class=\"avatar__fallback\"\n .svg=${usersSvg}\n size=\"${this.size === 'xs'\n ? 'xs'\n : this.size === 'xl'\n ? 'lg'\n : this.size}\"\n part=\"fallback\"\n aria-label=\"User avatar\"\n ></bp-icon>`}\n ${this.status\n ? html`<span\n class=\"avatar__status avatar__status--${this.status}\"\n part=\"status\"\n aria-label=\"${this.status}\"\n ></span>`\n : ''}\n </div>\n `;\n }\n\n updated(changedProperties: Map<string, unknown>) {\n // Reset image error state when src changes\n if (changedProperties.has('src')) {\n this.imageError = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-avatar': BpAvatar;\n }\n}\n"],"names":["avatarStyles","css","BpAvatar","LitElement","hasImage","hasInitials","titleText","html","usersSvg","changedProperties","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../source/components/badge/badge.style.ts","../../source/components/badge/badge.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const badgeStyles = css`\n /* Base styles */\n :host {\n display: inline-block;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--bp-font-family);\n font-weight: var(--bp-font-weight-medium);\n line-height: 1;\n border-radius: var(--bp-border-radius-full);\n white-space: nowrap;\n transition:\n background-color var(--bp-transition-fast),\n color var(--bp-transition-fast);\n }\n\n /* Variants */\n .badge--primary {\n background-color: var(--bp-color-primary);\n color: var(--bp-color-text-inverse);\n }\n\n .badge--success {\n background-color: var(--bp-color-success);\n color: var(--bp-color-text-inverse);\n }\n\n .badge--error {\n background-color: var(--bp-color-error);\n color: var(--bp-color-text-inverse);\n }\n\n .badge--warning {\n background-color: var(--bp-color-warning);\n color: var(--bp-color-text-inverse);\n }\n\n .badge--info {\n background-color: var(--bp-color-info);\n color: var(--bp-color-text-inverse);\n }\n\n .badge--neutral {\n background-color: var(--bp-color-border-strong);\n color: var(--bp-color-text);\n }\n\n /* Sizes */\n .badge--sm {\n padding: var(--bp-spacing-xs) var(--bp-spacing-xs);\n font-size: var(--bp-font-size-xs);\n min-width: var(--bp-spacing-5);\n height: var(--bp-spacing-5);\n }\n\n .badge--md {\n padding: var(--bp-spacing-xs) var(--bp-spacing-sm);\n font-size: var(--bp-font-size-sm);\n min-width: var(--bp-spacing-6);\n height: var(--bp-spacing-6);\n }\n\n .badge--lg {\n padding: var(--bp-spacing-sm) var(--bp-spacing-md);\n font-size: var(--bp-font-size-base);\n min-width: var(--bp-spacing-8);\n height: var(--bp-spacing-8);\n }\n\n /* Dot variant */\n .badge--dot {\n padding: 0;\n border-radius: var(--bp-border-radius-full);\n }\n\n .badge--dot.badge--sm {\n width: var(--bp-spacing-2);\n height: var(--bp-spacing-2);\n min-width: var(--bp-spacing-2);\n }\n\n .badge--dot.badge--md {\n width: var(--bp-spacing-3);\n height: var(--bp-spacing-3);\n min-width: var(--bp-spacing-3);\n }\n\n .badge--dot.badge--lg {\n width: var(--bp-spacing-4);\n height: var(--bp-spacing-4);\n min-width: var(--bp-spacing-4);\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { badgeStyles } from './badge.style.js';\n\n/**\n * Badge component for displaying status indicators, counts, and labels.\n *\n * @element bp-badge\n *\n * @slot - Default slot for badge content (text or icons)\n *\n * @csspart badge - The badge container element\n *\n * @example\n * ```html\n * <bp-badge>New</bp-badge>\n * <bp-badge variant=\"success\">Active</bp-badge>\n * <bp-badge variant=\"error\" size=\"sm\">3</bp-badge>\n * ```\n */\n@customElement('bp-badge')\nexport class BpBadge extends LitElement {\n /**\n * Visual variant of the badge\n * @type {'primary' | 'success' | 'error' | 'warning' | 'info' | 'neutral'}\n * @default 'primary'\n */\n @property({ type: String, reflect: true }) declare variant:\n | 'primary'\n | 'success'\n | 'error'\n | 'warning'\n | 'info'\n | 'neutral';\n\n /**\n * Size of the badge\n * @type {'sm' | 'md' | 'lg'}\n * @default 'md'\n */\n @property({ type: String, reflect: true }) declare size: 'sm' | 'md' | 'lg';\n\n /**\n * Whether the badge is a dot/pill shape (for count indicators)\n * @type {boolean}\n * @default false\n */\n @property({ type: Boolean, reflect: true }) declare dot: boolean;\n\n static styles = [badgeStyles];\n\n constructor() {\n super();\n this.variant = 'primary';\n this.size = 'md';\n this.dot = false;\n }\n\n render() {\n return html`\n <span\n class=${classMap({\n badge: true,\n [`badge--${this.variant}`]: true,\n [`badge--${this.size}`]: true,\n 'badge--dot': this.dot,\n })}\n part=\"badge\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <slot></slot>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-badge': BpBadge;\n }\n}\n"],"names":["badgeStyles","css","BpBadge","LitElement","html","classMap","__decorateClass","property","customElement"],"mappings":";;;AAEO,MAAMA,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACoBpB,IAAMC,IAAN,cAAsBC,EAAW;AAAA,EA8BtC,cAAc;AACZ,UAAA,GACA,KAAK,UAAU,WACf,KAAK,OAAO,MACZ,KAAK,MAAM;AAAA,EACb;AAAA,EAEA,SAAS;AACP,WAAOC;AAAA;AAAA,gBAEKC,EAAS;AAAA,MACf,OAAO;AAAA,MACP,CAAC,UAAU,KAAK,OAAO,EAAE,GAAG;AAAA,MAC5B,CAAC,UAAU,KAAK,IAAI,EAAE,GAAG;AAAA,MACzB,cAAc,KAAK;AAAA,IAAA,CACpB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQR;AACF;AAtDaH,EA4BJ,SAAS,CAACF,CAAW;AAtBuBM,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAN9BL,EAMwC,WAAA,WAAA,CAAA;AAaAI,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAnB9BL,EAmBwC,WAAA,QAAA,CAAA;AAOCI,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GA1B/BL,EA0ByC,WAAA,OAAA,CAAA;AA1BzCA,IAANI,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZN,CAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.js","sources":["../../source/components/breadcrumb/breadcrumb.style.ts","../../source/components/breadcrumb/breadcrumb.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const breadcrumbStyles = css`\n /* Base styles */\n :host {\n display: block;\n }\n\n /* Separator variants - set custom properties on host to cross shadow boundaries */\n :host([separator='slash']) {\n --bp-breadcrumb-separator-content: '/';\n }\n\n :host([separator='chevron']) {\n --bp-breadcrumb-separator-content: '›';\n --bp-breadcrumb-separator-size: 1.2em;\n }\n\n :host([separator='arrow']) {\n --bp-breadcrumb-separator-content: '→';\n }\n\n :host([separator='dot']) {\n --bp-breadcrumb-separator-content: '•';\n --bp-breadcrumb-separator-size: var(--bp-font-size-lg);\n }\n\n /* Size variants - set custom properties on host to cross shadow boundaries */\n :host([size='sm']) {\n --bp-breadcrumb-font-size: var(--bp-font-size-sm);\n --bp-breadcrumb-line-height: var(--bp-line-height-tight);\n }\n\n :host([size='md']) {\n --bp-breadcrumb-font-size: var(--bp-font-size-base);\n --bp-breadcrumb-line-height: var(--bp-line-height-normal);\n }\n\n :host([size='lg']) {\n --bp-breadcrumb-font-size: var(--bp-font-size-lg);\n --bp-breadcrumb-line-height: var(--bp-line-height-normal);\n }\n\n .breadcrumb {\n font-family: var(--bp-font-family);\n }\n\n .list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n gap: 0;\n }\n\n .item {\n display: inline-flex;\n align-items: center;\n gap: 0;\n font-size: var(--bp-breadcrumb-font-size, var(--bp-font-size-base));\n line-height: var(--bp-breadcrumb-line-height, var(--bp-line-height-normal));\n }\n\n .item__icon {\n flex-shrink: 0;\n }\n\n .item__label {\n white-space: nowrap;\n }\n\n /* Link styles */\n .link {\n display: inline-flex;\n align-items: center;\n gap: var(--bp-spacing-xs);\n color: var(--bp-color-text-muted);\n text-decoration: none;\n transition: color var(--bp-transition-fast);\n outline: none;\n border-radius: var(--bp-border-radius);\n }\n\n .link:hover {\n color: var(--bp-color-primary);\n text-decoration: underline;\n }\n\n .link:active {\n transform: translateY(1px);\n }\n\n .link:focus-visible {\n outline: var(--bp-focus-width) var(--bp-focus-style) var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n\n /* Text (non-link) styles */\n .text {\n display: inline-flex;\n align-items: center;\n gap: var(--bp-spacing-xs);\n color: var(--bp-color-text);\n font-weight: var(--bp-font-weight-medium);\n }\n\n /* Current item */\n .item--current .text {\n color: var(--bp-color-text);\n }\n\n /* Separator styles */\n .separator {\n display: inline-flex;\n align-items: center;\n color: var(--bp-color-text-muted);\n margin: 0 var(--bp-spacing-2xs);\n user-select: none;\n }\n\n /* Hide separator on last item */\n :host(:last-of-type) .separator {\n display: none;\n }\n\n /* Separator content via ::before - uses custom properties from parent */\n .separator::before {\n content: var(--bp-breadcrumb-separator-content, '/');\n font-size: var(--bp-breadcrumb-separator-size, inherit);\n }\n\n .separator__icon {\n width: var(--bp-spacing-md);\n height: var(--bp-spacing-md);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .separator__icon--dot {\n font-size: var(--bp-font-size-lg);\n line-height: 1;\n }\n\n /* Ellipsis button */\n .ellipsis-button {\n appearance: none;\n border: none;\n background: transparent;\n padding: var(--bp-spacing-xs);\n margin: calc(-1 * var(--bp-spacing-xs));\n cursor: pointer;\n color: var(--bp-color-text-muted);\n border-radius: var(--bp-border-radius);\n transition: all var(--bp-transition-fast);\n outline: none;\n }\n\n .ellipsis-button:hover {\n color: var(--bp-color-primary);\n background: var(--bp-color-surface);\n }\n\n .ellipsis-button:active {\n transform: scale(0.95);\n }\n\n .ellipsis-button:focus-visible {\n outline: var(--bp-focus-width) var(--bp-focus-style) var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n\n .ellipsis-dots {\n font-size: var(--bp-font-size-base);\n letter-spacing: var(--bp-spacing-0-5);\n }\n\n /* Sizes */\n .breadcrumb--sm {\n font-size: var(--bp-font-size-sm);\n line-height: var(--bp-line-height-tight);\n }\n\n .breadcrumb--sm .separator__icon {\n width: var(--bp-spacing-sm);\n height: var(--bp-spacing-sm);\n }\n\n .breadcrumb--md {\n font-size: var(--bp-font-size-base);\n line-height: var(--bp-line-height-normal);\n }\n\n .breadcrumb--md .separator__icon {\n width: var(--bp-spacing-md);\n height: var(--bp-spacing-md);\n }\n\n .breadcrumb--lg {\n font-size: var(--bp-font-size-lg);\n line-height: var(--bp-line-height-normal);\n }\n\n .breadcrumb--lg .separator__icon {\n width: var(--bp-spacing-lg);\n height: var(--bp-spacing-lg);\n }\n\n /* Separator variants */\n .breadcrumb--slash .separator__icon {\n font-size: inherit;\n }\n\n .breadcrumb--dot .separator__icon {\n font-size: inherit;\n }\n\n /* Item ellipsis */\n .item--ellipsis {\n display: inline-flex;\n }\n\n /* Collapse on mobile - handled via maxItems property instead of CSS */\n .breadcrumb--collapse-mobile {\n /* Reserved for future container query support */\n }\n`;\n","import { LitElement, html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { breadcrumbStyles } from './breadcrumb.style.js';\nimport type { IconName } from '../icon/icons/icon-name.generated.js';\nimport '../icon/icon.js';\n\nexport type BreadcrumbSize = 'sm' | 'md' | 'lg';\nexport type BreadcrumbSeparator = 'slash' | 'chevron' | 'arrow' | 'dot';\n\n/**\n * Breadcrumb item interface for programmatic configuration\n */\nexport interface BreadcrumbItem {\n /** Display label for the breadcrumb item */\n label: string;\n /** URL for the breadcrumb link (omit for current page) */\n href?: string;\n /** Icon name to display before the label */\n icon?: IconName;\n /** Whether this is the current/active page */\n current?: boolean;\n}\n\n/**\n * A breadcrumb navigation component showing the user's location in a hierarchy.\n *\n * @element bp-breadcrumb\n *\n * @property {BreadcrumbItem[]} items - Array of breadcrumb items\n * @property {BreadcrumbSize} size - The size of the breadcrumb\n * @property {BreadcrumbSeparator} separator - The separator style between items\n * @property {string} ariaLabel - Accessible label for the navigation\n * @property {boolean} collapseOnMobile - Whether to collapse middle items on small screens\n * @property {number} maxItems - Maximum visible items before collapsing (0 = no limit)\n *\n * @slot - Default slot for custom breadcrumb items\n * @slot separator - Custom separator content\n *\n * @fires bp-breadcrumb-click - Fired when a breadcrumb item is clicked\n *\n * @csspart nav - The nav element wrapper\n * @csspart list - The ordered list element\n * @csspart item - Individual breadcrumb item\n * @csspart item-current - The current/active breadcrumb item\n * @csspart link - Breadcrumb link element\n * @csspart separator - Separator between items\n * @csspart ellipsis - The ellipsis button when items are collapsed\n */\n@customElement('bp-breadcrumb')\nexport class BpBreadcrumb extends LitElement {\n /**\n * Array of breadcrumb items\n */\n @property({ type: Array }) declare items: BreadcrumbItem[];\n\n /**\n * The size of the breadcrumb\n */\n @property({ type: String, reflect: true }) declare size: BreadcrumbSize;\n\n /**\n * The separator style between items\n */\n @property({ type: String, reflect: true })\n declare separator: BreadcrumbSeparator;\n\n /**\n * Accessible label for the navigation landmark\n */\n @property({ type: String, attribute: 'aria-label' })\n declare ariaLabel: string;\n\n /**\n * Whether to collapse middle items on small screens\n */\n @property({ type: Boolean, attribute: 'collapse-on-mobile' })\n declare collapseOnMobile: boolean;\n\n /**\n * Maximum visible items before collapsing (0 = no limit)\n */\n @property({ type: Number, attribute: 'max-items' }) declare maxItems: number;\n\n static styles = [breadcrumbStyles];\n\n constructor() {\n super();\n this.items = [];\n this.size = 'md';\n this.separator = 'slash';\n this.ariaLabel = 'Breadcrumb';\n this.collapseOnMobile = false;\n this.maxItems = 0;\n }\n\n private handleItemClick(\n _event: MouseEvent,\n item: BreadcrumbItem,\n index: number\n ) {\n // Don't prevent default for actual navigation\n this.dispatchEvent(\n new CustomEvent('bp-breadcrumb-click', {\n detail: { item, index },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleKeyDown(\n event: KeyboardEvent,\n item: BreadcrumbItem,\n index: number\n ) {\n if (event.key === 'Enter' || event.key === ' ') {\n if (!item.href) {\n event.preventDefault();\n }\n this.dispatchEvent(\n new CustomEvent('bp-breadcrumb-click', {\n detail: { item, index },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n private renderSeparator() {\n const separatorIcons = {\n slash: html`<span class=\"separator__icon\">/</span>`,\n chevron: html`\n <svg\n class=\"separator__icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M9 18l6-6-6-6\" />\n </svg>\n `,\n arrow: html`\n <svg\n class=\"separator__icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M5 12h14M12 5l7 7-7 7\" />\n </svg>\n `,\n dot: html`<span class=\"separator__icon separator__icon--dot\">•</span>`,\n };\n\n return html`\n <span class=\"separator\" part=\"separator\" aria-hidden=\"true\">\n <slot name=\"separator\">${separatorIcons[this.separator]}</slot>\n </span>\n `;\n }\n\n private renderItem(item: BreadcrumbItem, index: number, isLast: boolean) {\n const isCurrent = item.current || isLast;\n const itemClasses = {\n item: true,\n 'item--current': isCurrent,\n };\n\n return html`\n <li\n class=${classMap(itemClasses)}\n part=\"item ${isCurrent ? 'item-current' : ''}\"\n >\n ${item.href && !isCurrent\n ? html`\n <a\n class=\"link\"\n part=\"link\"\n href=${item.href}\n @click=${(e: MouseEvent) =>\n this.handleItemClick(e, item, index)}\n @keydown=${(e: KeyboardEvent) =>\n this.handleKeyDown(e, item, index)}\n >\n ${item.icon\n ? html`<bp-icon\n name=${item.icon}\n class=\"item__icon\"\n ></bp-icon>`\n : nothing}\n <span class=\"item__label\">${item.label}</span>\n </a>\n `\n : html`\n <span\n class=\"text\"\n part=\"text\"\n aria-current=${ifDefined(isCurrent ? 'page' : undefined)}\n >\n ${item.icon\n ? html`<bp-icon\n name=${item.icon}\n class=\"item__icon\"\n ></bp-icon>`\n : nothing}\n <span class=\"item__label\">${item.label}</span>\n </span>\n `}\n ${!isLast ? this.renderSeparator() : nothing}\n </li>\n `;\n }\n\n private renderEllipsis(hiddenCount: number) {\n return html`\n <li class=\"item item--ellipsis\" part=\"item ellipsis\">\n <button\n class=\"ellipsis-button\"\n part=\"ellipsis-button\"\n aria-label=\"Show ${hiddenCount} more items\"\n title=\"Show ${hiddenCount} more items\"\n >\n <span class=\"ellipsis-dots\">…</span>\n </button>\n ${this.renderSeparator()}\n </li>\n `;\n }\n\n private getVisibleItems(): {\n items: BreadcrumbItem[];\n hiddenCount: number;\n showEllipsis: boolean;\n } {\n if (this.maxItems <= 0 || this.items.length <= this.maxItems) {\n return { items: this.items, hiddenCount: 0, showEllipsis: false };\n }\n\n // Show first item, ellipsis, and last (maxItems - 1) items\n const firstItem = this.items[0];\n const lastItems = this.items.slice(-(this.maxItems - 1));\n const hiddenCount = this.items.length - this.maxItems;\n\n return {\n items: [firstItem, ...lastItems],\n hiddenCount,\n showEllipsis: true,\n };\n }\n\n render() {\n const containerClasses = {\n breadcrumb: true,\n [`breadcrumb--${this.size}`]: true,\n [`breadcrumb--separator-${this.separator}`]: true,\n 'breadcrumb--collapse-mobile': this.collapseOnMobile,\n };\n\n const {\n items: visibleItems,\n hiddenCount,\n showEllipsis,\n } = this.getVisibleItems();\n\n // If using programmatic items\n if (this.items.length > 0) {\n return html`\n <nav\n class=${classMap(containerClasses)}\n part=\"nav\"\n aria-label=${this.ariaLabel}\n >\n <ol class=\"list\" part=\"list\">\n ${showEllipsis\n ? html`\n ${this.renderItem(visibleItems[0], 0, false)}\n ${this.renderEllipsis(hiddenCount)}\n ${repeat(\n visibleItems.slice(1),\n (_item, index) => index,\n (item, index) =>\n this.renderItem(\n item,\n this.items.length - visibleItems.length + 1 + index,\n index === visibleItems.length - 2\n )\n )}\n `\n : repeat(\n visibleItems,\n (_item, index) => index,\n (item, index) =>\n this.renderItem(\n item,\n index,\n index === visibleItems.length - 1\n )\n )}\n </ol>\n </nav>\n `;\n }\n\n // Slotted content fallback\n return html`\n <nav\n class=${classMap(containerClasses)}\n part=\"nav\"\n aria-label=${this.ariaLabel}\n >\n <ol class=\"list\" part=\"list\">\n <slot></slot>\n </ol>\n </nav>\n `;\n }\n}\n\n/**\n * A breadcrumb item component for use with bp-breadcrumb.\n *\n * @element bp-breadcrumb-item\n *\n * @property {string} href - URL for the breadcrumb link\n * @property {boolean} current - Whether this is the current page\n *\n * @slot - Content of the breadcrumb item\n *\n * @csspart item - The item container\n * @csspart link - The link element (when href is provided)\n */\n@customElement('bp-breadcrumb-item')\nexport class BpBreadcrumbItem extends LitElement {\n /**\n * URL for the breadcrumb link (omit for current page)\n */\n @property({ type: String }) declare href: string;\n\n /**\n * Whether this is the current/active page\n */\n @property({ type: Boolean, reflect: true }) declare current: boolean;\n\n static styles = [breadcrumbStyles];\n\n constructor() {\n super();\n this.href = '';\n this.current = false;\n }\n\n render() {\n const itemClasses = {\n item: true,\n 'item--current': this.current,\n };\n\n return html`\n <li\n class=${classMap(itemClasses)}\n part=\"item ${this.current ? 'item-current' : ''}\"\n >\n ${this.href && !this.current\n ? html`\n <a class=\"link\" part=\"link\" href=${this.href}>\n <slot></slot>\n </a>\n `\n : html`\n <span\n class=\"text\"\n part=\"text\"\n aria-current=${ifDefined(this.current ? 'page' : undefined)}\n >\n <slot></slot>\n </span>\n `}\n <span class=\"separator\" part=\"separator\" aria-hidden=\"true\"></span>\n </li>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-breadcrumb': BpBreadcrumb;\n 'bp-breadcrumb-item': BpBreadcrumbItem;\n }\n}\n"],"names":["breadcrumbStyles","css","BpBreadcrumb","LitElement","_event","item","index","event","separatorIcons","html","isLast","isCurrent","classMap","e","nothing","ifDefined","hiddenCount","firstItem","lastItems","containerClasses","visibleItems","showEllipsis","repeat","_item","__decorateClass","property","customElement","BpBreadcrumbItem","itemClasses"],"mappings":";;;;;AAEO,MAAMA,IAAmBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACkDzB,IAAMC,IAAN,cAA2BC,EAAW;AAAA,EAoC3C,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../source/components/button/button.style.ts","../../source/components/button/button.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const buttonStyles = css`\n /* Base styles */\n :host {\n display: inline-block;\n }\n\n .button {\n /* Reset */\n appearance: none;\n border: none;\n margin: 0;\n\n /* Layout */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--bp-spacing-sm);\n cursor: pointer;\n user-select: none;\n\n /* Typography */\n font-family: var(--bp-font-family);\n font-weight: var(--bp-font-weight-medium);\n text-decoration: none;\n white-space: nowrap;\n\n /* Visual */\n border-radius: var(--bp-border-radius-md);\n transition: all var(--bp-duration-fast);\n\n /* Accessibility */\n outline: none;\n }\n\n /* Variants */\n .button--primary {\n background: var(--bp-color-primary);\n color: var(--bp-color-text-inverse);\n }\n\n .button--success {\n background: var(--bp-color-success);\n color: var(--bp-color-text-inverse);\n }\n\n .button--error {\n background: var(--bp-color-error);\n color: var(--bp-color-text-inverse);\n }\n\n .button--warning {\n background: var(--bp-color-warning);\n color: var(--bp-color-text-inverse);\n }\n\n .button--info {\n background: var(--bp-color-info);\n color: var(--bp-color-text-inverse);\n }\n\n .button--secondary {\n background: var(--bp-color-surface-elevated);\n color: var(--bp-color-text);\n border: var(--bp-border-width) solid var(--bp-color-border-strong);\n }\n\n /* Sizes */\n .button--sm {\n padding: var(--bp-spacing-xs) var(--bp-spacing-sm);\n font-size: var(--bp-font-size-sm);\n line-height: var(--bp-line-height-tight);\n }\n\n .button--md {\n padding: var(--bp-spacing-sm) var(--bp-spacing-md);\n font-size: var(--bp-font-size-base);\n line-height: var(--bp-line-height-normal);\n }\n\n .button--lg {\n padding: var(--bp-spacing-md) var(--bp-spacing-lg);\n font-size: var(--bp-font-size-lg);\n line-height: var(--bp-line-height-normal);\n }\n\n /* States */\n .button:hover:not(:disabled) {\n box-shadow: var(--bp-shadow-md);\n }\n\n .button--primary:hover:not(:disabled) {\n background: var(--bp-color-primary-hover);\n }\n\n .button--success:hover:not(:disabled) {\n background: var(--bp-color-success-hover);\n }\n\n .button--error:hover:not(:disabled) {\n background: var(--bp-color-error-hover);\n }\n\n .button--warning:hover:not(:disabled) {\n background: var(--bp-color-warning-hover);\n }\n\n .button--info:hover:not(:disabled) {\n background: var(--bp-color-info-hover);\n }\n\n .button--secondary:hover:not(:disabled) {\n background: var(--bp-color-surface);\n border-color: var(--bp-color-border-strong);\n }\n\n .button:active:not(:disabled) {\n box-shadow: inset 0 2px 4px oklch(0 0 0 / 0.15);\n }\n\n .button--primary:active:not(:disabled) {\n background: var(--bp-color-primary-active);\n }\n\n .button:disabled {\n cursor: not-allowed;\n opacity: var(--bp-opacity-disabled);\n }\n\n .button:focus-visible {\n outline: var(--bp-focus-width) var(--bp-focus-style) var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { buttonStyles } from './button.style.js';\n\nexport type ButtonVariant =\n | 'primary'\n | 'success'\n | 'error'\n | 'warning'\n | 'info'\n | 'secondary';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\n@customElement('bp-button')\nexport class BpButton extends LitElement {\n @property({ type: String, reflect: true }) declare variant: ButtonVariant;\n @property({ type: String, reflect: true }) declare size: ButtonSize;\n @property({ type: Boolean, reflect: true }) declare disabled: boolean;\n @property({ type: String, reflect: true }) declare type:\n | 'button'\n | 'submit'\n | 'reset';\n\n static styles = [buttonStyles];\n\n constructor() {\n super();\n this.variant = 'primary';\n this.size = 'md';\n this.disabled = false;\n this.type = 'button';\n }\n\n private handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent('bp-click', {\n detail: { originalEvent: e },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n render() {\n return html`\n <button\n part=\"button\"\n class=\"button button--${this.variant} button--${this.size}\"\n type=${this.type}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n >\n <slot></slot>\n </button>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-button': BpButton;\n }\n}\n"],"names":["buttonStyles","css","BpButton","LitElement","e","html","__decorateClass","property","customElement"],"mappings":";;AAEO,MAAMA,IAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;ACYrB,IAAMC,IAAN,cAAuBC,EAAW;AAAA,EAWvC,cAAc;AACZ,UAAA,GACA,KAAK,UAAU,WACf,KAAK,OAAO,MACZ,KAAK,WAAW,IAChB,KAAK,OAAO;AAAA,EACd;AAAA,EAEQ,YAAYC,GAAe;AACjC,QAAI,KAAK,UAAU;AACjB,MAAAA,EAAE,eAAA,GACFA,EAAE,gBAAA;AACF;AAAA,IACF;AAEA,SAAK;AAAA,MACH,IAAI,YAAY,YAAY;AAAA,QAC1B,QAAQ,EAAE,eAAeA,EAAA;AAAA,QACzB,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,SAAS;AACP,WAAOC;AAAA;AAAA;AAAA,gCAGqB,KAAK,OAAO,YAAY,KAAK,IAAI;AAAA,eAClD,KAAK,IAAI;AAAA,oBACJ,KAAK,QAAQ;AAAA,iBAChB,KAAK,WAAW;AAAA,wBACT,KAAK,WAAW,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKtD;AACF;AAjDaH,EASJ,SAAS,CAACF,CAAY;AARsBM,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAD9BL,EACwC,WAAA,WAAA,CAAA;AACAI,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAF9BL,EAEwC,WAAA,QAAA,CAAA;AACCI,EAAA;AAAA,EAAnDC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAH/BL,EAGyC,WAAA,YAAA,CAAA;AACDI,EAAA;AAAA,EAAlDC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAJ9BL,EAIwC,WAAA,QAAA,CAAA;AAJxCA,IAANI,EAAA;AAAA,EADNE,EAAc,WAAW;AAAA,GACbN,CAAA;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../source/components/card/card.style.ts","../../source/components/card/card.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const cardStyles = css`\n /* Base styles */\n :host {\n display: block;\n }\n\n .card {\n font-family: var(--bp-font-family);\n background-color: var(--bp-color-surface-elevated);\n border-radius: var(--bp-border-radius-lg);\n overflow: hidden;\n transition:\n box-shadow var(--bp-transition-fast),\n transform var(--bp-transition-base),\n border-color var(--bp-transition-fast);\n }\n\n /* Content layout (media + body wrapper) */\n .card-content {\n display: flex;\n flex-direction: column;\n }\n\n .card-content--horizontal {\n flex-direction: row;\n }\n\n .card-content--horizontal ::slotted([slot='media']) {\n width: auto;\n max-width: 50%;\n flex-shrink: 0;\n }\n\n .card-body {\n padding: var(--bp-spacing-lg);\n font-size: var(--bp-font-size-base);\n line-height: var(--bp-line-height-relaxed);\n color: var(--bp-color-text);\n flex: 1;\n min-width: 0;\n }\n\n .card-body--no-padding {\n padding: 0;\n }\n\n /* Header and footer container styles */\n .card-header {\n padding: var(--bp-spacing-lg);\n border-bottom: var(--bp-border-width) solid var(--bp-color-border);\n font-weight: var(--bp-font-weight-semibold);\n font-size: var(--bp-font-size-lg);\n line-height: 1.4;\n color: var(--bp-color-text-strong);\n }\n\n .card-footer {\n padding: var(--bp-spacing-lg);\n border-top: var(--bp-border-width) solid var(--bp-color-border);\n font-size: var(--bp-font-size-sm);\n color: var(--bp-color-text-muted);\n }\n\n /* Media slot styles */\n ::slotted([slot='media']) {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n }\n\n /* Variants */\n .card--default {\n border: var(--bp-border-width) solid var(--bp-color-border);\n box-shadow: var(--bp-shadow-sm);\n }\n\n .card--outlined {\n border: var(--bp-border-width) solid var(--bp-color-border-strong);\n box-shadow: none;\n }\n\n .card--elevated {\n border: none;\n box-shadow: var(--bp-shadow-lg);\n }\n\n /* States */\n .card--default.card--hoverable:hover,\n .card--default.card--clickable:hover {\n box-shadow: var(--bp-shadow-md);\n border-color: var(--bp-color-border-strong);\n }\n\n .card--outlined.card--hoverable:hover,\n .card--outlined.card--clickable:hover {\n box-shadow: var(--bp-shadow-md);\n }\n\n .card--elevated.card--hoverable:hover,\n .card--elevated.card--clickable:hover {\n box-shadow: var(--bp-shadow-xl);\n }\n\n .card--clickable {\n cursor: pointer;\n user-select: none;\n }\n\n .card--clickable:focus-visible {\n outline: var(--bp-focus-ring);\n outline-offset: var(--bp-focus-offset);\n }\n\n .card--clickable:active {\n box-shadow: var(--bp-shadow-sm);\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { cardStyles } from './card.style.js';\n\nexport type CardVariant = 'default' | 'outlined' | 'elevated';\nexport type CardDirection = 'vertical' | 'horizontal';\n/**\n * A versatile card component for organizing and displaying content.\n *\n * @slot - Default slot for card body content\n * @slot header - Optional header section\n * @slot footer - Optional footer section\n * @slot media - Optional media section (images, illustrations, etc.)\n *\n * @fires bp-click - Fired when clickable card is clicked\n */\n@customElement('bp-card')\nexport class BpCard extends LitElement {\n /**\n * Visual variant of the card\n */\n @property({ type: String, reflect: true }) declare variant: CardVariant;\n\n /**\n * Whether the card should display a hover effect\n */\n @property({ type: Boolean, reflect: true }) declare hoverable: boolean;\n\n /**\n * Whether the card is clickable (shows pointer cursor and emits click events)\n */\n @property({ type: Boolean, reflect: true }) declare clickable: boolean;\n\n /**\n * Whether to remove default padding from the card body\n */\n @property({ type: Boolean, reflect: true }) declare noPadding: boolean;\n\n /**\n * Layout direction for the card content (media + body area).\n * 'vertical' stacks media above body, 'horizontal' places them side by side.\n * Header and footer are unaffected and remain full-width.\n */\n @property({ type: String, reflect: true }) declare direction: CardDirection;\n\n /** Whether the header slot has assigned content */\n @property({ type: Boolean, attribute: false })\n private hasHeader = false;\n\n /** Whether the footer slot has assigned content */\n @property({ type: Boolean, attribute: false })\n private hasFooter = false;\n\n static styles = [cardStyles];\n\n constructor() {\n super();\n this.variant = 'default';\n this.hoverable = false;\n this.clickable = false;\n this.noPadding = false;\n this.direction = 'vertical';\n }\n\n /**\n * Handles slot change events for the header slot.\n * Updates hasHeader state to control header visibility.\n */\n private handleHeaderSlotChange = (event: Event): void => {\n const slot = event.target as HTMLElement & {\n assignedNodes: (options?: { flatten?: boolean }) => Node[];\n };\n this.hasHeader = slot.assignedNodes({ flatten: true }).length > 0;\n };\n\n /**\n * Handles slot change events for the footer slot.\n * Updates hasFooter state to control footer visibility.\n */\n private handleFooterSlotChange = (event: Event): void => {\n const slot = event.target as HTMLElement & {\n assignedNodes: (options?: { flatten?: boolean }) => Node[];\n };\n this.hasFooter = slot.assignedNodes({ flatten: true }).length > 0;\n };\n\n private handleClick(event: MouseEvent) {\n if (!this.clickable) return;\n\n // Only prevent default if not clicking on interactive elements\n const target = event.target as HTMLElement;\n if (!target.closest('a, button, input, select, textarea')) {\n event.preventDefault();\n }\n\n this.dispatchEvent(\n new CustomEvent('bp-click', {\n detail: { originalEvent: event },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n render() {\n return html`\n <div\n class=\"card card--${this.variant} ${this.hoverable || this.clickable\n ? 'card--hoverable'\n : ''} ${this.clickable ? 'card--clickable' : ''}\"\n part=\"card\"\n @click=${this.handleClick}\n role=${this.clickable ? 'button' : 'article'}\n tabindex=${ifDefined(this.clickable ? '0' : undefined)}\n @keydown=${this.clickable ? this.handleKeydown : undefined}\n >\n ${this.hasHeader\n ? html`<div class=\"card-header\" part=\"header\">\n <slot\n name=\"header\"\n @slotchange=${this.handleHeaderSlotChange}\n ></slot>\n </div>`\n : html`<slot\n name=\"header\"\n @slotchange=${this.handleHeaderSlotChange}\n ></slot>`}\n <div\n class=\"card-content ${this.direction === 'horizontal'\n ? 'card-content--horizontal'\n : ''}\"\n part=\"content\"\n >\n <slot name=\"media\" part=\"media\"></slot>\n <div\n class=\"card-body ${this.noPadding ? 'card-body--no-padding' : ''}\"\n part=\"body\"\n >\n <slot></slot>\n </div>\n </div>\n ${this.hasFooter\n ? html`<div class=\"card-footer\" part=\"footer\">\n <slot\n name=\"footer\"\n @slotchange=${this.handleFooterSlotChange}\n ></slot>\n </div>`\n : html`<slot\n name=\"footer\"\n @slotchange=${this.handleFooterSlotChange}\n ></slot>`}\n </div>\n `;\n }\n\n private handleKeydown(event: Event) {\n const keyboardEvent = event as typeof window.KeyboardEvent.prototype;\n if (keyboardEvent.key === 'Enter' || keyboardEvent.key === ' ') {\n event.preventDefault();\n this.handleClick(event as unknown as MouseEvent);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-card': BpCard;\n }\n}\n"],"names":["cardStyles","css","BpCard","LitElement","event","slot","html","ifDefined","keyboardEvent","__decorateClass","property","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sources":["../../source/components/checkbox/checkbox.style.ts","../../source/components/checkbox/checkbox.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const checkboxStyles = css`\n /* Base styles */\n :host {\n display: inline-block;\n }\n\n .checkbox {\n display: inline-flex;\n align-items: center;\n gap: var(--bp-spacing-sm);\n cursor: pointer;\n font-family: var(--bp-font-family);\n font-size: var(--bp-font-size-base);\n color: var(--bp-color-text);\n user-select: none;\n }\n\n .checkbox__input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n padding: 0;\n }\n\n .checkbox__checkmark {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: var(--bp-border-width) solid var(--bp-color-border-strong);\n border-radius: var(--bp-border-radius-sm);\n background-color: var(--bp-color-surface);\n transition: all var(--bp-transition-fast);\n }\n\n .checkbox__checkmark svg {\n width: 100%;\n height: 100%;\n color: var(--bp-color-text-inverse);\n opacity: 0;\n transform: scale(0);\n transition:\n opacity var(--bp-duration-fast) var(--bp-ease-out),\n transform var(--bp-duration-fast) var(--bp-ease-bounce);\n }\n\n .checkbox__label {\n line-height: var(--bp-line-height-normal);\n }\n\n /* Sizes */\n .checkbox--sm .checkbox__checkmark {\n width: var(--bp-spacing-4);\n height: var(--bp-spacing-4);\n }\n\n .checkbox--sm .checkbox__label {\n font-size: var(--bp-font-size-sm);\n }\n\n .checkbox--md .checkbox__checkmark {\n width: var(--bp-spacing-5);\n height: var(--bp-spacing-5);\n }\n\n .checkbox--md .checkbox__label {\n font-size: var(--bp-font-size-base);\n }\n\n .checkbox--lg .checkbox__checkmark {\n width: var(--bp-spacing-6);\n height: var(--bp-spacing-6);\n }\n\n .checkbox--lg .checkbox__label {\n font-size: var(--bp-font-size-lg);\n }\n\n /* States - Checked */\n .checkbox--checked .checkbox__checkmark {\n background-color: var(--bp-color-primary);\n border-color: var(--bp-color-primary);\n }\n\n .checkbox--checked .checkbox__checkmark svg {\n opacity: 1;\n transform: scale(1);\n }\n\n /* States - Indeterminate */\n .checkbox--indeterminate .checkbox__checkmark {\n background-color: var(--bp-color-primary);\n border-color: var(--bp-color-primary);\n }\n\n .checkbox--indeterminate .checkbox__checkmark svg {\n opacity: 1;\n transform: scale(1);\n }\n\n /* States - Hover */\n .checkbox:hover:not(.checkbox--disabled):not(.checkbox--checked):not(\n .checkbox--indeterminate\n )\n .checkbox__checkmark {\n border-color: var(--bp-color-primary);\n background-color: color-mix(\n in srgb,\n var(--bp-color-primary) 8%,\n transparent\n );\n }\n\n .checkbox--checked:hover:not(.checkbox--disabled) .checkbox__checkmark,\n .checkbox--indeterminate:hover:not(.checkbox--disabled) .checkbox__checkmark {\n background-color: var(--bp-color-primary-hover);\n border-color: var(--bp-color-primary-hover);\n }\n\n /* States - Active */\n .checkbox:active:not(.checkbox--disabled) .checkbox__checkmark {\n transform: scale(0.95);\n }\n\n /* States - Focused */\n .checkbox--focused .checkbox__checkmark {\n outline: var(--bp-focus-width) solid var(--bp-color-focus);\n outline-offset: var(--bp-focus-offset);\n }\n\n /* States - Disabled */\n .checkbox--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n /* States - Error */\n .checkbox--error .checkbox__checkmark {\n border-color: var(--bp-color-error);\n }\n\n .checkbox--error.checkbox--checked .checkbox__checkmark,\n .checkbox--error.checkbox--indeterminate .checkbox__checkmark {\n background-color: var(--bp-color-error);\n border-color: var(--bp-color-error);\n }\n\n /* Touch target size: ensure 44x44px minimum on touch devices */\n @media (pointer: coarse) {\n .checkbox {\n min-height: 44px;\n padding: var(--bp-spacing-xs) 0;\n }\n\n .checkbox__checkmark {\n position: relative;\n }\n\n /* Expand touch target with pseudo-element */\n .checkbox__checkmark::before {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 44px;\n height: 44px;\n }\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { checkboxStyles } from './checkbox.style.js';\n\nexport type CheckboxSize = 'sm' | 'md' | 'lg';\n\n/**\n * A form checkbox input with label support and multiple states.\n *\n * @element bp-checkbox\n *\n * @property {boolean} checked - Whether the checkbox is checked\n * @property {boolean} indeterminate - Indeterminate state (partial selection)\n * @property {boolean} disabled - Whether the checkbox is disabled\n * @property {boolean} required - Whether the checkbox is required\n * @property {string} name - The name for form submission\n * @property {string} value - The value for form submission\n * @property {CheckboxSize} size - The size of the checkbox\n * @property {boolean} error - Whether the checkbox has an error state\n *\n * @slot - The checkbox label text\n *\n * @fires bp-change - Fired when the checked state changes\n * @fires bp-focus - Fired when the checkbox receives focus\n * @fires bp-blur - Fired when the checkbox loses focus\n *\n * @csspart checkbox - The checkbox container\n * @csspart input - The native checkbox input element\n * @csspart checkmark - The visual checkmark indicator\n * @csspart label - The label text container\n */\n@customElement('bp-checkbox')\nexport class BpCheckbox extends LitElement {\n @query('input[type=\"checkbox\"]') declare input: HTMLInputElement;\n\n /**\n * Whether the checkbox is checked.\n */\n @property({ type: Boolean, reflect: true }) declare checked: boolean;\n\n /**\n * Whether the checkbox is in an indeterminate state.\n * This is a visual-only state for \"partially checked\" appearance.\n */\n @property({ type: Boolean, reflect: true }) declare indeterminate: boolean;\n\n /**\n * Whether the checkbox is disabled.\n */\n @property({ type: Boolean, reflect: true }) declare disabled: boolean;\n\n /**\n * Whether the checkbox is required.\n */\n @property({ type: Boolean, reflect: true }) declare required: boolean;\n\n /**\n * The name of the checkbox for form submission.\n */\n @property({ type: String, reflect: true }) declare name: string;\n\n /**\n * The value of the checkbox for form submission.\n */\n @property({ type: String }) declare value: string;\n\n /**\n * The size of the checkbox.\n */\n @property({ type: String, reflect: true }) declare size: CheckboxSize;\n\n /**\n * Whether the checkbox has an error state.\n */\n @property({ type: Boolean, reflect: true }) declare error: boolean;\n\n @state() private hasFocus = false;\n\n static styles = [checkboxStyles];\n\n static formAssociated = true;\n\n private internals: ElementInternals | null = null;\n\n constructor() {\n super();\n this.checked = false;\n this.indeterminate = false;\n this.disabled = false;\n this.required = false;\n this.name = '';\n this.value = 'on';\n this.size = 'md';\n this.error = false;\n\n // attachInternals may not be available in all environments (e.g., test)\n if (typeof this.attachInternals === 'function') {\n this.internals = this.attachInternals();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.updateFormValue();\n }\n\n updated(changedProperties: Map<string, unknown>) {\n if (changedProperties.has('checked')) {\n this.updateFormValue();\n if (this.input) {\n this.input.checked = this.checked;\n }\n }\n\n if (changedProperties.has('indeterminate') && this.input) {\n this.input.indeterminate = this.indeterminate;\n }\n }\n\n private updateFormValue() {\n const value = this.checked ? this.value : null;\n this.internals?.setFormValue(value);\n }\n\n private handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.checked = target.checked;\n this.indeterminate = false;\n\n this.dispatchEvent(\n new CustomEvent('bp-change', {\n detail: { checked: this.checked },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.dispatchEvent(\n new CustomEvent('bp-focus', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.dispatchEvent(\n new CustomEvent('bp-blur', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n /**\n * Sets focus on the checkbox.\n */\n\n focus(options?: FocusOptions) {\n this.input?.focus(options);\n }\n\n /**\n * Removes focus from the checkbox.\n */\n blur() {\n this.input?.blur();\n }\n\n render() {\n const classes = [\n 'checkbox',\n `checkbox--${this.size}`,\n this.checked ? 'checkbox--checked' : '',\n this.indeterminate ? 'checkbox--indeterminate' : '',\n this.disabled ? 'checkbox--disabled' : '',\n this.error ? 'checkbox--error' : '',\n this.hasFocus ? 'checkbox--focused' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return html`\n <label part=\"checkbox\" class=\"${classes}\">\n <input\n part=\"input\"\n type=\"checkbox\"\n class=\"checkbox__input\"\n .checked=${live(this.checked)}\n .indeterminate=${live(this.indeterminate)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n name=${ifDefined(this.name || undefined)}\n value=${this.value}\n aria-checked=${this.indeterminate ? 'mixed' : this.checked}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n <span part=\"checkmark\" class=\"checkbox__checkmark\">\n ${this.indeterminate\n ? html`<svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n x1=\"4\"\n y1=\"8\"\n x2=\"12\"\n y2=\"8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n />\n </svg>`\n : html`<svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13 4L6 11L3 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`}\n </span>\n <span part=\"label\" class=\"checkbox__label\">\n <slot></slot>\n </span>\n </label>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'bp-checkbox': BpCheckbox;\n }\n}\n"],"names":["checkboxStyles","css","BpCheckbox","LitElement","changedProperties","value","event","target","options","classes","html","live","ifDefined","__decorateClass","query","property","state","customElement"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.js","sources":["../../source/components/code-block/code-block.style.ts","../../source/components/code-block/code-block.ts"],"sourcesContent":["import { css } from 'lit';\r\n\r\nexport const codeBlockStyles = css`\r\n /* Base styles */\r\n :host {\r\n display: block;\r\n container-type: inline-size;\r\n }\r\n\r\n .code-block {\r\n position: relative;\r\n border: var(--bp-border-width) solid var(--bp-color-border);\r\n border-radius: var(--bp-border-radius-lg);\r\n overflow: hidden;\r\n background-color: var(--bp-color-surface);\r\n font-family: var(--bp-font-family-mono);\r\n font-size: var(--bp-font-size-sm);\r\n line-height: var(--bp-line-height-relaxed);\r\n }\r\n\r\n /* Header */\r\n .code-block__header {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: var(--bp-spacing-sm);\r\n padding: var(--bp-spacing-xs) var(--bp-spacing-md);\r\n background-color: var(--bp-color-surface-elevated);\r\n border-bottom: var(--bp-border-width) solid var(--bp-color-border);\r\n min-height: var(--bp-spacing-10);\r\n }\r\n\r\n .code-block__title {\r\n font-family: var(--bp-font-family);\r\n font-size: var(--bp-font-size-xs);\r\n font-weight: var(--bp-font-weight-medium);\r\n color: var(--bp-color-text-muted);\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n min-width: 0;\r\n text-transform: uppercase;\r\n letter-spacing: 0.05em; /* Intentional one-off for header label readability */\r\n }\r\n\r\n .code-block__controls {\r\n display: flex;\r\n align-items: center;\r\n gap: var(--bp-spacing-xs);\r\n flex-shrink: 0;\r\n }\r\n\r\n /* Copy button */\r\n .code-block__copy {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n background: none;\r\n border: none;\r\n padding: var(--bp-spacing-2xs);\r\n border-radius: var(--bp-border-radius-md);\r\n color: var(--bp-color-text-muted);\r\n cursor: pointer;\r\n transition:\r\n color var(--bp-transition-fast),\r\n background-color var(--bp-transition-fast);\r\n }\r\n\r\n .code-block__copy:hover {\r\n color: var(--bp-color-text);\r\n background-color: var(--bp-color-hover-overlay);\r\n }\r\n\r\n .code-block__copy:active {\r\n background-color: var(--bp-color-active-overlay);\r\n }\r\n\r\n .code-block__copy:focus-visible {\r\n outline: var(--bp-focus-ring);\r\n outline-offset: var(--bp-focus-offset);\r\n }\r\n\r\n .code-block__copy--copied {\r\n color: var(--bp-color-success);\r\n }\r\n\r\n .code-block__copy--error {\r\n color: var(--bp-color-error);\r\n }\r\n\r\n .code-block__icon {\r\n width: var(--bp-icon-size-sm);\r\n height: var(--bp-icon-size-sm);\r\n }\r\n\r\n /* Floating copy button (when header is hidden) */\r\n .code-block__floating-copy {\r\n position: absolute;\r\n top: var(--bp-spacing-xs);\r\n right: var(--bp-spacing-xs);\r\n z-index: var(--bp-z-base);\r\n opacity: 0;\r\n transition: opacity var(--bp-transition-fast);\r\n }\r\n\r\n .code-block__body:hover .code-block__floating-copy,\r\n .code-block__body:focus-within .code-block__floating-copy {\r\n opacity: 1;\r\n }\r\n\r\n /* Ensure floating copy button is reachable on touch devices (no hover) */\r\n @media (hover: none) {\r\n .code-block__floating-copy {\r\n opacity: 0.7;\r\n }\r\n }\r\n\r\n .code-block__floating-copy .code-block__copy {\r\n background-color: var(--bp-color-surface-elevated);\r\n border: var(--bp-border-width) solid var(--bp-color-border);\r\n box-shadow: var(--bp-shadow-sm);\r\n }\r\n\r\n /* Body */\r\n .code-block__body {\r\n position: relative;\r\n overflow: hidden;\r\n }\r\n\r\n .code-block__body--scroll {\r\n overflow-x: auto;\r\n }\r\n\r\n /* Pre / Code */\r\n .code-block__pre {\r\n margin: 0;\r\n padding: var(--bp-spacing-md);\r\n overflow: visible;\r\n }\r\n\r\n .code-block__body--wrap .code-block__pre {\r\n white-space: pre-wrap;\r\n word-break: break-all;\r\n overflow-wrap: break-word;\r\n }\r\n\r\n .code-block__body--scroll .code-block__pre {\r\n white-space: pre;\r\n overflow-x: auto;\r\n }\r\n\r\n .code-block__code {\r\n font-family: inherit;\r\n font-size: inherit;\r\n line-height: inherit;\r\n color: var(--bp-color-text);\r\n }\r\n\r\n /* Line numbers grid layout */\r\n .code-block__lines {\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n }\r\n\r\n .code-block__lines--no-gutter {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n .code-block__line-number {\r\n align-self: start;\r\n text-align: right;\r\n padding-right: var(--bp-spacing-md);\r\n color: var(--bp-color-text-muted);\r\n user-select: none;\r\n min-width: var(--bp-spacing-8);\r\n opacity: var(--bp-opacity-subtle);\r\n }\r\n\r\n .code-block__line {\r\n display: block;\r\n padding-left: var(--bp-spacing-2xs);\r\n border-left: var(--bp-spacing-0-5) solid transparent;\r\n }\r\n\r\n .code-block__line--highlighted {\r\n background-color: var(--bp-color-selected-bg);\r\n border-left-color: var(--bp-color-primary);\r\n }\r\n\r\n /* Collapsed / expand */\r\n /* max-height = (line count × line-height × font-size) + vertical padding */\r\n .code-block__body--collapsed {\r\n max-height: calc(\r\n var(--_max-lines, 10) * var(--bp-line-height-relaxed) * 1em +\r\n var(--bp-spacing-md) * 2\r\n );\r\n overflow: hidden;\r\n }\r\n\r\n .code-block__gradient {\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: var(--bp-spacing-16);\r\n background: linear-gradient(transparent, var(--bp-color-surface));\r\n pointer-events: none;\r\n }\r\n\r\n .code-block__expand {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n padding: var(--bp-spacing-xs) var(--bp-spacing-md);\r\n background: none;\r\n border: none;\r\n border-top: var(--bp-border-width) solid var(--bp-color-border);\r\n color: var(--bp-color-primary);\r\n font-family: var(--bp-font-family);\r\n font-size: var(--bp-font-size-xs);\r\n font-weight: var(--bp-font-weight-medium);\r\n cursor: pointer;\r\n transition: background-color var(--bp-transition-fast);\r\n }\r\n\r\n .code-block__expand:hover {\r\n background-color: var(--bp-color-hover-overlay);\r\n }\r\n\r\n .code-block__expand:active {\r\n background-color: var(--bp-color-active-overlay);\r\n }\r\n\r\n .code-block__expand:focus-visible {\r\n outline: var(--bp-focus-ring);\r\n outline-offset: calc(-1 * var(--bp-focus-offset));\r\n }\r\n\r\n /* Visually hidden status for screen readers.\r\n Uses --bp-spacing-0-5 (2px) instead of the typical 1px sr-only pattern\r\n to stay consistent with design tokens throughout. */\r\n .code-block__status {\r\n position: absolute;\r\n width: var(--bp-spacing-0-5);\r\n height: var(--bp-spacing-0-5);\r\n padding: var(--bp-spacing-0);\r\n margin: calc(-1 * var(--bp-spacing-0-5));\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border: var(--bp-spacing-0);\r\n }\r\n\r\n /* Container queries for responsive behavior */\r\n @container (max-width: 480px) {\r\n /* stylelint-disable-line -- container queries cannot use var() */\r\n .code-block__header {\r\n flex-wrap: wrap;\r\n }\r\n\r\n .code-block__pre {\r\n padding: var(--bp-spacing-sm);\r\n font-size: var(--bp-font-size-xs);\r\n }\r\n\r\n .code-block__line-number {\r\n min-width: var(--bp-spacing-6);\r\n padding-right: var(--bp-spacing-sm);\r\n }\r\n }\r\n`;\r\n","import { LitElement, html, nothing, type PropertyValues } from 'lit';\r\nimport { customElement, property, state } from 'lit/decorators.js';\r\nimport { ifDefined } from 'lit/directives/if-defined.js';\r\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\r\nimport { codeBlockStyles } from './code-block.style.js';\r\n\r\n/**\r\n * Result returned by a highlight adapter.\r\n */\r\nexport interface HighlightResult {\r\n /** The highlighted code as an HTML string. */\r\n html: string;\r\n /** Whether highlighting was actually applied (false = plain text fallback). */\r\n isHighlighted: boolean;\r\n}\r\n\r\n/**\r\n * Adapter interface for pluggable syntax highlighting.\r\n */\r\nexport interface CodeBlockHighlightAdapter {\r\n /**\r\n * Called once when the adapter is first used.\r\n * Use this for async initialization (loading Shiki, registering languages, etc).\r\n * Return value is passed to `highlight()` as context.\r\n */\r\n initialize?(): Promise<unknown>;\r\n\r\n /**\r\n * Return highlighted HTML for the given code and language.\r\n * `context` is the resolved value from `initialize()`.\r\n */\r\n highlight(options: {\r\n code: string;\r\n language: string;\r\n context: unknown;\r\n }): HighlightResult;\r\n}\r\n\r\n/** Maps HTML special characters to their entity equivalents for XSS prevention. */\r\nconst htmlEscapeMap: Record<string, string> = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n};\r\n\r\n/**\r\n * Escapes HTML special characters in a single pass to prevent XSS when rendering plain text.\r\n */\r\nfunction escapeHtml(text: string): string {\r\n return text.replace(/[&<>\"']/g, (char) => htmlEscapeMap[char] ?? char);\r\n}\r\n\r\n/**\r\n * Built-in plain text adapter that escapes HTML and renders monospace text.\r\n * Zero dependencies, zero bundle cost.\r\n */\r\nexport const plainTextAdapter: CodeBlockHighlightAdapter = {\r\n highlight({ code }) {\r\n return {\r\n html: escapeHtml(code),\r\n isHighlighted: false,\r\n };\r\n },\r\n};\r\n\r\n/**\r\n * A code block component for displaying syntax-highlighted code with\r\n * copy-to-clipboard, line numbers, line highlighting, and expand/collapse.\r\n *\r\n * @slot title - Custom title content. Overrides the `title` attribute.\r\n * @slot controls - Additional control buttons placed before the copy button.\r\n * @slot copy-icon - Custom icon for the copy button (default state).\r\n * @slot copied-icon - Custom icon for the copy button (success state).\r\n *\r\n * @fires bp-copy - Fired after a copy attempt. Detail: `{ code: string, success: boolean }`\r\n *\r\n * @csspart base - Outer wrapper\r\n * @csspart header - Header bar\r\n * @csspart title - Title text area\r\n * @csspart controls - Controls container\r\n * @csspart copy-button - The copy button\r\n * @csspart body - Scrollable code container\r\n * @csspart pre - The `<pre>` element\r\n * @csspart code - The `<code>` element\r\n * @csspart line-number - Individual line number cell\r\n * @csspart line - Individual line of code\r\n */\r\n@customElement('bp-code-block')\r\nexport class BpCodeBlock extends LitElement {\r\n /**\r\n * The source code to display.\r\n */\r\n @property({ type: String }) declare code: string;\r\n\r\n /**\r\n * Language identifier for syntax highlighting (e.g. 'typescript', 'html', 'python').\r\n * Also displayed as a label when no title is set.\r\n */\r\n @property({ type: String }) declare language: string;\r\n\r\n /**\r\n * Optional title displayed in the header (e.g. a filename like `index.ts`).\r\n * Overrides the language label.\r\n */\r\n @property({ type: String }) declare title: string;\r\n\r\n /**\r\n * Show line number gutter.\r\n */\r\n @property({ type: Boolean, attribute: 'show-line-numbers', reflect: true })\r\n declare showLineNumbers: boolean;\r\n\r\n /**\r\n * Array of 1-based line numbers to visually highlight.\r\n */\r\n @property({ type: Array }) declare highlightLines: number[];\r\n\r\n /**\r\n * Wrap long lines instead of horizontal scroll.\r\n */\r\n @property({ type: Boolean, attribute: 'wrap-lines', reflect: true })\r\n declare wrapLines: boolean;\r\n\r\n /**\r\n * Show the copy-to-clipboard button.\r\n */\r\n @property({ type: Boolean, attribute: 'show-copy-button', reflect: true })\r\n declare showCopyButton: boolean;\r\n\r\n /**\r\n * When set, collapse the code block to this many visible lines with a \"Show more\" toggle.\r\n */\r\n @property({ type: Number, attribute: 'max-lines' })\r\n declare maxLines: number | undefined;\r\n\r\n /**\r\n * Show/hide the header bar. When false, the copy button floats over the code.\r\n */\r\n @property({ type: Boolean, attribute: 'show-header', reflect: true })\r\n declare showHeader: boolean;\r\n\r\n /**\r\n * The syntax highlight adapter to use for this instance.\r\n * Defaults to `BpCodeBlock.defaultAdapter` which is the plainTextAdapter.\r\n */\r\n @property({ attribute: false })\r\n declare highlightAdapter: CodeBlockHighlightAdapter;\r\n\r\n /**\r\n * Global default adapter used when no per-instance adapter is set.\r\n */\r\n static defaultAdapter: CodeBlockHighlightAdapter = plainTextAdapter;\r\n\r\n @state() private _copyState: 'idle' | 'copied' | 'error' = 'idle';\r\n @state() private _expanded = false;\r\n @state() private _highlightedHtml = '';\r\n @state() private _adapterContext: unknown = undefined;\r\n @state() private _adapterInitialized = false;\r\n @state() private _lineCount = 0;\r\n @state() private _highlightSet: Set<number> = new Set();\r\n @state() private _highlightedLines: string[] = [];\r\n\r\n private _copyResetTimer: ReturnType<typeof setTimeout> | null = null;\r\n\r\n static styles = [codeBlockStyles];\r\n\r\n constructor() {\r\n super();\r\n this.code = '';\r\n this.language = 'text';\r\n this.title = '';\r\n this.showLineNumbers = false;\r\n this.highlightLines = [];\r\n this.wrapLines = true;\r\n this.showCopyButton = true;\r\n this.maxLines = undefined;\r\n this.showHeader = true;\r\n this.highlightAdapter = BpCodeBlock.defaultAdapter;\r\n }\r\n\r\n disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n if (this._copyResetTimer) {\r\n clearTimeout(this._copyResetTimer);\r\n this._copyResetTimer = null;\r\n }\r\n }\r\n\r\n protected override willUpdate(changedProperties: PropertyValues): void {\r\n super.willUpdate(changedProperties);\r\n\r\n if (changedProperties.has('highlightAdapter')) {\r\n this._adapterInitialized = false;\r\n this._adapterContext = undefined;\r\n this._initializeAdapter();\r\n }\r\n\r\n if (changedProperties.has('code')) {\r\n this._lineCount = this.code.split('\\n').length;\r\n }\r\n\r\n if (changedProperties.has('highlightLines')) {\r\n this._highlightSet = new Set(this.highlightLines);\r\n }\r\n\r\n const needsRehighlight =\r\n changedProperties.has('code') ||\r\n changedProperties.has('language') ||\r\n changedProperties.has('highlightAdapter');\r\n\r\n if (needsRehighlight) {\r\n this._updateHighlightingSync();\r\n }\r\n }\r\n\r\n connectedCallback(): void {\r\n super.connectedCallback();\r\n this._initializeAdapter();\r\n }\r\n\r\n private async _initializeAdapter(): Promise<void> {\r\n const adapter = this.highlightAdapter;\r\n if (!this._adapterInitialized && adapter.initialize) {\r\n try {\r\n const context = await adapter.initialize();\r\n // Bail if adapter changed while awaiting\r\n if (this.highlightAdapter !== adapter) return;\r\n this._adapterContext = context;\r\n } catch {\r\n if (this.highlightAdapter !== adapter) return;\r\n this._adapterContext = undefined;\r\n }\r\n this._adapterInitialized = true;\r\n // Re-highlight with context after async init\r\n this._updateHighlightingSync();\r\n this.requestUpdate();\r\n }\r\n }\r\n\r\n private _updateHighlightingSync(): void {\r\n const adapter = this.highlightAdapter;\r\n\r\n try {\r\n const result = adapter.highlight({\r\n code: this.code,\r\n language: this.language,\r\n context: this._adapterContext,\r\n });\r\n this._highlightedHtml = result.html;\r\n } catch {\r\n // Fallback to plain text on adapter error\r\n this._highlightedHtml = escapeHtml(this.code);\r\n }\r\n\r\n this._highlightedLines = this._highlightedHtml.split('\\n');\r\n }\r\n\r\n private _handleCopy = async (): Promise<void> => {\r\n let success: boolean;\r\n\r\n try {\r\n if (navigator.clipboard) {\r\n await navigator.clipboard.writeText(this.code);\r\n success = true;\r\n } else {\r\n // Fallback for insecure contexts\r\n success = this._fallbackCopy();\r\n }\r\n } catch {\r\n success = this._fallbackCopy();\r\n }\r\n\r\n this._copyState = success ? 'copied' : 'error';\r\n\r\n this.dispatchEvent(\r\n new CustomEvent('bp-copy', {\r\n detail: { code: this.code, success },\r\n bubbles: true,\r\n composed: true,\r\n })\r\n );\r\n\r\n // Reset after 2 seconds\r\n if (this._copyResetTimer) {\r\n clearTimeout(this._copyResetTimer);\r\n }\r\n this._copyResetTimer = setTimeout(() => {\r\n this._copyState = 'idle';\r\n this._copyResetTimer = null;\r\n }, 2000);\r\n };\r\n\r\n private _fallbackCopy(): boolean {\r\n try {\r\n const textarea = document.createElement('textarea');\r\n textarea.value = this.code;\r\n textarea.style.position = 'fixed';\r\n textarea.style.left = '-9999px';\r\n textarea.style.top = '-9999px';\r\n document.body.appendChild(textarea);\r\n textarea.select();\r\n const result = document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n return result;\r\n } catch {\r\n return false;\r\n }\r\n }\r\n\r\n private _toggleExpanded(): void {\r\n this._expanded = !this._expanded;\r\n }\r\n\r\n private get _shouldCollapse(): boolean {\r\n return (\r\n this.maxLines !== undefined &&\r\n this.maxLines > 0 &&\r\n this._lineCount > this.maxLines\r\n );\r\n }\r\n\r\n private get _isCollapsed(): boolean {\r\n return this._shouldCollapse && !this._expanded;\r\n }\r\n\r\n private get _headerLabel(): string {\r\n return this.title || this.language;\r\n }\r\n\r\n private _getCopyAriaLabel(): string {\r\n if (this._copyState === 'copied') return 'Copied!';\r\n if (this._copyState === 'error') return 'Failed to copy';\r\n return 'Copy code';\r\n }\r\n\r\n private _renderCopyIcon() {\r\n if (this._copyState === 'copied') {\r\n return html`\r\n <slot name=\"copied-icon\">\r\n <svg\r\n class=\"code-block__icon\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <polyline points=\"20 6 9 17 4 12\"></polyline>\r\n </svg>\r\n </slot>\r\n `;\r\n }\r\n\r\n return html`\r\n <slot name=\"copy-icon\">\r\n <svg\r\n class=\"code-block__icon\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n >\r\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect>\r\n <path\r\n d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\r\n ></path>\r\n </svg>\r\n </slot>\r\n `;\r\n }\r\n\r\n private _renderCopyButton() {\r\n if (!this.showCopyButton) return nothing;\r\n\r\n return html`\r\n <button\r\n part=\"copy-button\"\r\n class=\"code-block__copy code-block__copy--${this._copyState}\"\r\n aria-label=${this._getCopyAriaLabel()}\r\n @click=${this._handleCopy}\r\n >\r\n ${this._renderCopyIcon()}\r\n </button>\r\n `;\r\n }\r\n\r\n private _renderHeader() {\r\n if (!this.showHeader) return nothing;\r\n\r\n return html`\r\n <div part=\"header\" class=\"code-block__header\">\r\n <span part=\"title\" class=\"code-block__title\">\r\n <slot name=\"title\">${this._headerLabel}</slot>\r\n </span>\r\n <div part=\"controls\" class=\"code-block__controls\">\r\n <slot name=\"controls\"></slot>\r\n ${this._renderCopyButton()}\r\n </div>\r\n </div>\r\n `;\r\n }\r\n\r\n private _renderFloatingCopyButton() {\r\n if (this.showHeader || !this.showCopyButton) return nothing;\r\n\r\n return html`\r\n <div class=\"code-block__floating-copy\">${this._renderCopyButton()}</div>\r\n `;\r\n }\r\n\r\n private _renderLine(\r\n lineHtml: string,\r\n lineNumber: number,\r\n showNumber: boolean\r\n ) {\r\n const isHighlighted = this._highlightSet.has(lineNumber);\r\n // Template kept tight to avoid whitespace text nodes inside the CSS grid.\r\n // Anonymous text nodes in a grid become extra rows, adding visual gaps.\r\n return showNumber\r\n ? html`<span\r\n part=\"line-number\"\r\n class=\"code-block__line-number\"\r\n aria-hidden=\"true\"\r\n >${lineNumber}</span\r\n ><span\r\n part=\"line\"\r\n class=\"code-block__line ${isHighlighted\r\n ? 'code-block__line--highlighted'\r\n : ''}\"\r\n aria-current=${ifDefined(isHighlighted ? 'true' : undefined)}\r\n >${unsafeHTML(lineHtml)}</span\r\n >`\r\n : html`<span\r\n part=\"line\"\r\n class=\"code-block__line ${isHighlighted\r\n ? 'code-block__line--highlighted'\r\n : ''}\"\r\n aria-current=${ifDefined(isHighlighted ? 'true' : undefined)}\r\n >${unsafeHTML(lineHtml)}</span\r\n >`;\r\n }\r\n\r\n private _renderCodeLines() {\r\n // Templates kept tight to avoid whitespace text nodes inside CSS grids.\r\n if (this.showLineNumbers) {\r\n return html`<div class=\"code-block__lines\">\r\n ${this._highlightedLines.map((lineHtml, index) =>\r\n this._renderLine(lineHtml, index + 1, true)\r\n )}\r\n </div>`;\r\n }\r\n\r\n if (this.highlightLines.length > 0) {\r\n return html`<div class=\"code-block__lines code-block__lines--no-gutter\">\r\n ${this._highlightedLines.map((lineHtml, index) =>\r\n this._renderLine(lineHtml, index + 1, false)\r\n )}\r\n </div>`;\r\n }\r\n\r\n return unsafeHTML(this._highlightedHtml);\r\n }\r\n\r\n private _renderExpandButton() {\r\n if (!this._shouldCollapse) return nothing;\r\n\r\n return html`\r\n <button\r\n part=\"expand-button\"\r\n class=\"code-block__expand\"\r\n @click=${this._toggleExpanded}\r\n aria-expanded=${this._expanded}\r\n >\r\n ${this._expanded ? 'Show less' : 'Show more'}\r\n </button>\r\n `;\r\n }\r\n\r\n render() {\r\n const bodyClasses = [\r\n 'code-block__body',\r\n this.wrapLines ? 'code-block__body--wrap' : 'code-block__body--scroll',\r\n this._isCollapsed ? 'code-block__body--collapsed' : '',\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n return html`\r\n <div\r\n part=\"base\"\r\n class=\"code-block\"\r\n role=\"region\"\r\n aria-label=${this.title\r\n ? `Code example: ${this.title}`\r\n : 'Code example'}\r\n style=${this._isCollapsed && this.maxLines\r\n ? `--_max-lines: ${this.maxLines}`\r\n : ''}\r\n >\r\n ${this._renderHeader()}\r\n <div part=\"body\" class=${bodyClasses}>\r\n ${this._renderFloatingCopyButton()}\r\n <pre\r\n part=\"pre\"\r\n class=\"code-block__pre\"\r\n ><code part=\"code\" class=\"code-block__code\">${this._renderCodeLines()}</code></pre>\r\n ${this._isCollapsed\r\n ? html`<div class=\"code-block__gradient\"></div>`\r\n : nothing}\r\n </div>\r\n ${this._renderExpandButton()}\r\n <div class=\"code-block__status\" role=\"status\" aria-live=\"polite\">\r\n ${this._copyState === 'copied' ? 'Copied to clipboard' : ''}\r\n ${this._copyState === 'error' ? 'Failed to copy' : ''}\r\n </div>\r\n </div>\r\n `;\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'bp-code-block': BpCodeBlock;\r\n }\r\n}\r\n"],"names":["codeBlockStyles","css","htmlEscapeMap","escapeHtml","text","char","plainTextAdapter","code","BpCodeBlock","LitElement","success","changedProperties","adapter","context","result","textarea","html","nothing","lineHtml","lineNumber","showNumber","isHighlighted","ifDefined","unsafeHTML","index","bodyClasses","__decorateClass","property","state","customElement"],"mappings":";;;;AAEO,MAAMA,IAAkBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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"}
|