@patternfly/elements 2.0.0-rc.4 → 2.0.0-rc.6
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/custom-elements.json +48 -16
- package/package.json +4 -3
- package/pf-accordion/BaseAccordion.js +2 -2
- package/pf-accordion/BaseAccordion.js.map +1 -1
- package/pf-accordion/BaseAccordionHeader.js +2 -2
- package/pf-accordion/BaseAccordionHeader.js.map +1 -1
- package/pf-accordion/BaseAccordionPanel.js +2 -2
- package/pf-accordion/BaseAccordionPanel.js.map +1 -1
- package/pf-accordion/README.md +44 -0
- package/pf-accordion/pf-accordion-header.js +3 -2
- package/pf-accordion/pf-accordion-header.js.map +1 -1
- package/pf-accordion/pf-accordion-panel.js +3 -2
- package/pf-accordion/pf-accordion-panel.js.map +1 -1
- package/pf-accordion/pf-accordion.js +3 -3
- package/pf-accordion/pf-accordion.js.map +1 -1
- package/pf-avatar/BaseAvatar.d.ts +2 -0
- package/pf-avatar/BaseAvatar.js +8 -4
- package/pf-avatar/BaseAvatar.js.map +1 -1
- package/pf-avatar/README.md +31 -0
- package/pf-avatar/pf-avatar.js +3 -2
- package/pf-avatar/pf-avatar.js.map +1 -1
- package/pf-badge/BaseBadge.js +1 -1
- package/pf-badge/README.md +57 -0
- package/pf-badge/pf-badge.js +3 -2
- package/pf-badge/pf-badge.js.map +1 -1
- package/pf-button/BaseButton.js +2 -2
- package/pf-button/BaseButton.js.map +1 -1
- package/pf-button/README.md +61 -0
- package/pf-button/pf-button.js +3 -2
- package/pf-button/pf-button.js.map +1 -1
- package/pf-card/BaseCard.js +1 -1
- package/pf-card/README.md +34 -0
- package/pf-card/pf-card.js +3 -2
- package/pf-card/pf-card.js.map +1 -1
- package/pf-clipboard-copy/BaseClipboardCopy.js +1 -1
- package/pf-clipboard-copy/README.md +8 -0
- package/pf-clipboard-copy/pf-clipboard-copy.js +3 -2
- package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
- package/pf-code-block/BaseCodeBlock.js +1 -1
- package/pf-code-block/README.md +77 -0
- package/pf-code-block/pf-code-block.js +3 -2
- package/pf-code-block/pf-code-block.js.map +1 -1
- package/pf-icon/BaseIcon.js +3 -2
- package/pf-icon/BaseIcon.js.map +1 -1
- package/pf-icon/README.md +86 -0
- package/pf-icon/icons/fab/algolia.js +1 -1
- package/pf-icon/icons/fab/line.js +1 -1
- package/pf-icon/icons/fab/odysee.js +1 -0
- package/pf-icon/icons/fab/stubber.js +1 -0
- package/pf-icon/icons/far/address-book.js +1 -1
- package/pf-icon/icons/far/address-card.js +1 -1
- package/pf-icon/icons/far/bell-slash.js +1 -1
- package/pf-icon/icons/far/bell.js +1 -1
- package/pf-icon/icons/far/bookmark.js +1 -1
- package/pf-icon/icons/far/building.js +1 -1
- package/pf-icon/icons/far/calendar-check.js +1 -1
- package/pf-icon/icons/far/calendar-days.js +1 -1
- package/pf-icon/icons/far/calendar-minus.js +1 -1
- package/pf-icon/icons/far/calendar-plus.js +1 -1
- package/pf-icon/icons/far/calendar-xmark.js +1 -1
- package/pf-icon/icons/far/calendar.js +1 -1
- package/pf-icon/icons/far/chart-bar.js +1 -1
- package/pf-icon/icons/far/chess-bishop.js +1 -1
- package/pf-icon/icons/far/chess-king.js +1 -1
- package/pf-icon/icons/far/chess-knight.js +1 -1
- package/pf-icon/icons/far/chess-pawn.js +1 -1
- package/pf-icon/icons/far/chess-queen.js +1 -1
- package/pf-icon/icons/far/chess-rook.js +1 -1
- package/pf-icon/icons/far/circle-down.js +1 -1
- package/pf-icon/icons/far/circle-left.js +1 -1
- package/pf-icon/icons/far/circle-pause.js +1 -1
- package/pf-icon/icons/far/circle-play.js +1 -1
- package/pf-icon/icons/far/circle-question.js +1 -1
- package/pf-icon/icons/far/circle-right.js +1 -1
- package/pf-icon/icons/far/circle-stop.js +1 -1
- package/pf-icon/icons/far/circle-up.js +1 -1
- package/pf-icon/icons/far/circle-user.js +1 -1
- package/pf-icon/icons/far/clock.js +1 -1
- package/pf-icon/icons/far/clone.js +1 -1
- package/pf-icon/icons/far/closed-captioning.js +1 -1
- package/pf-icon/icons/far/comment-dots.js +1 -1
- package/pf-icon/icons/far/comment.js +1 -1
- package/pf-icon/icons/far/comments.js +1 -1
- package/pf-icon/icons/far/compass.js +1 -1
- package/pf-icon/icons/far/copy.js +1 -1
- package/pf-icon/icons/far/copyright.js +1 -1
- package/pf-icon/icons/far/credit-card.js +1 -1
- package/pf-icon/icons/far/envelope-open.js +1 -1
- package/pf-icon/icons/far/eye-slash.js +1 -1
- package/pf-icon/icons/far/eye.js +1 -1
- package/pf-icon/icons/far/face-angry.js +1 -1
- package/pf-icon/icons/far/face-dizzy.js +1 -1
- package/pf-icon/icons/far/face-flushed.js +1 -1
- package/pf-icon/icons/far/face-frown-open.js +1 -1
- package/pf-icon/icons/far/face-frown.js +1 -1
- package/pf-icon/icons/far/face-grimace.js +1 -1
- package/pf-icon/icons/far/face-grin-beam-sweat.js +1 -1
- package/pf-icon/icons/far/face-grin-beam.js +1 -1
- package/pf-icon/icons/far/face-grin-hearts.js +1 -1
- package/pf-icon/icons/far/face-grin-squint-tears.js +1 -1
- package/pf-icon/icons/far/face-grin-squint.js +1 -1
- package/pf-icon/icons/far/face-grin-stars.js +1 -1
- package/pf-icon/icons/far/face-grin-tears.js +1 -1
- package/pf-icon/icons/far/face-grin-tongue-squint.js +1 -1
- package/pf-icon/icons/far/face-grin-tongue-wink.js +1 -1
- package/pf-icon/icons/far/face-grin-tongue.js +1 -1
- package/pf-icon/icons/far/face-grin-wide.js +1 -1
- package/pf-icon/icons/far/face-grin-wink.js +1 -1
- package/pf-icon/icons/far/face-grin.js +1 -1
- package/pf-icon/icons/far/face-kiss-beam.js +1 -1
- package/pf-icon/icons/far/face-kiss-wink-heart.js +1 -1
- package/pf-icon/icons/far/face-kiss.js +1 -1
- package/pf-icon/icons/far/face-laugh-beam.js +1 -1
- package/pf-icon/icons/far/face-laugh-squint.js +1 -1
- package/pf-icon/icons/far/face-laugh-wink.js +1 -1
- package/pf-icon/icons/far/face-laugh.js +1 -1
- package/pf-icon/icons/far/face-meh-blank.js +1 -1
- package/pf-icon/icons/far/face-meh.js +1 -1
- package/pf-icon/icons/far/face-rolling-eyes.js +1 -1
- package/pf-icon/icons/far/face-sad-cry.js +1 -1
- package/pf-icon/icons/far/face-sad-tear.js +1 -1
- package/pf-icon/icons/far/face-smile-beam.js +1 -1
- package/pf-icon/icons/far/face-smile-wink.js +1 -1
- package/pf-icon/icons/far/face-smile.js +1 -1
- package/pf-icon/icons/far/face-surprise.js +1 -1
- package/pf-icon/icons/far/face-tired.js +1 -1
- package/pf-icon/icons/far/file-audio.js +1 -1
- package/pf-icon/icons/far/file-code.js +1 -1
- package/pf-icon/icons/far/file-excel.js +1 -1
- package/pf-icon/icons/far/file-image.js +1 -1
- package/pf-icon/icons/far/file-lines.js +1 -1
- package/pf-icon/icons/far/file-pdf.js +1 -1
- package/pf-icon/icons/far/file-powerpoint.js +1 -1
- package/pf-icon/icons/far/file-video.js +1 -1
- package/pf-icon/icons/far/file-word.js +1 -1
- package/pf-icon/icons/far/file-zipper.js +1 -1
- package/pf-icon/icons/far/file.js +1 -1
- package/pf-icon/icons/far/floppy-disk.js +1 -1
- package/pf-icon/icons/far/folder-closed.js +1 -1
- package/pf-icon/icons/far/folder-open.js +1 -1
- package/pf-icon/icons/far/folder.js +1 -1
- package/pf-icon/icons/far/font-awesome.js +1 -1
- package/pf-icon/icons/far/hand-back-fist.js +1 -1
- package/pf-icon/icons/far/hand-lizard.js +1 -1
- package/pf-icon/icons/far/hand-peace.js +1 -1
- package/pf-icon/icons/far/hand-point-down.js +1 -1
- package/pf-icon/icons/far/hand-point-left.js +1 -1
- package/pf-icon/icons/far/hand-point-right.js +1 -1
- package/pf-icon/icons/far/hand-point-up.js +1 -1
- package/pf-icon/icons/far/hand-pointer.js +1 -1
- package/pf-icon/icons/far/hand-scissors.js +1 -1
- package/pf-icon/icons/far/hand-spock.js +1 -1
- package/pf-icon/icons/far/hand.js +1 -1
- package/pf-icon/icons/far/handshake.js +1 -1
- package/pf-icon/icons/far/hard-drive.js +1 -1
- package/pf-icon/icons/far/hospital.js +1 -1
- package/pf-icon/icons/far/hourglass-half.js +1 -1
- package/pf-icon/icons/far/hourglass.js +1 -1
- package/pf-icon/icons/far/id-badge.js +1 -1
- package/pf-icon/icons/far/id-card.js +1 -1
- package/pf-icon/icons/far/image.js +1 -1
- package/pf-icon/icons/far/images.js +1 -1
- package/pf-icon/icons/far/keyboard.js +1 -1
- package/pf-icon/icons/far/lemon.js +1 -1
- package/pf-icon/icons/far/life-ring.js +1 -1
- package/pf-icon/icons/far/lightbulb.js +1 -1
- package/pf-icon/icons/far/map.js +1 -1
- package/pf-icon/icons/far/message.js +1 -1
- package/pf-icon/icons/far/money-bill-1.js +1 -1
- package/pf-icon/icons/far/moon.js +1 -1
- package/pf-icon/icons/far/newspaper.js +1 -1
- package/pf-icon/icons/far/object-group.js +1 -1
- package/pf-icon/icons/far/object-ungroup.js +1 -1
- package/pf-icon/icons/far/pen-to-square.js +1 -1
- package/pf-icon/icons/far/rectangle-list.js +1 -1
- package/pf-icon/icons/far/registered.js +1 -1
- package/pf-icon/icons/far/snowflake.js +1 -1
- package/pf-icon/icons/far/square-caret-down.js +1 -1
- package/pf-icon/icons/far/square-caret-left.js +1 -1
- package/pf-icon/icons/far/square-caret-right.js +1 -1
- package/pf-icon/icons/far/square-caret-up.js +1 -1
- package/pf-icon/icons/far/sun.js +1 -1
- package/pf-icon/icons/far/thumbs-down.js +1 -1
- package/pf-icon/icons/far/thumbs-up.js +1 -1
- package/pf-icon/icons/far/trash-can.js +1 -1
- package/pf-icon/icons/far/user.js +1 -1
- package/pf-icon/icons/far/window-maximize.js +1 -1
- package/pf-icon/icons/far/window-minimize.js +1 -1
- package/pf-icon/icons/far/window-restore.js +1 -1
- package/pf-icon/icons/fas/3.js +1 -1
- package/pf-icon/icons/fas/6.js +1 -1
- package/pf-icon/icons/fas/9.js +1 -1
- package/pf-icon/icons/fas/a.js +1 -1
- package/pf-icon/icons/fas/address-book.js +1 -1
- package/pf-icon/icons/fas/address-card.js +1 -1
- package/pf-icon/icons/fas/anchor-circle-check.js +1 -1
- package/pf-icon/icons/fas/anchor-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/anchor-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/anchor-lock.js +1 -1
- package/pf-icon/icons/fas/anchor.js +1 -1
- package/pf-icon/icons/fas/angle-down.js +1 -1
- package/pf-icon/icons/fas/angle-left.js +1 -1
- package/pf-icon/icons/fas/angle-right.js +1 -1
- package/pf-icon/icons/fas/angle-up.js +1 -1
- package/pf-icon/icons/fas/angles-down.js +1 -1
- package/pf-icon/icons/fas/angles-left.js +1 -1
- package/pf-icon/icons/fas/angles-right.js +1 -1
- package/pf-icon/icons/fas/angles-up.js +1 -1
- package/pf-icon/icons/fas/arrow-down-1-9.js +1 -1
- package/pf-icon/icons/fas/arrow-down-9-1.js +1 -1
- package/pf-icon/icons/fas/arrow-down-a-z.js +1 -1
- package/pf-icon/icons/fas/arrow-down-long.js +1 -1
- package/pf-icon/icons/fas/arrow-down-z-a.js +1 -1
- package/pf-icon/icons/fas/arrow-left-long.js +1 -1
- package/pf-icon/icons/fas/arrow-right-from-bracket.js +1 -1
- package/pf-icon/icons/fas/arrow-rotate-left.js +1 -1
- package/pf-icon/icons/fas/arrow-rotate-right.js +1 -1
- package/pf-icon/icons/fas/arrow-up-1-9.js +1 -1
- package/pf-icon/icons/fas/arrow-up-9-1.js +1 -1
- package/pf-icon/icons/fas/arrow-up-a-z.js +1 -1
- package/pf-icon/icons/fas/arrow-up-long.js +1 -1
- package/pf-icon/icons/fas/arrow-up-right-dots.js +1 -1
- package/pf-icon/icons/fas/arrow-up-z-a.js +1 -1
- package/pf-icon/icons/fas/arrows-down-to-line.js +1 -1
- package/pf-icon/icons/fas/arrows-down-to-people.js +1 -1
- package/pf-icon/icons/fas/arrows-rotate.js +1 -1
- package/pf-icon/icons/fas/arrows-to-circle.js +1 -1
- package/pf-icon/icons/fas/arrows-to-dot.js +1 -1
- package/pf-icon/icons/fas/arrows-to-eye.js +1 -1
- package/pf-icon/icons/fas/arrows-turn-right.js +1 -1
- package/pf-icon/icons/fas/arrows-turn-to-dots.js +1 -1
- package/pf-icon/icons/fas/arrows-up-down.js +1 -1
- package/pf-icon/icons/fas/arrows-up-to-line.js +1 -1
- package/pf-icon/icons/fas/at.js +1 -1
- package/pf-icon/icons/fas/atom.js +1 -1
- package/pf-icon/icons/fas/award.js +1 -1
- package/pf-icon/icons/fas/b.js +1 -1
- package/pf-icon/icons/fas/baby-carriage.js +1 -1
- package/pf-icon/icons/fas/baby.js +1 -1
- package/pf-icon/icons/fas/bacteria.js +1 -1
- package/pf-icon/icons/fas/bacterium.js +1 -1
- package/pf-icon/icons/fas/bag-shopping.js +1 -1
- package/pf-icon/icons/fas/bahai.js +1 -1
- package/pf-icon/icons/fas/ban-smoking.js +1 -1
- package/pf-icon/icons/fas/ban.js +1 -1
- package/pf-icon/icons/fas/bandage.js +1 -1
- package/pf-icon/icons/fas/baseball-bat-ball.js +1 -1
- package/pf-icon/icons/fas/bath.js +1 -1
- package/pf-icon/icons/fas/battery-empty.js +1 -1
- package/pf-icon/icons/fas/battery-full.js +1 -1
- package/pf-icon/icons/fas/battery-half.js +1 -1
- package/pf-icon/icons/fas/battery-quarter.js +1 -1
- package/pf-icon/icons/fas/battery-three-quarters.js +1 -1
- package/pf-icon/icons/fas/bed-pulse.js +1 -1
- package/pf-icon/icons/fas/bed.js +1 -1
- package/pf-icon/icons/fas/biohazard.js +1 -1
- package/pf-icon/icons/fas/blender-phone.js +1 -1
- package/pf-icon/icons/fas/blender.js +1 -1
- package/pf-icon/icons/fas/bolt.js +1 -1
- package/pf-icon/icons/fas/bong.js +1 -1
- package/pf-icon/icons/fas/book-atlas.js +1 -1
- package/pf-icon/icons/fas/book-journal-whills.js +1 -1
- package/pf-icon/icons/fas/book-open-reader.js +1 -1
- package/pf-icon/icons/fas/book-open.js +1 -1
- package/pf-icon/icons/fas/book-skull.js +1 -1
- package/pf-icon/icons/fas/border-none.js +1 -1
- package/pf-icon/icons/fas/border-top-left.js +1 -1
- package/pf-icon/icons/fas/bore-hole.js +1 -1
- package/pf-icon/icons/fas/box-open.js +1 -1
- package/pf-icon/icons/fas/bridge-circle-check.js +1 -1
- package/pf-icon/icons/fas/bridge-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/bridge-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/broom-ball.js +1 -1
- package/pf-icon/icons/fas/broom.js +1 -1
- package/pf-icon/icons/fas/brush.js +1 -1
- package/pf-icon/icons/fas/bugs.js +1 -1
- package/pf-icon/icons/fas/building-circle-arrow-right.js +1 -1
- package/pf-icon/icons/fas/building-circle-check.js +1 -1
- package/pf-icon/icons/fas/building-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/building-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/building-columns.js +1 -1
- package/pf-icon/icons/fas/building-user.js +1 -1
- package/pf-icon/icons/fas/bullseye.js +1 -1
- package/pf-icon/icons/fas/burger.js +1 -1
- package/pf-icon/icons/fas/bus-simple.js +1 -1
- package/pf-icon/icons/fas/bus.js +1 -1
- package/pf-icon/icons/fas/business-time.js +1 -1
- package/pf-icon/icons/fas/cable-car.js +1 -1
- package/pf-icon/icons/fas/calculator.js +1 -1
- package/pf-icon/icons/fas/camera-retro.js +1 -1
- package/pf-icon/icons/fas/camera.js +1 -1
- package/pf-icon/icons/fas/cannabis.js +1 -1
- package/pf-icon/icons/fas/car-burst.js +1 -1
- package/pf-icon/icons/fas/car-on.js +1 -1
- package/pf-icon/icons/fas/car-side.js +1 -1
- package/pf-icon/icons/fas/car-tunnel.js +1 -1
- package/pf-icon/icons/fas/car.js +1 -1
- package/pf-icon/icons/fas/caravan.js +1 -1
- package/pf-icon/icons/fas/cash-register.js +1 -1
- package/pf-icon/icons/fas/cat.js +1 -1
- package/pf-icon/icons/fas/cedi-sign.js +1 -1
- package/pf-icon/icons/fas/cent-sign.js +1 -1
- package/pf-icon/icons/fas/chalkboard-user.js +1 -1
- package/pf-icon/icons/fas/champagne-glasses.js +1 -1
- package/pf-icon/icons/fas/chart-pie.js +1 -1
- package/pf-icon/icons/fas/chess-bishop.js +1 -1
- package/pf-icon/icons/fas/chess-king.js +1 -1
- package/pf-icon/icons/fas/chess-knight.js +1 -1
- package/pf-icon/icons/fas/chess-pawn.js +1 -1
- package/pf-icon/icons/fas/chess-queen.js +1 -1
- package/pf-icon/icons/fas/chess-rook.js +1 -1
- package/pf-icon/icons/fas/chess.js +1 -1
- package/pf-icon/icons/fas/chevron-down.js +1 -1
- package/pf-icon/icons/fas/chevron-left.js +1 -1
- package/pf-icon/icons/fas/chevron-right.js +1 -1
- package/pf-icon/icons/fas/chevron-up.js +1 -1
- package/pf-icon/icons/fas/child-combatant.js +1 -1
- package/pf-icon/icons/fas/child-dress.js +1 -1
- package/pf-icon/icons/fas/child-reaching.js +1 -1
- package/pf-icon/icons/fas/child.js +1 -1
- package/pf-icon/icons/fas/children.js +1 -1
- package/pf-icon/icons/fas/circle-arrow-down.js +1 -1
- package/pf-icon/icons/fas/circle-arrow-left.js +1 -1
- package/pf-icon/icons/fas/circle-arrow-right.js +1 -1
- package/pf-icon/icons/fas/circle-arrow-up.js +1 -1
- package/pf-icon/icons/fas/circle-chevron-down.js +1 -1
- package/pf-icon/icons/fas/circle-chevron-left.js +1 -1
- package/pf-icon/icons/fas/circle-chevron-right.js +1 -1
- package/pf-icon/icons/fas/circle-chevron-up.js +1 -1
- package/pf-icon/icons/fas/circle-down.js +1 -1
- package/pf-icon/icons/fas/circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/circle-h.js +1 -1
- package/pf-icon/icons/fas/circle-info.js +1 -1
- package/pf-icon/icons/fas/circle-left.js +1 -1
- package/pf-icon/icons/fas/circle-pause.js +1 -1
- package/pf-icon/icons/fas/circle-play.js +1 -1
- package/pf-icon/icons/fas/circle-question.js +1 -1
- package/pf-icon/icons/fas/circle-radiation.js +1 -1
- package/pf-icon/icons/fas/circle-right.js +1 -1
- package/pf-icon/icons/fas/circle-stop.js +1 -1
- package/pf-icon/icons/fas/circle-up.js +1 -1
- package/pf-icon/icons/fas/circle-user.js +1 -1
- package/pf-icon/icons/fas/clock.js +1 -1
- package/pf-icon/icons/fas/cloud-meatball.js +1 -1
- package/pf-icon/icons/fas/cloud-moon-rain.js +1 -1
- package/pf-icon/icons/fas/cloud-showers-heavy.js +1 -1
- package/pf-icon/icons/fas/cloud-sun-rain.js +1 -1
- package/pf-icon/icons/fas/cloud-sun.js +1 -1
- package/pf-icon/icons/fas/colon-sign.js +1 -1
- package/pf-icon/icons/fas/comment-dots.js +1 -1
- package/pf-icon/icons/fas/comment-sms.js +1 -1
- package/pf-icon/icons/fas/compact-disc.js +1 -1
- package/pf-icon/icons/fas/compass-drafting.js +1 -1
- package/pf-icon/icons/fas/compass.js +1 -1
- package/pf-icon/icons/fas/computer.js +1 -1
- package/pf-icon/icons/fas/cookie-bite.js +1 -1
- package/pf-icon/icons/fas/cookie.js +1 -1
- package/pf-icon/icons/fas/copyright.js +1 -1
- package/pf-icon/icons/fas/cow.js +1 -1
- package/pf-icon/icons/fas/crosshairs.js +1 -1
- package/pf-icon/icons/fas/crow.js +1 -1
- package/pf-icon/icons/fas/cruzeiro-sign.js +1 -1
- package/pf-icon/icons/fas/cubes.js +1 -1
- package/pf-icon/icons/fas/d.js +1 -1
- package/pf-icon/icons/fas/democrat.js +1 -1
- package/pf-icon/icons/fas/dharmachakra.js +1 -1
- package/pf-icon/icons/fas/disease.js +1 -1
- package/pf-icon/icons/fas/divide.js +1 -1
- package/pf-icon/icons/fas/dog.js +1 -1
- package/pf-icon/icons/fas/dollar-sign.js +1 -1
- package/pf-icon/icons/fas/dolly.js +1 -1
- package/pf-icon/icons/fas/dong-sign.js +1 -1
- package/pf-icon/icons/fas/door-closed.js +1 -1
- package/pf-icon/icons/fas/door-open.js +1 -1
- package/pf-icon/icons/fas/dove.js +1 -1
- package/pf-icon/icons/fas/down-left-and-up-right-to-center.js +1 -1
- package/pf-icon/icons/fas/down-long.js +1 -1
- package/pf-icon/icons/fas/download.js +1 -1
- package/pf-icon/icons/fas/drum.js +1 -1
- package/pf-icon/icons/fas/e.js +1 -1
- package/pf-icon/icons/fas/ear-listen.js +1 -1
- package/pf-icon/icons/fas/earth-africa.js +1 -1
- package/pf-icon/icons/fas/earth-americas.js +1 -1
- package/pf-icon/icons/fas/earth-asia.js +1 -1
- package/pf-icon/icons/fas/earth-europe.js +1 -1
- package/pf-icon/icons/fas/earth-oceania.js +1 -1
- package/pf-icon/icons/fas/elevator.js +1 -1
- package/pf-icon/icons/fas/ellipsis-vertical.js +1 -1
- package/pf-icon/icons/fas/ellipsis.js +1 -1
- package/pf-icon/icons/fas/equals.js +1 -1
- package/pf-icon/icons/fas/eraser.js +1 -1
- package/pf-icon/icons/fas/exclamation.js +1 -1
- package/pf-icon/icons/fas/eye-low-vision.js +1 -1
- package/pf-icon/icons/fas/eye-slash.js +1 -1
- package/pf-icon/icons/fas/eye.js +1 -1
- package/pf-icon/icons/fas/f.js +1 -1
- package/pf-icon/icons/fas/face-angry.js +1 -1
- package/pf-icon/icons/fas/face-dizzy.js +1 -1
- package/pf-icon/icons/fas/face-flushed.js +1 -1
- package/pf-icon/icons/fas/face-frown-open.js +1 -1
- package/pf-icon/icons/fas/face-frown.js +1 -1
- package/pf-icon/icons/fas/face-grimace.js +1 -1
- package/pf-icon/icons/fas/face-grin-beam.js +1 -1
- package/pf-icon/icons/fas/face-grin-hearts.js +1 -1
- package/pf-icon/icons/fas/face-grin-squint-tears.js +1 -1
- package/pf-icon/icons/fas/face-grin-squint.js +1 -1
- package/pf-icon/icons/fas/face-grin-stars.js +1 -1
- package/pf-icon/icons/fas/face-grin-tongue-wink.js +1 -1
- package/pf-icon/icons/fas/face-grin-tongue.js +1 -1
- package/pf-icon/icons/fas/face-grin-wide.js +1 -1
- package/pf-icon/icons/fas/face-grin-wink.js +1 -1
- package/pf-icon/icons/fas/face-grin.js +1 -1
- package/pf-icon/icons/fas/face-kiss-beam.js +1 -1
- package/pf-icon/icons/fas/face-kiss-wink-heart.js +1 -1
- package/pf-icon/icons/fas/face-kiss.js +1 -1
- package/pf-icon/icons/fas/face-laugh-beam.js +1 -1
- package/pf-icon/icons/fas/face-laugh-squint.js +1 -1
- package/pf-icon/icons/fas/face-laugh-wink.js +1 -1
- package/pf-icon/icons/fas/face-laugh.js +1 -1
- package/pf-icon/icons/fas/face-meh-blank.js +1 -1
- package/pf-icon/icons/fas/face-meh.js +1 -1
- package/pf-icon/icons/fas/face-rolling-eyes.js +1 -1
- package/pf-icon/icons/fas/face-sad-tear.js +1 -1
- package/pf-icon/icons/fas/face-smile-beam.js +1 -1
- package/pf-icon/icons/fas/face-smile-wink.js +1 -1
- package/pf-icon/icons/fas/face-smile.js +1 -1
- package/pf-icon/icons/fas/face-surprise.js +1 -1
- package/pf-icon/icons/fas/face-tired.js +1 -1
- package/pf-icon/icons/fas/fan.js +1 -1
- package/pf-icon/icons/fas/fax.js +1 -1
- package/pf-icon/icons/fas/file-circle-check.js +1 -1
- package/pf-icon/icons/fas/file-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/file-circle-minus.js +1 -1
- package/pf-icon/icons/fas/file-circle-plus.js +1 -1
- package/pf-icon/icons/fas/file-circle-question.js +1 -1
- package/pf-icon/icons/fas/file-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/file-export.js +1 -1
- package/pf-icon/icons/fas/file-image.js +1 -1
- package/pf-icon/icons/fas/file-pdf.js +1 -1
- package/pf-icon/icons/fas/fill.js +1 -1
- package/pf-icon/icons/fas/fingerprint.js +1 -1
- package/pf-icon/icons/fas/fire-burner.js +1 -1
- package/pf-icon/icons/fas/fire-extinguisher.js +1 -1
- package/pf-icon/icons/fas/fire.js +1 -1
- package/pf-icon/icons/fas/fish-fins.js +1 -1
- package/pf-icon/icons/fas/fish.js +1 -1
- package/pf-icon/icons/fas/floppy-disk.js +1 -1
- package/pf-icon/icons/fas/folder-closed.js +1 -1
- package/pf-icon/icons/fas/folder-minus.js +1 -1
- package/pf-icon/icons/fas/folder-plus.js +1 -1
- package/pf-icon/icons/fas/folder.js +1 -1
- package/pf-icon/icons/fas/frog.js +1 -1
- package/pf-icon/icons/fas/g.js +1 -1
- package/pf-icon/icons/fas/gauge-high.js +1 -1
- package/pf-icon/icons/fas/gauge-simple-high.js +1 -1
- package/pf-icon/icons/fas/gauge-simple.js +1 -1
- package/pf-icon/icons/fas/gauge.js +1 -1
- package/pf-icon/icons/fas/gear.js +1 -1
- package/pf-icon/icons/fas/gears.js +1 -1
- package/pf-icon/icons/fas/genderless.js +1 -1
- package/pf-icon/icons/fas/ghost.js +1 -1
- package/pf-icon/icons/fas/glass-water-droplet.js +1 -1
- package/pf-icon/icons/fas/glass-water.js +1 -1
- package/pf-icon/icons/fas/group-arrows-rotate.js +1 -1
- package/pf-icon/icons/fas/guitar.js +1 -1
- package/pf-icon/icons/fas/hamsa.js +1 -1
- package/pf-icon/icons/fas/hand-back-fist.js +1 -1
- package/pf-icon/icons/fas/hand-dots.js +1 -1
- package/pf-icon/icons/fas/hand-holding.js +1 -1
- package/pf-icon/icons/fas/hand-middle-finger.js +1 -1
- package/pf-icon/icons/fas/hand-peace.js +1 -1
- package/pf-icon/icons/fas/hand-spock.js +1 -1
- package/pf-icon/icons/fas/handcuffs.js +1 -1
- package/pf-icon/icons/fas/hands-bubbles.js +1 -1
- package/pf-icon/icons/fas/hands-clapping.js +1 -1
- package/pf-icon/icons/fas/hands-holding-child.js +1 -1
- package/pf-icon/icons/fas/hands-holding-circle.js +1 -1
- package/pf-icon/icons/fas/hands-praying.js +1 -1
- package/pf-icon/icons/fas/hands.js +1 -1
- package/pf-icon/icons/fas/handshake-angle.js +1 -1
- package/pf-icon/icons/fas/handshake-slash.js +1 -1
- package/pf-icon/icons/fas/handshake.js +1 -1
- package/pf-icon/icons/fas/hard-drive.js +1 -1
- package/pf-icon/icons/fas/hat-cowboy-side.js +1 -1
- package/pf-icon/icons/fas/head-side-cough-slash.js +1 -1
- package/pf-icon/icons/fas/head-side-cough.js +1 -1
- package/pf-icon/icons/fas/head-side-mask.js +1 -1
- package/pf-icon/icons/fas/head-side-virus.js +1 -1
- package/pf-icon/icons/fas/helicopter-symbol.js +1 -1
- package/pf-icon/icons/fas/helicopter.js +1 -1
- package/pf-icon/icons/fas/highlighter.js +1 -1
- package/pf-icon/icons/fas/hill-avalanche.js +1 -1
- package/pf-icon/icons/fas/hill-rockslide.js +1 -1
- package/pf-icon/icons/fas/hippo.js +1 -1
- package/pf-icon/icons/fas/holly-berry.js +1 -1
- package/pf-icon/icons/fas/horse-head.js +1 -1
- package/pf-icon/icons/fas/horse.js +1 -1
- package/pf-icon/icons/fas/hospital-user.js +1 -1
- package/pf-icon/icons/fas/hot-tub-person.js +1 -1
- package/pf-icon/icons/fas/hotel.js +1 -1
- package/pf-icon/icons/fas/house-chimney-user.js +1 -1
- package/pf-icon/icons/fas/house-circle-check.js +1 -1
- package/pf-icon/icons/fas/house-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/house-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/house-fire.js +1 -1
- package/pf-icon/icons/fas/house-flood-water-circle-arrow-right.js +1 -1
- package/pf-icon/icons/fas/house-lock.js +1 -1
- package/pf-icon/icons/fas/house-medical-circle-check.js +1 -1
- package/pf-icon/icons/fas/house-medical-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/house-medical-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/house-signal.js +1 -1
- package/pf-icon/icons/fas/house-user.js +1 -1
- package/pf-icon/icons/fas/hurricane.js +1 -1
- package/pf-icon/icons/fas/icons.js +1 -1
- package/pf-icon/icons/fas/id-badge.js +1 -1
- package/pf-icon/icons/fas/id-card-clip.js +1 -1
- package/pf-icon/icons/fas/id-card.js +1 -1
- package/pf-icon/icons/fas/image-portrait.js +1 -1
- package/pf-icon/icons/fas/image.js +1 -1
- package/pf-icon/icons/fas/images.js +1 -1
- package/pf-icon/icons/fas/info.js +1 -1
- package/pf-icon/icons/fas/jedi.js +1 -1
- package/pf-icon/icons/fas/key.js +1 -1
- package/pf-icon/icons/fas/khanda.js +1 -1
- package/pf-icon/icons/fas/kitchen-set.js +1 -1
- package/pf-icon/icons/fas/kiwi-bird.js +1 -1
- package/pf-icon/icons/fas/land-mine-on.js +1 -1
- package/pf-icon/icons/fas/left-long.js +1 -1
- package/pf-icon/icons/fas/life-ring.js +1 -1
- package/pf-icon/icons/fas/lightbulb.js +1 -1
- package/pf-icon/icons/fas/lines-leaning.js +1 -1
- package/pf-icon/icons/fas/link.js +1 -1
- package/pf-icon/icons/fas/lira-sign.js +1 -1
- package/pf-icon/icons/fas/list-check.js +1 -1
- package/pf-icon/icons/fas/list-ul.js +1 -1
- package/pf-icon/icons/fas/litecoin-sign.js +1 -1
- package/pf-icon/icons/fas/location-arrow.js +1 -1
- package/pf-icon/icons/fas/location-crosshairs.js +1 -1
- package/pf-icon/icons/fas/location-dot.js +1 -1
- package/pf-icon/icons/fas/location-pin-lock.js +1 -1
- package/pf-icon/icons/fas/locust.js +1 -1
- package/pf-icon/icons/fas/lungs-virus.js +1 -1
- package/pf-icon/icons/fas/magnifying-glass-location.js +1 -1
- package/pf-icon/icons/fas/magnifying-glass.js +1 -1
- package/pf-icon/icons/fas/map-location-dot.js +1 -1
- package/pf-icon/icons/fas/map-pin.js +1 -1
- package/pf-icon/icons/fas/mars-and-venus-burst.js +1 -1
- package/pf-icon/icons/fas/mars-and-venus.js +1 -1
- package/pf-icon/icons/fas/mars-double.js +1 -1
- package/pf-icon/icons/fas/mars-stroke-right.js +1 -1
- package/pf-icon/icons/fas/mars-stroke-up.js +1 -1
- package/pf-icon/icons/fas/mars-stroke.js +1 -1
- package/pf-icon/icons/fas/mars.js +1 -1
- package/pf-icon/icons/fas/mask.js +1 -1
- package/pf-icon/icons/fas/masks-theater.js +1 -1
- package/pf-icon/icons/fas/medal.js +1 -1
- package/pf-icon/icons/fas/mercury.js +1 -1
- package/pf-icon/icons/fas/meteor.js +1 -1
- package/pf-icon/icons/fas/microphone-lines.js +1 -1
- package/pf-icon/icons/fas/microphone.js +1 -1
- package/pf-icon/icons/fas/microscope.js +1 -1
- package/pf-icon/icons/fas/minus.js +1 -1
- package/pf-icon/icons/fas/mobile-button.js +1 -1
- package/pf-icon/icons/fas/mobile-retro.js +1 -1
- package/pf-icon/icons/fas/mobile-screen-button.js +1 -1
- package/pf-icon/icons/fas/mobile-screen.js +1 -1
- package/pf-icon/icons/fas/mobile.js +1 -1
- package/pf-icon/icons/fas/money-bill-1.js +1 -1
- package/pf-icon/icons/fas/money-bill-transfer.js +1 -1
- package/pf-icon/icons/fas/money-bill-trend-up.js +1 -1
- package/pf-icon/icons/fas/money-bill-wheat.js +1 -1
- package/pf-icon/icons/fas/money-bill.js +1 -1
- package/pf-icon/icons/fas/money-bills.js +1 -1
- package/pf-icon/icons/fas/money-check-dollar.js +1 -1
- package/pf-icon/icons/fas/motorcycle.js +1 -1
- package/pf-icon/icons/fas/mound.js +1 -1
- package/pf-icon/icons/fas/mountain-sun.js +1 -1
- package/pf-icon/icons/fas/mountain.js +1 -1
- package/pf-icon/icons/fas/neuter.js +1 -1
- package/pf-icon/icons/fas/not-equal.js +1 -1
- package/pf-icon/icons/fas/o.js +1 -1
- package/pf-icon/icons/fas/otter.js +1 -1
- package/pf-icon/icons/fas/outdent.js +1 -1
- package/pf-icon/icons/fas/p.js +1 -1
- package/pf-icon/icons/fas/paintbrush.js +1 -1
- package/pf-icon/icons/fas/palette.js +1 -1
- package/pf-icon/icons/fas/panorama.js +1 -1
- package/pf-icon/icons/fas/paperclip.js +1 -1
- package/pf-icon/icons/fas/parachute-box.js +1 -1
- package/pf-icon/icons/fas/passport.js +1 -1
- package/pf-icon/icons/fas/peace.js +1 -1
- package/pf-icon/icons/fas/pen-nib.js +1 -1
- package/pf-icon/icons/fas/people-arrows.js +1 -1
- package/pf-icon/icons/fas/people-carry-box.js +1 -1
- package/pf-icon/icons/fas/people-group.js +1 -1
- package/pf-icon/icons/fas/people-line.js +1 -1
- package/pf-icon/icons/fas/people-pulling.js +1 -1
- package/pf-icon/icons/fas/people-robbery.js +1 -1
- package/pf-icon/icons/fas/people-roof.js +1 -1
- package/pf-icon/icons/fas/percent.js +1 -1
- package/pf-icon/icons/fas/person-arrow-down-to-line.js +1 -1
- package/pf-icon/icons/fas/person-arrow-up-from-line.js +1 -1
- package/pf-icon/icons/fas/person-biking.js +1 -1
- package/pf-icon/icons/fas/person-booth.js +1 -1
- package/pf-icon/icons/fas/person-breastfeeding.js +1 -1
- package/pf-icon/icons/fas/person-burst.js +1 -1
- package/pf-icon/icons/fas/person-cane.js +1 -1
- package/pf-icon/icons/fas/person-chalkboard.js +1 -1
- package/pf-icon/icons/fas/person-circle-check.js +1 -1
- package/pf-icon/icons/fas/person-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/person-circle-minus.js +1 -1
- package/pf-icon/icons/fas/person-circle-plus.js +1 -1
- package/pf-icon/icons/fas/person-circle-question.js +1 -1
- package/pf-icon/icons/fas/person-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/person-digging.js +1 -1
- package/pf-icon/icons/fas/person-dots-from-line.js +1 -1
- package/pf-icon/icons/fas/person-dress-burst.js +1 -1
- package/pf-icon/icons/fas/person-dress.js +1 -1
- package/pf-icon/icons/fas/person-drowning.js +1 -1
- package/pf-icon/icons/fas/person-falling-burst.js +1 -1
- package/pf-icon/icons/fas/person-falling.js +1 -1
- package/pf-icon/icons/fas/person-half-dress.js +1 -1
- package/pf-icon/icons/fas/person-harassing.js +1 -1
- package/pf-icon/icons/fas/person-hiking.js +1 -1
- package/pf-icon/icons/fas/person-military-pointing.js +1 -1
- package/pf-icon/icons/fas/person-military-rifle.js +1 -1
- package/pf-icon/icons/fas/person-military-to-person.js +1 -1
- package/pf-icon/icons/fas/person-praying.js +1 -1
- package/pf-icon/icons/fas/person-pregnant.js +1 -1
- package/pf-icon/icons/fas/person-rays.js +1 -1
- package/pf-icon/icons/fas/person-rifle.js +1 -1
- package/pf-icon/icons/fas/person-running.js +1 -1
- package/pf-icon/icons/fas/person-shelter.js +1 -1
- package/pf-icon/icons/fas/person-skating.js +1 -1
- package/pf-icon/icons/fas/person-skiing-nordic.js +1 -1
- package/pf-icon/icons/fas/person-skiing.js +1 -1
- package/pf-icon/icons/fas/person-snowboarding.js +1 -1
- package/pf-icon/icons/fas/person-swimming.js +1 -1
- package/pf-icon/icons/fas/person-through-window.js +1 -1
- package/pf-icon/icons/fas/person-walking-arrow-loop-left.js +1 -1
- package/pf-icon/icons/fas/person-walking-arrow-right.js +1 -1
- package/pf-icon/icons/fas/person-walking-dashed-line-arrow-right.js +1 -1
- package/pf-icon/icons/fas/person-walking-luggage.js +1 -1
- package/pf-icon/icons/fas/person-walking-with-cane.js +1 -1
- package/pf-icon/icons/fas/person-walking.js +1 -1
- package/pf-icon/icons/fas/person.js +1 -1
- package/pf-icon/icons/fas/photo-film.js +1 -1
- package/pf-icon/icons/fas/piggy-bank.js +1 -1
- package/pf-icon/icons/fas/pizza-slice.js +1 -1
- package/pf-icon/icons/fas/plane-arrival.js +1 -1
- package/pf-icon/icons/fas/plane-circle-check.js +1 -1
- package/pf-icon/icons/fas/plane-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/plane-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/plane-slash.js +1 -1
- package/pf-icon/icons/fas/plug-circle-bolt.js +1 -1
- package/pf-icon/icons/fas/plug-circle-check.js +1 -1
- package/pf-icon/icons/fas/plug-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/plug-circle-minus.js +1 -1
- package/pf-icon/icons/fas/plug-circle-plus.js +1 -1
- package/pf-icon/icons/fas/plug-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/plus.js +1 -1
- package/pf-icon/icons/fas/podcast.js +1 -1
- package/pf-icon/icons/fas/poo-storm.js +1 -1
- package/pf-icon/icons/fas/poo.js +1 -1
- package/pf-icon/icons/fas/print.js +1 -1
- package/pf-icon/icons/fas/pump-medical.js +1 -1
- package/pf-icon/icons/fas/pump-soap.js +1 -1
- package/pf-icon/icons/fas/q.js +1 -1
- package/pf-icon/icons/fas/qrcode.js +1 -1
- package/pf-icon/icons/fas/question.js +1 -1
- package/pf-icon/icons/fas/r.js +1 -1
- package/pf-icon/icons/fas/radiation.js +1 -1
- package/pf-icon/icons/fas/radio.js +1 -1
- package/pf-icon/icons/fas/record-vinyl.js +1 -1
- package/pf-icon/icons/fas/rectangle-ad.js +1 -1
- package/pf-icon/icons/fas/rectangle-list.js +1 -1
- package/pf-icon/icons/fas/recycle.js +1 -1
- package/pf-icon/icons/fas/registered.js +1 -1
- package/pf-icon/icons/fas/restroom.js +1 -1
- package/pf-icon/icons/fas/ribbon.js +1 -1
- package/pf-icon/icons/fas/right-from-bracket.js +1 -1
- package/pf-icon/icons/fas/right-long.js +1 -1
- package/pf-icon/icons/fas/right-to-bracket.js +1 -1
- package/pf-icon/icons/fas/road-circle-check.js +1 -1
- package/pf-icon/icons/fas/road-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/road-circle-xmark.js +1 -1
- package/pf-icon/icons/fas/robot.js +1 -1
- package/pf-icon/icons/fas/rocket.js +1 -1
- package/pf-icon/icons/fas/rotate-left.js +1 -1
- package/pf-icon/icons/fas/rotate-right.js +1 -1
- package/pf-icon/icons/fas/rotate.js +1 -1
- package/pf-icon/icons/fas/route.js +1 -1
- package/pf-icon/icons/fas/rss.js +1 -1
- package/pf-icon/icons/fas/ruler.js +1 -1
- package/pf-icon/icons/fas/s.js +1 -1
- package/pf-icon/icons/fas/sack-dollar.js +1 -1
- package/pf-icon/icons/fas/sailboat.js +1 -1
- package/pf-icon/icons/fas/scale-balanced.js +1 -1
- package/pf-icon/icons/fas/scale-unbalanced-flip.js +1 -1
- package/pf-icon/icons/fas/scale-unbalanced.js +1 -1
- package/pf-icon/icons/fas/school-flag.js +1 -1
- package/pf-icon/icons/fas/scissors.js +1 -1
- package/pf-icon/icons/fas/screwdriver-wrench.js +1 -1
- package/pf-icon/icons/fas/section.js +1 -1
- package/pf-icon/icons/fas/seedling.js +1 -1
- package/pf-icon/icons/fas/server.js +1 -1
- package/pf-icon/icons/fas/shapes.js +1 -1
- package/pf-icon/icons/fas/shield-cat.js +1 -1
- package/pf-icon/icons/fas/shield-dog.js +1 -1
- package/pf-icon/icons/fas/shield-halved.js +1 -1
- package/pf-icon/icons/fas/shield-heart.js +1 -1
- package/pf-icon/icons/fas/shield-virus.js +1 -1
- package/pf-icon/icons/fas/shield.js +1 -1
- package/pf-icon/icons/fas/shower.js +1 -1
- package/pf-icon/icons/fas/shrimp.js +1 -1
- package/pf-icon/icons/fas/signs-post.js +1 -1
- package/pf-icon/icons/fas/skull-crossbones.js +1 -1
- package/pf-icon/icons/fas/skull.js +1 -1
- package/pf-icon/icons/fas/sliders.js +1 -1
- package/pf-icon/icons/fas/snowflake.js +1 -1
- package/pf-icon/icons/fas/snowman.js +1 -1
- package/pf-icon/icons/fas/snowplow.js +1 -1
- package/pf-icon/icons/fas/soap.js +1 -1
- package/pf-icon/icons/fas/solar-panel.js +1 -1
- package/pf-icon/icons/fas/spaghetti-monster-flying.js +1 -1
- package/pf-icon/icons/fas/spell-check.js +1 -1
- package/pf-icon/icons/fas/spider.js +1 -1
- package/pf-icon/icons/fas/splotch.js +1 -1
- package/pf-icon/icons/fas/spray-can-sparkles.js +1 -1
- package/pf-icon/icons/fas/spray-can.js +1 -1
- package/pf-icon/icons/fas/square-person-confined.js +1 -1
- package/pf-icon/icons/fas/square-root-variable.js +1 -1
- package/pf-icon/icons/fas/square-rss.js +1 -1
- package/pf-icon/icons/fas/square-up-right.js +1 -1
- package/pf-icon/icons/fas/square-virus.js +1 -1
- package/pf-icon/icons/fas/staff-snake.js +1 -1
- package/pf-icon/icons/fas/star-and-crescent.js +1 -1
- package/pf-icon/icons/fas/star-of-david.js +1 -1
- package/pf-icon/icons/fas/star-of-life.js +1 -1
- package/pf-icon/icons/fas/sterling-sign.js +1 -1
- package/pf-icon/icons/fas/stethoscope.js +1 -1
- package/pf-icon/icons/fas/stopwatch-20.js +1 -1
- package/pf-icon/icons/fas/stopwatch.js +1 -1
- package/pf-icon/icons/fas/store.js +1 -1
- package/pf-icon/icons/fas/street-view.js +1 -1
- package/pf-icon/icons/fas/stroopwafel.js +1 -1
- package/pf-icon/icons/fas/sun-plant-wilt.js +1 -1
- package/pf-icon/icons/fas/sun.js +1 -1
- package/pf-icon/icons/fas/swatchbook.js +1 -1
- package/pf-icon/icons/fas/table-tennis-paddle-ball.js +1 -1
- package/pf-icon/icons/fas/tablet-button.js +1 -1
- package/pf-icon/icons/fas/tablet-screen-button.js +1 -1
- package/pf-icon/icons/fas/tachograph-digital.js +1 -1
- package/pf-icon/icons/fas/tag.js +1 -1
- package/pf-icon/icons/fas/tags.js +1 -1
- package/pf-icon/icons/fas/tape.js +1 -1
- package/pf-icon/icons/fas/tarp-droplet.js +1 -1
- package/pf-icon/icons/fas/tarp.js +1 -1
- package/pf-icon/icons/fas/taxi.js +1 -1
- package/pf-icon/icons/fas/temperature-empty.js +1 -1
- package/pf-icon/icons/fas/temperature-full.js +1 -1
- package/pf-icon/icons/fas/temperature-half.js +1 -1
- package/pf-icon/icons/fas/temperature-high.js +1 -1
- package/pf-icon/icons/fas/temperature-low.js +1 -1
- package/pf-icon/icons/fas/temperature-quarter.js +1 -1
- package/pf-icon/icons/fas/temperature-three-quarters.js +1 -1
- package/pf-icon/icons/fas/tent-arrow-left-right.js +1 -1
- package/pf-icon/icons/fas/tent-arrow-turn-left.js +1 -1
- package/pf-icon/icons/fas/tent-arrows-down.js +1 -1
- package/pf-icon/icons/fas/text-height.js +1 -1
- package/pf-icon/icons/fas/text-slash.js +1 -1
- package/pf-icon/icons/fas/text-width.js +1 -1
- package/pf-icon/icons/fas/thumbs-down.js +1 -1
- package/pf-icon/icons/fas/thumbs-up.js +1 -1
- package/pf-icon/icons/fas/ticket-simple.js +1 -1
- package/pf-icon/icons/fas/ticket.js +1 -1
- package/pf-icon/icons/fas/timeline.js +1 -1
- package/pf-icon/icons/fas/toggle-off.js +1 -1
- package/pf-icon/icons/fas/toggle-on.js +1 -1
- package/pf-icon/icons/fas/toilet-paper.js +1 -1
- package/pf-icon/icons/fas/torii-gate.js +1 -1
- package/pf-icon/icons/fas/tractor.js +1 -1
- package/pf-icon/icons/fas/traffic-light.js +1 -1
- package/pf-icon/icons/fas/trailer.js +1 -1
- package/pf-icon/icons/fas/train-subway.js +1 -1
- package/pf-icon/icons/fas/train-tram.js +1 -1
- package/pf-icon/icons/fas/train.js +1 -1
- package/pf-icon/icons/fas/transgender.js +1 -1
- package/pf-icon/icons/fas/triangle-exclamation.js +1 -1
- package/pf-icon/icons/fas/truck-arrow-right.js +1 -1
- package/pf-icon/icons/fas/truck-droplet.js +1 -1
- package/pf-icon/icons/fas/truck-fast.js +1 -1
- package/pf-icon/icons/fas/truck-field-un.js +1 -1
- package/pf-icon/icons/fas/truck-field.js +1 -1
- package/pf-icon/icons/fas/truck-front.js +1 -1
- package/pf-icon/icons/fas/truck-medical.js +1 -1
- package/pf-icon/icons/fas/truck-monster.js +1 -1
- package/pf-icon/icons/fas/truck-moving.js +1 -1
- package/pf-icon/icons/fas/truck-pickup.js +1 -1
- package/pf-icon/icons/fas/truck-plane.js +1 -1
- package/pf-icon/icons/fas/truck-ramp-box.js +1 -1
- package/pf-icon/icons/fas/truck.js +1 -1
- package/pf-icon/icons/fas/tty.js +1 -1
- package/pf-icon/icons/fas/turkish-lira-sign.js +1 -1
- package/pf-icon/icons/fas/turn-down.js +1 -1
- package/pf-icon/icons/fas/turn-up.js +1 -1
- package/pf-icon/icons/fas/umbrella.js +1 -1
- package/pf-icon/icons/fas/universal-access.js +1 -1
- package/pf-icon/icons/fas/up-long.js +1 -1
- package/pf-icon/icons/fas/up-right-and-down-left-from-center.js +1 -1
- package/pf-icon/icons/fas/upload.js +1 -1
- package/pf-icon/icons/fas/user-astronaut.js +1 -1
- package/pf-icon/icons/fas/user-check.js +1 -1
- package/pf-icon/icons/fas/user-clock.js +1 -1
- package/pf-icon/icons/fas/user-doctor.js +1 -1
- package/pf-icon/icons/fas/user-gear.js +1 -1
- package/pf-icon/icons/fas/user-graduate.js +1 -1
- package/pf-icon/icons/fas/user-group.js +1 -1
- package/pf-icon/icons/fas/user-large.js +1 -1
- package/pf-icon/icons/fas/user-lock.js +1 -1
- package/pf-icon/icons/fas/user-minus.js +1 -1
- package/pf-icon/icons/fas/user-ninja.js +1 -1
- package/pf-icon/icons/fas/user-nurse.js +1 -1
- package/pf-icon/icons/fas/user-pen.js +1 -1
- package/pf-icon/icons/fas/user-plus.js +1 -1
- package/pf-icon/icons/fas/user-shield.js +1 -1
- package/pf-icon/icons/fas/user-tag.js +1 -1
- package/pf-icon/icons/fas/user-tie.js +1 -1
- package/pf-icon/icons/fas/user-xmark.js +1 -1
- package/pf-icon/icons/fas/user.js +1 -1
- package/pf-icon/icons/fas/users-between-lines.js +1 -1
- package/pf-icon/icons/fas/users-gear.js +1 -1
- package/pf-icon/icons/fas/users-line.js +1 -1
- package/pf-icon/icons/fas/users-rays.js +1 -1
- package/pf-icon/icons/fas/users-rectangle.js +1 -1
- package/pf-icon/icons/fas/users-slash.js +1 -1
- package/pf-icon/icons/fas/users-viewfinder.js +1 -1
- package/pf-icon/icons/fas/users.js +1 -1
- package/pf-icon/icons/fas/v.js +1 -1
- package/pf-icon/icons/fas/van-shuttle.js +1 -1
- package/pf-icon/icons/fas/vault.js +1 -1
- package/pf-icon/icons/fas/venus-double.js +1 -1
- package/pf-icon/icons/fas/venus-mars.js +1 -1
- package/pf-icon/icons/fas/venus.js +1 -1
- package/pf-icon/icons/fas/vest-patches.js +1 -1
- package/pf-icon/icons/fas/vial-circle-check.js +1 -1
- package/pf-icon/icons/fas/vial-virus.js +1 -1
- package/pf-icon/icons/fas/virus-covid.js +1 -1
- package/pf-icon/icons/fas/virus.js +1 -1
- package/pf-icon/icons/fas/viruses.js +1 -1
- package/pf-icon/icons/fas/voicemail.js +1 -1
- package/pf-icon/icons/fas/vr-cardboard.js +1 -1
- package/pf-icon/icons/fas/wallet.js +1 -1
- package/pf-icon/icons/fas/wand-sparkles.js +1 -1
- package/pf-icon/icons/fas/weight-hanging.js +1 -1
- package/pf-icon/icons/fas/weight-scale.js +1 -1
- package/pf-icon/icons/fas/wheat-awn-circle-exclamation.js +1 -1
- package/pf-icon/icons/fas/wheelchair-move.js +1 -1
- package/pf-icon/icons/fas/wheelchair.js +1 -1
- package/pf-icon/icons/fas/wifi.js +1 -1
- package/pf-icon/icons/fas/wine-glass-empty.js +1 -1
- package/pf-icon/icons/fas/wine-glass.js +1 -1
- package/pf-icon/icons/fas/worm.js +1 -1
- package/pf-icon/icons/fas/wrench.js +1 -1
- package/pf-icon/icons/fas/x-ray.js +1 -1
- package/pf-icon/icons/fas/yin-yang.js +1 -1
- package/pf-icon/icons/patternfly/data-processor.js +1 -0
- package/pf-icon/pf-icon.js +3 -2
- package/pf-icon/pf-icon.js.map +1 -1
- package/pf-jump-links/README.md +27 -0
- package/pf-jump-links/pf-jump-links-item.js +4 -2
- package/pf-jump-links/pf-jump-links-item.js.map +1 -1
- package/pf-jump-links/pf-jump-links-list.js +2 -2
- package/pf-jump-links/pf-jump-links-list.js.map +1 -1
- package/pf-jump-links/pf-jump-links.js +4 -2
- package/pf-jump-links/pf-jump-links.js.map +1 -1
- package/pf-label/BaseLabel.js +1 -1
- package/pf-label/README.md +61 -0
- package/pf-label/pf-label.js +3 -2
- package/pf-label/pf-label.js.map +1 -1
- package/pf-modal/README.md +63 -0
- package/pf-modal/pf-modal.js +4 -2
- package/pf-modal/pf-modal.js.map +1 -1
- package/pf-panel/README.md +10 -0
- package/pf-panel/pf-panel.js +3 -2
- package/pf-panel/pf-panel.js.map +1 -1
- package/pf-progress-stepper/README.md +41 -0
- package/pf-progress-stepper/pf-progress-step.js +3 -2
- package/pf-progress-stepper/pf-progress-step.js.map +1 -1
- package/pf-progress-stepper/pf-progress-stepper.js +3 -2
- package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
- package/pf-spinner/BaseSpinner.js +2 -2
- package/pf-spinner/BaseSpinner.js.map +1 -1
- package/pf-spinner/README.md +46 -0
- package/pf-spinner/pf-spinner.js +2 -2
- package/pf-spinner/pf-spinner.js.map +1 -1
- package/pf-switch/BaseSwitch.js +2 -2
- package/pf-switch/BaseSwitch.js.map +1 -1
- package/pf-switch/README.md +91 -0
- package/pf-switch/pf-switch.js +2 -2
- package/pf-switch/pf-switch.js.map +1 -1
- package/pf-tabs/BaseTab.js +3 -2
- package/pf-tabs/BaseTab.js.map +1 -1
- package/pf-tabs/BaseTabPanel.js +1 -1
- package/pf-tabs/BaseTabs.d.ts +1 -3
- package/pf-tabs/BaseTabs.js +33 -74
- package/pf-tabs/BaseTabs.js.map +1 -1
- package/pf-tabs/README.md +40 -0
- package/pf-tabs/pf-tab-panel.js +2 -2
- package/pf-tabs/pf-tab-panel.js.map +1 -1
- package/pf-tabs/pf-tab.js +3 -2
- package/pf-tabs/pf-tab.js.map +1 -1
- package/pf-tabs/pf-tabs.css +1 -0
- package/pf-tabs/pf-tabs.js +3 -2
- package/pf-tabs/pf-tabs.js.map +1 -1
- package/pf-tile/README.md +12 -0
- package/pf-tile/pf-tile.js +3 -3
- package/pf-tile/pf-tile.js.map +1 -1
- package/pf-timestamp/README.md +64 -0
- package/pf-timestamp/pf-timestamp.js +3 -2
- package/pf-timestamp/pf-timestamp.js.map +1 -1
- package/pf-tooltip/BaseTooltip.js +1 -1
- package/pf-tooltip/README.md +64 -0
- package/pf-tooltip/pf-tooltip.js +3 -2
- package/pf-tooltip/pf-tooltip.js.map +1 -1
- package/pfe.min.js +104 -99
- package/pfe.min.js.map +4 -4
- package/pf-accordion/demo/demo.css +0 -9
- package/pf-accordion/demo/pf-accordion.js +0 -10
- package/pf-accordion/test/pf-accordion.e2e.d.ts +0 -1
- package/pf-accordion/test/pf-accordion.e2e.js +0 -11
- package/pf-accordion/test/pf-accordion.e2e.js.map +0 -1
- package/pf-accordion/test/pf-accordion.spec.d.ts +0 -1
- package/pf-accordion/test/pf-accordion.spec.js +0 -971
- package/pf-accordion/test/pf-accordion.spec.js.map +0 -1
- package/pf-avatar/demo/demo.css +0 -18
- package/pf-avatar/demo/pf-avatar.js +0 -1
- package/pf-avatar/test/pf-avatar.e2e.d.ts +0 -1
- package/pf-avatar/test/pf-avatar.e2e.js +0 -11
- package/pf-avatar/test/pf-avatar.e2e.js.map +0 -1
- package/pf-avatar/test/pf-avatar.spec.d.ts +0 -1
- package/pf-avatar/test/pf-avatar.spec.js +0 -42
- package/pf-avatar/test/pf-avatar.spec.js.map +0 -1
- package/pf-badge/demo/demo.css +0 -9
- package/pf-badge/demo/pf-badge.js +0 -8
- package/pf-badge/test/pf-badge.e2e.d.ts +0 -1
- package/pf-badge/test/pf-badge.e2e.js +0 -11
- package/pf-badge/test/pf-badge.e2e.js.map +0 -1
- package/pf-badge/test/pf-badge.spec.d.ts +0 -1
- package/pf-badge/test/pf-badge.spec.js +0 -49
- package/pf-badge/test/pf-badge.spec.js.map +0 -1
- package/pf-button/demo/demo.css +0 -11
- package/pf-button/demo/form-control.js +0 -15
- package/pf-button/demo/pf-button.js +0 -28
- package/pf-button/test/pf-button.e2e.d.ts +0 -1
- package/pf-button/test/pf-button.e2e.js +0 -11
- package/pf-button/test/pf-button.e2e.js.map +0 -1
- package/pf-button/test/pf-button.spec.d.ts +0 -1
- package/pf-button/test/pf-button.spec.js +0 -94
- package/pf-button/test/pf-button.spec.js.map +0 -1
- package/pf-card/demo/demo.css +0 -44
- package/pf-card/demo/pf-card.js +0 -23
- package/pf-card/test/pf-card.e2e.d.ts +0 -1
- package/pf-card/test/pf-card.e2e.js +0 -11
- package/pf-card/test/pf-card.e2e.js.map +0 -1
- package/pf-card/test/pf-card.spec.d.ts +0 -1
- package/pf-card/test/pf-card.spec.js +0 -153
- package/pf-card/test/pf-card.spec.js.map +0 -1
- package/pf-clipboard-copy/demo/demo.css +0 -12
- package/pf-clipboard-copy/demo/pf-clipboard-copy.js +0 -1
- package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.d.ts +0 -1
- package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js +0 -11
- package/pf-clipboard-copy/test/pf-clipboard-copy.e2e.js.map +0 -1
- package/pf-clipboard-copy/test/pf-clipboard-copy.spec.d.ts +0 -1
- package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js +0 -100
- package/pf-clipboard-copy/test/pf-clipboard-copy.spec.js.map +0 -1
- package/pf-code-block/demo/demo.css +0 -4
- package/pf-code-block/demo/pf-code-block.js +0 -2
- package/pf-code-block/test/pf-code-block.e2e.d.ts +0 -1
- package/pf-code-block/test/pf-code-block.e2e.js +0 -11
- package/pf-code-block/test/pf-code-block.e2e.js.map +0 -1
- package/pf-code-block/test/pf-code-block.spec.d.ts +0 -1
- package/pf-code-block/test/pf-code-block.spec.js +0 -86
- package/pf-code-block/test/pf-code-block.spec.js.map +0 -1
- package/pf-icon/demo/custom-icon-sets.js +0 -5
- package/pf-icon/demo/demo.css +0 -53
- package/pf-icon/demo/icons/rh/boba-tea.js +0 -5
- package/pf-icon/demo/icons/rh/lifecycle.js +0 -3
- package/pf-icon/demo/pf-icon.js +0 -68
- package/pf-icon/test/pf-icon.e2e.d.ts +0 -1
- package/pf-icon/test/pf-icon.e2e.js +0 -11
- package/pf-icon/test/pf-icon.e2e.js.map +0 -1
- package/pf-icon/test/pf-icon.spec.d.ts +0 -1
- package/pf-icon/test/pf-icon.spec.js +0 -127
- package/pf-icon/test/pf-icon.spec.js.map +0 -1
- package/pf-icon/test/rh-icon-aed.js +0 -2
- package/pf-icon/test/rh-icon-api.js +0 -2
- package/pf-icon/test/rh-icon-atom.js +0 -2
- package/pf-icon/test/rh-icon-bike.js +0 -2
- package/pf-jump-links/demo/demo.css +0 -4
- package/pf-jump-links/demo/pf-jump-links.js +0 -4
- package/pf-jump-links/demo/scrollspy-with-subsections.css +0 -60
- package/pf-jump-links/demo/scrollspy-with-subsections.js +0 -34
- package/pf-jump-links/test/pf-jump-links.e2e.d.ts +0 -1
- package/pf-jump-links/test/pf-jump-links.e2e.js +0 -11
- package/pf-jump-links/test/pf-jump-links.e2e.js.map +0 -1
- package/pf-jump-links/test/pf-jump-links.spec.d.ts +0 -1
- package/pf-jump-links/test/pf-jump-links.spec.js +0 -88
- package/pf-jump-links/test/pf-jump-links.spec.js.map +0 -1
- package/pf-label/demo/demo.css +0 -37
- package/pf-label/demo/pf-label.js +0 -10
- package/pf-label/test/pf-label.e2e.d.ts +0 -1
- package/pf-label/test/pf-label.e2e.js +0 -11
- package/pf-label/test/pf-label.e2e.js.map +0 -1
- package/pf-label/test/pf-label.spec.d.ts +0 -1
- package/pf-label/test/pf-label.spec.js +0 -108
- package/pf-label/test/pf-label.spec.js.map +0 -1
- package/pf-modal/demo/demo.css +0 -32
- package/pf-modal/demo/pf-modal.js +0 -10
- package/pf-modal/test/pf-modal.e2e.d.ts +0 -1
- package/pf-modal/test/pf-modal.e2e.js +0 -13
- package/pf-modal/test/pf-modal.e2e.js.map +0 -1
- package/pf-modal/test/pf-modal.spec.d.ts +0 -1
- package/pf-modal/test/pf-modal.spec.js +0 -209
- package/pf-modal/test/pf-modal.spec.js.map +0 -1
- package/pf-panel/demo/demo.css +0 -7
- package/pf-panel/demo/pf-panel.js +0 -1
- package/pf-panel/test/pf-panel.e2e.d.ts +0 -1
- package/pf-panel/test/pf-panel.e2e.js +0 -11
- package/pf-panel/test/pf-panel.e2e.js.map +0 -1
- package/pf-panel/test/pf-panel.spec.d.ts +0 -1
- package/pf-panel/test/pf-panel.spec.js +0 -19
- package/pf-panel/test/pf-panel.spec.js.map +0 -1
- package/pf-progress-stepper/demo/demo.css +0 -10
- package/pf-progress-stepper/demo/pf-progress-stepper.js +0 -13
- package/pf-progress-stepper/test/pf-progress-stepper.e2e.d.ts +0 -1
- package/pf-progress-stepper/test/pf-progress-stepper.e2e.js +0 -11
- package/pf-progress-stepper/test/pf-progress-stepper.e2e.js.map +0 -1
- package/pf-progress-stepper/test/pf-progress-stepper.spec.d.ts +0 -1
- package/pf-progress-stepper/test/pf-progress-stepper.spec.js +0 -13
- package/pf-progress-stepper/test/pf-progress-stepper.spec.js.map +0 -1
- package/pf-spinner/demo/demo.css +0 -2
- package/pf-spinner/demo/pf-spinner.js +0 -2
- package/pf-spinner/test/pf-spinner.e2e.d.ts +0 -1
- package/pf-spinner/test/pf-spinner.e2e.js +0 -11
- package/pf-spinner/test/pf-spinner.e2e.js.map +0 -1
- package/pf-spinner/test/pf-spinner.spec.d.ts +0 -1
- package/pf-spinner/test/pf-spinner.spec.js +0 -52
- package/pf-spinner/test/pf-spinner.spec.js.map +0 -1
- package/pf-switch/demo/demo.css +0 -32
- package/pf-switch/demo/pf-switch.js +0 -13
- package/pf-switch/test/pf-switch.e2e.d.ts +0 -1
- package/pf-switch/test/pf-switch.e2e.js +0 -11
- package/pf-switch/test/pf-switch.e2e.js.map +0 -1
- package/pf-switch/test/pf-switch.spec.d.ts +0 -1
- package/pf-switch/test/pf-switch.spec.js +0 -164
- package/pf-switch/test/pf-switch.spec.js.map +0 -1
- package/pf-tabs/demo/demo.css +0 -62
- package/pf-tabs/demo/pf-tabs.js +0 -44
- package/pf-tabs/test/pf-tabs.e2e.d.ts +0 -1
- package/pf-tabs/test/pf-tabs.e2e.js +0 -13
- package/pf-tabs/test/pf-tabs.e2e.js.map +0 -1
- package/pf-tabs/test/pf-tabs.spec.d.ts +0 -1
- package/pf-tabs/test/pf-tabs.spec.js +0 -234
- package/pf-tabs/test/pf-tabs.spec.js.map +0 -1
- package/pf-tile/demo/demo.css +0 -59
- package/pf-tile/demo/pf-tile.js +0 -21
- package/pf-tile/test/pf-tile.e2e.d.ts +0 -1
- package/pf-tile/test/pf-tile.e2e.js +0 -11
- package/pf-tile/test/pf-tile.e2e.js.map +0 -1
- package/pf-tile/test/pf-tile.spec.d.ts +0 -1
- package/pf-tile/test/pf-tile.spec.js +0 -51
- package/pf-tile/test/pf-tile.spec.js.map +0 -1
- package/pf-timestamp/demo/pf-timestamp.js +0 -3
- package/pf-timestamp/test/pf-timestamp.e2e.d.ts +0 -1
- package/pf-timestamp/test/pf-timestamp.e2e.js +0 -12
- package/pf-timestamp/test/pf-timestamp.e2e.js.map +0 -1
- package/pf-timestamp/test/pf-timestamp.spec.d.ts +0 -1
- package/pf-timestamp/test/pf-timestamp.spec.js +0 -139
- package/pf-timestamp/test/pf-timestamp.spec.js.map +0 -1
- package/pf-tooltip/demo/demo.css +0 -39
- package/pf-tooltip/demo/performance.js +0 -45
- package/pf-tooltip/demo/pf-tooltip.js +0 -7
- package/pf-tooltip/test/pf-tooltip.e2e.d.ts +0 -1
- package/pf-tooltip/test/pf-tooltip.e2e.js +0 -11
- package/pf-tooltip/test/pf-tooltip.e2e.js.map +0 -1
- package/pf-tooltip/test/pf-tooltip.spec.d.ts +0 -1
- package/pf-tooltip/test/pf-tooltip.spec.js +0 -50
- package/pf-tooltip/test/pf-tooltip.spec.js.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# PatternFly Elements Switch
|
|
2
|
+
|
|
3
|
+
`<pf-switch>` is a switch that toggles the state of a setting (between on and
|
|
4
|
+
off). Switches provide a more explicit, visible representation on a setting.
|
|
5
|
+
|
|
6
|
+
Read more about Switch in the [PatternFly Elements Switch documentation](https://patternflyelements.org/components/switch)
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
Load `<pf-switch>` via CDN:
|
|
11
|
+
|
|
12
|
+
```html
|
|
13
|
+
<script src="https://jspm.dev/@patternfly/elements/pf-switch/pf-switch.js"></script>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Or, if you are using [NPM](https://npm.im), install it
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @patternfly/elements
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Then once installed, import it to your application:
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import '@patternfly/elements/pf-switch/pf-switch.js';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Note
|
|
29
|
+
For `<pf-switch>` to work in Safari, you'll need to load the [element-internals-polyfill](https://www.npmjs.com/package/element-internals-polyfill). Safari is in the process of [adding element internals to WebKit](https://bugs.webkit.org/show_bug.cgi?id=197960) so this polyfill should be temporary.
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
```html
|
|
33
|
+
<pf-switch id="switch"></pf-switch>
|
|
34
|
+
<label for="switch" data-state="on">Message when on</label>
|
|
35
|
+
<label for="switch" data-state="off" hidden>Message when off</label>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Form Associated
|
|
39
|
+
|
|
40
|
+
`<pf-switch>` is a form-associated custom element. That means that it can
|
|
41
|
+
participate in HTML forms just like a native `<input>`. For example, if you add
|
|
42
|
+
the `name` attribute, or the `id` attribute, the element will appear in the
|
|
43
|
+
FormData object. For example, if you add the `name` attribute, or the `id`
|
|
44
|
+
attribute, the element will appear in the `FormData` object.
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<form>
|
|
48
|
+
<label> Dark Mode
|
|
49
|
+
<pf-switch name="dark"></pf-switch>
|
|
50
|
+
</label>
|
|
51
|
+
<script>
|
|
52
|
+
document.currentScript.closest('form').addEventListener('submit', function() {
|
|
53
|
+
console.log(this.elements.dark) // <pf-switch>
|
|
54
|
+
})
|
|
55
|
+
</script>
|
|
56
|
+
</form>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
### Without label
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<pf-switch></pf-switch>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Checked with label
|
|
67
|
+
|
|
68
|
+
```html
|
|
69
|
+
<pf-switch show-check-icon></pf-switch>
|
|
70
|
+
<label for="switch" data-state="on">Message when on</label>
|
|
71
|
+
<label for="switch" data-state="off" hidden>Message when off</label>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Disabled Switches
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<form>
|
|
78
|
+
<fieldset>
|
|
79
|
+
<legend>Checked and Disabled</legend>
|
|
80
|
+
<pf-switch id="checked-disabled" checked disabled></pf-switch>
|
|
81
|
+
<label for="checked-disabled" data-state="on">Message when on</label>
|
|
82
|
+
<label for="checked-disabled" data-state="off">Message when off</label>
|
|
83
|
+
</fieldset>
|
|
84
|
+
|
|
85
|
+
<fieldset>
|
|
86
|
+
<pf-switch id="disabled" disabled></pf-switch>
|
|
87
|
+
<label for="disabled" data-state="on">Message when on</label>
|
|
88
|
+
<label for="disabled" data-state="off">Message when off</label>
|
|
89
|
+
</fieldset>
|
|
90
|
+
</form>
|
|
91
|
+
```
|
package/pf-switch/pf-switch.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement } from 'lit/decorators.js';
|
|
2
|
+
import { customElement } from 'lit/decorators/custom-element.js';
|
|
3
3
|
import { BaseSwitch } from './BaseSwitch.js';
|
|
4
4
|
import { css } from "lit";
|
|
5
|
-
const styles = css `:host([checked]) #container
|
|
5
|
+
const styles = css `:host([checked]) #container{color:var(--pf-c-switch__input--checked__label--Color,var(--pf-global--Color--dark-100,#151515));background-color:var(--pf-c-switch__input--checked__toggle--BackgroundColor,var(--pf-global--primary-color--100,#06c))}:host([checked]) #container::before{translate:var(--pf-c-switch__input--checked__toggle--before--TranslateX,calc(100% + var(--pf-c-switch__toggle-icon--Offset,0.125rem)))}:host(:disabled) #container{color:var(--pf-c-switch__input--disabled__label--Color,var(--pf-global--disabled-color--100,#6a6e73));background-color:var(--pf-c-switch__input--disabled__toggle--BackgroundColor,var(--pf-global--disabled-color--200,#d2d2d2))}:host(:disabled) #container::before{background-color:var(--pf-c-switch__input--disabled__toggle--before--BackgroundColor,var(--pf-global--palette--black-150,#f5f5f5))}:host([checked]:disabled) #container::before{translate:var(--pf-c-switch__input--checked__toggle--before--TranslateX,calc(100% + var(--pf-c-switch__toggle-icon--Offset,0.125rem)))}#container{width:var(--pf-c-switch__toggle--Width,calc(var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) + var(--pf-c-switch__toggle-icon--Offset,.125rem) + var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))));height:var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5))));background-color:var(--pf-c-switch__toggle--BackgroundColor,var(--pf-global--palette--black-500,#8a8d90));border-radius:var(--pf-c-switch__toggle--BorderRadius,var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))))}#container::before{top:var(--pf-c-switch__toggle--before--Top,calc((var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) - var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))))/ 2));left:var(--pf-c-switch__toggle--before--Left,var(--pf-c-switch__toggle--before--Top,calc((var(--pf-c-switch__toggle--Height,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * var(--pf-c-switch--LineHeight,var(--pf-global--LineHeight--md,1.5)))) - var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)))))/ 2)));width:var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem)));height:var(--pf-c-switch__toggle--before--Height,var(--pf-c-switch__toggle--before--Width,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) - var(--pf-c-switch__toggle-icon--Offset,.125rem))));background-color:var(--pf-c-switch__toggle--before--backgroundcolor,var(--pf-global--backgroundcolor--100,#fff));border-radius:var(--pf-c-switch__toggle--before--BorderRadius,var(--pf-global--BorderRadius--lg,30em));box-shadow:var(--pf-c-switch__toggle--before--BoxShadow,var(--pf-global--BoxShadow--md,0 .25rem .5rem 0 rgba(3,3,3,.12),0 0 .25rem 0 rgba(3,3,3,.06)));transition:var(--pf-c-switch__toggle--before--Transition,\n var(--pf-c-switch__toggle--before--Transition, translate .25s ease 0s))}:host(:focus-within) #container{outline:var(--pf-c-switch__input--focus__toggle--OutlineWidth,var(--pf-global--BorderWidth--md,2px)) solid var(--pf-c-switch__input--focus__toggle--OutlineColor,var(--pf-global--primary-color--100,#06c));outline-offset:var(--pf-c-switch__input--focus__toggle--OutlineOffset,var(--pf-global--spacer--sm,0.5rem))}svg{margin-inline:var(--pf-c-switch__toggle-icon--Left,calc(var(--pf-c-switch--FontSize,var(--pf-global--FontSize--md,1rem)) * .4));font-size:var(--pf-c-switch__toggle-icon--FontSize,\n calc(var(--pf-c-switch--FontSize,\n var(--pf-global--FontSize--md, 1rem)) * .625));color:var(--pf-c-switch__toggle-icon--Color,var(--pf-global--Color--light-100,#fff))}`;
|
|
6
6
|
/**
|
|
7
7
|
* Switch
|
|
8
8
|
* @cssprop --pf-c-switch--FontSize {@default `1rem`}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGI,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,UAAU;;AACtB,eAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * Switch\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\n declare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
|
package/pf-tabs/BaseTab.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
var _BaseTab_instances, _BaseTab_internals, _BaseTab_clickHandler, _BaseTab_activeChanged, _BaseTab_disabledChanged;
|
|
2
2
|
import { __classPrivateFieldGet, __decorate } from "tslib";
|
|
3
3
|
import { LitElement, html } from 'lit';
|
|
4
|
-
import { queryAssignedElements
|
|
4
|
+
import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';
|
|
5
|
+
import { query } from 'lit/decorators/query.js';
|
|
5
6
|
import { ComposedEvent } from '@patternfly/pfe-core';
|
|
6
7
|
import { css } from "lit";
|
|
7
|
-
const style = css `:host
|
|
8
|
+
const style = css `:host{display:flex;flex:none}:host([vertical]) [part=text]{max-width:100%;overflow-wrap:break-word}[hidden]{display:none!important}slot[name=icon]{display:block}button{margin:0;font-family:inherit;font-size:100%;border:0;position:relative;display:flex;flex:1;text-decoration:none;cursor:pointer}button::after,button::before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";border-style:solid;padding:0;margin:0;background-color:transparent}button::before{pointer-events:none}:host([fill]) button{flex-basis:100%;justify-content:center}:host(:disabled) button{pointer-events:none}:host([aria-disabled=true]) button{cursor:default}`;
|
|
8
9
|
export class TabExpandEvent extends ComposedEvent {
|
|
9
10
|
constructor(active, tab) {
|
|
10
11
|
super('expand');
|
package/pf-tabs/BaseTab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;;;AAIrD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YACS,MAAe,EACf,GAAY;QAEnB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHT,WAAM,GAAN,MAAM,CAAS;QACf,QAAG,GAAH,GAAG,CAAS;IAGrB,CAAC;CACF;AAED,MAAM,OAAgB,OAAQ,SAAQ,UAAU;IAAhD;;;QAgBE,6BAAa,IAAI,CAAC,eAAe,EAAE,EAAC;IAqDtC,CAAC;IAnDC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,iDAAc,CAAC,CAAC;QACnD,uBAAA,IAAI,0BAAW,CAAC,IAAI,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,QAAQ;;;yBAG7B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;6BACd,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGlD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACzB,uBAAA,IAAI,kDAAe,MAAnB,IAAI,CAAiB,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC3B,uBAAA,IAAI,oDAAiB,MAArB,IAAI,CAAmB,CAAC;SACzB;IACH,CAAC;;;IAGC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,uBAAA,IAAI,0BAAW,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AACH,CAAC;IAGC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACjC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC;KACvC;SAAM;QACL,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,OAAO,CAAC;KACxC;IACD,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;IAQC,uBAAA,IAAI,0BAAW,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAnEe,cAAM,GAAG,CAAC,KAAK,CAAC,CAAC;AAE1B,yBAAiB,GAAG,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAGrF;IADC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCACpB;AAElB;IAAhB,KAAK,CAAC,QAAQ,CAAC;uCAAoC","sourcesContent":["import type { PropertyValues } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { query } from 'lit/decorators/query.js';\n\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport style from './BaseTab.css';\n\nexport class TabExpandEvent extends ComposedEvent {\n constructor(\n public active: boolean,\n public tab: BaseTab,\n ) {\n super('expand');\n }\n}\n\nexport abstract class BaseTab extends LitElement {\n static readonly styles = [style];\n\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private icons!: Array<HTMLElement>;\n\n @query('button') private button!: HTMLButtonElement;\n\n /** `active` should be observed, and true when the tab is selected */\n abstract active: boolean;\n\n /** `active` should be observed, and true when the tab is disabled */\n abstract disabled: boolean;\n\n #internals = this.attachInternals();\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.#clickHandler);\n this.#internals.role = 'tab';\n }\n\n render() {\n return html`\n <button part=\"button\" ?disabled=\"${this.disabled}\">\n <slot name=\"icon\"\n part=\"icon\"\n ?hidden=\"${!this.icons.length}\"\n @slotchange=\"${() => this.requestUpdate()}\"></slot>\n <slot part=\"text\"></slot>\n </button>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n this.#internals.ariaSelected = String(this.ariaSelected);\n if (changed.has('active')) {\n this.#activeChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n #clickHandler() {\n if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {\n this.active = true;\n }\n }\n\n #activeChanged() {\n if (this.active && !this.disabled) {\n this.#internals.ariaSelected = 'true';\n } else {\n this.#internals.ariaSelected = 'false';\n }\n this.dispatchEvent(new TabExpandEvent(this.active, this));\n }\n\n /**\n * if a tab is disabled, then it is also aria-disabled\n * if a tab is removed from disabled its not necessarily\n * not still aria-disabled so we don't remove the aria-disabled\n */\n #disabledChanged() {\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n}\n"]}
|
package/pf-tabs/BaseTabPanel.js
CHANGED
|
@@ -2,7 +2,7 @@ var _BaseTabPanel_internals;
|
|
|
2
2
|
import { __classPrivateFieldGet } from "tslib";
|
|
3
3
|
import { LitElement, html } from 'lit';
|
|
4
4
|
import { css } from "lit";
|
|
5
|
-
const style = css `:host
|
|
5
|
+
const style = css `:host{display:block}:host([hidden]){display:none}`;
|
|
6
6
|
export class BaseTabPanel extends LitElement {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
package/pf-tabs/BaseTabs.d.ts
CHANGED
|
@@ -35,8 +35,6 @@ export declare abstract class BaseTabs extends LitElement {
|
|
|
35
35
|
set activeIndex(index: number);
|
|
36
36
|
connectedCallback(): void;
|
|
37
37
|
disconnectedCallback(): void;
|
|
38
|
-
render(): import("lit-html").TemplateResult<1>;
|
|
39
38
|
firstUpdated(): Promise<void>;
|
|
40
|
-
|
|
41
|
-
protected get canShowScrollButtons(): boolean;
|
|
39
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
42
40
|
}
|
package/pf-tabs/BaseTabs.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
var _BaseTabs_instances, _a,
|
|
1
|
+
var _BaseTabs_instances, _a, _BaseTabs_instances_1, _BaseTabs_tabindex, _BaseTabs_overflow, _BaseTabs_logger, _BaseTabs__allTabs, _BaseTabs__allPanels, _BaseTabs_activeIndex, _BaseTabs_activeTab_get, _BaseTabs_allTabs_get, _BaseTabs_allTabs_set, _BaseTabs_allPanels_get, _BaseTabs_allPanels_set, _BaseTabs_onSlotchange, _BaseTabs_updateAccessibility, _BaseTabs_onTabExpand, _BaseTabs_deactivateExcept, _BaseTabs_firstFocusable_get, _BaseTabs_lastFocusable_get, _BaseTabs_firstTab_get, _BaseTabs_lastTab_get, _BaseTabs_activeItemIndex_get, _BaseTabs_activate, _BaseTabs_select, _BaseTabs_onKeydown, _BaseTabs_firstLastClasses, _BaseTabs_scrollLeft, _BaseTabs_scrollRight;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet, __decorate } from "tslib";
|
|
3
3
|
import { LitElement, html } from 'lit';
|
|
4
|
-
import { property
|
|
4
|
+
import { property } from 'lit/decorators/property.js';
|
|
5
|
+
import { query } from 'lit/decorators/query.js';
|
|
6
|
+
import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';
|
|
7
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
5
8
|
import { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';
|
|
6
|
-
import {
|
|
9
|
+
import { OverflowController } from '@patternfly/pfe-core/controllers/overflow-controller.js';
|
|
7
10
|
import { Logger } from '@patternfly/pfe-core/controllers/logger.js';
|
|
8
|
-
import {
|
|
11
|
+
import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
|
|
9
12
|
import { BaseTab, TabExpandEvent } from './BaseTab.js';
|
|
10
13
|
import { BaseTabPanel } from './BaseTabPanel.js';
|
|
11
14
|
import { css } from "lit";
|
|
12
|
-
const styles = css `:host
|
|
15
|
+
const styles = css `:host{display:block}[part=tabs-container]{position:relative;display:flex;overflow:hidden}[part=tabs-container]::before{position:absolute;right:0;bottom:0;left:0;border-style:solid}:host button{opacity:1}:host button:first-of-type{margin-inline-end:0;translate:0 0}:host button:nth-of-type(2){margin-inline-start:0;translate:0 0}[part=panels],[part=tabs]{display:block}[part=tabs]{scrollbar-width:none;position:relative;max-width:100%;overflow-x:auto}[part=tabs-container]::before,[part=tabs]::before,button::before{position:absolute;right:0;bottom:0;left:0;content:"";border-style:solid}[part=tabs]::before,button::before{top:0}[part=tabs]::before,button{border:0}button{flex:none;line-height:1;opacity:0}button::before{border-block-start-width:0}button:first-of-type{translate:-100% 0}button:nth-of-type(2){translate:100% 0}button:disabled{pointer-events:none}`;
|
|
13
16
|
/**
|
|
14
17
|
* BaseTabs
|
|
15
18
|
*
|
|
@@ -21,14 +24,11 @@ export class BaseTabs extends LitElement {
|
|
|
21
24
|
constructor() {
|
|
22
25
|
super(...arguments);
|
|
23
26
|
_BaseTabs_instances.add(this);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
_BaseTabs_overflowOnLeft.set(this, false);
|
|
27
|
-
_BaseTabs_overflowOnRight.set(this, false);
|
|
27
|
+
_BaseTabs_tabindex.set(this, new RovingTabindexController(this));
|
|
28
|
+
_BaseTabs_overflow.set(this, new OverflowController(this));
|
|
28
29
|
_BaseTabs_logger.set(this, new Logger(this));
|
|
29
30
|
_BaseTabs__allTabs.set(this, []);
|
|
30
31
|
_BaseTabs__allPanels.set(this, []);
|
|
31
|
-
_BaseTabs_scrollTimeout.set(this, void 0);
|
|
32
32
|
_BaseTabs_activeIndex.set(this, 0);
|
|
33
33
|
this.id = this.id || getRandomId(this.localName);
|
|
34
34
|
/**
|
|
@@ -57,12 +57,12 @@ export class BaseTabs extends LitElement {
|
|
|
57
57
|
case 'ArrowUp':
|
|
58
58
|
case 'ArrowLeft':
|
|
59
59
|
event.preventDefault();
|
|
60
|
-
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this,
|
|
60
|
+
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").activeItem);
|
|
61
61
|
break;
|
|
62
62
|
case 'ArrowDown':
|
|
63
63
|
case 'ArrowRight':
|
|
64
64
|
event.preventDefault();
|
|
65
|
-
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this,
|
|
65
|
+
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_select).call(this, __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").activeItem);
|
|
66
66
|
break;
|
|
67
67
|
case 'Home':
|
|
68
68
|
event.preventDefault();
|
|
@@ -76,11 +76,6 @@ export class BaseTabs extends LitElement {
|
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
|
-
_BaseTabs_onScroll.set(this, () => {
|
|
80
|
-
clearTimeout(__classPrivateFieldGet(this, _BaseTabs_scrollTimeout, "f"));
|
|
81
|
-
const { scrollTimeoutDelay } = this.constructor;
|
|
82
|
-
__classPrivateFieldSet(this, _BaseTabs_scrollTimeout, setTimeout(() => __classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this), scrollTimeoutDelay), "f");
|
|
83
|
-
});
|
|
84
79
|
}
|
|
85
80
|
static isTab(element) {
|
|
86
81
|
return element instanceof BaseTab;
|
|
@@ -97,7 +92,7 @@ export class BaseTabs extends LitElement {
|
|
|
97
92
|
if (tab) {
|
|
98
93
|
if (tab.disabled) {
|
|
99
94
|
__classPrivateFieldGet(this, _BaseTabs_logger, "f").warn(`Disabled tabs can not be active, setting first focusable tab to active`);
|
|
100
|
-
__classPrivateFieldGet(this,
|
|
95
|
+
__classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstFocusable_get));
|
|
101
96
|
index = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeItemIndex_get);
|
|
102
97
|
}
|
|
103
98
|
else if (!tab.active) {
|
|
@@ -108,8 +103,8 @@ export class BaseTabs extends LitElement {
|
|
|
108
103
|
}
|
|
109
104
|
if (index === -1) {
|
|
110
105
|
__classPrivateFieldGet(this, _BaseTabs_logger, "f").warn(`No active tab found, setting first focusable tab to active`);
|
|
111
|
-
const first = __classPrivateFieldGet(this,
|
|
112
|
-
__classPrivateFieldGet(this,
|
|
106
|
+
const first = __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").firstItem;
|
|
107
|
+
__classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(first);
|
|
113
108
|
index = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeItemIndex_get);
|
|
114
109
|
}
|
|
115
110
|
__classPrivateFieldSet(this, _BaseTabs_activeIndex, index, "f");
|
|
@@ -128,24 +123,27 @@ export class BaseTabs extends LitElement {
|
|
|
128
123
|
super.disconnectedCallback();
|
|
129
124
|
__classPrivateFieldGet(BaseTabs, _a, "f", _BaseTabs_instances_1).delete(this);
|
|
130
125
|
}
|
|
126
|
+
async firstUpdated() {
|
|
127
|
+
this.tabList.addEventListener('scroll', __classPrivateFieldGet(this, _BaseTabs_overflow, "f").onScroll.bind(this));
|
|
128
|
+
}
|
|
131
129
|
render() {
|
|
132
130
|
const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor;
|
|
133
131
|
return html `
|
|
134
|
-
<div part="container">
|
|
135
|
-
<div part="tabs-container">${!__classPrivateFieldGet(this,
|
|
132
|
+
<div part="container" class="${classMap({ overflow: __classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons })}">
|
|
133
|
+
<div part="tabs-container">${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons ? '' : html `
|
|
136
134
|
<button id="previousTab" tabindex="-1"
|
|
137
135
|
aria-label="${this.getAttribute('label-scroll-left') ?? 'Scroll left'}"
|
|
138
|
-
?disabled="${!__classPrivateFieldGet(this,
|
|
136
|
+
?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").overflowLeft}"
|
|
139
137
|
@click="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_scrollLeft)}">
|
|
140
138
|
<pf-icon icon="${scrollIconLeft}" set="${scrollIconSet}" loading="eager"></pf-icon>
|
|
141
139
|
</button>`}
|
|
142
140
|
<slot name="tab"
|
|
143
141
|
part="tabs"
|
|
144
142
|
role="tablist"
|
|
145
|
-
@slotchange="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_onSlotchange)}"></slot> ${!__classPrivateFieldGet(this,
|
|
143
|
+
@slotchange="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_onSlotchange)}"></slot> ${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").showScrollButtons ? '' : html `
|
|
146
144
|
<button id="nextTab" tabindex="-1"
|
|
147
145
|
aria-label="${this.getAttribute('label-scroll-right') ?? 'Scroll right'}"
|
|
148
|
-
?disabled="${!__classPrivateFieldGet(this,
|
|
146
|
+
?disabled="${!__classPrivateFieldGet(this, _BaseTabs_overflow, "f").overflowRight}"
|
|
149
147
|
@click="${__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_scrollRight)}">
|
|
150
148
|
<pf-icon icon="${scrollIconRight}" set="${scrollIconSet}" loading="eager"></pf-icon>
|
|
151
149
|
</button>`}
|
|
@@ -154,16 +152,8 @@ export class BaseTabs extends LitElement {
|
|
|
154
152
|
</div>
|
|
155
153
|
`;
|
|
156
154
|
}
|
|
157
|
-
async firstUpdated() {
|
|
158
|
-
__classPrivateFieldGet(this, _BaseTabs_onScroll, "f").call(this);
|
|
159
|
-
this.tabList.addEventListener('scroll', __classPrivateFieldGet(this, _BaseTabs_onScroll, "f"));
|
|
160
|
-
}
|
|
161
|
-
/** override to prevent scroll buttons from showing */
|
|
162
|
-
get canShowScrollButtons() {
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
155
|
}
|
|
166
|
-
_a = BaseTabs,
|
|
156
|
+
_a = BaseTabs, _BaseTabs_tabindex = new WeakMap(), _BaseTabs_overflow = new WeakMap(), _BaseTabs_logger = new WeakMap(), _BaseTabs__allTabs = new WeakMap(), _BaseTabs__allPanels = new WeakMap(), _BaseTabs_activeIndex = new WeakMap(), _BaseTabs_onTabExpand = new WeakMap(), _BaseTabs_onKeydown = new WeakMap(), _BaseTabs_instances = new WeakSet(), _BaseTabs_activeTab_get = function _BaseTabs_activeTab_get() {
|
|
167
157
|
const [tab] = __classPrivateFieldGet(this, _BaseTabs__allTabs, "f").filter(tab => tab.active);
|
|
168
158
|
return tab;
|
|
169
159
|
}, _BaseTabs_allTabs_get = function _BaseTabs_allTabs_get() {
|
|
@@ -185,9 +175,10 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
|
|
|
185
175
|
(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).length !== 0 || __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allPanels_get).length !== 0)) {
|
|
186
176
|
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_updateAccessibility).call(this);
|
|
187
177
|
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_firstLastClasses).call(this);
|
|
188
|
-
__classPrivateFieldGet(this,
|
|
178
|
+
__classPrivateFieldGet(this, _BaseTabs_tabindex, "f").initItems(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get));
|
|
189
179
|
this.activeIndex = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).findIndex(tab => tab.active);
|
|
190
|
-
__classPrivateFieldGet(this,
|
|
180
|
+
__classPrivateFieldGet(this, _BaseTabs_tabindex, "f").updateActiveItem(__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_activeTab_get));
|
|
181
|
+
__classPrivateFieldGet(this, _BaseTabs_overflow, "f").init(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get));
|
|
191
182
|
}
|
|
192
183
|
}, _BaseTabs_updateAccessibility = function _BaseTabs_updateAccessibility() {
|
|
193
184
|
__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).forEach((tab, index) => {
|
|
@@ -201,16 +192,16 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
|
|
|
201
192
|
__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).forEach((tab, i) => tab.active = i === index);
|
|
202
193
|
__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allPanels_get).forEach((panel, i) => panel.hidden = i !== index);
|
|
203
194
|
}, _BaseTabs_firstFocusable_get = function _BaseTabs_firstFocusable_get() {
|
|
204
|
-
return __classPrivateFieldGet(this,
|
|
195
|
+
return __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").firstItem;
|
|
205
196
|
}, _BaseTabs_lastFocusable_get = function _BaseTabs_lastFocusable_get() {
|
|
206
|
-
return __classPrivateFieldGet(this,
|
|
197
|
+
return __classPrivateFieldGet(this, _BaseTabs_tabindex, "f").lastItem;
|
|
207
198
|
}, _BaseTabs_firstTab_get = function _BaseTabs_firstTab_get() {
|
|
208
199
|
const [tab] = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
|
|
209
200
|
return tab;
|
|
210
201
|
}, _BaseTabs_lastTab_get = function _BaseTabs_lastTab_get() {
|
|
211
202
|
return __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).at(-1);
|
|
212
203
|
}, _BaseTabs_activeItemIndex_get = function _BaseTabs_activeItemIndex_get() {
|
|
213
|
-
const { activeItem } = __classPrivateFieldGet(this,
|
|
204
|
+
const { activeItem } = __classPrivateFieldGet(this, _BaseTabs_tabindex, "f");
|
|
214
205
|
return __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get).findIndex(t => t === activeItem);
|
|
215
206
|
}, _BaseTabs_activate = function _BaseTabs_activate(selectedTab) {
|
|
216
207
|
if (selectedTab.ariaDisabled !== 'true') {
|
|
@@ -223,42 +214,10 @@ _a = BaseTabs, _BaseTabs_rovingTabindexController = new WeakMap(), _BaseTabs_sho
|
|
|
223
214
|
}, _BaseTabs_firstLastClasses = function _BaseTabs_firstLastClasses() {
|
|
224
215
|
__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstTab_get).classList.add('first');
|
|
225
216
|
__classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_lastTab_get).classList.add('last');
|
|
226
|
-
}, _BaseTabs_setOverflowState = function _BaseTabs_setOverflowState() {
|
|
227
|
-
const { canShowScrollButtons } = this;
|
|
228
|
-
__classPrivateFieldSet(this, _BaseTabs_overflowOnLeft, canShowScrollButtons && !isElementInView(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_firstTab_get)), "f");
|
|
229
|
-
__classPrivateFieldSet(this, _BaseTabs_overflowOnRight, canShowScrollButtons && !isElementInView(this.tabList, __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_lastTab_get)), "f");
|
|
230
|
-
__classPrivateFieldSet(this, _BaseTabs_showScrollButtons, canShowScrollButtons && (__classPrivateFieldGet(this, _BaseTabs_overflowOnLeft, "f") || __classPrivateFieldGet(this, _BaseTabs_overflowOnRight, "f")), "f");
|
|
231
|
-
this.requestUpdate();
|
|
232
217
|
}, _BaseTabs_scrollLeft = function _BaseTabs_scrollLeft() {
|
|
233
|
-
|
|
234
|
-
const childrenArr = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
|
|
235
|
-
let firstElementInView;
|
|
236
|
-
let lastElementOutOfView;
|
|
237
|
-
for (let i = 0; i < childrenArr.length && !firstElementInView; i++) {
|
|
238
|
-
if (isElementInView(container, childrenArr[i], false)) {
|
|
239
|
-
firstElementInView = childrenArr[i];
|
|
240
|
-
lastElementOutOfView = childrenArr[i - 1];
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
if (lastElementOutOfView) {
|
|
244
|
-
container.scrollLeft -= lastElementOutOfView.scrollWidth;
|
|
245
|
-
}
|
|
246
|
-
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this);
|
|
218
|
+
__classPrivateFieldGet(this, _BaseTabs_overflow, "f").scrollLeft();
|
|
247
219
|
}, _BaseTabs_scrollRight = function _BaseTabs_scrollRight() {
|
|
248
|
-
|
|
249
|
-
const childrenArr = __classPrivateFieldGet(this, _BaseTabs_instances, "a", _BaseTabs_allTabs_get);
|
|
250
|
-
let lastElementInView;
|
|
251
|
-
let firstElementOutOfView;
|
|
252
|
-
for (let i = childrenArr.length - 1; i >= 0 && !lastElementInView; i--) {
|
|
253
|
-
if (isElementInView(container, childrenArr[i], false)) {
|
|
254
|
-
lastElementInView = childrenArr[i];
|
|
255
|
-
firstElementOutOfView = childrenArr[i + 1];
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
if (firstElementOutOfView) {
|
|
259
|
-
container.scrollLeft += firstElementOutOfView.scrollWidth;
|
|
260
|
-
}
|
|
261
|
-
__classPrivateFieldGet(this, _BaseTabs_instances, "m", _BaseTabs_setOverflowState).call(this);
|
|
220
|
+
__classPrivateFieldGet(this, _BaseTabs_overflow, "f").scrollRight();
|
|
262
221
|
};
|
|
263
222
|
BaseTabs.styles = [styles];
|
|
264
223
|
/** Time in milliseconds to debounce between scroll events and updating scroll button state */
|
|
@@ -274,7 +233,7 @@ _BaseTabs_instances_1 = { value: new Set() };
|
|
|
274
233
|
// on resize check for overflows to add or remove scroll buttons
|
|
275
234
|
window.addEventListener('resize', () => {
|
|
276
235
|
for (const instance of __classPrivateFieldGet(_a, _a, "f", _BaseTabs_instances_1)) {
|
|
277
|
-
__classPrivateFieldGet(instance,
|
|
236
|
+
__classPrivateFieldGet(instance, _BaseTabs_overflow, "f").onScroll();
|
|
278
237
|
}
|
|
279
238
|
}, { capture: false });
|
|
280
239
|
})();
|
package/pf-tabs/BaseTabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTabs.js","sourceRoot":"","sources":["BaseTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\nimport { isElementInView } from '@patternfly/pfe-core/functions/isElementInView.js';\n\nimport { BaseTab, TabExpandEvent } from './BaseTab.js';\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\nimport styles from './BaseTabs.css';\n\n/**\n * BaseTabs\n *\n * @attr [label-scroll-left=\"Scroll left\"] - accessible label for the tab panel's scroll left button.\n * @attr [label-scroll-right=\"Scroll right\"] - accessible label for the tab panel's scroll right button.\n *\n */\nexport abstract class BaseTabs extends LitElement {\n static readonly styles = [styles];\n\n static isTab(element: BaseTab): element is BaseTab {\n return element instanceof BaseTab;\n }\n\n static isPanel(element: BaseTabPanel): element is BaseTabPanel {\n return element instanceof BaseTabPanel;\n }\n\n /** Time in milliseconds to debounce between scroll events and updating scroll button state */\n protected static readonly scrollTimeoutDelay: number = 0;\n /** Icon name to use for the scroll left button */\n protected static readonly scrollIconLeft: string = 'angle-left';\n /** Icon name to use for the scroll right button */\n protected static readonly scrollIconRight: string = 'angle-right';\n /** Icon set to use for the scroll buttons */\n protected static readonly scrollIconSet: string = 'fas';\n\n #rovingTabindexController = new RovingTabindexController(this);\n\n static #instances = new Set<BaseTabs>();\n\n static {\n // on resize check for overflows to add or remove scroll buttons\n window.addEventListener('resize', () => {\n for (const instance of this.#instances) {\n instance.#onScroll();\n }\n }, { capture: false });\n }\n\n @queryAssignedElements({ slot: 'tab' }) private tabs!: BaseTab[];\n\n @queryAssignedElements() private panels!: BaseTabPanel[];\n\n @query('[part=\"tabs\"]') private tabList!: HTMLElement;\n\n #showScrollButtons = false;\n\n #overflowOnLeft = false;\n\n #overflowOnRight = false;\n\n #logger = new Logger(this);\n\n #_allTabs: BaseTab[] = [];\n\n #_allPanels: BaseTabPanel[] = [];\n\n #scrollTimeout?: ReturnType<typeof setTimeout>;\n\n #activeIndex = 0;\n\n id: string = this.id || getRandomId(this.localName);\n\n /**\n * Tab activation\n * Tabs can be either [automatic](https://w3c.github.io/aria-practices/examples/tabs/tabs-automatic.html) activated\n * or [manual](https://w3c.github.io/aria-practices/examples/tabs/tabs-manual.html)\n */\n @property({ reflect: true, type: Boolean }) manual = false;\n\n @property({ attribute: false })\n get activeIndex() {\n return this.#activeIndex;\n }\n\n set activeIndex(index: number) {\n const oldIndex = this.activeIndex;\n const tab = this.#allTabs[index];\n if (tab) {\n if (tab.disabled) {\n this.#logger.warn(`Disabled tabs can not be active, setting first focusable tab to active`);\n this.#rovingTabindexController.updateActiveItem(this.#firstFocusable);\n index = this.#activeItemIndex;\n } else if (!tab.active) {\n // if the activeIndex was set through the CLI e.g.`$0.activeIndex = 2`\n tab.active = true;\n return;\n }\n }\n\n if (index === -1) {\n this.#logger.warn(`No active tab found, setting first focusable tab to active`);\n const first = this.#rovingTabindexController.firstItem as BaseTab;\n this.#rovingTabindexController.updateActiveItem(first);\n index = this.#activeItemIndex;\n }\n this.#activeIndex = index;\n this.requestUpdate('activeIndex', oldIndex);\n\n this.#allPanels[this.#activeIndex].hidden = false;\n // close all tabs that are not the activeIndex\n this.#deactivateExcept(this.#activeIndex);\n }\n\n get #activeTab() {\n const [tab] = this.#_allTabs.filter(tab => tab.active);\n return tab;\n }\n\n get #allTabs() {\n return this.#_allTabs;\n }\n\n set #allTabs(tabs: BaseTab[]) {\n this.#_allTabs = tabs.filter(tab => (this.constructor as typeof BaseTabs).isTab(tab));\n }\n\n get #allPanels() {\n return this.#_allPanels;\n }\n\n set #allPanels(panels: BaseTabPanel[]) {\n this.#_allPanels = panels.filter(panel => (this.constructor as typeof BaseTabs).isPanel(panel));\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('expand', this.#onTabExpand);\n this.addEventListener('keydown', this.#onKeydown);\n BaseTabs.#instances.add(this);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n BaseTabs.#instances.delete(this);\n }\n\n override render() {\n const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor as typeof BaseTabs;\n\n return html`\n <div part=\"container\">\n <div part=\"tabs-container\">${!this.#showScrollButtons ? '' : html`\n <button id=\"previousTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-left') ?? 'Scroll left'}\"\n ?disabled=\"${!this.#overflowOnLeft}\"\n @click=\"${this.#scrollLeft}\">\n <pf-icon icon=\"${scrollIconLeft}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n <slot name=\"tab\"\n part=\"tabs\"\n role=\"tablist\"\n @slotchange=\"${this.#onSlotchange}\"></slot> ${!this.#showScrollButtons ? '' : html`\n <button id=\"nextTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-right') ?? 'Scroll right'}\"\n ?disabled=\"${!this.#overflowOnRight}\"\n @click=\"${this.#scrollRight}\">\n <pf-icon icon=\"${scrollIconRight}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n </div>\n <slot part=\"panels\" @slotchange=\"${this.#onSlotchange}\"></slot>\n </div>\n `;\n }\n\n async firstUpdated() {\n this.#onScroll();\n this.tabList.addEventListener('scroll', this.#onScroll);\n }\n\n #onSlotchange(event: { target: { name: string; }; }) {\n if (event.target.name === 'tab') {\n this.#allTabs = this.tabs;\n } else {\n this.#allPanels = this.panels;\n }\n\n if ((this.#allTabs.length === this.#allPanels.length) &&\n (this.#allTabs.length !== 0 || this.#allPanels.length !== 0)) {\n this.#updateAccessibility();\n this.#firstLastClasses();\n this.#rovingTabindexController.initItems(this.#allTabs);\n this.activeIndex = this.#allTabs.findIndex(tab => tab.active);\n this.#rovingTabindexController.updateActiveItem(this.#activeTab);\n }\n }\n\n #updateAccessibility(): void {\n this.#allTabs.forEach((tab, index) => {\n const panel = this.#allPanels[index];\n if (!panel.hasAttribute('aria-labelledby')) {\n panel.setAttribute('aria-labelledby', tab.id);\n }\n tab.setAttribute('aria-controls', panel.id);\n });\n }\n\n #onTabExpand = (event: Event): void => {\n if (!(event instanceof TabExpandEvent) ||\n this.#allTabs.length === 0 || this.#allPanels.length === 0) {\n return;\n }\n\n const target = event as TabExpandEvent;\n if (target.active) {\n this.activeIndex = this.#allTabs.findIndex(tab => tab === target.tab);\n }\n };\n\n #deactivateExcept(index: number) {\n this.#allTabs.forEach((tab, i) => tab.active = i === index);\n this.#allPanels.forEach((panel, i) => panel.hidden = i !== index);\n }\n\n get #firstFocusable(): BaseTab {\n return this.#rovingTabindexController.firstItem as BaseTab;\n }\n\n get #lastFocusable(): BaseTab {\n return this.#rovingTabindexController.lastItem as BaseTab;\n }\n\n get #firstTab(): BaseTab {\n const [tab] = this.#allTabs;\n return tab;\n }\n\n get #lastTab(): BaseTab {\n return this.#allTabs.at(-1) as BaseTab;\n }\n\n get #activeItemIndex() {\n const { activeItem } = this.#rovingTabindexController;\n return this.#allTabs.findIndex(t => t === activeItem);\n }\n\n #activate(selectedTab: BaseTab): void {\n if (selectedTab.ariaDisabled !== 'true') {\n selectedTab.active = true;\n }\n }\n\n async #select(selectedTab: BaseTab): Promise<void> {\n if (!this.manual) {\n this.#activate(selectedTab);\n }\n }\n\n // RTI: will handle key events\n #onKeydown = (event: KeyboardEvent): void => {\n const foundTab = this.#allTabs.find(tab => tab === event.target);\n if (!foundTab) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n this.#select(this.#rovingTabindexController.activeItem as BaseTab);\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n this.#select(this.#rovingTabindexController.activeItem as BaseTab);\n break;\n\n case 'Home':\n event.preventDefault();\n this.#select(this.#firstFocusable);\n break;\n\n case 'End':\n event.preventDefault();\n this.#select(this.#lastFocusable);\n break;\n\n default:\n return;\n }\n };\n\n #onScroll = () => {\n clearTimeout(this.#scrollTimeout);\n const { scrollTimeoutDelay } = (this.constructor as typeof BaseTabs);\n this.#scrollTimeout = setTimeout(() => this.#setOverflowState(), scrollTimeoutDelay);\n };\n\n #firstLastClasses() {\n this.#firstTab.classList.add('first');\n this.#lastTab.classList.add('last');\n }\n\n /** override to prevent scroll buttons from showing */\n protected get canShowScrollButtons() {\n return true;\n }\n\n #setOverflowState(): void {\n const { canShowScrollButtons } = this;\n this.#overflowOnLeft = canShowScrollButtons && !isElementInView(this.tabList, this.#firstTab);\n this.#overflowOnRight = canShowScrollButtons && !isElementInView(this.tabList, this.#lastTab);\n this.#showScrollButtons = canShowScrollButtons && (this.#overflowOnLeft || this.#overflowOnRight);\n this.requestUpdate();\n }\n\n #scrollLeft(): void {\n const container = this.tabList;\n const childrenArr = this.#allTabs;\n let firstElementInView: BaseTab | undefined;\n let lastElementOutOfView: BaseTab | undefined;\n for (let i = 0; i < childrenArr.length && !firstElementInView; i++) {\n if (isElementInView(container, childrenArr[i] as HTMLElement, false)) {\n firstElementInView = childrenArr[i];\n lastElementOutOfView = childrenArr[i - 1];\n }\n }\n if (lastElementOutOfView) {\n container.scrollLeft -= lastElementOutOfView.scrollWidth;\n }\n this.#setOverflowState();\n }\n\n #scrollRight(): void {\n const container = this.tabList;\n const childrenArr = this.#allTabs;\n let lastElementInView: BaseTab | undefined;\n let firstElementOutOfView: BaseTab | undefined;\n for (let i = childrenArr.length - 1; i >= 0 && !lastElementInView; i--) {\n if (isElementInView(container, childrenArr[i] as HTMLElement, false)) {\n lastElementInView = childrenArr[i];\n firstElementOutOfView = childrenArr[i + 1];\n }\n }\n if (firstElementOutOfView) {\n container.scrollLeft += firstElementOutOfView.scrollWidth;\n }\n this.#setOverflowState();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BaseTabs.js","sourceRoot":"","sources":["BaseTabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\n\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { RovingTabindexController } from '@patternfly/pfe-core/controllers/roving-tabindex-controller.js';\nimport { OverflowController } from '@patternfly/pfe-core/controllers/overflow-controller.js';\nimport { Logger } from '@patternfly/pfe-core/controllers/logger.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport { BaseTab, TabExpandEvent } from './BaseTab.js';\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\nimport styles from './BaseTabs.css';\n\n/**\n * BaseTabs\n *\n * @attr [label-scroll-left=\"Scroll left\"] - accessible label for the tab panel's scroll left button.\n * @attr [label-scroll-right=\"Scroll right\"] - accessible label for the tab panel's scroll right button.\n *\n */\nexport abstract class BaseTabs extends LitElement {\n static readonly styles = [styles];\n\n static isTab(element: BaseTab): element is BaseTab {\n return element instanceof BaseTab;\n }\n\n static isPanel(element: BaseTabPanel): element is BaseTabPanel {\n return element instanceof BaseTabPanel;\n }\n\n /** Time in milliseconds to debounce between scroll events and updating scroll button state */\n protected static readonly scrollTimeoutDelay: number = 0;\n /** Icon name to use for the scroll left button */\n protected static readonly scrollIconLeft: string = 'angle-left';\n /** Icon name to use for the scroll right button */\n protected static readonly scrollIconRight: string = 'angle-right';\n /** Icon set to use for the scroll buttons */\n protected static readonly scrollIconSet: string = 'fas';\n\n static #instances = new Set<BaseTabs>();\n\n static {\n // on resize check for overflows to add or remove scroll buttons\n window.addEventListener('resize', () => {\n for (const instance of this.#instances) {\n instance.#overflow.onScroll();\n }\n }, { capture: false });\n }\n\n @queryAssignedElements({ slot: 'tab' }) private tabs!: BaseTab[];\n\n @queryAssignedElements() private panels!: BaseTabPanel[];\n\n @query('[part=\"tabs\"]') private tabList!: HTMLElement;\n\n #tabindex = new RovingTabindexController(this);\n\n #overflow = new OverflowController(this);\n\n #logger = new Logger(this);\n\n #_allTabs: BaseTab[] = [];\n\n #_allPanels: BaseTabPanel[] = [];\n\n #activeIndex = 0;\n\n id: string = this.id || getRandomId(this.localName);\n\n /**\n * Tab activation\n * Tabs can be either [automatic](https://w3c.github.io/aria-practices/examples/tabs/tabs-automatic.html) activated\n * or [manual](https://w3c.github.io/aria-practices/examples/tabs/tabs-manual.html)\n */\n @property({ reflect: true, type: Boolean }) manual = false;\n\n @property({ attribute: false })\n get activeIndex() {\n return this.#activeIndex;\n }\n\n set activeIndex(index: number) {\n const oldIndex = this.activeIndex;\n const tab = this.#allTabs[index];\n if (tab) {\n if (tab.disabled) {\n this.#logger.warn(`Disabled tabs can not be active, setting first focusable tab to active`);\n this.#tabindex.updateActiveItem(this.#firstFocusable);\n index = this.#activeItemIndex;\n } else if (!tab.active) {\n // if the activeIndex was set through the CLI e.g.`$0.activeIndex = 2`\n tab.active = true;\n return;\n }\n }\n\n if (index === -1) {\n this.#logger.warn(`No active tab found, setting first focusable tab to active`);\n const first = this.#tabindex.firstItem as BaseTab;\n this.#tabindex.updateActiveItem(first);\n index = this.#activeItemIndex;\n }\n this.#activeIndex = index;\n this.requestUpdate('activeIndex', oldIndex);\n\n this.#allPanels[this.#activeIndex].hidden = false;\n // close all tabs that are not the activeIndex\n this.#deactivateExcept(this.#activeIndex);\n }\n\n get #activeTab() {\n const [tab] = this.#_allTabs.filter(tab => tab.active);\n return tab;\n }\n\n get #allTabs() {\n return this.#_allTabs;\n }\n\n set #allTabs(tabs: BaseTab[]) {\n this.#_allTabs = tabs.filter(tab => (this.constructor as typeof BaseTabs).isTab(tab));\n }\n\n get #allPanels() {\n return this.#_allPanels;\n }\n\n set #allPanels(panels: BaseTabPanel[]) {\n this.#_allPanels = panels.filter(panel => (this.constructor as typeof BaseTabs).isPanel(panel));\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('expand', this.#onTabExpand);\n this.addEventListener('keydown', this.#onKeydown);\n BaseTabs.#instances.add(this);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n BaseTabs.#instances.delete(this);\n }\n\n async firstUpdated() {\n this.tabList.addEventListener('scroll', this.#overflow.onScroll.bind(this));\n }\n\n override render() {\n const { scrollIconSet, scrollIconLeft, scrollIconRight } = this.constructor as typeof BaseTabs;\n return html`\n <div part=\"container\" class=\"${classMap({ overflow: this.#overflow.showScrollButtons })}\">\n <div part=\"tabs-container\">${!this.#overflow.showScrollButtons ? '' : html`\n <button id=\"previousTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-left') ?? 'Scroll left'}\"\n ?disabled=\"${!this.#overflow.overflowLeft}\"\n @click=\"${this.#scrollLeft}\">\n <pf-icon icon=\"${scrollIconLeft}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n <slot name=\"tab\"\n part=\"tabs\"\n role=\"tablist\"\n @slotchange=\"${this.#onSlotchange}\"></slot> ${!this.#overflow.showScrollButtons ? '' : html`\n <button id=\"nextTab\" tabindex=\"-1\"\n aria-label=\"${this.getAttribute('label-scroll-right') ?? 'Scroll right'}\"\n ?disabled=\"${!this.#overflow.overflowRight}\"\n @click=\"${this.#scrollRight}\">\n <pf-icon icon=\"${scrollIconRight}\" set=\"${scrollIconSet}\" loading=\"eager\"></pf-icon>\n </button>`}\n </div>\n <slot part=\"panels\" @slotchange=\"${this.#onSlotchange}\"></slot>\n </div>\n `;\n }\n\n #onSlotchange(event: { target: { name: string; }; }) {\n if (event.target.name === 'tab') {\n this.#allTabs = this.tabs;\n } else {\n this.#allPanels = this.panels;\n }\n\n if ((this.#allTabs.length === this.#allPanels.length) &&\n (this.#allTabs.length !== 0 || this.#allPanels.length !== 0)) {\n this.#updateAccessibility();\n this.#firstLastClasses();\n this.#tabindex.initItems(this.#allTabs);\n this.activeIndex = this.#allTabs.findIndex(tab => tab.active);\n this.#tabindex.updateActiveItem(this.#activeTab);\n this.#overflow.init(this.tabList, this.#allTabs);\n }\n }\n\n #updateAccessibility(): void {\n this.#allTabs.forEach((tab, index) => {\n const panel = this.#allPanels[index];\n if (!panel.hasAttribute('aria-labelledby')) {\n panel.setAttribute('aria-labelledby', tab.id);\n }\n tab.setAttribute('aria-controls', panel.id);\n });\n }\n\n #onTabExpand = (event: Event): void => {\n if (!(event instanceof TabExpandEvent) ||\n this.#allTabs.length === 0 || this.#allPanels.length === 0) {\n return;\n }\n\n const target = event as TabExpandEvent;\n if (target.active) {\n this.activeIndex = this.#allTabs.findIndex(tab => tab === target.tab);\n }\n };\n\n #deactivateExcept(index: number) {\n this.#allTabs.forEach((tab, i) => tab.active = i === index);\n this.#allPanels.forEach((panel, i) => panel.hidden = i !== index);\n }\n\n get #firstFocusable(): BaseTab {\n return this.#tabindex.firstItem as BaseTab;\n }\n\n get #lastFocusable(): BaseTab {\n return this.#tabindex.lastItem as BaseTab;\n }\n\n get #firstTab(): BaseTab {\n const [tab] = this.#allTabs;\n return tab;\n }\n\n get #lastTab(): BaseTab {\n return this.#allTabs.at(-1) as BaseTab;\n }\n\n get #activeItemIndex() {\n const { activeItem } = this.#tabindex;\n return this.#allTabs.findIndex(t => t === activeItem);\n }\n\n #activate(selectedTab: BaseTab): void {\n if (selectedTab.ariaDisabled !== 'true') {\n selectedTab.active = true;\n }\n }\n\n async #select(selectedTab: BaseTab): Promise<void> {\n if (!this.manual) {\n this.#activate(selectedTab);\n }\n }\n\n // RTI: will handle key events\n #onKeydown = (event: KeyboardEvent): void => {\n const foundTab = this.#allTabs.find(tab => tab === event.target);\n if (!foundTab) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n this.#select(this.#tabindex.activeItem as BaseTab);\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n this.#select(this.#tabindex.activeItem as BaseTab);\n break;\n\n case 'Home':\n event.preventDefault();\n this.#select(this.#firstFocusable);\n break;\n\n case 'End':\n event.preventDefault();\n this.#select(this.#lastFocusable);\n break;\n\n default:\n return;\n }\n };\n\n #firstLastClasses() {\n this.#firstTab.classList.add('first');\n this.#lastTab.classList.add('last');\n }\n\n #scrollLeft() {\n this.#overflow.scrollLeft();\n }\n\n #scrollRight() {\n this.#overflow.scrollRight();\n }\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# PatternFly Elements Tabs
|
|
2
|
+
|
|
3
|
+
Read more about Tabs in the [PatternFly Elements Tabs documentation](https://patternflyelements.org/components/tabs)
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Load `<pf-tabs>` via CDN:
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<script src="https://jspm.dev/@patternfly/elements/pf-tabs/pf-tabs.js"></script>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or, if you are using [NPM](https://npm.im), install it
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install @patternfly/elements
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Then once installed, import it to your application:
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
import '@patternfly/elements/pf-tabs/pf-tabs.js';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Note
|
|
26
|
+
For `<pf-tabs>` to work in Safari, you'll need to load the [element-internals-polyfill](https://www.npmjs.com/package/element-internals-polyfill). Safari is in the process of [adding element internals to WebKit](https://bugs.webkit.org/show_bug.cgi?id=197960) so this polyfill should be temporary.
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<pf-tabs>
|
|
32
|
+
<pf-tab id="users" slot="tab">Users</pf-tab>
|
|
33
|
+
<pf-tab-panel>Users</pf-tab-panel>
|
|
34
|
+
<pf-tab slot="tab">Containers</pf-tab>
|
|
35
|
+
<pf-tab-panel>Containers <a href="#">Focusable element</a></pf-tab-panel>
|
|
36
|
+
<pf-tab slot="tab">Database</pf-tab>
|
|
37
|
+
<pf-tab-panel>Database</pf-tab-panel>
|
|
38
|
+
</pf-tabs>
|
|
39
|
+
```
|
|
40
|
+
|
package/pf-tabs/pf-tab-panel.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement } from 'lit/decorators.js';
|
|
2
|
+
import { customElement } from 'lit/decorators/custom-element.js';
|
|
3
3
|
import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
|
|
4
4
|
import { css } from "lit";
|
|
5
|
-
const styles = css `:host([box=
|
|
5
|
+
const styles = css `:host([box=light]){background-color:var(--pf-c-tab-content--m-light-300,var(--pf-global--BackgroundColor--light-300,#f0f0f0))}`;
|
|
6
6
|
import { BaseTabPanel } from './BaseTabPanel.js';
|
|
7
7
|
/**
|
|
8
8
|
* @slot - Tab panel content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pf-tab-panel.js","sourceRoot":"","sources":["pf-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pf-tab-panel.js","sourceRoot":"","sources":["pf-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;;;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;GAMG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,YAAY;IAG1C,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;IAC1C,CAAC;;AALe,iBAAM,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAD/C,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU,CAOtB;SAPY,UAAU","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nimport styles from './pf-tab-panel.css';\n\nimport { BaseTabPanel } from './BaseTabPanel.js';\n\n/**\n * @slot - Tab panel content\n *\n * @cssprop {<color>} --pf-c-tab-content--m-light-300 {@default `#f0f0f0`}\n *\n * @csspart container - container for the panel content\n */\n@customElement('pf-tab-panel')\nexport class PfTabPanel extends BaseTabPanel {\n static readonly styles = [...BaseTabPanel.styles, styles];\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-tab-panel': PfTabPanel;\n }\n}\n"]}
|