angular-tailwind-components 1.3.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -11
- package/fesm2022/angular-tailwind-components.mjs +591 -1377
- package/fesm2022/angular-tailwind-components.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/tailwind.css +95 -67
- package/tailwind-icons/academic-cap.svg +5 -0
- package/tailwind-icons/adjustments-horizontal.svg +5 -0
- package/tailwind-icons/adjustments-vertical.svg +5 -0
- package/tailwind-icons/archive-box-arrow-down.svg +5 -0
- package/tailwind-icons/archive-box-x-mark.svg +5 -0
- package/tailwind-icons/archive-box.svg +5 -0
- package/tailwind-icons/arrow-down-circle.svg +5 -0
- package/tailwind-icons/arrow-down-left.svg +5 -0
- package/tailwind-icons/arrow-down-on-square-stack.svg +5 -0
- package/tailwind-icons/arrow-down-on-square.svg +5 -0
- package/tailwind-icons/arrow-down-right.svg +5 -0
- package/tailwind-icons/arrow-down-tray.svg +5 -0
- package/tailwind-icons/arrow-down.svg +2 -1
- package/tailwind-icons/arrow-left-circle.svg +5 -0
- package/tailwind-icons/arrow-left-end-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-left-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-left-start-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-left.svg +2 -1
- package/tailwind-icons/arrow-long-down.svg +5 -0
- package/tailwind-icons/arrow-long-left.svg +5 -0
- package/tailwind-icons/arrow-long-right.svg +5 -0
- package/tailwind-icons/arrow-long-up.svg +5 -0
- package/tailwind-icons/arrow-path-rounded-square.svg +5 -0
- package/tailwind-icons/arrow-path.svg +5 -0
- package/tailwind-icons/arrow-right-circle.svg +5 -0
- package/tailwind-icons/arrow-right-end-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-right-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-right-start-on-rectangle.svg +5 -0
- package/tailwind-icons/arrow-right.svg +2 -1
- package/tailwind-icons/arrow-small-down.svg +5 -0
- package/tailwind-icons/arrow-small-left.svg +5 -0
- package/tailwind-icons/arrow-small-right.svg +5 -0
- package/tailwind-icons/arrow-small-up.svg +5 -0
- package/tailwind-icons/arrow-top-right-on-square.svg +5 -0
- package/tailwind-icons/arrow-trending-down.svg +5 -0
- package/tailwind-icons/arrow-trending-up.svg +5 -0
- package/tailwind-icons/arrow-turn-down-left.svg +5 -0
- package/tailwind-icons/arrow-turn-down-right.svg +5 -0
- package/tailwind-icons/arrow-turn-left-down.svg +5 -0
- package/tailwind-icons/arrow-turn-left-up.svg +5 -0
- package/tailwind-icons/arrow-turn-right-down.svg +5 -0
- package/tailwind-icons/arrow-turn-right-up.svg +5 -0
- package/tailwind-icons/arrow-turn-up-left.svg +5 -0
- package/tailwind-icons/arrow-turn-up-right.svg +5 -0
- package/tailwind-icons/arrow-up-circle.svg +5 -0
- package/tailwind-icons/arrow-up-left.svg +5 -0
- package/tailwind-icons/arrow-up-on-square-stack.svg +5 -0
- package/tailwind-icons/arrow-up-on-square.svg +5 -0
- package/tailwind-icons/arrow-up-right.svg +5 -0
- package/tailwind-icons/arrow-up-tray.svg +5 -0
- package/tailwind-icons/arrow-up.svg +2 -1
- package/tailwind-icons/arrow-uturn-down.svg +5 -0
- package/tailwind-icons/arrow-uturn-left.svg +5 -0
- package/tailwind-icons/arrow-uturn-right.svg +5 -0
- package/tailwind-icons/arrow-uturn-up.svg +5 -0
- package/tailwind-icons/arrows-pointing-in.svg +5 -0
- package/tailwind-icons/arrows-pointing-out.svg +5 -0
- package/tailwind-icons/arrows-right-left.svg +5 -0
- package/tailwind-icons/arrows-up-down.svg +5 -0
- package/tailwind-icons/at-symbol.svg +5 -0
- package/tailwind-icons/backspace.svg +2 -1
- package/tailwind-icons/backward.svg +5 -0
- package/tailwind-icons/banknotes.svg +5 -0
- package/tailwind-icons/bars-2.svg +5 -0
- package/tailwind-icons/bars-3-bottom-left.svg +5 -0
- package/tailwind-icons/bars-3-bottom-right.svg +5 -0
- package/tailwind-icons/bars-3-center-left.svg +5 -0
- package/tailwind-icons/bars-3.svg +5 -0
- package/tailwind-icons/bars-4.svg +5 -0
- package/tailwind-icons/bars-arrow-down.svg +5 -0
- package/tailwind-icons/bars-arrow-up.svg +5 -0
- package/tailwind-icons/battery-0.svg +5 -0
- package/tailwind-icons/battery-100.svg +5 -0
- package/tailwind-icons/battery-50.svg +5 -0
- package/tailwind-icons/beaker.svg +5 -0
- package/tailwind-icons/bell-alert.svg +5 -0
- package/tailwind-icons/bell-slash.svg +5 -0
- package/tailwind-icons/bell-snooze.svg +5 -0
- package/tailwind-icons/bell.svg +2 -1
- package/tailwind-icons/bold.svg +5 -0
- package/tailwind-icons/bolt-slash.svg +5 -0
- package/tailwind-icons/bolt.svg +2 -1
- package/tailwind-icons/book-open.svg +5 -0
- package/tailwind-icons/bookmark-slash.svg +5 -0
- package/tailwind-icons/bookmark-square.svg +2 -1
- package/tailwind-icons/bookmark.svg +2 -1
- package/tailwind-icons/briefcase.svg +5 -0
- package/tailwind-icons/bug-ant.svg +5 -0
- package/tailwind-icons/building-library.svg +5 -0
- package/tailwind-icons/building-office-2.svg +5 -0
- package/tailwind-icons/building-office.svg +5 -0
- package/tailwind-icons/building-storefront.svg +5 -0
- package/tailwind-icons/cake.svg +5 -0
- package/tailwind-icons/calculator.svg +2 -1
- package/tailwind-icons/calendar-date-range.svg +5 -0
- package/tailwind-icons/calendar-days.svg +5 -0
- package/tailwind-icons/calendar.svg +2 -1
- package/tailwind-icons/camera.svg +2 -1
- package/tailwind-icons/chart-bar-square.svg +5 -0
- package/tailwind-icons/chart-bar.svg +5 -0
- package/tailwind-icons/chart-pie.svg +5 -0
- package/tailwind-icons/chat-bubble-bottom-center-text.svg +5 -0
- package/tailwind-icons/chat-bubble-bottom-center.svg +5 -0
- package/tailwind-icons/chat-bubble-left-ellipsis.svg +5 -0
- package/tailwind-icons/chat-bubble-left-right.svg +5 -0
- package/tailwind-icons/chat-bubble-left.svg +5 -0
- package/tailwind-icons/chat-bubble-oval-left-ellipsis.svg +5 -0
- package/tailwind-icons/chat-bubble-oval-left.svg +5 -0
- package/tailwind-icons/check-badge.svg +5 -0
- package/tailwind-icons/check-circle.svg +2 -1
- package/tailwind-icons/check.svg +5 -0
- package/tailwind-icons/chevron-double-down.svg +5 -0
- package/tailwind-icons/chevron-double-left.svg +5 -0
- package/tailwind-icons/chevron-double-right.svg +5 -0
- package/tailwind-icons/chevron-double-up.svg +5 -0
- package/tailwind-icons/chevron-down.svg +5 -0
- package/tailwind-icons/chevron-left.svg +5 -0
- package/tailwind-icons/chevron-right.svg +5 -0
- package/tailwind-icons/chevron-up-down.svg +5 -0
- package/tailwind-icons/chevron-up.svg +5 -0
- package/tailwind-icons/circle-stack.svg +5 -0
- package/tailwind-icons/clipboard-document-check.svg +5 -0
- package/tailwind-icons/clipboard-document-list.svg +5 -0
- package/tailwind-icons/clipboard-document.svg +5 -0
- package/tailwind-icons/clipboard.svg +2 -1
- package/tailwind-icons/clock.svg +5 -0
- package/tailwind-icons/cloud-arrow-down.svg +5 -0
- package/tailwind-icons/cloud-arrow-up.svg +5 -0
- package/tailwind-icons/cloud.svg +2 -1
- package/tailwind-icons/code-bracket-square.svg +5 -0
- package/tailwind-icons/code-bracket.svg +5 -0
- package/tailwind-icons/cog-6-tooth.svg +5 -0
- package/tailwind-icons/cog-8-tooth.svg +5 -0
- package/tailwind-icons/cog.svg +5 -0
- package/tailwind-icons/command-line.svg +5 -0
- package/tailwind-icons/computer-desktop.svg +5 -0
- package/tailwind-icons/cpu-chip.svg +5 -0
- package/tailwind-icons/credit-card.svg +5 -0
- package/tailwind-icons/cube-transparent.svg +5 -0
- package/tailwind-icons/cube.svg +5 -0
- package/tailwind-icons/currency-bangladeshi.svg +5 -0
- package/tailwind-icons/currency-dollar.svg +5 -0
- package/tailwind-icons/currency-euro.svg +5 -0
- package/tailwind-icons/currency-pound.svg +5 -0
- package/tailwind-icons/currency-rupee.svg +5 -0
- package/tailwind-icons/currency-yen.svg +5 -0
- package/tailwind-icons/cursor-arrow-rays.svg +5 -0
- package/tailwind-icons/cursor-arrow-ripple.svg +5 -0
- package/tailwind-icons/device-phone-mobile.svg +5 -0
- package/tailwind-icons/device-tablet.svg +5 -0
- package/tailwind-icons/divide.svg +5 -0
- package/tailwind-icons/document-arrow-down.svg +5 -0
- package/tailwind-icons/document-arrow-up.svg +5 -0
- package/tailwind-icons/document-chart-bar.svg +5 -0
- package/tailwind-icons/document-check.svg +5 -0
- package/tailwind-icons/document-currency-bangladeshi.svg +5 -0
- package/tailwind-icons/document-currency-dollar.svg +5 -0
- package/tailwind-icons/document-currency-euro.svg +5 -0
- package/tailwind-icons/document-currency-pound.svg +5 -0
- package/tailwind-icons/document-currency-rupee.svg +5 -0
- package/tailwind-icons/document-currency-yen.svg +5 -0
- package/tailwind-icons/document-duplicate.svg +5 -0
- package/tailwind-icons/document-magnifying-glass.svg +5 -0
- package/tailwind-icons/document-minus.svg +5 -0
- package/tailwind-icons/document-plus.svg +5 -0
- package/tailwind-icons/document-text.svg +2 -1
- package/tailwind-icons/document.svg +2 -1
- package/tailwind-icons/ellipsis-horizontal-circle.svg +5 -0
- package/tailwind-icons/ellipsis-horizontal.svg +5 -0
- package/tailwind-icons/ellipsis-vertical.svg +5 -0
- package/tailwind-icons/envelope-open.svg +5 -0
- package/tailwind-icons/envelope.svg +5 -0
- package/tailwind-icons/equals.svg +5 -0
- package/tailwind-icons/exclamation-circle.svg +5 -0
- package/tailwind-icons/exclamation-triangle.svg +5 -0
- package/tailwind-icons/eye-dropper.svg +5 -0
- package/tailwind-icons/eye-slash.svg +5 -0
- package/tailwind-icons/eye.svg +2 -1
- package/tailwind-icons/face-frown.svg +5 -0
- package/tailwind-icons/face-smile.svg +5 -0
- package/tailwind-icons/film.svg +5 -0
- package/tailwind-icons/finger-print.svg +5 -0
- package/tailwind-icons/fire.svg +2 -1
- package/tailwind-icons/flag.svg +2 -1
- package/tailwind-icons/folder-arrow-down.svg +5 -0
- package/tailwind-icons/folder-minus.svg +5 -0
- package/tailwind-icons/folder-open.svg +2 -1
- package/tailwind-icons/folder-plus.svg +5 -0
- package/tailwind-icons/folder.svg +2 -1
- package/tailwind-icons/forward.svg +2 -1
- package/tailwind-icons/funnel.svg +5 -0
- package/tailwind-icons/gif.svg +5 -0
- package/tailwind-icons/gift-top.svg +5 -0
- package/tailwind-icons/gift.svg +2 -1
- package/tailwind-icons/globe-alt.svg +5 -0
- package/tailwind-icons/globe-americas.svg +5 -0
- package/tailwind-icons/globe-asia-australia.svg +5 -0
- package/tailwind-icons/globe-europe-africa.svg +5 -0
- package/tailwind-icons/h1.svg +5 -0
- package/tailwind-icons/h2.svg +5 -0
- package/tailwind-icons/h3.svg +5 -0
- package/tailwind-icons/hand-raised.svg +5 -0
- package/tailwind-icons/hand-thumb-down.svg +5 -0
- package/tailwind-icons/hand-thumb-up.svg +5 -0
- package/tailwind-icons/hashtag.svg +2 -1
- package/tailwind-icons/heart.svg +2 -1
- package/tailwind-icons/home-modern.svg +5 -0
- package/tailwind-icons/home.svg +2 -1
- package/tailwind-icons/identification.svg +5 -0
- package/tailwind-icons/inbox-arrow-down.svg +5 -0
- package/tailwind-icons/inbox-stack.svg +5 -0
- package/tailwind-icons/inbox.svg +2 -1
- package/tailwind-icons/information-circle.svg +5 -0
- package/tailwind-icons/italic.svg +5 -0
- package/tailwind-icons/key.svg +2 -1
- package/tailwind-icons/language.svg +5 -0
- package/tailwind-icons/lifebuoy.svg +5 -0
- package/tailwind-icons/light-bulb.svg +5 -0
- package/tailwind-icons/link-slash.svg +5 -0
- package/tailwind-icons/link.svg +2 -1
- package/tailwind-icons/list-bullet.svg +5 -0
- package/tailwind-icons/lock-closed.svg +5 -0
- package/tailwind-icons/lock-open.svg +5 -0
- package/tailwind-icons/magnifying-glass-circle.svg +5 -0
- package/tailwind-icons/magnifying-glass-minus.svg +5 -0
- package/tailwind-icons/magnifying-glass-plus.svg +5 -0
- package/tailwind-icons/magnifying-glass.svg +5 -0
- package/tailwind-icons/map-pin.svg +5 -0
- package/tailwind-icons/map.svg +2 -1
- package/tailwind-icons/megaphone.svg +5 -0
- package/tailwind-icons/microphone.svg +2 -1
- package/tailwind-icons/minus-circle.svg +2 -1
- package/tailwind-icons/minus-small.svg +5 -0
- package/tailwind-icons/minus.svg +5 -0
- package/tailwind-icons/moon.svg +2 -1
- package/tailwind-icons/musical-note.svg +5 -0
- package/tailwind-icons/newspaper.svg +5 -0
- package/tailwind-icons/no-symbol.svg +5 -0
- package/tailwind-icons/numbered-list.svg +5 -0
- package/tailwind-icons/paint-brush.svg +5 -0
- package/tailwind-icons/paper-airplane.svg +5 -0
- package/tailwind-icons/paper-clip.svg +5 -0
- package/tailwind-icons/pause-circle.svg +2 -1
- package/tailwind-icons/pause.svg +2 -1
- package/tailwind-icons/pencil-square.svg +5 -0
- package/tailwind-icons/pencil.svg +5 -0
- package/tailwind-icons/percent-badge.svg +5 -0
- package/tailwind-icons/phone-arrow-down-left.svg +5 -0
- package/tailwind-icons/phone-arrow-up-right.svg +5 -0
- package/tailwind-icons/phone-x-mark.svg +5 -0
- package/tailwind-icons/phone.svg +2 -1
- package/tailwind-icons/photo.svg +5 -0
- package/tailwind-icons/play-circle.svg +2 -1
- package/tailwind-icons/play-pause.svg +5 -0
- package/tailwind-icons/play.svg +2 -1
- package/tailwind-icons/plus-circle.svg +5 -0
- package/tailwind-icons/plus-small.svg +5 -0
- package/tailwind-icons/plus.svg +5 -0
- package/tailwind-icons/power.svg +2 -1
- package/tailwind-icons/presentation-chart-bar.svg +5 -0
- package/tailwind-icons/presentation-chart-line.svg +5 -0
- package/tailwind-icons/printer.svg +2 -1
- package/tailwind-icons/puzzle-piece.svg +5 -0
- package/tailwind-icons/qr-code.svg +2 -1
- package/tailwind-icons/question-mark-circle.svg +5 -0
- package/tailwind-icons/queue-list.svg +5 -0
- package/tailwind-icons/radio.svg +2 -1
- package/tailwind-icons/receipt-percent.svg +5 -0
- package/tailwind-icons/receipt-refund.svg +5 -0
- package/tailwind-icons/rectangle-group.svg +5 -0
- package/tailwind-icons/rectangle-stack.svg +5 -0
- package/tailwind-icons/rocket-launch.svg +5 -0
- package/tailwind-icons/rss.svg +5 -0
- package/tailwind-icons/scale.svg +2 -1
- package/tailwind-icons/scissors.svg +2 -1
- package/tailwind-icons/server-stack.svg +5 -0
- package/tailwind-icons/server.svg +2 -1
- package/tailwind-icons/share.svg +2 -1
- package/tailwind-icons/shield-check.svg +2 -1
- package/tailwind-icons/shield-exclamation.svg +5 -0
- package/tailwind-icons/shopping-bag.svg +5 -0
- package/tailwind-icons/shopping-cart.svg +5 -0
- package/tailwind-icons/signal-slash.svg +5 -0
- package/tailwind-icons/signal.svg +5 -0
- package/tailwind-icons/slash.svg +5 -0
- package/tailwind-icons/sparkles.svg +5 -0
- package/tailwind-icons/speaker-wave.svg +5 -0
- package/tailwind-icons/speaker-x-mark.svg +5 -0
- package/tailwind-icons/square-2-stack.svg +5 -0
- package/tailwind-icons/square-3-stack-3d.svg +5 -0
- package/tailwind-icons/squares-2x2.svg +5 -0
- package/tailwind-icons/squares-plus.svg +5 -0
- package/tailwind-icons/star.svg +2 -1
- package/tailwind-icons/stop-circle.svg +2 -1
- package/tailwind-icons/stop.svg +2 -1
- package/tailwind-icons/strikethrough.svg +5 -0
- package/tailwind-icons/sun.svg +2 -1
- package/tailwind-icons/swatch.svg +5 -0
- package/tailwind-icons/table-cells.svg +5 -0
- package/tailwind-icons/tag.svg +2 -1
- package/tailwind-icons/ticket.svg +2 -1
- package/tailwind-icons/trash.svg +5 -0
- package/tailwind-icons/trophy.svg +5 -0
- package/tailwind-icons/truck.svg +5 -0
- package/tailwind-icons/tv.svg +2 -1
- package/tailwind-icons/underline.svg +5 -0
- package/tailwind-icons/user-circle.svg +2 -1
- package/tailwind-icons/user-group.svg +5 -0
- package/tailwind-icons/user-minus.svg +2 -1
- package/tailwind-icons/user-plus.svg +2 -1
- package/tailwind-icons/user.svg +2 -1
- package/tailwind-icons/users.svg +5 -0
- package/tailwind-icons/variable.svg +5 -0
- package/tailwind-icons/video-camera-slash.svg +5 -0
- package/tailwind-icons/video-camera.svg +5 -0
- package/tailwind-icons/view-columns.svg +5 -0
- package/tailwind-icons/viewfinder-circle.svg +5 -0
- package/tailwind-icons/wallet.svg +2 -1
- package/tailwind-icons/wifi.svg +5 -0
- package/tailwind-icons/window.svg +5 -0
- package/tailwind-icons/wrench-screwdriver.svg +5 -0
- package/tailwind-icons/wrench.svg +5 -0
- package/tailwind-icons/x-circle.svg +5 -0
- package/tailwind-icons/x-mark.svg +5 -0
- package/types/angular-tailwind-components.d.ts +103 -24
- package/tailwind-icons/4k.svg +0 -4
- package/tailwind-icons/accessibility.svg +0 -4
- package/tailwind-icons/accumulator.svg +0 -4
- package/tailwind-icons/add-circle.svg +0 -4
- package/tailwind-icons/add-folder.svg +0 -4
- package/tailwind-icons/add-square.svg +0 -4
- package/tailwind-icons/adhesive-plaster-2.svg +0 -4
- package/tailwind-icons/adhesive-plaster.svg +0 -4
- package/tailwind-icons/airbuds-case-charge.svg +0 -4
- package/tailwind-icons/airbuds-case-minimalistic.svg +0 -4
- package/tailwind-icons/airbuds-case-open.svg +0 -4
- package/tailwind-icons/airbuds-case.svg +0 -4
- package/tailwind-icons/airbuds-charge.svg +0 -4
- package/tailwind-icons/airbuds-check.svg +0 -4
- package/tailwind-icons/airbuds-left.svg +0 -4
- package/tailwind-icons/airbuds-remove.svg +0 -4
- package/tailwind-icons/airbuds-right.svg +0 -4
- package/tailwind-icons/airbuds.svg +0 -4
- package/tailwind-icons/alarm-add.svg +0 -4
- package/tailwind-icons/alarm-pause.svg +0 -4
- package/tailwind-icons/alarm-play.svg +0 -4
- package/tailwind-icons/alarm-remove.svg +0 -4
- package/tailwind-icons/alarm-sleep.svg +0 -4
- package/tailwind-icons/alarm-turn-off.svg +0 -4
- package/tailwind-icons/alarm.svg +0 -4
- package/tailwind-icons/album.svg +0 -4
- package/tailwind-icons/align-bottom.svg +0 -4
- package/tailwind-icons/align-horizonta-spacing.svg +0 -4
- package/tailwind-icons/align-horizontal-center.svg +0 -4
- package/tailwind-icons/align-left.svg +0 -4
- package/tailwind-icons/align-right.svg +0 -4
- package/tailwind-icons/align-top.svg +0 -4
- package/tailwind-icons/align-vertical-center.svg +0 -4
- package/tailwind-icons/align-vertical-spacing.svg +0 -4
- package/tailwind-icons/alt-arrow-down.svg +0 -4
- package/tailwind-icons/alt-arrow-left.svg +0 -4
- package/tailwind-icons/alt-arrow-right.svg +0 -4
- package/tailwind-icons/alt-arrow-up.svg +0 -4
- package/tailwind-icons/archive-check.svg +0 -4
- package/tailwind-icons/archive-down-minimlistic.svg +0 -4
- package/tailwind-icons/archive-down.svg +0 -4
- package/tailwind-icons/archive-minimalistic.svg +0 -4
- package/tailwind-icons/archive-up-minimlistic.svg +0 -4
- package/tailwind-icons/archive-up.svg +0 -4
- package/tailwind-icons/archive.svg +0 -4
- package/tailwind-icons/armchair-2.svg +0 -4
- package/tailwind-icons/armchair.svg +0 -4
- package/tailwind-icons/arrow-left-down.svg +0 -4
- package/tailwind-icons/arrow-left-up.svg +0 -4
- package/tailwind-icons/arrow-right-down.svg +0 -4
- package/tailwind-icons/arrow-right-up.svg +0 -4
- package/tailwind-icons/arrow-to-down-left.svg +0 -4
- package/tailwind-icons/arrow-to-down-right.svg +0 -4
- package/tailwind-icons/arrow-to-top-left.svg +0 -4
- package/tailwind-icons/arrow-to-top-right.svg +0 -4
- package/tailwind-icons/asteroid.svg +0 -4
- package/tailwind-icons/atom.svg +0 -4
- package/tailwind-icons/augmented-reality.svg +0 -4
- package/tailwind-icons/backpack.svg +0 -4
- package/tailwind-icons/bacteria.svg +0 -4
- package/tailwind-icons/bag-2.svg +0 -4
- package/tailwind-icons/bag-3.svg +0 -4
- package/tailwind-icons/bag-4.svg +0 -4
- package/tailwind-icons/bag-5.svg +0 -4
- package/tailwind-icons/bag-check.svg +0 -4
- package/tailwind-icons/bag-cross.svg +0 -4
- package/tailwind-icons/bag-heart.svg +0 -4
- package/tailwind-icons/bag-music-2.svg +0 -4
- package/tailwind-icons/bag-music.svg +0 -4
- package/tailwind-icons/bag-smile.svg +0 -4
- package/tailwind-icons/bag.svg +0 -4
- package/tailwind-icons/balloon.svg +0 -4
- package/tailwind-icons/balls.svg +0 -4
- package/tailwind-icons/banknote-2.svg +0 -4
- package/tailwind-icons/banknote.svg +0 -4
- package/tailwind-icons/bar-chair.svg +0 -4
- package/tailwind-icons/basketball.svg +0 -4
- package/tailwind-icons/bath.svg +0 -4
- package/tailwind-icons/battery-charge-minimalistic.svg +0 -4
- package/tailwind-icons/battery-charge.svg +0 -4
- package/tailwind-icons/battery-full-minimalistic.svg +0 -4
- package/tailwind-icons/battery-full.svg +0 -4
- package/tailwind-icons/battery-half-minimalistic.svg +0 -4
- package/tailwind-icons/battery-half.svg +0 -4
- package/tailwind-icons/battery-low-minimalistic.svg +0 -4
- package/tailwind-icons/battery-low.svg +0 -4
- package/tailwind-icons/bed.svg +0 -4
- package/tailwind-icons/bedside-table-2.svg +0 -4
- package/tailwind-icons/bedside-table-3.svg +0 -4
- package/tailwind-icons/bedside-table-4.svg +0 -4
- package/tailwind-icons/bedside-table.svg +0 -4
- package/tailwind-icons/bell-bing.svg +0 -4
- package/tailwind-icons/bell-off.svg +0 -4
- package/tailwind-icons/benzene-ring.svg +0 -4
- package/tailwind-icons/bicycling-round.svg +0 -4
- package/tailwind-icons/bicycling.svg +0 -4
- package/tailwind-icons/bill-check.svg +0 -4
- package/tailwind-icons/bill-cross.svg +0 -4
- package/tailwind-icons/bill-list.svg +0 -4
- package/tailwind-icons/bill.svg +0 -4
- package/tailwind-icons/black-hole-2.svg +0 -4
- package/tailwind-icons/black-hole-3.svg +0 -4
- package/tailwind-icons/black-hole.svg +0 -4
- package/tailwind-icons/bluetooth-circle.svg +0 -4
- package/tailwind-icons/bluetooth-square.svg +0 -4
- package/tailwind-icons/bluetooth-wave.svg +0 -4
- package/tailwind-icons/bluetooth.svg +0 -4
- package/tailwind-icons/body-shape-minimalistic.svg +0 -4
- package/tailwind-icons/body-shape.svg +0 -4
- package/tailwind-icons/body.svg +0 -4
- package/tailwind-icons/bolt-circle.svg +0 -4
- package/tailwind-icons/bomb-emoji.svg +0 -4
- package/tailwind-icons/bomb-minimalistic.svg +0 -4
- package/tailwind-icons/bomb.svg +0 -4
- package/tailwind-icons/bone-broken.svg +0 -4
- package/tailwind-icons/bone-crack.svg +0 -4
- package/tailwind-icons/bone.svg +0 -4
- package/tailwind-icons/bones.svg +0 -4
- package/tailwind-icons/bonfire.svg +0 -4
- package/tailwind-icons/book-2.svg +0 -4
- package/tailwind-icons/book-bookmark-minimalistic.svg +0 -4
- package/tailwind-icons/book-bookmark.svg +0 -4
- package/tailwind-icons/book-minimalistic.svg +0 -4
- package/tailwind-icons/book.svg +0 -4
- package/tailwind-icons/bookmark-circle.svg +0 -4
- package/tailwind-icons/bookmark-opened.svg +0 -4
- package/tailwind-icons/bookmark-square-minimalistic.svg +0 -4
- package/tailwind-icons/boombox.svg +0 -4
- package/tailwind-icons/bottle.svg +0 -4
- package/tailwind-icons/bowling.svg +0 -4
- package/tailwind-icons/box-minimalistic.svg +0 -4
- package/tailwind-icons/box.svg +0 -4
- package/tailwind-icons/branching-paths-down.svg +0 -4
- package/tailwind-icons/branching-paths-up.svg +0 -4
- package/tailwind-icons/broom.svg +0 -4
- package/tailwind-icons/bug-minimalistic.svg +0 -4
- package/tailwind-icons/bug.svg +0 -4
- package/tailwind-icons/buildings-2.svg +0 -4
- package/tailwind-icons/buildings-3.svg +0 -4
- package/tailwind-icons/buildings.svg +0 -4
- package/tailwind-icons/bus.svg +0 -4
- package/tailwind-icons/calculator-minimalistic.svg +0 -4
- package/tailwind-icons/calendar-add.svg +0 -4
- package/tailwind-icons/calendar-date.svg +0 -4
- package/tailwind-icons/calendar-mark.svg +0 -4
- package/tailwind-icons/calendar-minimalistic.svg +0 -4
- package/tailwind-icons/calendar-search.svg +0 -4
- package/tailwind-icons/call-cancel-rounded.svg +0 -4
- package/tailwind-icons/call-cancel.svg +0 -4
- package/tailwind-icons/call-chat-rounded.svg +0 -4
- package/tailwind-icons/call-chat.svg +0 -4
- package/tailwind-icons/call-dropped-rounded.svg +0 -4
- package/tailwind-icons/call-dropped.svg +0 -4
- package/tailwind-icons/call-medicine-rounded.svg +0 -4
- package/tailwind-icons/call-medicine.svg +0 -4
- package/tailwind-icons/camera-add.svg +0 -4
- package/tailwind-icons/camera-minimalistic.svg +0 -4
- package/tailwind-icons/camera-rotate.svg +0 -4
- package/tailwind-icons/camera-square.svg +0 -4
- package/tailwind-icons/card-2.svg +0 -4
- package/tailwind-icons/card-recive.svg +0 -4
- package/tailwind-icons/card-search.svg +0 -4
- package/tailwind-icons/card-send.svg +0 -4
- package/tailwind-icons/card-transfer.svg +0 -4
- package/tailwind-icons/card.svg +0 -4
- package/tailwind-icons/cardholder.svg +0 -4
- package/tailwind-icons/cart-2.svg +0 -4
- package/tailwind-icons/cart-3.svg +0 -4
- package/tailwind-icons/cart-4.svg +0 -4
- package/tailwind-icons/cart-5.svg +0 -4
- package/tailwind-icons/cart-check.svg +0 -4
- package/tailwind-icons/cart-cross.svg +0 -4
- package/tailwind-icons/cart-large-2.svg +0 -4
- package/tailwind-icons/cart-large-3.svg +0 -4
- package/tailwind-icons/cart-large-4.svg +0 -4
- package/tailwind-icons/cart-large-minimalistic.svg +0 -4
- package/tailwind-icons/cart-large.svg +0 -4
- package/tailwind-icons/cart-plus.svg +0 -4
- package/tailwind-icons/cart.svg +0 -4
- package/tailwind-icons/case-minimalistic.svg +0 -4
- package/tailwind-icons/case-round-minimalistic.svg +0 -4
- package/tailwind-icons/case-round.svg +0 -4
- package/tailwind-icons/case.svg +0 -4
- package/tailwind-icons/cash-out.svg +0 -4
- package/tailwind-icons/cassette-2.svg +0 -4
- package/tailwind-icons/cassette.svg +0 -4
- package/tailwind-icons/cat.svg +0 -4
- package/tailwind-icons/chair-2.svg +0 -4
- package/tailwind-icons/chair.svg +0 -4
- package/tailwind-icons/chandelier.svg +0 -4
- package/tailwind-icons/chart-2.svg +0 -4
- package/tailwind-icons/chart-square.svg +0 -4
- package/tailwind-icons/chart.svg +0 -4
- package/tailwind-icons/chat-dots.svg +0 -4
- package/tailwind-icons/chat-line.svg +0 -4
- package/tailwind-icons/chat-round-call.svg +0 -4
- package/tailwind-icons/chat-round-check.svg +0 -4
- package/tailwind-icons/chat-round-dots.svg +0 -4
- package/tailwind-icons/chat-round-like.svg +0 -4
- package/tailwind-icons/chat-round-line.svg +0 -4
- package/tailwind-icons/chat-round-money.svg +0 -4
- package/tailwind-icons/chat-round-unread.svg +0 -4
- package/tailwind-icons/chat-round-video.svg +0 -4
- package/tailwind-icons/chat-round.svg +0 -4
- package/tailwind-icons/chat-square-2.svg +0 -4
- package/tailwind-icons/chat-square-arrow.svg +0 -4
- package/tailwind-icons/chat-square-call.svg +0 -4
- package/tailwind-icons/chat-square-check.svg +0 -4
- package/tailwind-icons/chat-square-code.svg +0 -4
- package/tailwind-icons/chat-square-like.svg +0 -4
- package/tailwind-icons/chat-square.svg +0 -4
- package/tailwind-icons/chat-unread.svg +0 -4
- package/tailwind-icons/check-read.svg +0 -4
- package/tailwind-icons/check-square.svg +0 -4
- package/tailwind-icons/checklist-minimalistic.svg +0 -4
- package/tailwind-icons/checklist.svg +0 -4
- package/tailwind-icons/chef-hat-heart.svg +0 -4
- package/tailwind-icons/chef-hat-minimalistic.svg +0 -4
- package/tailwind-icons/chef-hat.svg +0 -4
- package/tailwind-icons/circle-bottom-down.svg +0 -4
- package/tailwind-icons/circle-bottom-up.svg +0 -4
- package/tailwind-icons/circle-top-down.svg +0 -4
- package/tailwind-icons/circle-top-up.svg +0 -4
- package/tailwind-icons/city.svg +0 -4
- package/tailwind-icons/clapperboard-edit.svg +0 -4
- package/tailwind-icons/clapperboard-open-play.svg +0 -4
- package/tailwind-icons/clapperboard-open.svg +0 -4
- package/tailwind-icons/clapperboard-play.svg +0 -4
- package/tailwind-icons/clapperboard-text.svg +0 -4
- package/tailwind-icons/clapperboard.svg +0 -4
- package/tailwind-icons/clipboard-add.svg +0 -4
- package/tailwind-icons/clipboard-check.svg +0 -4
- package/tailwind-icons/clipboard-heart.svg +0 -4
- package/tailwind-icons/clipboard-list.svg +0 -4
- package/tailwind-icons/clipboard-remove.svg +0 -4
- package/tailwind-icons/clipboard-text.svg +0 -4
- package/tailwind-icons/clock-circle.svg +0 -4
- package/tailwind-icons/clock-square.svg +0 -4
- package/tailwind-icons/close-circle.svg +0 -4
- package/tailwind-icons/close-square.svg +0 -4
- package/tailwind-icons/closet-2.svg +0 -4
- package/tailwind-icons/closet.svg +0 -4
- package/tailwind-icons/cloud-bolt-minimalistic.svg +0 -4
- package/tailwind-icons/cloud-bolt.svg +0 -4
- package/tailwind-icons/cloud-check.svg +0 -4
- package/tailwind-icons/cloud-cross.svg +0 -4
- package/tailwind-icons/cloud-download.svg +0 -4
- package/tailwind-icons/cloud-file.svg +0 -4
- package/tailwind-icons/cloud-minus.svg +0 -4
- package/tailwind-icons/cloud-plus.svg +0 -4
- package/tailwind-icons/cloud-rain.svg +0 -4
- package/tailwind-icons/cloud-snowfall-minimalistic.svg +0 -4
- package/tailwind-icons/cloud-snowfall.svg +0 -4
- package/tailwind-icons/cloud-storage.svg +0 -4
- package/tailwind-icons/cloud-storm.svg +0 -4
- package/tailwind-icons/cloud-sun-2.svg +0 -4
- package/tailwind-icons/cloud-sun.svg +0 -4
- package/tailwind-icons/cloud-upload.svg +0 -4
- package/tailwind-icons/cloud-waterdrop.svg +0 -4
- package/tailwind-icons/cloud-waterdrops.svg +0 -4
- package/tailwind-icons/clouds.svg +0 -4
- package/tailwind-icons/cloudy-moon.svg +0 -4
- package/tailwind-icons/code-2.svg +0 -4
- package/tailwind-icons/code-circle.svg +0 -4
- package/tailwind-icons/code-file.svg +0 -4
- package/tailwind-icons/code-scan.svg +0 -4
- package/tailwind-icons/code-square.svg +0 -4
- package/tailwind-icons/code.svg +0 -4
- package/tailwind-icons/colour-tuneing.svg +0 -4
- package/tailwind-icons/command.svg +0 -4
- package/tailwind-icons/compass-big.svg +0 -4
- package/tailwind-icons/compass-square.svg +0 -4
- package/tailwind-icons/compass.svg +0 -4
- package/tailwind-icons/condicioner-2.svg +0 -4
- package/tailwind-icons/condicioner.svg +0 -4
- package/tailwind-icons/confetti-minimalistic.svg +0 -4
- package/tailwind-icons/confetti.svg +0 -4
- package/tailwind-icons/confounded-circle.svg +0 -4
- package/tailwind-icons/confounded-square.svg +0 -4
- package/tailwind-icons/copy.svg +0 -4
- package/tailwind-icons/copyright.svg +0 -4
- package/tailwind-icons/corkscrew.svg +0 -4
- package/tailwind-icons/cosmetic.svg +0 -4
- package/tailwind-icons/course-down.svg +0 -4
- package/tailwind-icons/course-up.svg +0 -4
- package/tailwind-icons/cpu-bolt.svg +0 -4
- package/tailwind-icons/cpu.svg +0 -4
- package/tailwind-icons/creative-commons.svg +0 -4
- package/tailwind-icons/crop-minimalistic.svg +0 -4
- package/tailwind-icons/crop.svg +0 -4
- package/tailwind-icons/crown-line.svg +0 -4
- package/tailwind-icons/crown-minimalistic.svg +0 -4
- package/tailwind-icons/crown-star.svg +0 -4
- package/tailwind-icons/crown.svg +0 -4
- package/tailwind-icons/cup-first.svg +0 -4
- package/tailwind-icons/cup-hot.svg +0 -4
- package/tailwind-icons/cup-music.svg +0 -4
- package/tailwind-icons/cup-paper.svg +0 -4
- package/tailwind-icons/cup-star.svg +0 -4
- package/tailwind-icons/cup.svg +0 -4
- package/tailwind-icons/cursor-square.svg +0 -4
- package/tailwind-icons/cursor.svg +0 -4
- package/tailwind-icons/danger-circle.svg +0 -4
- package/tailwind-icons/danger-square.svg +0 -4
- package/tailwind-icons/danger-triangle.svg +0 -4
- package/tailwind-icons/danger.svg +0 -4
- package/tailwind-icons/database.svg +0 -4
- package/tailwind-icons/delivery.svg +0 -4
- package/tailwind-icons/devices.svg +0 -4
- package/tailwind-icons/diagram-down.svg +0 -4
- package/tailwind-icons/diagram-up.svg +0 -4
- package/tailwind-icons/dialog-2.svg +0 -4
- package/tailwind-icons/dialog.svg +0 -4
- package/tailwind-icons/diploma-verified.svg +0 -4
- package/tailwind-icons/diploma.svg +0 -4
- package/tailwind-icons/diskette.svg +0 -4
- package/tailwind-icons/dislike.svg +0 -4
- package/tailwind-icons/display.svg +0 -4
- package/tailwind-icons/dna.svg +0 -4
- package/tailwind-icons/document-add.svg +0 -4
- package/tailwind-icons/document-medicine.svg +0 -4
- package/tailwind-icons/documents-minimalistic.svg +0 -4
- package/tailwind-icons/documents.svg +0 -4
- package/tailwind-icons/dollar-minimalistic.svg +0 -4
- package/tailwind-icons/dollar.svg +0 -4
- package/tailwind-icons/donut-bitten.svg +0 -4
- package/tailwind-icons/donut.svg +0 -4
- package/tailwind-icons/double-alt-arrow-down.svg +0 -4
- package/tailwind-icons/double-alt-arrow-left.svg +0 -4
- package/tailwind-icons/double-alt-arrow-right.svg +0 -4
- package/tailwind-icons/double-alt-arrow-up.svg +0 -4
- package/tailwind-icons/download-minimalistic.svg +0 -4
- package/tailwind-icons/download-square.svg +0 -4
- package/tailwind-icons/download-twice-square.svg +0 -4
- package/tailwind-icons/download.svg +0 -4
- package/tailwind-icons/dropper-2.svg +0 -4
- package/tailwind-icons/dropper-3.svg +0 -4
- package/tailwind-icons/dropper-minimalistic-2.svg +0 -4
- package/tailwind-icons/dropper-minimalistic.svg +0 -4
- package/tailwind-icons/dropper.svg +0 -4
- package/tailwind-icons/dumbbell-large-minimalistic.svg +0 -4
- package/tailwind-icons/dumbbell-large.svg +0 -4
- package/tailwind-icons/dumbbell-small.svg +0 -4
- package/tailwind-icons/dumbbell.svg +0 -4
- package/tailwind-icons/dumbbells-2.svg +0 -4
- package/tailwind-icons/dumbbells.svg +0 -4
- package/tailwind-icons/earth.svg +0 -4
- package/tailwind-icons/electric-refueling.svg +0 -4
- package/tailwind-icons/emoji-funny-circle.svg +0 -4
- package/tailwind-icons/emoji-funny-square.svg +0 -4
- package/tailwind-icons/end-call-rounded.svg +0 -4
- package/tailwind-icons/end-call.svg +0 -4
- package/tailwind-icons/eraser-circle.svg +0 -4
- package/tailwind-icons/eraser-square.svg +0 -4
- package/tailwind-icons/eraser.svg +0 -4
- package/tailwind-icons/euro.svg +0 -4
- package/tailwind-icons/exit.svg +0 -4
- package/tailwind-icons/explicit.svg +0 -4
- package/tailwind-icons/export.svg +0 -4
- package/tailwind-icons/expressionless-circle.svg +0 -4
- package/tailwind-icons/expressionless-square.svg +0 -4
- package/tailwind-icons/eye-closed.svg +0 -4
- package/tailwind-icons/eye-scan.svg +0 -4
- package/tailwind-icons/face-scan-circle.svg +0 -4
- package/tailwind-icons/face-scan-square.svg +0 -4
- package/tailwind-icons/facemask-circle.svg +0 -4
- package/tailwind-icons/facemask-square.svg +0 -4
- package/tailwind-icons/feed.svg +0 -4
- package/tailwind-icons/ferris-wheel.svg +0 -4
- package/tailwind-icons/figma-file.svg +0 -4
- package/tailwind-icons/figma.svg +0 -4
- package/tailwind-icons/file-check.svg +0 -4
- package/tailwind-icons/file-corrupted.svg +0 -4
- package/tailwind-icons/file-download.svg +0 -4
- package/tailwind-icons/file-favourite.svg +0 -4
- package/tailwind-icons/file-left.svg +0 -4
- package/tailwind-icons/file-remove.svg +0 -4
- package/tailwind-icons/file-right.svg +0 -4
- package/tailwind-icons/file-send.svg +0 -4
- package/tailwind-icons/file-smile.svg +0 -4
- package/tailwind-icons/file-text.svg +0 -4
- package/tailwind-icons/file.svg +0 -4
- package/tailwind-icons/filter.svg +0 -4
- package/tailwind-icons/filters.svg +0 -4
- package/tailwind-icons/fire-minimalistic.svg +0 -4
- package/tailwind-icons/fire-square.svg +0 -4
- package/tailwind-icons/flag-2.svg +0 -4
- package/tailwind-icons/flame.svg +0 -4
- package/tailwind-icons/flash-drive.svg +0 -4
- package/tailwind-icons/flashlight-on.svg +0 -4
- package/tailwind-icons/flashlight.svg +0 -4
- package/tailwind-icons/flip-horizontal.svg +0 -4
- package/tailwind-icons/flip-vertical.svg +0 -4
- package/tailwind-icons/floor-lamp-minimalistic.svg +0 -4
- package/tailwind-icons/floor-lamp.svg +0 -4
- package/tailwind-icons/fog.svg +0 -4
- package/tailwind-icons/folder-2.svg +0 -4
- package/tailwind-icons/folder-check.svg +0 -4
- package/tailwind-icons/folder-cloud.svg +0 -4
- package/tailwind-icons/folder-error.svg +0 -4
- package/tailwind-icons/folder-favourite-bookmark.svg +0 -4
- package/tailwind-icons/folder-favourite-star.svg +0 -4
- package/tailwind-icons/folder-path-connect.svg +0 -4
- package/tailwind-icons/folder-security.svg +0 -4
- package/tailwind-icons/folder-with-files.svg +0 -4
- package/tailwind-icons/football.svg +0 -4
- package/tailwind-icons/forbidden-circle.svg +0 -4
- package/tailwind-icons/forbidden.svg +0 -4
- package/tailwind-icons/forward-2.svg +0 -4
- package/tailwind-icons/fridge.svg +0 -4
- package/tailwind-icons/fuel.svg +0 -4
- package/tailwind-icons/full-screen-circle.svg +0 -4
- package/tailwind-icons/full-screen-square.svg +0 -4
- package/tailwind-icons/full-screen.svg +0 -4
- package/tailwind-icons/gallery-add.svg +0 -4
- package/tailwind-icons/gallery-check.svg +0 -4
- package/tailwind-icons/gallery-circle.svg +0 -4
- package/tailwind-icons/gallery-download.svg +0 -4
- package/tailwind-icons/gallery-edit.svg +0 -4
- package/tailwind-icons/gallery-favourite.svg +0 -4
- package/tailwind-icons/gallery-minimalistic.svg +0 -4
- package/tailwind-icons/gallery-remove.svg +0 -4
- package/tailwind-icons/gallery-round.svg +0 -4
- package/tailwind-icons/gallery-send.svg +0 -4
- package/tailwind-icons/gallery-wide.svg +0 -4
- package/tailwind-icons/gallery.svg +0 -4
- package/tailwind-icons/gameboy.svg +0 -4
- package/tailwind-icons/gamepad-charge.svg +0 -4
- package/tailwind-icons/gamepad-minimalistic.svg +0 -4
- package/tailwind-icons/gamepad-no-charge.svg +0 -4
- package/tailwind-icons/gamepad-old.svg +0 -4
- package/tailwind-icons/gamepad.svg +0 -4
- package/tailwind-icons/garage.svg +0 -4
- package/tailwind-icons/gas-station.svg +0 -4
- package/tailwind-icons/ghost-smile.svg +0 -4
- package/tailwind-icons/ghost.svg +0 -4
- package/tailwind-icons/glasses.svg +0 -4
- package/tailwind-icons/global.svg +0 -4
- package/tailwind-icons/globus.svg +0 -4
- package/tailwind-icons/golf.svg +0 -4
- package/tailwind-icons/gps.svg +0 -4
- package/tailwind-icons/graph-down-new.svg +0 -4
- package/tailwind-icons/graph-down.svg +0 -4
- package/tailwind-icons/graph-new-up.svg +0 -4
- package/tailwind-icons/graph-new.svg +0 -4
- package/tailwind-icons/graph-up.svg +0 -4
- package/tailwind-icons/graph.svg +0 -4
- package/tailwind-icons/hamburger-menu.svg +0 -4
- package/tailwind-icons/hand-heart.svg +0 -4
- package/tailwind-icons/hand-money.svg +0 -4
- package/tailwind-icons/hand-pills.svg +0 -4
- package/tailwind-icons/hand-shake.svg +0 -4
- package/tailwind-icons/hand-stars.svg +0 -4
- package/tailwind-icons/hanger-2.svg +0 -4
- package/tailwind-icons/hanger.svg +0 -4
- package/tailwind-icons/hashtag-chat.svg +0 -4
- package/tailwind-icons/hashtag-circle.svg +0 -4
- package/tailwind-icons/hashtag-square.svg +0 -4
- package/tailwind-icons/headphones-round-sound.svg +0 -4
- package/tailwind-icons/headphones-round.svg +0 -4
- package/tailwind-icons/headphones-square-sound.svg +0 -4
- package/tailwind-icons/headphones-square.svg +0 -4
- package/tailwind-icons/health.svg +0 -4
- package/tailwind-icons/heart-angle.svg +0 -4
- package/tailwind-icons/heart-broken.svg +0 -4
- package/tailwind-icons/heart-lock.svg +0 -4
- package/tailwind-icons/heart-pulse-2.svg +0 -4
- package/tailwind-icons/heart-pulse.svg +0 -4
- package/tailwind-icons/heart-shine.svg +0 -4
- package/tailwind-icons/heart-unlock.svg +0 -4
- package/tailwind-icons/hearts.svg +0 -4
- package/tailwind-icons/help.svg +0 -4
- package/tailwind-icons/high-definition.svg +0 -4
- package/tailwind-icons/high-quality.svg +0 -4
- package/tailwind-icons/hiking-minimalistic.svg +0 -4
- package/tailwind-icons/hiking-round.svg +0 -4
- package/tailwind-icons/hiking.svg +0 -4
- package/tailwind-icons/history-2.svg +0 -4
- package/tailwind-icons/history-3.svg +0 -4
- package/tailwind-icons/history.svg +0 -4
- package/tailwind-icons/home-2.svg +0 -4
- package/tailwind-icons/home-add-angle.svg +0 -4
- package/tailwind-icons/home-add.svg +0 -4
- package/tailwind-icons/home-angle-2.svg +0 -4
- package/tailwind-icons/home-angle.svg +0 -4
- package/tailwind-icons/home-smile-angle.svg +0 -4
- package/tailwind-icons/home-smile.svg +0 -4
- package/tailwind-icons/home-wifi-angle.svg +0 -4
- package/tailwind-icons/home-wifi.svg +0 -4
- package/tailwind-icons/hospital.svg +0 -4
- package/tailwind-icons/hourglass-line.svg +0 -4
- package/tailwind-icons/hourglass.svg +0 -4
- package/tailwind-icons/import.svg +0 -4
- package/tailwind-icons/inbox-archive.svg +0 -4
- package/tailwind-icons/inbox-in.svg +0 -4
- package/tailwind-icons/inbox-line.svg +0 -4
- package/tailwind-icons/inbox-out.svg +0 -4
- package/tailwind-icons/inbox-unread.svg +0 -4
- package/tailwind-icons/incognito.svg +0 -4
- package/tailwind-icons/incoming-call-rounded.svg +0 -4
- package/tailwind-icons/incoming-call.svg +0 -4
- package/tailwind-icons/infinity.svg +0 -4
- package/tailwind-icons/info-circle.svg +0 -4
- package/tailwind-icons/info-square.svg +0 -4
- package/tailwind-icons/iphone.svg +0 -4
- package/tailwind-icons/jar-of-pills-2.svg +0 -4
- package/tailwind-icons/jar-of-pills.svg +0 -4
- package/tailwind-icons/key-minimalistic-2.svg +0 -4
- package/tailwind-icons/key-minimalistic-square-2.svg +0 -4
- package/tailwind-icons/key-minimalistic-square-3.svg +0 -4
- package/tailwind-icons/key-minimalistic-square.svg +0 -4
- package/tailwind-icons/key-minimalistic.svg +0 -4
- package/tailwind-icons/key-square-2.svg +0 -4
- package/tailwind-icons/key-square.svg +0 -4
- package/tailwind-icons/keyboard.svg +0 -4
- package/tailwind-icons/kick-scooter.svg +0 -4
- package/tailwind-icons/ladle.svg +0 -4
- package/tailwind-icons/lamp.svg +0 -4
- package/tailwind-icons/laptop-2.svg +0 -4
- package/tailwind-icons/laptop-3.svg +0 -4
- package/tailwind-icons/laptop-minimalistic.svg +0 -4
- package/tailwind-icons/laptop.svg +0 -4
- package/tailwind-icons/layers-minimalistic.svg +0 -4
- package/tailwind-icons/layers.svg +0 -4
- package/tailwind-icons/leaf.svg +0 -4
- package/tailwind-icons/letter-opened.svg +0 -4
- package/tailwind-icons/letter-unread.svg +0 -4
- package/tailwind-icons/letter.svg +0 -4
- package/tailwind-icons/library.svg +0 -4
- package/tailwind-icons/lightbulb-bolt.svg +0 -4
- package/tailwind-icons/lightbulb-minimalistic.svg +0 -4
- package/tailwind-icons/lightbulb.svg +0 -4
- package/tailwind-icons/lightning.svg +0 -4
- package/tailwind-icons/like.svg +0 -4
- package/tailwind-icons/link-broken-minimalistic.svg +0 -4
- package/tailwind-icons/link-broken.svg +0 -4
- package/tailwind-icons/link-circle.svg +0 -4
- package/tailwind-icons/link-minimalistic-2.svg +0 -4
- package/tailwind-icons/link-minimalistic.svg +0 -4
- package/tailwind-icons/link-round-angle.svg +0 -4
- package/tailwind-icons/link-round.svg +0 -4
- package/tailwind-icons/link-square.svg +0 -4
- package/tailwind-icons/list-arrow-down-minimalistic.svg +0 -4
- package/tailwind-icons/list-arrow-down.svg +0 -4
- package/tailwind-icons/list-arrow-up-minimalistic.svg +0 -4
- package/tailwind-icons/list-arrow-up.svg +0 -4
- package/tailwind-icons/list-check-minimalistic.svg +0 -4
- package/tailwind-icons/list-check.svg +0 -4
- package/tailwind-icons/list-cross-minimalistic.svg +0 -4
- package/tailwind-icons/list-cross.svg +0 -4
- package/tailwind-icons/list-down-minimalistic.svg +0 -4
- package/tailwind-icons/list-down.svg +0 -4
- package/tailwind-icons/list-heart-minimalistic.svg +0 -4
- package/tailwind-icons/list-heart.svg +0 -4
- package/tailwind-icons/list-up-minimalistic.svg +0 -4
- package/tailwind-icons/list-up.svg +0 -4
- package/tailwind-icons/list.svg +0 -4
- package/tailwind-icons/lock-keyhole-minimalistic-unlocked.svg +0 -4
- package/tailwind-icons/lock-keyhole-minimalistic.svg +0 -4
- package/tailwind-icons/lock-keyhole-unlocked.svg +0 -4
- package/tailwind-icons/lock-keyhole.svg +0 -4
- package/tailwind-icons/lock-password-unlocked.svg +0 -4
- package/tailwind-icons/lock-password.svg +0 -4
- package/tailwind-icons/lock-unlocked.svg +0 -4
- package/tailwind-icons/lock.svg +0 -4
- package/tailwind-icons/login-2.svg +0 -4
- package/tailwind-icons/login-3.svg +0 -4
- package/tailwind-icons/login.svg +0 -4
- package/tailwind-icons/logout-2.svg +0 -4
- package/tailwind-icons/logout-3.svg +0 -4
- package/tailwind-icons/logout.svg +0 -4
- package/tailwind-icons/magic-stick-2.svg +0 -4
- package/tailwind-icons/magic-stick-3.svg +0 -4
- package/tailwind-icons/magic-stick.svg +0 -4
- package/tailwind-icons/magnet-wave.svg +0 -4
- package/tailwind-icons/magnet.svg +0 -4
- package/tailwind-icons/magnifer-bug.svg +0 -4
- package/tailwind-icons/magnifer-zoom-in.svg +0 -4
- package/tailwind-icons/magnifer-zoom-out.svg +0 -4
- package/tailwind-icons/magnifer.svg +0 -4
- package/tailwind-icons/mailbox.svg +0 -4
- package/tailwind-icons/map-arrow-down.svg +0 -4
- package/tailwind-icons/map-arrow-left.svg +0 -4
- package/tailwind-icons/map-arrow-right.svg +0 -4
- package/tailwind-icons/map-arrow-square.svg +0 -4
- package/tailwind-icons/map-arrow-up.svg +0 -4
- package/tailwind-icons/map-point-add.svg +0 -4
- package/tailwind-icons/map-point-favourite.svg +0 -4
- package/tailwind-icons/map-point-hospital.svg +0 -4
- package/tailwind-icons/map-point-remove.svg +0 -4
- package/tailwind-icons/map-point-rotate.svg +0 -4
- package/tailwind-icons/map-point-school.svg +0 -4
- package/tailwind-icons/map-point-search.svg +0 -4
- package/tailwind-icons/map-point-wave.svg +0 -4
- package/tailwind-icons/map-point.svg +0 -4
- package/tailwind-icons/mask-happly.svg +0 -4
- package/tailwind-icons/mask-sad.svg +0 -4
- package/tailwind-icons/masks.svg +0 -4
- package/tailwind-icons/maximize-square-2.svg +0 -4
- package/tailwind-icons/maximize-square-3.svg +0 -4
- package/tailwind-icons/maximize-square-minimalistic.svg +0 -4
- package/tailwind-icons/maximize-square.svg +0 -4
- package/tailwind-icons/maximize.svg +0 -4
- package/tailwind-icons/medal-ribbon-star.svg +0 -4
- package/tailwind-icons/medal-ribbon.svg +0 -4
- package/tailwind-icons/medal-ribbons-star.svg +0 -4
- package/tailwind-icons/medal-star-circle.svg +0 -4
- package/tailwind-icons/medal-star-square.svg +0 -4
- package/tailwind-icons/medal-star.svg +0 -4
- package/tailwind-icons/medical-kit.svg +0 -4
- package/tailwind-icons/meditation-round.svg +0 -4
- package/tailwind-icons/meditation.svg +0 -4
- package/tailwind-icons/men.svg +0 -4
- package/tailwind-icons/mention-circle.svg +0 -4
- package/tailwind-icons/mention-square.svg +0 -4
- package/tailwind-icons/menu-dots-circle.svg +0 -4
- package/tailwind-icons/menu-dots-square.svg +0 -4
- package/tailwind-icons/menu-dots.svg +0 -4
- package/tailwind-icons/microphone-2.svg +0 -4
- package/tailwind-icons/microphone-3.svg +0 -4
- package/tailwind-icons/microphone-large.svg +0 -4
- package/tailwind-icons/minimalistic-magnifer-bug.svg +0 -4
- package/tailwind-icons/minimalistic-magnifer-zoom-in.svg +0 -4
- package/tailwind-icons/minimalistic-magnifer-zoom-out.svg +0 -4
- package/tailwind-icons/minimalistic-magnifer.svg +0 -4
- package/tailwind-icons/minimize-square-2.svg +0 -4
- package/tailwind-icons/minimize-square-3.svg +0 -4
- package/tailwind-icons/minimize-square-minimalistic.svg +0 -4
- package/tailwind-icons/minimize-square.svg +0 -4
- package/tailwind-icons/minimize.svg +0 -4
- package/tailwind-icons/minus-square.svg +0 -4
- package/tailwind-icons/mirror-left.svg +0 -4
- package/tailwind-icons/mirror-right.svg +0 -4
- package/tailwind-icons/mirror.svg +0 -4
- package/tailwind-icons/money-bag.svg +0 -4
- package/tailwind-icons/monitor-camera.svg +0 -4
- package/tailwind-icons/monitor-smartphone.svg +0 -4
- package/tailwind-icons/monitor.svg +0 -4
- package/tailwind-icons/moon-fog.svg +0 -4
- package/tailwind-icons/moon-sleep.svg +0 -4
- package/tailwind-icons/moon-stars.svg +0 -4
- package/tailwind-icons/mouse-circle.svg +0 -4
- package/tailwind-icons/mouse-minimalistic.svg +0 -4
- package/tailwind-icons/mouse.svg +0 -4
- package/tailwind-icons/move-to-folder.svg +0 -4
- package/tailwind-icons/multiple-forward-left.svg +0 -4
- package/tailwind-icons/multiple-forward-right.svg +0 -4
- package/tailwind-icons/music-library-2.svg +0 -4
- package/tailwind-icons/music-library.svg +0 -4
- package/tailwind-icons/music-note-2.svg +0 -4
- package/tailwind-icons/music-note-3.svg +0 -4
- package/tailwind-icons/music-note-4.svg +0 -4
- package/tailwind-icons/music-note-slider-2.svg +0 -4
- package/tailwind-icons/music-note-slider.svg +0 -4
- package/tailwind-icons/music-note.svg +0 -4
- package/tailwind-icons/music-notes.svg +0 -4
- package/tailwind-icons/muted.svg +0 -4
- package/tailwind-icons/notebook-bookmark.svg +0 -4
- package/tailwind-icons/notebook-minimalistic.svg +0 -4
- package/tailwind-icons/notebook-square.svg +0 -4
- package/tailwind-icons/notebook.svg +0 -4
- package/tailwind-icons/notes-minimalistic.svg +0 -4
- package/tailwind-icons/notes.svg +0 -4
- package/tailwind-icons/notification-lines-remove.svg +0 -4
- package/tailwind-icons/notification-remove.svg +0 -4
- package/tailwind-icons/notification-unread-lines.svg +0 -4
- package/tailwind-icons/notification-unread.svg +0 -4
- package/tailwind-icons/object-scan.svg +0 -4
- package/tailwind-icons/outgoing-call-rounded.svg +0 -4
- package/tailwind-icons/outgoing-call.svg +0 -4
- package/tailwind-icons/oven-mitts-minimalistic.svg +0 -4
- package/tailwind-icons/oven-mitts.svg +0 -4
- package/tailwind-icons/paint-roller.svg +0 -4
- package/tailwind-icons/palette-round.svg +0 -4
- package/tailwind-icons/palette.svg +0 -4
- package/tailwind-icons/pallete-2.svg +0 -4
- package/tailwind-icons/panorama.svg +0 -4
- package/tailwind-icons/paper-bin.svg +0 -4
- package/tailwind-icons/paperclip-2.svg +0 -4
- package/tailwind-icons/paperclip-rounded-2.svg +0 -4
- package/tailwind-icons/paperclip-rounded.svg +0 -4
- package/tailwind-icons/paperclip.svg +0 -4
- package/tailwind-icons/paragraph-spacing.svg +0 -4
- package/tailwind-icons/passport-minimalistic.svg +0 -4
- package/tailwind-icons/passport.svg +0 -4
- package/tailwind-icons/password-minimalistic-input.svg +0 -4
- package/tailwind-icons/password-minimalistic.svg +0 -4
- package/tailwind-icons/password.svg +0 -4
- package/tailwind-icons/paw.svg +0 -4
- package/tailwind-icons/pen-2.svg +0 -4
- package/tailwind-icons/pen-new-round.svg +0 -4
- package/tailwind-icons/pen-new-square.svg +0 -4
- package/tailwind-icons/pen.svg +0 -4
- package/tailwind-icons/people-nearby.svg +0 -4
- package/tailwind-icons/perfume.svg +0 -4
- package/tailwind-icons/phone-calling-rounded.svg +0 -4
- package/tailwind-icons/phone-calling.svg +0 -4
- package/tailwind-icons/phone-rounded.svg +0 -4
- package/tailwind-icons/pie-chart-2.svg +0 -4
- package/tailwind-icons/pie-chart-3.svg +0 -4
- package/tailwind-icons/pie-chart.svg +0 -4
- package/tailwind-icons/pill.svg +0 -4
- package/tailwind-icons/pills-2.svg +0 -4
- package/tailwind-icons/pills-3.svg +0 -4
- package/tailwind-icons/pills.svg +0 -4
- package/tailwind-icons/pin-circle.svg +0 -4
- package/tailwind-icons/pin-list.svg +0 -4
- package/tailwind-icons/pin.svg +0 -4
- package/tailwind-icons/pip-2.svg +0 -4
- package/tailwind-icons/pip.svg +0 -4
- package/tailwind-icons/pipette.svg +0 -4
- package/tailwind-icons/plaaylist-minimalistic.svg +0 -4
- package/tailwind-icons/plain-2.svg +0 -4
- package/tailwind-icons/plain-3.svg +0 -4
- package/tailwind-icons/plain.svg +0 -4
- package/tailwind-icons/planet-2.svg +0 -4
- package/tailwind-icons/planet-3.svg +0 -4
- package/tailwind-icons/planet-4.svg +0 -4
- package/tailwind-icons/planet.svg +0 -4
- package/tailwind-icons/plate.svg +0 -4
- package/tailwind-icons/play-stream.svg +0 -4
- package/tailwind-icons/playback-speed.svg +0 -4
- package/tailwind-icons/playlist-2.svg +0 -4
- package/tailwind-icons/playlist-minimalistic-2.svg +0 -4
- package/tailwind-icons/playlist-minimalistic-3.svg +0 -4
- package/tailwind-icons/playlist.svg +0 -4
- package/tailwind-icons/plug-circle.svg +0 -4
- package/tailwind-icons/plus-minus.svg +0 -4
- package/tailwind-icons/podcast.svg +0 -4
- package/tailwind-icons/point-on-map-perspective.svg +0 -4
- package/tailwind-icons/point-on-map.svg +0 -4
- package/tailwind-icons/posts-carousel-horizontal.svg +0 -4
- package/tailwind-icons/posts-carousel-vertical.svg +0 -4
- package/tailwind-icons/presentation-graph.svg +0 -4
- package/tailwind-icons/printer-2.svg +0 -4
- package/tailwind-icons/printer-minimalistic.svg +0 -4
- package/tailwind-icons/programming.svg +0 -4
- package/tailwind-icons/projector.svg +0 -4
- package/tailwind-icons/pulse-2.svg +0 -4
- package/tailwind-icons/pulse.svg +0 -4
- package/tailwind-icons/question-circle.svg +0 -4
- package/tailwind-icons/question-square.svg +0 -4
- package/tailwind-icons/quit-full-screen-circle.svg +0 -4
- package/tailwind-icons/quit-full-screen-square.svg +0 -4
- package/tailwind-icons/quit-full-screen.svg +0 -4
- package/tailwind-icons/quit-pip.svg +0 -4
- package/tailwind-icons/radar-2.svg +0 -4
- package/tailwind-icons/radar.svg +0 -4
- package/tailwind-icons/radial-blur.svg +0 -4
- package/tailwind-icons/radio-minimalistic.svg +0 -4
- package/tailwind-icons/ranking.svg +0 -4
- package/tailwind-icons/recive-square.svg +0 -4
- package/tailwind-icons/recive-twice-square.svg +0 -4
- package/tailwind-icons/record-circle.svg +0 -4
- package/tailwind-icons/record-minimalistic.svg +0 -4
- package/tailwind-icons/record-square.svg +0 -4
- package/tailwind-icons/record.svg +0 -4
- package/tailwind-icons/reel-2.svg +0 -4
- package/tailwind-icons/reel.svg +0 -4
- package/tailwind-icons/refresh-circle.svg +0 -4
- package/tailwind-icons/refresh-square.svg +0 -4
- package/tailwind-icons/refresh.svg +0 -4
- package/tailwind-icons/remote-controller-2.svg +0 -4
- package/tailwind-icons/remote-controller-minimalistic.svg +0 -4
- package/tailwind-icons/remote-controller.svg +0 -4
- package/tailwind-icons/remove-folder.svg +0 -4
- package/tailwind-icons/reorder.svg +0 -4
- package/tailwind-icons/repeat-one-minimalistic.svg +0 -4
- package/tailwind-icons/repeat-one.svg +0 -4
- package/tailwind-icons/repeat.svg +0 -4
- package/tailwind-icons/reply-2.svg +0 -4
- package/tailwind-icons/reply.svg +0 -4
- package/tailwind-icons/restart-circle.svg +0 -4
- package/tailwind-icons/restart-square.svg +0 -4
- package/tailwind-icons/restart.svg +0 -4
- package/tailwind-icons/revote.svg +0 -4
- package/tailwind-icons/rewind-10-seconds-back.svg +0 -4
- package/tailwind-icons/rewind-10-seconds-forward.svg +0 -4
- package/tailwind-icons/rewind-15-seconds-back.svg +0 -4
- package/tailwind-icons/rewind-15-seconds-forward.svg +0 -4
- package/tailwind-icons/rewind-5-seconds-back.svg +0 -4
- package/tailwind-icons/rewind-5-seconds-forward.svg +0 -4
- package/tailwind-icons/rewind-back-circle.svg +0 -4
- package/tailwind-icons/rewind-back.svg +0 -4
- package/tailwind-icons/rewind-forward-circle.svg +0 -4
- package/tailwind-icons/rewind-forward.svg +0 -4
- package/tailwind-icons/rocket-2.svg +0 -4
- package/tailwind-icons/rocket.svg +0 -4
- package/tailwind-icons/rolling-pin.svg +0 -4
- package/tailwind-icons/round-alt-arrow-down.svg +0 -4
- package/tailwind-icons/round-alt-arrow-left.svg +0 -4
- package/tailwind-icons/round-alt-arrow-right.svg +0 -4
- package/tailwind-icons/round-alt-arrow-up.svg +0 -4
- package/tailwind-icons/round-arrow-down.svg +0 -4
- package/tailwind-icons/round-arrow-left-down.svg +0 -4
- package/tailwind-icons/round-arrow-left-up.svg +0 -4
- package/tailwind-icons/round-arrow-left.svg +0 -4
- package/tailwind-icons/round-arrow-right-down.svg +0 -4
- package/tailwind-icons/round-arrow-right-up.svg +0 -4
- package/tailwind-icons/round-arrow-right.svg +0 -4
- package/tailwind-icons/round-arrow-up.svg +0 -4
- package/tailwind-icons/round-double-alt-arrow-down.svg +0 -4
- package/tailwind-icons/round-double-alt-arrow-left.svg +0 -4
- package/tailwind-icons/round-double-alt-arrow-right.svg +0 -4
- package/tailwind-icons/round-double-alt-arrow-up.svg +0 -4
- package/tailwind-icons/round-graph.svg +0 -4
- package/tailwind-icons/round-sort-horizontal.svg +0 -4
- package/tailwind-icons/round-sort-vertical.svg +0 -4
- package/tailwind-icons/round-transfer-diagonal.svg +0 -4
- package/tailwind-icons/round-transfer-horizontal.svg +0 -4
- package/tailwind-icons/round-transfer-vertical.svg +0 -4
- package/tailwind-icons/rounded-magnifer-bug.svg +0 -4
- package/tailwind-icons/rounded-magnifer-zoom-in.svg +0 -4
- package/tailwind-icons/rounded-magnifer-zoom-out.svg +0 -4
- package/tailwind-icons/rounded-magnifer.svg +0 -4
- package/tailwind-icons/route.svg +0 -4
- package/tailwind-icons/routing-2.svg +0 -4
- package/tailwind-icons/routing-3.svg +0 -4
- package/tailwind-icons/routing.svg +0 -4
- package/tailwind-icons/ruble.svg +0 -4
- package/tailwind-icons/rugby.svg +0 -4
- package/tailwind-icons/ruler-angular.svg +0 -4
- package/tailwind-icons/ruler-cross-pen.svg +0 -4
- package/tailwind-icons/ruler-pen.svg +0 -4
- package/tailwind-icons/ruler.svg +0 -4
- package/tailwind-icons/running-2.svg +0 -4
- package/tailwind-icons/running-round.svg +0 -4
- package/tailwind-icons/running.svg +0 -4
- package/tailwind-icons/sad-circle.svg +0 -4
- package/tailwind-icons/sad-square.svg +0 -4
- package/tailwind-icons/safe-2.svg +0 -4
- package/tailwind-icons/safe-circle.svg +0 -4
- package/tailwind-icons/safe-square.svg +0 -4
- package/tailwind-icons/sale-square.svg +0 -4
- package/tailwind-icons/sale.svg +0 -4
- package/tailwind-icons/satellite.svg +0 -4
- package/tailwind-icons/scanner-2.svg +0 -4
- package/tailwind-icons/scanner.svg +0 -4
- package/tailwind-icons/scissors-square.svg +0 -4
- package/tailwind-icons/scooter.svg +0 -4
- package/tailwind-icons/screen-share.svg +0 -4
- package/tailwind-icons/screencast-2.svg +0 -4
- package/tailwind-icons/screencast.svg +0 -4
- package/tailwind-icons/sd-card.svg +0 -4
- package/tailwind-icons/send-square.svg +0 -4
- package/tailwind-icons/send-twice-square.svg +0 -4
- package/tailwind-icons/server-2.svg +0 -4
- package/tailwind-icons/server-minimalistic.svg +0 -4
- package/tailwind-icons/server-path.svg +0 -4
- package/tailwind-icons/server-square-cloud.svg +0 -4
- package/tailwind-icons/server-square-update.svg +0 -4
- package/tailwind-icons/server-square.svg +0 -4
- package/tailwind-icons/settings-minimalistic.svg +0 -4
- package/tailwind-icons/settings.svg +0 -4
- package/tailwind-icons/share-circle.svg +0 -4
- package/tailwind-icons/shield-cross.svg +0 -4
- package/tailwind-icons/shield-keyhole-minimalistic.svg +0 -4
- package/tailwind-icons/shield-keyhole.svg +0 -4
- package/tailwind-icons/shield-minimalistic.svg +0 -4
- package/tailwind-icons/shield-minus.svg +0 -4
- package/tailwind-icons/shield-network.svg +0 -4
- package/tailwind-icons/shield-plus.svg +0 -4
- package/tailwind-icons/shield-star.svg +0 -4
- package/tailwind-icons/shield-up.svg +0 -4
- package/tailwind-icons/shield-user.svg +0 -4
- package/tailwind-icons/shield-warning.svg +0 -4
- package/tailwind-icons/shield.svg +0 -4
- package/tailwind-icons/shock-absorber.svg +0 -4
- package/tailwind-icons/shop-2.svg +0 -4
- package/tailwind-icons/shop-minimalistic.svg +0 -4
- package/tailwind-icons/shop.svg +0 -4
- package/tailwind-icons/shuffle.svg +0 -4
- package/tailwind-icons/sidebar-code.svg +0 -4
- package/tailwind-icons/sidebar-minimalistic.svg +0 -4
- package/tailwind-icons/siderbar.svg +0 -4
- package/tailwind-icons/signpost-2.svg +0 -4
- package/tailwind-icons/signpost.svg +0 -4
- package/tailwind-icons/sim-card-minimalistic.svg +0 -4
- package/tailwind-icons/sim-card.svg +0 -4
- package/tailwind-icons/sim-cards.svg +0 -4
- package/tailwind-icons/siren-rounded.svg +0 -4
- package/tailwind-icons/siren.svg +0 -4
- package/tailwind-icons/skateboard.svg +0 -4
- package/tailwind-icons/skateboarding-round.svg +0 -4
- package/tailwind-icons/skateboarding.svg +0 -4
- package/tailwind-icons/skip-next.svg +0 -4
- package/tailwind-icons/skip-previous.svg +0 -4
- package/tailwind-icons/skirt.svg +0 -4
- package/tailwind-icons/slash-circle.svg +0 -4
- package/tailwind-icons/slash-square.svg +0 -4
- package/tailwind-icons/sledgehammer.svg +0 -4
- package/tailwind-icons/sleeping-circle.svg +0 -4
- package/tailwind-icons/sleeping-square.svg +0 -4
- package/tailwind-icons/sleeping.svg +0 -4
- package/tailwind-icons/slider-horizontal.svg +0 -4
- package/tailwind-icons/slider-minimalistic-horizontal.svg +0 -4
- package/tailwind-icons/slider-vertical-minimalistic.svg +0 -4
- package/tailwind-icons/slider-vertical.svg +0 -4
- package/tailwind-icons/smart-home-angle.svg +0 -4
- package/tailwind-icons/smart-home.svg +0 -4
- package/tailwind-icons/smart-speaker-2.svg +0 -4
- package/tailwind-icons/smart-speaker-minimalistic.svg +0 -4
- package/tailwind-icons/smart-speaker.svg +0 -4
- package/tailwind-icons/smart-vacuum-cleaner-2.svg +0 -4
- package/tailwind-icons/smart-vacuum-cleaner.svg +0 -4
- package/tailwind-icons/smartphone-2.svg +0 -4
- package/tailwind-icons/smartphone-rotate-2.svg +0 -4
- package/tailwind-icons/smartphone-rotate-angle.svg +0 -4
- package/tailwind-icons/smartphone-rotate-orientation.svg +0 -4
- package/tailwind-icons/smartphone-update.svg +0 -4
- package/tailwind-icons/smartphone-vibration.svg +0 -4
- package/tailwind-icons/smartphone.svg +0 -4
- package/tailwind-icons/smile-circle.svg +0 -4
- package/tailwind-icons/smile-square.svg +0 -4
- package/tailwind-icons/snowflake.svg +0 -4
- package/tailwind-icons/socket.svg +0 -4
- package/tailwind-icons/sofa-2.svg +0 -4
- package/tailwind-icons/sofa-3.svg +0 -4
- package/tailwind-icons/sofa.svg +0 -4
- package/tailwind-icons/sort-by-alphabet.svg +0 -4
- package/tailwind-icons/sort-by-time.svg +0 -4
- package/tailwind-icons/sort-from-bottom-to-top.svg +0 -4
- package/tailwind-icons/sort-from-top-to-bottom.svg +0 -4
- package/tailwind-icons/sort-horizontal.svg +0 -4
- package/tailwind-icons/sort-vertical.svg +0 -4
- package/tailwind-icons/sort.svg +0 -4
- package/tailwind-icons/soundwave-circle.svg +0 -4
- package/tailwind-icons/soundwave-square.svg +0 -4
- package/tailwind-icons/soundwave.svg +0 -4
- package/tailwind-icons/speaker-minimalistic.svg +0 -4
- package/tailwind-icons/speaker.svg +0 -4
- package/tailwind-icons/special-effects.svg +0 -4
- package/tailwind-icons/spedometer-low.svg +0 -4
- package/tailwind-icons/spedometer-max.svg +0 -4
- package/tailwind-icons/spedometer-middle.svg +0 -4
- package/tailwind-icons/square-academic-cap-2.svg +0 -4
- package/tailwind-icons/square-academic-cap.svg +0 -4
- package/tailwind-icons/square-alt-arrow-down.svg +0 -4
- package/tailwind-icons/square-alt-arrow-left.svg +0 -4
- package/tailwind-icons/square-alt-arrow-right.svg +0 -4
- package/tailwind-icons/square-alt-arrow-up.svg +0 -4
- package/tailwind-icons/square-arrow-down.svg +0 -4
- package/tailwind-icons/square-arrow-left-down.svg +0 -4
- package/tailwind-icons/square-arrow-left-up.svg +0 -4
- package/tailwind-icons/square-arrow-left.svg +0 -4
- package/tailwind-icons/square-arrow-right-down.svg +0 -4
- package/tailwind-icons/square-arrow-right-up.svg +0 -4
- package/tailwind-icons/square-arrow-right.svg +0 -4
- package/tailwind-icons/square-arrow-up.svg +0 -4
- package/tailwind-icons/square-bottom-down.svg +0 -4
- package/tailwind-icons/square-bottom-up.svg +0 -4
- package/tailwind-icons/square-double-alt-arrow-down.svg +0 -4
- package/tailwind-icons/square-double-alt-arrow-left.svg +0 -4
- package/tailwind-icons/square-double-alt-arrow-right.svg +0 -4
- package/tailwind-icons/square-double-alt-arrow-up.svg +0 -4
- package/tailwind-icons/square-forward.svg +0 -4
- package/tailwind-icons/square-share-line.svg +0 -4
- package/tailwind-icons/square-sort-horizontal.svg +0 -4
- package/tailwind-icons/square-sort-vertical.svg +0 -4
- package/tailwind-icons/square-top-down.svg +0 -4
- package/tailwind-icons/square-top-up.svg +0 -4
- package/tailwind-icons/square-transfer-horizontal.svg +0 -4
- package/tailwind-icons/square-transfer-vertical.svg +0 -4
- package/tailwind-icons/ssd-round.svg +0 -4
- package/tailwind-icons/ssd-square.svg +0 -4
- package/tailwind-icons/star-angle.svg +0 -4
- package/tailwind-icons/star-circle.svg +0 -4
- package/tailwind-icons/star-fall-2.svg +0 -4
- package/tailwind-icons/star-fall-minimalistic-2.svg +0 -4
- package/tailwind-icons/star-fall-minimalistic.svg +0 -4
- package/tailwind-icons/star-fall.svg +0 -4
- package/tailwind-icons/star-rainbow.svg +0 -4
- package/tailwind-icons/star-ring.svg +0 -4
- package/tailwind-icons/star-rings.svg +0 -4
- package/tailwind-icons/star-shine.svg +0 -4
- package/tailwind-icons/stars-line.svg +0 -4
- package/tailwind-icons/stars-minimalistic.svg +0 -4
- package/tailwind-icons/stars.svg +0 -4
- package/tailwind-icons/station-minimalistic.svg +0 -4
- package/tailwind-icons/station.svg +0 -4
- package/tailwind-icons/stethoscope.svg +0 -4
- package/tailwind-icons/sticker-circle.svg +0 -4
- package/tailwind-icons/sticker-smile-circle-2.svg +0 -4
- package/tailwind-icons/sticker-smile-circle.svg +0 -4
- package/tailwind-icons/sticker-smile-square.svg +0 -4
- package/tailwind-icons/sticker-square.svg +0 -4
- package/tailwind-icons/stopwatch-pause.svg +0 -4
- package/tailwind-icons/stopwatch-play.svg +0 -4
- package/tailwind-icons/stopwatch.svg +0 -4
- package/tailwind-icons/stream.svg +0 -4
- package/tailwind-icons/streets-map-point.svg +0 -4
- package/tailwind-icons/streets-navigation.svg +0 -4
- package/tailwind-icons/streets.svg +0 -4
- package/tailwind-icons/stretching-round.svg +0 -4
- package/tailwind-icons/stretching.svg +0 -4
- package/tailwind-icons/structure.svg +0 -4
- package/tailwind-icons/subtitles.svg +0 -4
- package/tailwind-icons/suitcase-lines.svg +0 -4
- package/tailwind-icons/suitcase-tag.svg +0 -4
- package/tailwind-icons/suitcase.svg +0 -4
- package/tailwind-icons/sun-2.svg +0 -4
- package/tailwind-icons/sun-fog.svg +0 -4
- package/tailwind-icons/sunrise.svg +0 -4
- package/tailwind-icons/sunset.svg +0 -4
- package/tailwind-icons/suspension-bolt.svg +0 -4
- package/tailwind-icons/suspension-cross.svg +0 -4
- package/tailwind-icons/suspension.svg +0 -4
- package/tailwind-icons/swimming.svg +0 -4
- package/tailwind-icons/syringe.svg +0 -4
- package/tailwind-icons/t-shirt.svg +0 -4
- package/tailwind-icons/tablet.svg +0 -4
- package/tailwind-icons/tag-horizontal.svg +0 -4
- package/tailwind-icons/tag-price.svg +0 -4
- package/tailwind-icons/target.svg +0 -4
- package/tailwind-icons/tea-cup.svg +0 -4
- package/tailwind-icons/telescope.svg +0 -4
- package/tailwind-icons/temperature.svg +0 -4
- package/tailwind-icons/tennis-2.svg +0 -4
- package/tailwind-icons/tennis.svg +0 -4
- package/tailwind-icons/test-tube-minimalistic.svg +0 -4
- package/tailwind-icons/test-tube.svg +0 -4
- package/tailwind-icons/text-bold-circle.svg +0 -4
- package/tailwind-icons/text-bold-square.svg +0 -4
- package/tailwind-icons/text-bold.svg +0 -4
- package/tailwind-icons/text-circle.svg +0 -4
- package/tailwind-icons/text-cross-circle.svg +0 -4
- package/tailwind-icons/text-cross-square.svg +0 -4
- package/tailwind-icons/text-cross.svg +0 -4
- package/tailwind-icons/text-field-focus.svg +0 -4
- package/tailwind-icons/text-field.svg +0 -4
- package/tailwind-icons/text-italic-circle.svg +0 -4
- package/tailwind-icons/text-italic-square.svg +0 -4
- package/tailwind-icons/text-italic.svg +0 -4
- package/tailwind-icons/text-selection.svg +0 -4
- package/tailwind-icons/text-square-2.svg +0 -4
- package/tailwind-icons/text-square.svg +0 -4
- package/tailwind-icons/text-underline-circle.svg +0 -4
- package/tailwind-icons/text-underline-cross.svg +0 -4
- package/tailwind-icons/text-underline.svg +0 -4
- package/tailwind-icons/text.svg +0 -4
- package/tailwind-icons/thermometer.svg +0 -4
- package/tailwind-icons/three-squares.svg +0 -4
- package/tailwind-icons/ticker-star.svg +0 -4
- package/tailwind-icons/ticket-sale.svg +0 -4
- package/tailwind-icons/to-pip.svg +0 -4
- package/tailwind-icons/tornado-small.svg +0 -4
- package/tailwind-icons/tornado.svg +0 -4
- package/tailwind-icons/traffic-economy.svg +0 -4
- package/tailwind-icons/traffic.svg +0 -4
- package/tailwind-icons/tram.svg +0 -4
- package/tailwind-icons/transfer-horizontal.svg +0 -4
- package/tailwind-icons/transfer-vertical.svg +0 -4
- package/tailwind-icons/translation-2.svg +0 -4
- package/tailwind-icons/translation.svg +0 -4
- package/tailwind-icons/transmission-circle.svg +0 -4
- package/tailwind-icons/transmission-square.svg +0 -4
- package/tailwind-icons/transmission.svg +0 -4
- package/tailwind-icons/trash-bin-2.svg +0 -4
- package/tailwind-icons/trash-bin-minimalistic-2.svg +0 -4
- package/tailwind-icons/trash-bin-minimalistic.svg +0 -4
- package/tailwind-icons/trash-bin-trash.svg +0 -4
- package/tailwind-icons/treadmill-round.svg +0 -4
- package/tailwind-icons/treadmill.svg +0 -4
- package/tailwind-icons/trellis.svg +0 -4
- package/tailwind-icons/tuning-2.svg +0 -4
- package/tailwind-icons/tuning-3.svg +0 -4
- package/tailwind-icons/tuning-4.svg +0 -4
- package/tailwind-icons/tuning-square-2.svg +0 -4
- package/tailwind-icons/tuning-square.svg +0 -4
- package/tailwind-icons/tuning.svg +0 -4
- package/tailwind-icons/turntable-minimalistic.svg +0 -4
- package/tailwind-icons/turntable-music-note.svg +0 -4
- package/tailwind-icons/turntable.svg +0 -4
- package/tailwind-icons/ufo-2.svg +0 -4
- package/tailwind-icons/ufo-3.svg +0 -4
- package/tailwind-icons/ufo.svg +0 -4
- package/tailwind-icons/umbrella.svg +0 -4
- package/tailwind-icons/undo-left-round-square.svg +0 -4
- package/tailwind-icons/undo-left-round.svg +0 -4
- package/tailwind-icons/undo-left-square.svg +0 -4
- package/tailwind-icons/undo-left.svg +0 -4
- package/tailwind-icons/undo-right-round-square.svg +0 -4
- package/tailwind-icons/undo-right-round.svg +0 -4
- package/tailwind-icons/undo-right-square.svg +0 -4
- package/tailwind-icons/undo-right.svg +0 -4
- package/tailwind-icons/unread.svg +0 -4
- package/tailwind-icons/upload-minimalistic.svg +0 -4
- package/tailwind-icons/upload-square.svg +0 -4
- package/tailwind-icons/upload-track-2.svg +0 -4
- package/tailwind-icons/upload-track.svg +0 -4
- package/tailwind-icons/upload-twice-square.svg +0 -4
- package/tailwind-icons/upload.svg +0 -4
- package/tailwind-icons/usb-circle.svg +0 -4
- package/tailwind-icons/usb-square.svg +0 -4
- package/tailwind-icons/usb.svg +0 -4
- package/tailwind-icons/user-block-rounded.svg +0 -4
- package/tailwind-icons/user-block.svg +0 -4
- package/tailwind-icons/user-check-rounded.svg +0 -4
- package/tailwind-icons/user-check.svg +0 -4
- package/tailwind-icons/user-cross-rounded.svg +0 -4
- package/tailwind-icons/user-cross.svg +0 -4
- package/tailwind-icons/user-hand-up.svg +0 -4
- package/tailwind-icons/user-hands.svg +0 -4
- package/tailwind-icons/user-heart-rounded.svg +0 -4
- package/tailwind-icons/user-heart.svg +0 -4
- package/tailwind-icons/user-id.svg +0 -4
- package/tailwind-icons/user-minus-rounded.svg +0 -4
- package/tailwind-icons/user-plus-rounded.svg +0 -4
- package/tailwind-icons/user-rounded.svg +0 -4
- package/tailwind-icons/user-speak-rounded.svg +0 -4
- package/tailwind-icons/user-speak.svg +0 -4
- package/tailwind-icons/users-group-rounded.svg +0 -4
- package/tailwind-icons/users-group-two-rounded.svg +0 -4
- package/tailwind-icons/verified-check.svg +0 -4
- package/tailwind-icons/video-frame-2.svg +0 -4
- package/tailwind-icons/video-frame-cut-2.svg +0 -4
- package/tailwind-icons/video-frame-cut.svg +0 -4
- package/tailwind-icons/video-frame-play-horizontal.svg +0 -4
- package/tailwind-icons/video-frame-play-vertical.svg +0 -4
- package/tailwind-icons/video-frame-replace.svg +0 -4
- package/tailwind-icons/video-frame.svg +0 -4
- package/tailwind-icons/video-library.svg +0 -4
- package/tailwind-icons/videocamera-add.svg +0 -4
- package/tailwind-icons/videocamera-record.svg +0 -4
- package/tailwind-icons/videocamera.svg +0 -4
- package/tailwind-icons/vinyl-record.svg +0 -4
- package/tailwind-icons/vinyl.svg +0 -4
- package/tailwind-icons/virus.svg +0 -4
- package/tailwind-icons/volleyball-2.svg +0 -4
- package/tailwind-icons/volleyball.svg +0 -4
- package/tailwind-icons/volume-cross.svg +0 -4
- package/tailwind-icons/volume-knob.svg +0 -4
- package/tailwind-icons/volume-loud.svg +0 -4
- package/tailwind-icons/volume-small.svg +0 -4
- package/tailwind-icons/volume.svg +0 -4
- package/tailwind-icons/wad-of-money.svg +0 -4
- package/tailwind-icons/walking-round.svg +0 -4
- package/tailwind-icons/walking.svg +0 -4
- package/tailwind-icons/wallet-2.svg +0 -4
- package/tailwind-icons/wallet-money.svg +0 -4
- package/tailwind-icons/wallpaper.svg +0 -4
- package/tailwind-icons/washing-machine-minimalistic.svg +0 -4
- package/tailwind-icons/washing-machine.svg +0 -4
- package/tailwind-icons/watch-round.svg +0 -4
- package/tailwind-icons/watch-square-minimalistic-charge.svg +0 -4
- package/tailwind-icons/watch-square-minimalistic.svg +0 -4
- package/tailwind-icons/watch-square.svg +0 -4
- package/tailwind-icons/water-sun.svg +0 -4
- package/tailwind-icons/water.svg +0 -4
- package/tailwind-icons/waterdrop.svg +0 -4
- package/tailwind-icons/waterdrops.svg +0 -4
- package/tailwind-icons/weigher.svg +0 -4
- package/tailwind-icons/wheel-angle.svg +0 -4
- package/tailwind-icons/wheel.svg +0 -4
- package/tailwind-icons/whisk.svg +0 -4
- package/tailwind-icons/wi-fi-router-minimalistic.svg +0 -4
- package/tailwind-icons/wi-fi-router-round.svg +0 -4
- package/tailwind-icons/wi-fi-router.svg +0 -4
- package/tailwind-icons/widget-2.svg +0 -4
- package/tailwind-icons/widget-3.svg +0 -4
- package/tailwind-icons/widget-4.svg +0 -4
- package/tailwind-icons/widget-5.svg +0 -4
- package/tailwind-icons/widget-6.svg +0 -4
- package/tailwind-icons/widget-add.svg +0 -4
- package/tailwind-icons/widget.svg +0 -4
- package/tailwind-icons/wind.svg +0 -4
- package/tailwind-icons/window-frame.svg +0 -4
- package/tailwind-icons/wineglass-triangle.svg +0 -4
- package/tailwind-icons/wineglass.svg +0 -4
- package/tailwind-icons/winrar.svg +0 -4
- package/tailwind-icons/wireless-charge.svg +0 -4
- package/tailwind-icons/women.svg +0 -4
- package/tailwind-icons/xxx.svg +0 -4
- package/tailwind-icons/zip-file.svg +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, Directive, signal, inject, NgZone, ElementRef, viewChild, computed, Component, ViewContainerRef, HostListener, Input, TemplateRef, Renderer2,
|
|
2
|
+
import { input, Directive, signal, inject, NgZone, ElementRef, viewChild, computed, Component, ViewContainerRef, HostListener, Input, TemplateRef, InjectionToken, Renderer2, ApplicationRef, EnvironmentInjector, Injector, DestroyRef, afterNextRender, createComponent, output, model, forwardRef, viewChildren, effect, contentChildren, contentChild, Injectable, booleanAttribute, makeEnvironmentProviders, provideAppInitializer, PLATFORM_ID } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import { DOCUMENT, NgClass, NgTemplateOutlet, formatDate, CommonModule } from '@angular/common';
|
|
4
|
+
import { DOCUMENT, NgClass, NgTemplateOutlet, formatDate, CommonModule, isPlatformBrowser } from '@angular/common';
|
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
6
|
import { Overlay } from '@angular/cdk/overlay';
|
|
7
7
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
@@ -11,1246 +11,336 @@ import { RouterLink } from '@angular/router';
|
|
|
11
11
|
/** Common types used across all components */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Heroicons outline icon names (kebab-case). SVG assets in `public/tailwind-icons/`.
|
|
15
15
|
* Generated by scripts/copy-icons.js sync — do not edit manually.
|
|
16
16
|
*
|
|
17
|
-
* Icons:
|
|
17
|
+
* Icons: Heroicons (Tailwind Labs), MIT — https://heroicons.com/
|
|
18
18
|
*/
|
|
19
|
-
const
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'adhesive-plaster',
|
|
27
|
-
'adhesive-plaster-2',
|
|
28
|
-
'airbuds',
|
|
29
|
-
'airbuds-case',
|
|
30
|
-
'airbuds-case-charge',
|
|
31
|
-
'airbuds-case-minimalistic',
|
|
32
|
-
'airbuds-case-open',
|
|
33
|
-
'airbuds-charge',
|
|
34
|
-
'airbuds-check',
|
|
35
|
-
'airbuds-left',
|
|
36
|
-
'airbuds-remove',
|
|
37
|
-
'airbuds-right',
|
|
38
|
-
'alarm',
|
|
39
|
-
'alarm-add',
|
|
40
|
-
'alarm-pause',
|
|
41
|
-
'alarm-play',
|
|
42
|
-
'alarm-remove',
|
|
43
|
-
'alarm-sleep',
|
|
44
|
-
'alarm-turn-off',
|
|
45
|
-
'album',
|
|
46
|
-
'align-bottom',
|
|
47
|
-
'align-horizonta-spacing',
|
|
48
|
-
'align-horizontal-center',
|
|
49
|
-
'align-left',
|
|
50
|
-
'align-right',
|
|
51
|
-
'align-top',
|
|
52
|
-
'align-vertical-center',
|
|
53
|
-
'align-vertical-spacing',
|
|
54
|
-
'alt-arrow-down',
|
|
55
|
-
'alt-arrow-left',
|
|
56
|
-
'alt-arrow-right',
|
|
57
|
-
'alt-arrow-up',
|
|
58
|
-
'archive',
|
|
59
|
-
'archive-check',
|
|
60
|
-
'archive-down',
|
|
61
|
-
'archive-down-minimlistic',
|
|
62
|
-
'archive-minimalistic',
|
|
63
|
-
'archive-up',
|
|
64
|
-
'archive-up-minimlistic',
|
|
65
|
-
'armchair',
|
|
66
|
-
'armchair-2',
|
|
19
|
+
const TAILWIND_HEROICON_NAMES = [
|
|
20
|
+
'academic-cap',
|
|
21
|
+
'adjustments-horizontal',
|
|
22
|
+
'adjustments-vertical',
|
|
23
|
+
'archive-box',
|
|
24
|
+
'archive-box-arrow-down',
|
|
25
|
+
'archive-box-x-mark',
|
|
67
26
|
'arrow-down',
|
|
27
|
+
'arrow-down-circle',
|
|
28
|
+
'arrow-down-left',
|
|
29
|
+
'arrow-down-on-square',
|
|
30
|
+
'arrow-down-on-square-stack',
|
|
31
|
+
'arrow-down-right',
|
|
32
|
+
'arrow-down-tray',
|
|
68
33
|
'arrow-left',
|
|
69
|
-
'arrow-left-
|
|
70
|
-
'arrow-left-
|
|
34
|
+
'arrow-left-circle',
|
|
35
|
+
'arrow-left-end-on-rectangle',
|
|
36
|
+
'arrow-left-on-rectangle',
|
|
37
|
+
'arrow-left-start-on-rectangle',
|
|
38
|
+
'arrow-long-down',
|
|
39
|
+
'arrow-long-left',
|
|
40
|
+
'arrow-long-right',
|
|
41
|
+
'arrow-long-up',
|
|
42
|
+
'arrow-path',
|
|
43
|
+
'arrow-path-rounded-square',
|
|
71
44
|
'arrow-right',
|
|
72
|
-
'arrow-right-
|
|
73
|
-
'arrow-right-
|
|
74
|
-
'arrow-
|
|
75
|
-
'arrow-
|
|
76
|
-
'arrow-
|
|
77
|
-
'arrow-
|
|
45
|
+
'arrow-right-circle',
|
|
46
|
+
'arrow-right-end-on-rectangle',
|
|
47
|
+
'arrow-right-on-rectangle',
|
|
48
|
+
'arrow-right-start-on-rectangle',
|
|
49
|
+
'arrow-small-down',
|
|
50
|
+
'arrow-small-left',
|
|
51
|
+
'arrow-small-right',
|
|
52
|
+
'arrow-small-up',
|
|
53
|
+
'arrow-top-right-on-square',
|
|
54
|
+
'arrow-trending-down',
|
|
55
|
+
'arrow-trending-up',
|
|
56
|
+
'arrow-turn-down-left',
|
|
57
|
+
'arrow-turn-down-right',
|
|
58
|
+
'arrow-turn-left-down',
|
|
59
|
+
'arrow-turn-left-up',
|
|
60
|
+
'arrow-turn-right-down',
|
|
61
|
+
'arrow-turn-right-up',
|
|
62
|
+
'arrow-turn-up-left',
|
|
63
|
+
'arrow-turn-up-right',
|
|
78
64
|
'arrow-up',
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'
|
|
65
|
+
'arrow-up-circle',
|
|
66
|
+
'arrow-up-left',
|
|
67
|
+
'arrow-up-on-square',
|
|
68
|
+
'arrow-up-on-square-stack',
|
|
69
|
+
'arrow-up-right',
|
|
70
|
+
'arrow-up-tray',
|
|
71
|
+
'arrow-uturn-down',
|
|
72
|
+
'arrow-uturn-left',
|
|
73
|
+
'arrow-uturn-right',
|
|
74
|
+
'arrow-uturn-up',
|
|
75
|
+
'arrows-pointing-in',
|
|
76
|
+
'arrows-pointing-out',
|
|
77
|
+
'arrows-right-left',
|
|
78
|
+
'arrows-up-down',
|
|
79
|
+
'at-symbol',
|
|
83
80
|
'backspace',
|
|
84
|
-
'
|
|
85
|
-
'
|
|
86
|
-
'
|
|
87
|
-
'
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'banknote',
|
|
99
|
-
'banknote-2',
|
|
100
|
-
'bar-chair',
|
|
101
|
-
'basketball',
|
|
102
|
-
'bath',
|
|
103
|
-
'battery-charge',
|
|
104
|
-
'battery-charge-minimalistic',
|
|
105
|
-
'battery-full',
|
|
106
|
-
'battery-full-minimalistic',
|
|
107
|
-
'battery-half',
|
|
108
|
-
'battery-half-minimalistic',
|
|
109
|
-
'battery-low',
|
|
110
|
-
'battery-low-minimalistic',
|
|
111
|
-
'bed',
|
|
112
|
-
'bedside-table',
|
|
113
|
-
'bedside-table-2',
|
|
114
|
-
'bedside-table-3',
|
|
115
|
-
'bedside-table-4',
|
|
81
|
+
'backward',
|
|
82
|
+
'banknotes',
|
|
83
|
+
'bars-2',
|
|
84
|
+
'bars-3',
|
|
85
|
+
'bars-3-bottom-left',
|
|
86
|
+
'bars-3-bottom-right',
|
|
87
|
+
'bars-3-center-left',
|
|
88
|
+
'bars-4',
|
|
89
|
+
'bars-arrow-down',
|
|
90
|
+
'bars-arrow-up',
|
|
91
|
+
'battery-0',
|
|
92
|
+
'battery-100',
|
|
93
|
+
'battery-50',
|
|
94
|
+
'beaker',
|
|
116
95
|
'bell',
|
|
117
|
-
'bell-
|
|
118
|
-
'bell-
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'bicycling-round',
|
|
122
|
-
'bill',
|
|
123
|
-
'bill-check',
|
|
124
|
-
'bill-cross',
|
|
125
|
-
'bill-list',
|
|
126
|
-
'black-hole',
|
|
127
|
-
'black-hole-2',
|
|
128
|
-
'black-hole-3',
|
|
129
|
-
'bluetooth',
|
|
130
|
-
'bluetooth-circle',
|
|
131
|
-
'bluetooth-square',
|
|
132
|
-
'bluetooth-wave',
|
|
133
|
-
'body',
|
|
134
|
-
'body-shape',
|
|
135
|
-
'body-shape-minimalistic',
|
|
96
|
+
'bell-alert',
|
|
97
|
+
'bell-slash',
|
|
98
|
+
'bell-snooze',
|
|
99
|
+
'bold',
|
|
136
100
|
'bolt',
|
|
137
|
-
'bolt-
|
|
138
|
-
'
|
|
139
|
-
'bomb-emoji',
|
|
140
|
-
'bomb-minimalistic',
|
|
141
|
-
'bone',
|
|
142
|
-
'bone-broken',
|
|
143
|
-
'bone-crack',
|
|
144
|
-
'bones',
|
|
145
|
-
'bonfire',
|
|
146
|
-
'book',
|
|
147
|
-
'book-2',
|
|
148
|
-
'book-bookmark',
|
|
149
|
-
'book-bookmark-minimalistic',
|
|
150
|
-
'book-minimalistic',
|
|
101
|
+
'bolt-slash',
|
|
102
|
+
'book-open',
|
|
151
103
|
'bookmark',
|
|
152
|
-
'bookmark-
|
|
153
|
-
'bookmark-opened',
|
|
104
|
+
'bookmark-slash',
|
|
154
105
|
'bookmark-square',
|
|
155
|
-
'
|
|
156
|
-
'
|
|
157
|
-
'
|
|
158
|
-
'
|
|
159
|
-
'
|
|
160
|
-
'
|
|
161
|
-
'
|
|
162
|
-
'branching-paths-up',
|
|
163
|
-
'broom',
|
|
164
|
-
'bug',
|
|
165
|
-
'bug-minimalistic',
|
|
166
|
-
'buildings',
|
|
167
|
-
'buildings-2',
|
|
168
|
-
'buildings-3',
|
|
169
|
-
'bus',
|
|
106
|
+
'briefcase',
|
|
107
|
+
'bug-ant',
|
|
108
|
+
'building-library',
|
|
109
|
+
'building-office',
|
|
110
|
+
'building-office-2',
|
|
111
|
+
'building-storefront',
|
|
112
|
+
'cake',
|
|
170
113
|
'calculator',
|
|
171
|
-
'calculator-minimalistic',
|
|
172
114
|
'calendar',
|
|
173
|
-
'calendar-
|
|
174
|
-
'calendar-
|
|
175
|
-
'calendar-mark',
|
|
176
|
-
'calendar-minimalistic',
|
|
177
|
-
'calendar-search',
|
|
178
|
-
'call-cancel',
|
|
179
|
-
'call-cancel-rounded',
|
|
180
|
-
'call-chat',
|
|
181
|
-
'call-chat-rounded',
|
|
182
|
-
'call-dropped',
|
|
183
|
-
'call-dropped-rounded',
|
|
184
|
-
'call-medicine',
|
|
185
|
-
'call-medicine-rounded',
|
|
115
|
+
'calendar-date-range',
|
|
116
|
+
'calendar-days',
|
|
186
117
|
'camera',
|
|
187
|
-
'
|
|
188
|
-
'
|
|
189
|
-
'
|
|
190
|
-
'
|
|
191
|
-
'
|
|
192
|
-
'
|
|
193
|
-
'
|
|
194
|
-
'
|
|
195
|
-
'
|
|
196
|
-
'
|
|
197
|
-
'
|
|
198
|
-
'
|
|
199
|
-
'cart-2',
|
|
200
|
-
'cart-3',
|
|
201
|
-
'cart-4',
|
|
202
|
-
'cart-5',
|
|
203
|
-
'cart-check',
|
|
204
|
-
'cart-cross',
|
|
205
|
-
'cart-large',
|
|
206
|
-
'cart-large-2',
|
|
207
|
-
'cart-large-3',
|
|
208
|
-
'cart-large-4',
|
|
209
|
-
'cart-large-minimalistic',
|
|
210
|
-
'cart-plus',
|
|
211
|
-
'case',
|
|
212
|
-
'case-minimalistic',
|
|
213
|
-
'case-round',
|
|
214
|
-
'case-round-minimalistic',
|
|
215
|
-
'cash-out',
|
|
216
|
-
'cassette',
|
|
217
|
-
'cassette-2',
|
|
218
|
-
'cat',
|
|
219
|
-
'chair',
|
|
220
|
-
'chair-2',
|
|
221
|
-
'chandelier',
|
|
222
|
-
'chart',
|
|
223
|
-
'chart-2',
|
|
224
|
-
'chart-square',
|
|
225
|
-
'chat-dots',
|
|
226
|
-
'chat-line',
|
|
227
|
-
'chat-round',
|
|
228
|
-
'chat-round-call',
|
|
229
|
-
'chat-round-check',
|
|
230
|
-
'chat-round-dots',
|
|
231
|
-
'chat-round-like',
|
|
232
|
-
'chat-round-line',
|
|
233
|
-
'chat-round-money',
|
|
234
|
-
'chat-round-unread',
|
|
235
|
-
'chat-round-video',
|
|
236
|
-
'chat-square',
|
|
237
|
-
'chat-square-2',
|
|
238
|
-
'chat-square-arrow',
|
|
239
|
-
'chat-square-call',
|
|
240
|
-
'chat-square-check',
|
|
241
|
-
'chat-square-code',
|
|
242
|
-
'chat-square-like',
|
|
243
|
-
'chat-unread',
|
|
118
|
+
'chart-bar',
|
|
119
|
+
'chart-bar-square',
|
|
120
|
+
'chart-pie',
|
|
121
|
+
'chat-bubble-bottom-center',
|
|
122
|
+
'chat-bubble-bottom-center-text',
|
|
123
|
+
'chat-bubble-left',
|
|
124
|
+
'chat-bubble-left-ellipsis',
|
|
125
|
+
'chat-bubble-left-right',
|
|
126
|
+
'chat-bubble-oval-left',
|
|
127
|
+
'chat-bubble-oval-left-ellipsis',
|
|
128
|
+
'check',
|
|
129
|
+
'check-badge',
|
|
244
130
|
'check-circle',
|
|
245
|
-
'
|
|
246
|
-
'
|
|
247
|
-
'
|
|
248
|
-
'
|
|
249
|
-
'
|
|
250
|
-
'
|
|
251
|
-
'
|
|
252
|
-
'
|
|
253
|
-
'
|
|
254
|
-
'circle-
|
|
255
|
-
'circle-top-up',
|
|
256
|
-
'city',
|
|
257
|
-
'clapperboard',
|
|
258
|
-
'clapperboard-edit',
|
|
259
|
-
'clapperboard-open',
|
|
260
|
-
'clapperboard-open-play',
|
|
261
|
-
'clapperboard-play',
|
|
262
|
-
'clapperboard-text',
|
|
131
|
+
'chevron-double-down',
|
|
132
|
+
'chevron-double-left',
|
|
133
|
+
'chevron-double-right',
|
|
134
|
+
'chevron-double-up',
|
|
135
|
+
'chevron-down',
|
|
136
|
+
'chevron-left',
|
|
137
|
+
'chevron-right',
|
|
138
|
+
'chevron-up',
|
|
139
|
+
'chevron-up-down',
|
|
140
|
+
'circle-stack',
|
|
263
141
|
'clipboard',
|
|
264
|
-
'clipboard-
|
|
265
|
-
'clipboard-check',
|
|
266
|
-
'clipboard-
|
|
267
|
-
'
|
|
268
|
-
'clipboard-remove',
|
|
269
|
-
'clipboard-text',
|
|
270
|
-
'clock-circle',
|
|
271
|
-
'clock-square',
|
|
272
|
-
'close-circle',
|
|
273
|
-
'close-square',
|
|
274
|
-
'closet',
|
|
275
|
-
'closet-2',
|
|
142
|
+
'clipboard-document',
|
|
143
|
+
'clipboard-document-check',
|
|
144
|
+
'clipboard-document-list',
|
|
145
|
+
'clock',
|
|
276
146
|
'cloud',
|
|
277
|
-
'cloud-
|
|
278
|
-
'cloud-
|
|
279
|
-
'
|
|
280
|
-
'
|
|
281
|
-
'
|
|
282
|
-
'
|
|
283
|
-
'
|
|
284
|
-
'
|
|
285
|
-
'
|
|
286
|
-
'
|
|
287
|
-
'
|
|
288
|
-
'
|
|
289
|
-
'
|
|
290
|
-
'
|
|
291
|
-
'
|
|
292
|
-
'
|
|
293
|
-
'
|
|
294
|
-
'
|
|
295
|
-
'
|
|
296
|
-
'
|
|
297
|
-
'
|
|
298
|
-
'
|
|
299
|
-
'
|
|
300
|
-
'
|
|
301
|
-
'code-scan',
|
|
302
|
-
'code-square',
|
|
303
|
-
'colour-tuneing',
|
|
304
|
-
'command',
|
|
305
|
-
'compass',
|
|
306
|
-
'compass-big',
|
|
307
|
-
'compass-square',
|
|
308
|
-
'condicioner',
|
|
309
|
-
'condicioner-2',
|
|
310
|
-
'confetti',
|
|
311
|
-
'confetti-minimalistic',
|
|
312
|
-
'confounded-circle',
|
|
313
|
-
'confounded-square',
|
|
314
|
-
'copy',
|
|
315
|
-
'copyright',
|
|
316
|
-
'corkscrew',
|
|
317
|
-
'cosmetic',
|
|
318
|
-
'course-down',
|
|
319
|
-
'course-up',
|
|
320
|
-
'cpu',
|
|
321
|
-
'cpu-bolt',
|
|
322
|
-
'creative-commons',
|
|
323
|
-
'crop',
|
|
324
|
-
'crop-minimalistic',
|
|
325
|
-
'crown',
|
|
326
|
-
'crown-line',
|
|
327
|
-
'crown-minimalistic',
|
|
328
|
-
'crown-star',
|
|
329
|
-
'cup',
|
|
330
|
-
'cup-first',
|
|
331
|
-
'cup-hot',
|
|
332
|
-
'cup-music',
|
|
333
|
-
'cup-paper',
|
|
334
|
-
'cup-star',
|
|
335
|
-
'cursor',
|
|
336
|
-
'cursor-square',
|
|
337
|
-
'danger',
|
|
338
|
-
'danger-circle',
|
|
339
|
-
'danger-square',
|
|
340
|
-
'danger-triangle',
|
|
341
|
-
'database',
|
|
342
|
-
'delivery',
|
|
343
|
-
'devices',
|
|
344
|
-
'diagram-down',
|
|
345
|
-
'diagram-up',
|
|
346
|
-
'dialog',
|
|
347
|
-
'dialog-2',
|
|
348
|
-
'diploma',
|
|
349
|
-
'diploma-verified',
|
|
350
|
-
'diskette',
|
|
351
|
-
'dislike',
|
|
352
|
-
'display',
|
|
353
|
-
'dna',
|
|
147
|
+
'cloud-arrow-down',
|
|
148
|
+
'cloud-arrow-up',
|
|
149
|
+
'code-bracket',
|
|
150
|
+
'code-bracket-square',
|
|
151
|
+
'cog',
|
|
152
|
+
'cog-6-tooth',
|
|
153
|
+
'cog-8-tooth',
|
|
154
|
+
'command-line',
|
|
155
|
+
'computer-desktop',
|
|
156
|
+
'cpu-chip',
|
|
157
|
+
'credit-card',
|
|
158
|
+
'cube',
|
|
159
|
+
'cube-transparent',
|
|
160
|
+
'currency-bangladeshi',
|
|
161
|
+
'currency-dollar',
|
|
162
|
+
'currency-euro',
|
|
163
|
+
'currency-pound',
|
|
164
|
+
'currency-rupee',
|
|
165
|
+
'currency-yen',
|
|
166
|
+
'cursor-arrow-rays',
|
|
167
|
+
'cursor-arrow-ripple',
|
|
168
|
+
'device-phone-mobile',
|
|
169
|
+
'device-tablet',
|
|
170
|
+
'divide',
|
|
354
171
|
'document',
|
|
355
|
-
'document-
|
|
356
|
-
'document-
|
|
172
|
+
'document-arrow-down',
|
|
173
|
+
'document-arrow-up',
|
|
174
|
+
'document-chart-bar',
|
|
175
|
+
'document-check',
|
|
176
|
+
'document-currency-bangladeshi',
|
|
177
|
+
'document-currency-dollar',
|
|
178
|
+
'document-currency-euro',
|
|
179
|
+
'document-currency-pound',
|
|
180
|
+
'document-currency-rupee',
|
|
181
|
+
'document-currency-yen',
|
|
182
|
+
'document-duplicate',
|
|
183
|
+
'document-magnifying-glass',
|
|
184
|
+
'document-minus',
|
|
185
|
+
'document-plus',
|
|
357
186
|
'document-text',
|
|
358
|
-
'
|
|
359
|
-
'
|
|
360
|
-
'
|
|
361
|
-
'
|
|
362
|
-
'
|
|
363
|
-
'
|
|
364
|
-
'
|
|
365
|
-
'
|
|
366
|
-
'double-alt-arrow-right',
|
|
367
|
-
'double-alt-arrow-up',
|
|
368
|
-
'download',
|
|
369
|
-
'download-minimalistic',
|
|
370
|
-
'download-square',
|
|
371
|
-
'download-twice-square',
|
|
372
|
-
'dropper',
|
|
373
|
-
'dropper-2',
|
|
374
|
-
'dropper-3',
|
|
375
|
-
'dropper-minimalistic',
|
|
376
|
-
'dropper-minimalistic-2',
|
|
377
|
-
'dumbbell',
|
|
378
|
-
'dumbbell-large',
|
|
379
|
-
'dumbbell-large-minimalistic',
|
|
380
|
-
'dumbbell-small',
|
|
381
|
-
'dumbbells',
|
|
382
|
-
'dumbbells-2',
|
|
383
|
-
'earth',
|
|
384
|
-
'electric-refueling',
|
|
385
|
-
'emoji-funny-circle',
|
|
386
|
-
'emoji-funny-square',
|
|
387
|
-
'end-call',
|
|
388
|
-
'end-call-rounded',
|
|
389
|
-
'eraser',
|
|
390
|
-
'eraser-circle',
|
|
391
|
-
'eraser-square',
|
|
392
|
-
'euro',
|
|
393
|
-
'exit',
|
|
394
|
-
'explicit',
|
|
395
|
-
'export',
|
|
396
|
-
'expressionless-circle',
|
|
397
|
-
'expressionless-square',
|
|
187
|
+
'ellipsis-horizontal',
|
|
188
|
+
'ellipsis-horizontal-circle',
|
|
189
|
+
'ellipsis-vertical',
|
|
190
|
+
'envelope',
|
|
191
|
+
'envelope-open',
|
|
192
|
+
'equals',
|
|
193
|
+
'exclamation-circle',
|
|
194
|
+
'exclamation-triangle',
|
|
398
195
|
'eye',
|
|
399
|
-
'eye-
|
|
400
|
-
'eye-
|
|
401
|
-
'face-
|
|
402
|
-
'face-
|
|
403
|
-
'
|
|
404
|
-
'
|
|
405
|
-
'feed',
|
|
406
|
-
'ferris-wheel',
|
|
407
|
-
'figma',
|
|
408
|
-
'figma-file',
|
|
409
|
-
'file',
|
|
410
|
-
'file-check',
|
|
411
|
-
'file-corrupted',
|
|
412
|
-
'file-download',
|
|
413
|
-
'file-favourite',
|
|
414
|
-
'file-left',
|
|
415
|
-
'file-remove',
|
|
416
|
-
'file-right',
|
|
417
|
-
'file-send',
|
|
418
|
-
'file-smile',
|
|
419
|
-
'file-text',
|
|
420
|
-
'filter',
|
|
421
|
-
'filters',
|
|
196
|
+
'eye-dropper',
|
|
197
|
+
'eye-slash',
|
|
198
|
+
'face-frown',
|
|
199
|
+
'face-smile',
|
|
200
|
+
'film',
|
|
201
|
+
'finger-print',
|
|
422
202
|
'fire',
|
|
423
|
-
'fire-minimalistic',
|
|
424
|
-
'fire-square',
|
|
425
203
|
'flag',
|
|
426
|
-
'flag-2',
|
|
427
|
-
'flame',
|
|
428
|
-
'flash-drive',
|
|
429
|
-
'flashlight',
|
|
430
|
-
'flashlight-on',
|
|
431
|
-
'flip-horizontal',
|
|
432
|
-
'flip-vertical',
|
|
433
|
-
'floor-lamp',
|
|
434
|
-
'floor-lamp-minimalistic',
|
|
435
|
-
'fog',
|
|
436
204
|
'folder',
|
|
437
|
-
'folder-
|
|
438
|
-
'folder-
|
|
439
|
-
'folder-cloud',
|
|
440
|
-
'folder-error',
|
|
441
|
-
'folder-favourite-bookmark',
|
|
442
|
-
'folder-favourite-star',
|
|
205
|
+
'folder-arrow-down',
|
|
206
|
+
'folder-minus',
|
|
443
207
|
'folder-open',
|
|
444
|
-
'folder-
|
|
445
|
-
'folder-security',
|
|
446
|
-
'folder-with-files',
|
|
447
|
-
'football',
|
|
448
|
-
'forbidden',
|
|
449
|
-
'forbidden-circle',
|
|
208
|
+
'folder-plus',
|
|
450
209
|
'forward',
|
|
451
|
-
'
|
|
452
|
-
'
|
|
453
|
-
'fuel',
|
|
454
|
-
'full-screen',
|
|
455
|
-
'full-screen-circle',
|
|
456
|
-
'full-screen-square',
|
|
457
|
-
'gallery',
|
|
458
|
-
'gallery-add',
|
|
459
|
-
'gallery-check',
|
|
460
|
-
'gallery-circle',
|
|
461
|
-
'gallery-download',
|
|
462
|
-
'gallery-edit',
|
|
463
|
-
'gallery-favourite',
|
|
464
|
-
'gallery-minimalistic',
|
|
465
|
-
'gallery-remove',
|
|
466
|
-
'gallery-round',
|
|
467
|
-
'gallery-send',
|
|
468
|
-
'gallery-wide',
|
|
469
|
-
'gameboy',
|
|
470
|
-
'gamepad',
|
|
471
|
-
'gamepad-charge',
|
|
472
|
-
'gamepad-minimalistic',
|
|
473
|
-
'gamepad-no-charge',
|
|
474
|
-
'gamepad-old',
|
|
475
|
-
'garage',
|
|
476
|
-
'gas-station',
|
|
477
|
-
'ghost',
|
|
478
|
-
'ghost-smile',
|
|
210
|
+
'funnel',
|
|
211
|
+
'gif',
|
|
479
212
|
'gift',
|
|
480
|
-
'
|
|
481
|
-
'
|
|
482
|
-
'
|
|
483
|
-
'
|
|
484
|
-
'
|
|
485
|
-
'
|
|
486
|
-
'
|
|
487
|
-
'
|
|
488
|
-
'
|
|
489
|
-
'
|
|
490
|
-
'
|
|
491
|
-
'hamburger-menu',
|
|
492
|
-
'hand-heart',
|
|
493
|
-
'hand-money',
|
|
494
|
-
'hand-pills',
|
|
495
|
-
'hand-shake',
|
|
496
|
-
'hand-stars',
|
|
497
|
-
'hanger',
|
|
498
|
-
'hanger-2',
|
|
213
|
+
'gift-top',
|
|
214
|
+
'globe-alt',
|
|
215
|
+
'globe-americas',
|
|
216
|
+
'globe-asia-australia',
|
|
217
|
+
'globe-europe-africa',
|
|
218
|
+
'h1',
|
|
219
|
+
'h2',
|
|
220
|
+
'h3',
|
|
221
|
+
'hand-raised',
|
|
222
|
+
'hand-thumb-down',
|
|
223
|
+
'hand-thumb-up',
|
|
499
224
|
'hashtag',
|
|
500
|
-
'hashtag-chat',
|
|
501
|
-
'hashtag-circle',
|
|
502
|
-
'hashtag-square',
|
|
503
|
-
'headphones-round',
|
|
504
|
-
'headphones-round-sound',
|
|
505
|
-
'headphones-square',
|
|
506
|
-
'headphones-square-sound',
|
|
507
|
-
'health',
|
|
508
225
|
'heart',
|
|
509
|
-
'heart-angle',
|
|
510
|
-
'heart-broken',
|
|
511
|
-
'heart-lock',
|
|
512
|
-
'heart-pulse',
|
|
513
|
-
'heart-pulse-2',
|
|
514
|
-
'heart-shine',
|
|
515
|
-
'heart-unlock',
|
|
516
|
-
'hearts',
|
|
517
|
-
'help',
|
|
518
|
-
'high-definition',
|
|
519
|
-
'high-quality',
|
|
520
|
-
'hiking',
|
|
521
|
-
'hiking-minimalistic',
|
|
522
|
-
'hiking-round',
|
|
523
|
-
'history',
|
|
524
|
-
'history-2',
|
|
525
|
-
'history-3',
|
|
526
226
|
'home',
|
|
527
|
-
'home-
|
|
528
|
-
'
|
|
529
|
-
'home-add-angle',
|
|
530
|
-
'home-angle',
|
|
531
|
-
'home-angle-2',
|
|
532
|
-
'home-smile',
|
|
533
|
-
'home-smile-angle',
|
|
534
|
-
'home-wifi',
|
|
535
|
-
'home-wifi-angle',
|
|
536
|
-
'hospital',
|
|
537
|
-
'hourglass',
|
|
538
|
-
'hourglass-line',
|
|
539
|
-
'import',
|
|
227
|
+
'home-modern',
|
|
228
|
+
'identification',
|
|
540
229
|
'inbox',
|
|
541
|
-
'inbox-
|
|
542
|
-
'inbox-
|
|
543
|
-
'
|
|
544
|
-
'
|
|
545
|
-
'inbox-unread',
|
|
546
|
-
'incognito',
|
|
547
|
-
'incoming-call',
|
|
548
|
-
'incoming-call-rounded',
|
|
549
|
-
'infinity',
|
|
550
|
-
'info-circle',
|
|
551
|
-
'info-square',
|
|
552
|
-
'iphone',
|
|
553
|
-
'jar-of-pills',
|
|
554
|
-
'jar-of-pills-2',
|
|
230
|
+
'inbox-arrow-down',
|
|
231
|
+
'inbox-stack',
|
|
232
|
+
'information-circle',
|
|
233
|
+
'italic',
|
|
555
234
|
'key',
|
|
556
|
-
'
|
|
557
|
-
'
|
|
558
|
-
'
|
|
559
|
-
'key-minimalistic-square-2',
|
|
560
|
-
'key-minimalistic-square-3',
|
|
561
|
-
'key-square',
|
|
562
|
-
'key-square-2',
|
|
563
|
-
'keyboard',
|
|
564
|
-
'kick-scooter',
|
|
565
|
-
'ladle',
|
|
566
|
-
'lamp',
|
|
567
|
-
'laptop',
|
|
568
|
-
'laptop-2',
|
|
569
|
-
'laptop-3',
|
|
570
|
-
'laptop-minimalistic',
|
|
571
|
-
'layers',
|
|
572
|
-
'layers-minimalistic',
|
|
573
|
-
'leaf',
|
|
574
|
-
'letter',
|
|
575
|
-
'letter-opened',
|
|
576
|
-
'letter-unread',
|
|
577
|
-
'library',
|
|
578
|
-
'lightbulb',
|
|
579
|
-
'lightbulb-bolt',
|
|
580
|
-
'lightbulb-minimalistic',
|
|
581
|
-
'lightning',
|
|
582
|
-
'like',
|
|
235
|
+
'language',
|
|
236
|
+
'lifebuoy',
|
|
237
|
+
'light-bulb',
|
|
583
238
|
'link',
|
|
584
|
-
'link-
|
|
585
|
-
'
|
|
586
|
-
'
|
|
587
|
-
'
|
|
588
|
-
'
|
|
589
|
-
'
|
|
590
|
-
'
|
|
591
|
-
'
|
|
592
|
-
'list',
|
|
593
|
-
'list-arrow-down',
|
|
594
|
-
'list-arrow-down-minimalistic',
|
|
595
|
-
'list-arrow-up',
|
|
596
|
-
'list-arrow-up-minimalistic',
|
|
597
|
-
'list-check',
|
|
598
|
-
'list-check-minimalistic',
|
|
599
|
-
'list-cross',
|
|
600
|
-
'list-cross-minimalistic',
|
|
601
|
-
'list-down',
|
|
602
|
-
'list-down-minimalistic',
|
|
603
|
-
'list-heart',
|
|
604
|
-
'list-heart-minimalistic',
|
|
605
|
-
'list-up',
|
|
606
|
-
'list-up-minimalistic',
|
|
607
|
-
'lock',
|
|
608
|
-
'lock-keyhole',
|
|
609
|
-
'lock-keyhole-minimalistic',
|
|
610
|
-
'lock-keyhole-minimalistic-unlocked',
|
|
611
|
-
'lock-keyhole-unlocked',
|
|
612
|
-
'lock-password',
|
|
613
|
-
'lock-password-unlocked',
|
|
614
|
-
'lock-unlocked',
|
|
615
|
-
'login',
|
|
616
|
-
'login-2',
|
|
617
|
-
'login-3',
|
|
618
|
-
'logout',
|
|
619
|
-
'logout-2',
|
|
620
|
-
'logout-3',
|
|
621
|
-
'magic-stick',
|
|
622
|
-
'magic-stick-2',
|
|
623
|
-
'magic-stick-3',
|
|
624
|
-
'magnet',
|
|
625
|
-
'magnet-wave',
|
|
626
|
-
'magnifer',
|
|
627
|
-
'magnifer-bug',
|
|
628
|
-
'magnifer-zoom-in',
|
|
629
|
-
'magnifer-zoom-out',
|
|
630
|
-
'mailbox',
|
|
239
|
+
'link-slash',
|
|
240
|
+
'list-bullet',
|
|
241
|
+
'lock-closed',
|
|
242
|
+
'lock-open',
|
|
243
|
+
'magnifying-glass',
|
|
244
|
+
'magnifying-glass-circle',
|
|
245
|
+
'magnifying-glass-minus',
|
|
246
|
+
'magnifying-glass-plus',
|
|
631
247
|
'map',
|
|
632
|
-
'map-
|
|
633
|
-
'
|
|
634
|
-
'map-arrow-right',
|
|
635
|
-
'map-arrow-square',
|
|
636
|
-
'map-arrow-up',
|
|
637
|
-
'map-point',
|
|
638
|
-
'map-point-add',
|
|
639
|
-
'map-point-favourite',
|
|
640
|
-
'map-point-hospital',
|
|
641
|
-
'map-point-remove',
|
|
642
|
-
'map-point-rotate',
|
|
643
|
-
'map-point-school',
|
|
644
|
-
'map-point-search',
|
|
645
|
-
'map-point-wave',
|
|
646
|
-
'mask-happly',
|
|
647
|
-
'mask-sad',
|
|
648
|
-
'masks',
|
|
649
|
-
'maximize',
|
|
650
|
-
'maximize-square',
|
|
651
|
-
'maximize-square-2',
|
|
652
|
-
'maximize-square-3',
|
|
653
|
-
'maximize-square-minimalistic',
|
|
654
|
-
'medal-ribbon',
|
|
655
|
-
'medal-ribbon-star',
|
|
656
|
-
'medal-ribbons-star',
|
|
657
|
-
'medal-star',
|
|
658
|
-
'medal-star-circle',
|
|
659
|
-
'medal-star-square',
|
|
660
|
-
'medical-kit',
|
|
661
|
-
'meditation',
|
|
662
|
-
'meditation-round',
|
|
663
|
-
'men',
|
|
664
|
-
'mention-circle',
|
|
665
|
-
'mention-square',
|
|
666
|
-
'menu-dots',
|
|
667
|
-
'menu-dots-circle',
|
|
668
|
-
'menu-dots-square',
|
|
248
|
+
'map-pin',
|
|
249
|
+
'megaphone',
|
|
669
250
|
'microphone',
|
|
670
|
-
'
|
|
671
|
-
'microphone-3',
|
|
672
|
-
'microphone-large',
|
|
673
|
-
'minimalistic-magnifer',
|
|
674
|
-
'minimalistic-magnifer-bug',
|
|
675
|
-
'minimalistic-magnifer-zoom-in',
|
|
676
|
-
'minimalistic-magnifer-zoom-out',
|
|
677
|
-
'minimize',
|
|
678
|
-
'minimize-square',
|
|
679
|
-
'minimize-square-2',
|
|
680
|
-
'minimize-square-3',
|
|
681
|
-
'minimize-square-minimalistic',
|
|
251
|
+
'minus',
|
|
682
252
|
'minus-circle',
|
|
683
|
-
'minus-
|
|
684
|
-
'mirror',
|
|
685
|
-
'mirror-left',
|
|
686
|
-
'mirror-right',
|
|
687
|
-
'money-bag',
|
|
688
|
-
'monitor',
|
|
689
|
-
'monitor-camera',
|
|
690
|
-
'monitor-smartphone',
|
|
253
|
+
'minus-small',
|
|
691
254
|
'moon',
|
|
692
|
-
'
|
|
693
|
-
'
|
|
694
|
-
'
|
|
695
|
-
'
|
|
696
|
-
'
|
|
697
|
-
'
|
|
698
|
-
'
|
|
699
|
-
'multiple-forward-left',
|
|
700
|
-
'multiple-forward-right',
|
|
701
|
-
'music-library',
|
|
702
|
-
'music-library-2',
|
|
703
|
-
'music-note',
|
|
704
|
-
'music-note-2',
|
|
705
|
-
'music-note-3',
|
|
706
|
-
'music-note-4',
|
|
707
|
-
'music-note-slider',
|
|
708
|
-
'music-note-slider-2',
|
|
709
|
-
'music-notes',
|
|
710
|
-
'muted',
|
|
711
|
-
'notebook',
|
|
712
|
-
'notebook-bookmark',
|
|
713
|
-
'notebook-minimalistic',
|
|
714
|
-
'notebook-square',
|
|
715
|
-
'notes',
|
|
716
|
-
'notes-minimalistic',
|
|
717
|
-
'notification-lines-remove',
|
|
718
|
-
'notification-remove',
|
|
719
|
-
'notification-unread',
|
|
720
|
-
'notification-unread-lines',
|
|
721
|
-
'object-scan',
|
|
722
|
-
'outgoing-call',
|
|
723
|
-
'outgoing-call-rounded',
|
|
724
|
-
'oven-mitts',
|
|
725
|
-
'oven-mitts-minimalistic',
|
|
726
|
-
'paint-roller',
|
|
727
|
-
'palette',
|
|
728
|
-
'palette-round',
|
|
729
|
-
'pallete-2',
|
|
730
|
-
'panorama',
|
|
731
|
-
'paper-bin',
|
|
732
|
-
'paperclip',
|
|
733
|
-
'paperclip-2',
|
|
734
|
-
'paperclip-rounded',
|
|
735
|
-
'paperclip-rounded-2',
|
|
736
|
-
'paragraph-spacing',
|
|
737
|
-
'passport',
|
|
738
|
-
'passport-minimalistic',
|
|
739
|
-
'password',
|
|
740
|
-
'password-minimalistic',
|
|
741
|
-
'password-minimalistic-input',
|
|
255
|
+
'musical-note',
|
|
256
|
+
'newspaper',
|
|
257
|
+
'no-symbol',
|
|
258
|
+
'numbered-list',
|
|
259
|
+
'paint-brush',
|
|
260
|
+
'paper-airplane',
|
|
261
|
+
'paper-clip',
|
|
742
262
|
'pause',
|
|
743
263
|
'pause-circle',
|
|
744
|
-
'
|
|
745
|
-
'
|
|
746
|
-
'
|
|
747
|
-
'pen-new-round',
|
|
748
|
-
'pen-new-square',
|
|
749
|
-
'people-nearby',
|
|
750
|
-
'perfume',
|
|
264
|
+
'pencil',
|
|
265
|
+
'pencil-square',
|
|
266
|
+
'percent-badge',
|
|
751
267
|
'phone',
|
|
752
|
-
'phone-
|
|
753
|
-
'phone-
|
|
754
|
-
'phone-
|
|
755
|
-
'
|
|
756
|
-
'pie-chart-2',
|
|
757
|
-
'pie-chart-3',
|
|
758
|
-
'pill',
|
|
759
|
-
'pills',
|
|
760
|
-
'pills-2',
|
|
761
|
-
'pills-3',
|
|
762
|
-
'pin',
|
|
763
|
-
'pin-circle',
|
|
764
|
-
'pin-list',
|
|
765
|
-
'pip',
|
|
766
|
-
'pip-2',
|
|
767
|
-
'pipette',
|
|
768
|
-
'plaaylist-minimalistic',
|
|
769
|
-
'plain',
|
|
770
|
-
'plain-2',
|
|
771
|
-
'plain-3',
|
|
772
|
-
'planet',
|
|
773
|
-
'planet-2',
|
|
774
|
-
'planet-3',
|
|
775
|
-
'planet-4',
|
|
776
|
-
'plate',
|
|
268
|
+
'phone-arrow-down-left',
|
|
269
|
+
'phone-arrow-up-right',
|
|
270
|
+
'phone-x-mark',
|
|
271
|
+
'photo',
|
|
777
272
|
'play',
|
|
778
273
|
'play-circle',
|
|
779
|
-
'play-
|
|
780
|
-
'
|
|
781
|
-
'
|
|
782
|
-
'
|
|
783
|
-
'playlist-minimalistic-2',
|
|
784
|
-
'playlist-minimalistic-3',
|
|
785
|
-
'plug-circle',
|
|
786
|
-
'plus-minus',
|
|
787
|
-
'podcast',
|
|
788
|
-
'point-on-map',
|
|
789
|
-
'point-on-map-perspective',
|
|
790
|
-
'posts-carousel-horizontal',
|
|
791
|
-
'posts-carousel-vertical',
|
|
274
|
+
'play-pause',
|
|
275
|
+
'plus',
|
|
276
|
+
'plus-circle',
|
|
277
|
+
'plus-small',
|
|
792
278
|
'power',
|
|
793
|
-
'presentation-
|
|
279
|
+
'presentation-chart-bar',
|
|
280
|
+
'presentation-chart-line',
|
|
794
281
|
'printer',
|
|
795
|
-
'
|
|
796
|
-
'printer-minimalistic',
|
|
797
|
-
'programming',
|
|
798
|
-
'projector',
|
|
799
|
-
'pulse',
|
|
800
|
-
'pulse-2',
|
|
282
|
+
'puzzle-piece',
|
|
801
283
|
'qr-code',
|
|
802
|
-
'question-circle',
|
|
803
|
-
'
|
|
804
|
-
'quit-full-screen',
|
|
805
|
-
'quit-full-screen-circle',
|
|
806
|
-
'quit-full-screen-square',
|
|
807
|
-
'quit-pip',
|
|
808
|
-
'radar',
|
|
809
|
-
'radar-2',
|
|
810
|
-
'radial-blur',
|
|
284
|
+
'question-mark-circle',
|
|
285
|
+
'queue-list',
|
|
811
286
|
'radio',
|
|
812
|
-
'
|
|
813
|
-
'
|
|
814
|
-
'
|
|
815
|
-
'
|
|
816
|
-
'
|
|
817
|
-
'
|
|
818
|
-
'record-minimalistic',
|
|
819
|
-
'record-square',
|
|
820
|
-
'reel',
|
|
821
|
-
'reel-2',
|
|
822
|
-
'refresh',
|
|
823
|
-
'refresh-circle',
|
|
824
|
-
'refresh-square',
|
|
825
|
-
'remote-controller',
|
|
826
|
-
'remote-controller-2',
|
|
827
|
-
'remote-controller-minimalistic',
|
|
828
|
-
'remove-folder',
|
|
829
|
-
'reorder',
|
|
830
|
-
'repeat',
|
|
831
|
-
'repeat-one',
|
|
832
|
-
'repeat-one-minimalistic',
|
|
833
|
-
'reply',
|
|
834
|
-
'reply-2',
|
|
835
|
-
'restart',
|
|
836
|
-
'restart-circle',
|
|
837
|
-
'restart-square',
|
|
838
|
-
'revote',
|
|
839
|
-
'rewind-10-seconds-back',
|
|
840
|
-
'rewind-10-seconds-forward',
|
|
841
|
-
'rewind-15-seconds-back',
|
|
842
|
-
'rewind-15-seconds-forward',
|
|
843
|
-
'rewind-5-seconds-back',
|
|
844
|
-
'rewind-5-seconds-forward',
|
|
845
|
-
'rewind-back',
|
|
846
|
-
'rewind-back-circle',
|
|
847
|
-
'rewind-forward',
|
|
848
|
-
'rewind-forward-circle',
|
|
849
|
-
'rocket',
|
|
850
|
-
'rocket-2',
|
|
851
|
-
'rolling-pin',
|
|
852
|
-
'round-alt-arrow-down',
|
|
853
|
-
'round-alt-arrow-left',
|
|
854
|
-
'round-alt-arrow-right',
|
|
855
|
-
'round-alt-arrow-up',
|
|
856
|
-
'round-arrow-down',
|
|
857
|
-
'round-arrow-left',
|
|
858
|
-
'round-arrow-left-down',
|
|
859
|
-
'round-arrow-left-up',
|
|
860
|
-
'round-arrow-right',
|
|
861
|
-
'round-arrow-right-down',
|
|
862
|
-
'round-arrow-right-up',
|
|
863
|
-
'round-arrow-up',
|
|
864
|
-
'round-double-alt-arrow-down',
|
|
865
|
-
'round-double-alt-arrow-left',
|
|
866
|
-
'round-double-alt-arrow-right',
|
|
867
|
-
'round-double-alt-arrow-up',
|
|
868
|
-
'round-graph',
|
|
869
|
-
'round-sort-horizontal',
|
|
870
|
-
'round-sort-vertical',
|
|
871
|
-
'round-transfer-diagonal',
|
|
872
|
-
'round-transfer-horizontal',
|
|
873
|
-
'round-transfer-vertical',
|
|
874
|
-
'rounded-magnifer',
|
|
875
|
-
'rounded-magnifer-bug',
|
|
876
|
-
'rounded-magnifer-zoom-in',
|
|
877
|
-
'rounded-magnifer-zoom-out',
|
|
878
|
-
'route',
|
|
879
|
-
'routing',
|
|
880
|
-
'routing-2',
|
|
881
|
-
'routing-3',
|
|
882
|
-
'ruble',
|
|
883
|
-
'rugby',
|
|
884
|
-
'ruler',
|
|
885
|
-
'ruler-angular',
|
|
886
|
-
'ruler-cross-pen',
|
|
887
|
-
'ruler-pen',
|
|
888
|
-
'running',
|
|
889
|
-
'running-2',
|
|
890
|
-
'running-round',
|
|
891
|
-
'sad-circle',
|
|
892
|
-
'sad-square',
|
|
893
|
-
'safe-2',
|
|
894
|
-
'safe-circle',
|
|
895
|
-
'safe-square',
|
|
896
|
-
'sale',
|
|
897
|
-
'sale-square',
|
|
898
|
-
'satellite',
|
|
287
|
+
'receipt-percent',
|
|
288
|
+
'receipt-refund',
|
|
289
|
+
'rectangle-group',
|
|
290
|
+
'rectangle-stack',
|
|
291
|
+
'rocket-launch',
|
|
292
|
+
'rss',
|
|
899
293
|
'scale',
|
|
900
|
-
'scanner',
|
|
901
|
-
'scanner-2',
|
|
902
294
|
'scissors',
|
|
903
|
-
'scissors-square',
|
|
904
|
-
'scooter',
|
|
905
|
-
'screen-share',
|
|
906
|
-
'screencast',
|
|
907
|
-
'screencast-2',
|
|
908
|
-
'sd-card',
|
|
909
|
-
'send-square',
|
|
910
|
-
'send-twice-square',
|
|
911
295
|
'server',
|
|
912
|
-
'server-
|
|
913
|
-
'server-minimalistic',
|
|
914
|
-
'server-path',
|
|
915
|
-
'server-square',
|
|
916
|
-
'server-square-cloud',
|
|
917
|
-
'server-square-update',
|
|
918
|
-
'settings',
|
|
919
|
-
'settings-minimalistic',
|
|
296
|
+
'server-stack',
|
|
920
297
|
'share',
|
|
921
|
-
'share-circle',
|
|
922
|
-
'shield',
|
|
923
298
|
'shield-check',
|
|
924
|
-
'shield-
|
|
925
|
-
'
|
|
926
|
-
'
|
|
927
|
-
'
|
|
928
|
-
'
|
|
929
|
-
'
|
|
930
|
-
'
|
|
931
|
-
'
|
|
932
|
-
'
|
|
933
|
-
'
|
|
934
|
-
'
|
|
935
|
-
'
|
|
936
|
-
'
|
|
937
|
-
'shop-2',
|
|
938
|
-
'shop-minimalistic',
|
|
939
|
-
'shuffle',
|
|
940
|
-
'sidebar-code',
|
|
941
|
-
'sidebar-minimalistic',
|
|
942
|
-
'siderbar',
|
|
943
|
-
'signpost',
|
|
944
|
-
'signpost-2',
|
|
945
|
-
'sim-card',
|
|
946
|
-
'sim-card-minimalistic',
|
|
947
|
-
'sim-cards',
|
|
948
|
-
'siren',
|
|
949
|
-
'siren-rounded',
|
|
950
|
-
'skateboard',
|
|
951
|
-
'skateboarding',
|
|
952
|
-
'skateboarding-round',
|
|
953
|
-
'skip-next',
|
|
954
|
-
'skip-previous',
|
|
955
|
-
'skirt',
|
|
956
|
-
'slash-circle',
|
|
957
|
-
'slash-square',
|
|
958
|
-
'sledgehammer',
|
|
959
|
-
'sleeping',
|
|
960
|
-
'sleeping-circle',
|
|
961
|
-
'sleeping-square',
|
|
962
|
-
'slider-horizontal',
|
|
963
|
-
'slider-minimalistic-horizontal',
|
|
964
|
-
'slider-vertical',
|
|
965
|
-
'slider-vertical-minimalistic',
|
|
966
|
-
'smart-home',
|
|
967
|
-
'smart-home-angle',
|
|
968
|
-
'smart-speaker',
|
|
969
|
-
'smart-speaker-2',
|
|
970
|
-
'smart-speaker-minimalistic',
|
|
971
|
-
'smart-vacuum-cleaner',
|
|
972
|
-
'smart-vacuum-cleaner-2',
|
|
973
|
-
'smartphone',
|
|
974
|
-
'smartphone-2',
|
|
975
|
-
'smartphone-rotate-2',
|
|
976
|
-
'smartphone-rotate-angle',
|
|
977
|
-
'smartphone-rotate-orientation',
|
|
978
|
-
'smartphone-update',
|
|
979
|
-
'smartphone-vibration',
|
|
980
|
-
'smile-circle',
|
|
981
|
-
'smile-square',
|
|
982
|
-
'snowflake',
|
|
983
|
-
'socket',
|
|
984
|
-
'sofa',
|
|
985
|
-
'sofa-2',
|
|
986
|
-
'sofa-3',
|
|
987
|
-
'sort',
|
|
988
|
-
'sort-by-alphabet',
|
|
989
|
-
'sort-by-time',
|
|
990
|
-
'sort-from-bottom-to-top',
|
|
991
|
-
'sort-from-top-to-bottom',
|
|
992
|
-
'sort-horizontal',
|
|
993
|
-
'sort-vertical',
|
|
994
|
-
'soundwave',
|
|
995
|
-
'soundwave-circle',
|
|
996
|
-
'soundwave-square',
|
|
997
|
-
'speaker',
|
|
998
|
-
'speaker-minimalistic',
|
|
999
|
-
'special-effects',
|
|
1000
|
-
'spedometer-low',
|
|
1001
|
-
'spedometer-max',
|
|
1002
|
-
'spedometer-middle',
|
|
1003
|
-
'square-academic-cap',
|
|
1004
|
-
'square-academic-cap-2',
|
|
1005
|
-
'square-alt-arrow-down',
|
|
1006
|
-
'square-alt-arrow-left',
|
|
1007
|
-
'square-alt-arrow-right',
|
|
1008
|
-
'square-alt-arrow-up',
|
|
1009
|
-
'square-arrow-down',
|
|
1010
|
-
'square-arrow-left',
|
|
1011
|
-
'square-arrow-left-down',
|
|
1012
|
-
'square-arrow-left-up',
|
|
1013
|
-
'square-arrow-right',
|
|
1014
|
-
'square-arrow-right-down',
|
|
1015
|
-
'square-arrow-right-up',
|
|
1016
|
-
'square-arrow-up',
|
|
1017
|
-
'square-bottom-down',
|
|
1018
|
-
'square-bottom-up',
|
|
1019
|
-
'square-double-alt-arrow-down',
|
|
1020
|
-
'square-double-alt-arrow-left',
|
|
1021
|
-
'square-double-alt-arrow-right',
|
|
1022
|
-
'square-double-alt-arrow-up',
|
|
1023
|
-
'square-forward',
|
|
1024
|
-
'square-share-line',
|
|
1025
|
-
'square-sort-horizontal',
|
|
1026
|
-
'square-sort-vertical',
|
|
1027
|
-
'square-top-down',
|
|
1028
|
-
'square-top-up',
|
|
1029
|
-
'square-transfer-horizontal',
|
|
1030
|
-
'square-transfer-vertical',
|
|
1031
|
-
'ssd-round',
|
|
1032
|
-
'ssd-square',
|
|
299
|
+
'shield-exclamation',
|
|
300
|
+
'shopping-bag',
|
|
301
|
+
'shopping-cart',
|
|
302
|
+
'signal',
|
|
303
|
+
'signal-slash',
|
|
304
|
+
'slash',
|
|
305
|
+
'sparkles',
|
|
306
|
+
'speaker-wave',
|
|
307
|
+
'speaker-x-mark',
|
|
308
|
+
'square-2-stack',
|
|
309
|
+
'square-3-stack-3d',
|
|
310
|
+
'squares-2x2',
|
|
311
|
+
'squares-plus',
|
|
1033
312
|
'star',
|
|
1034
|
-
'star-angle',
|
|
1035
|
-
'star-circle',
|
|
1036
|
-
'star-fall',
|
|
1037
|
-
'star-fall-2',
|
|
1038
|
-
'star-fall-minimalistic',
|
|
1039
|
-
'star-fall-minimalistic-2',
|
|
1040
|
-
'star-rainbow',
|
|
1041
|
-
'star-ring',
|
|
1042
|
-
'star-rings',
|
|
1043
|
-
'star-shine',
|
|
1044
|
-
'stars',
|
|
1045
|
-
'stars-line',
|
|
1046
|
-
'stars-minimalistic',
|
|
1047
|
-
'station',
|
|
1048
|
-
'station-minimalistic',
|
|
1049
|
-
'stethoscope',
|
|
1050
|
-
'sticker-circle',
|
|
1051
|
-
'sticker-smile-circle',
|
|
1052
|
-
'sticker-smile-circle-2',
|
|
1053
|
-
'sticker-smile-square',
|
|
1054
|
-
'sticker-square',
|
|
1055
313
|
'stop',
|
|
1056
314
|
'stop-circle',
|
|
1057
|
-
'
|
|
1058
|
-
'stopwatch-pause',
|
|
1059
|
-
'stopwatch-play',
|
|
1060
|
-
'stream',
|
|
1061
|
-
'streets',
|
|
1062
|
-
'streets-map-point',
|
|
1063
|
-
'streets-navigation',
|
|
1064
|
-
'stretching',
|
|
1065
|
-
'stretching-round',
|
|
1066
|
-
'structure',
|
|
1067
|
-
'subtitles',
|
|
1068
|
-
'suitcase',
|
|
1069
|
-
'suitcase-lines',
|
|
1070
|
-
'suitcase-tag',
|
|
315
|
+
'strikethrough',
|
|
1071
316
|
'sun',
|
|
1072
|
-
'
|
|
1073
|
-
'
|
|
1074
|
-
'sunrise',
|
|
1075
|
-
'sunset',
|
|
1076
|
-
'suspension',
|
|
1077
|
-
'suspension-bolt',
|
|
1078
|
-
'suspension-cross',
|
|
1079
|
-
'swimming',
|
|
1080
|
-
'syringe',
|
|
1081
|
-
't-shirt',
|
|
1082
|
-
'tablet',
|
|
317
|
+
'swatch',
|
|
318
|
+
'table-cells',
|
|
1083
319
|
'tag',
|
|
1084
|
-
'tag-horizontal',
|
|
1085
|
-
'tag-price',
|
|
1086
|
-
'target',
|
|
1087
|
-
'tea-cup',
|
|
1088
|
-
'telescope',
|
|
1089
|
-
'temperature',
|
|
1090
|
-
'tennis',
|
|
1091
|
-
'tennis-2',
|
|
1092
|
-
'test-tube',
|
|
1093
|
-
'test-tube-minimalistic',
|
|
1094
|
-
'text',
|
|
1095
|
-
'text-bold',
|
|
1096
|
-
'text-bold-circle',
|
|
1097
|
-
'text-bold-square',
|
|
1098
|
-
'text-circle',
|
|
1099
|
-
'text-cross',
|
|
1100
|
-
'text-cross-circle',
|
|
1101
|
-
'text-cross-square',
|
|
1102
|
-
'text-field',
|
|
1103
|
-
'text-field-focus',
|
|
1104
|
-
'text-italic',
|
|
1105
|
-
'text-italic-circle',
|
|
1106
|
-
'text-italic-square',
|
|
1107
|
-
'text-selection',
|
|
1108
|
-
'text-square',
|
|
1109
|
-
'text-square-2',
|
|
1110
|
-
'text-underline',
|
|
1111
|
-
'text-underline-circle',
|
|
1112
|
-
'text-underline-cross',
|
|
1113
|
-
'thermometer',
|
|
1114
|
-
'three-squares',
|
|
1115
|
-
'ticker-star',
|
|
1116
320
|
'ticket',
|
|
1117
|
-
'
|
|
1118
|
-
'
|
|
1119
|
-
'
|
|
1120
|
-
'tornado-small',
|
|
1121
|
-
'traffic',
|
|
1122
|
-
'traffic-economy',
|
|
1123
|
-
'tram',
|
|
1124
|
-
'transfer-horizontal',
|
|
1125
|
-
'transfer-vertical',
|
|
1126
|
-
'translation',
|
|
1127
|
-
'translation-2',
|
|
1128
|
-
'transmission',
|
|
1129
|
-
'transmission-circle',
|
|
1130
|
-
'transmission-square',
|
|
1131
|
-
'trash-bin-2',
|
|
1132
|
-
'trash-bin-minimalistic',
|
|
1133
|
-
'trash-bin-minimalistic-2',
|
|
1134
|
-
'trash-bin-trash',
|
|
1135
|
-
'treadmill',
|
|
1136
|
-
'treadmill-round',
|
|
1137
|
-
'trellis',
|
|
1138
|
-
'tuning',
|
|
1139
|
-
'tuning-2',
|
|
1140
|
-
'tuning-3',
|
|
1141
|
-
'tuning-4',
|
|
1142
|
-
'tuning-square',
|
|
1143
|
-
'tuning-square-2',
|
|
1144
|
-
'turntable',
|
|
1145
|
-
'turntable-minimalistic',
|
|
1146
|
-
'turntable-music-note',
|
|
321
|
+
'trash',
|
|
322
|
+
'trophy',
|
|
323
|
+
'truck',
|
|
1147
324
|
'tv',
|
|
1148
|
-
'
|
|
1149
|
-
'ufo-2',
|
|
1150
|
-
'ufo-3',
|
|
1151
|
-
'umbrella',
|
|
1152
|
-
'undo-left',
|
|
1153
|
-
'undo-left-round',
|
|
1154
|
-
'undo-left-round-square',
|
|
1155
|
-
'undo-left-square',
|
|
1156
|
-
'undo-right',
|
|
1157
|
-
'undo-right-round',
|
|
1158
|
-
'undo-right-round-square',
|
|
1159
|
-
'undo-right-square',
|
|
1160
|
-
'unread',
|
|
1161
|
-
'upload',
|
|
1162
|
-
'upload-minimalistic',
|
|
1163
|
-
'upload-square',
|
|
1164
|
-
'upload-track',
|
|
1165
|
-
'upload-track-2',
|
|
1166
|
-
'upload-twice-square',
|
|
1167
|
-
'usb',
|
|
1168
|
-
'usb-circle',
|
|
1169
|
-
'usb-square',
|
|
325
|
+
'underline',
|
|
1170
326
|
'user',
|
|
1171
|
-
'user-block',
|
|
1172
|
-
'user-block-rounded',
|
|
1173
|
-
'user-check',
|
|
1174
|
-
'user-check-rounded',
|
|
1175
327
|
'user-circle',
|
|
1176
|
-
'user-
|
|
1177
|
-
'user-cross-rounded',
|
|
1178
|
-
'user-hand-up',
|
|
1179
|
-
'user-hands',
|
|
1180
|
-
'user-heart',
|
|
1181
|
-
'user-heart-rounded',
|
|
1182
|
-
'user-id',
|
|
328
|
+
'user-group',
|
|
1183
329
|
'user-minus',
|
|
1184
|
-
'user-minus-rounded',
|
|
1185
330
|
'user-plus',
|
|
1186
|
-
'
|
|
1187
|
-
'
|
|
1188
|
-
'
|
|
1189
|
-
'
|
|
1190
|
-
'
|
|
1191
|
-
'
|
|
1192
|
-
'verified-check',
|
|
1193
|
-
'video-frame',
|
|
1194
|
-
'video-frame-2',
|
|
1195
|
-
'video-frame-cut',
|
|
1196
|
-
'video-frame-cut-2',
|
|
1197
|
-
'video-frame-play-horizontal',
|
|
1198
|
-
'video-frame-play-vertical',
|
|
1199
|
-
'video-frame-replace',
|
|
1200
|
-
'video-library',
|
|
1201
|
-
'videocamera',
|
|
1202
|
-
'videocamera-add',
|
|
1203
|
-
'videocamera-record',
|
|
1204
|
-
'vinyl',
|
|
1205
|
-
'vinyl-record',
|
|
1206
|
-
'virus',
|
|
1207
|
-
'volleyball',
|
|
1208
|
-
'volleyball-2',
|
|
1209
|
-
'volume',
|
|
1210
|
-
'volume-cross',
|
|
1211
|
-
'volume-knob',
|
|
1212
|
-
'volume-loud',
|
|
1213
|
-
'volume-small',
|
|
1214
|
-
'wad-of-money',
|
|
1215
|
-
'walking',
|
|
1216
|
-
'walking-round',
|
|
331
|
+
'users',
|
|
332
|
+
'variable',
|
|
333
|
+
'video-camera',
|
|
334
|
+
'video-camera-slash',
|
|
335
|
+
'view-columns',
|
|
336
|
+
'viewfinder-circle',
|
|
1217
337
|
'wallet',
|
|
1218
|
-
'
|
|
1219
|
-
'
|
|
1220
|
-
'
|
|
1221
|
-
'
|
|
1222
|
-
'
|
|
1223
|
-
'
|
|
1224
|
-
'watch-square',
|
|
1225
|
-
'watch-square-minimalistic',
|
|
1226
|
-
'watch-square-minimalistic-charge',
|
|
1227
|
-
'water',
|
|
1228
|
-
'water-sun',
|
|
1229
|
-
'waterdrop',
|
|
1230
|
-
'waterdrops',
|
|
1231
|
-
'weigher',
|
|
1232
|
-
'wheel',
|
|
1233
|
-
'wheel-angle',
|
|
1234
|
-
'whisk',
|
|
1235
|
-
'wi-fi-router',
|
|
1236
|
-
'wi-fi-router-minimalistic',
|
|
1237
|
-
'wi-fi-router-round',
|
|
1238
|
-
'widget',
|
|
1239
|
-
'widget-2',
|
|
1240
|
-
'widget-3',
|
|
1241
|
-
'widget-4',
|
|
1242
|
-
'widget-5',
|
|
1243
|
-
'widget-6',
|
|
1244
|
-
'widget-add',
|
|
1245
|
-
'wind',
|
|
1246
|
-
'window-frame',
|
|
1247
|
-
'wineglass',
|
|
1248
|
-
'wineglass-triangle',
|
|
1249
|
-
'winrar',
|
|
1250
|
-
'wireless-charge',
|
|
1251
|
-
'women',
|
|
1252
|
-
'xxx',
|
|
1253
|
-
'zip-file',
|
|
338
|
+
'wifi',
|
|
339
|
+
'window',
|
|
340
|
+
'wrench',
|
|
341
|
+
'wrench-screwdriver',
|
|
342
|
+
'x-circle',
|
|
343
|
+
'x-mark',
|
|
1254
344
|
];
|
|
1255
345
|
|
|
1256
346
|
class TailwindComponent {
|
|
@@ -1288,7 +378,7 @@ class TailwindTooltip extends TailwindComponent {
|
|
|
1288
378
|
tooltipClasses = computed(() => {
|
|
1289
379
|
const base = [
|
|
1290
380
|
'fixed z-[1070] px-3 py-1.5',
|
|
1291
|
-
'text-xs font-medium text-white bg-
|
|
381
|
+
'text-xs font-medium text-white bg-neutral-900 rounded-lg',
|
|
1292
382
|
'shadow-lg whitespace-nowrap pointer-events-none',
|
|
1293
383
|
'transition-opacity duration-150',
|
|
1294
384
|
this.isVisible() ? 'opacity-100' : 'opacity-0'
|
|
@@ -1296,7 +386,7 @@ class TailwindTooltip extends TailwindComponent {
|
|
|
1296
386
|
return base.join(' ');
|
|
1297
387
|
}, ...(ngDevMode ? [{ debugName: "tooltipClasses" }] : /* istanbul ignore next */ []));
|
|
1298
388
|
arrowClasses = computed(() => {
|
|
1299
|
-
const base = 'absolute w-2 h-2 bg-
|
|
389
|
+
const base = 'absolute w-2 h-2 bg-neutral-900 rotate-45';
|
|
1300
390
|
const posMap = {
|
|
1301
391
|
top: 'top-full left-1/2 -translate-x-1/2 -mt-1',
|
|
1302
392
|
bottom: 'bottom-full left-1/2 -translate-x-1/2 -mb-1',
|
|
@@ -1484,9 +574,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1484
574
|
}]
|
|
1485
575
|
}] });
|
|
1486
576
|
|
|
577
|
+
const TAILWIND_MODAL_DATA = new InjectionToken('TAILWIND_MODAL_DATA');
|
|
578
|
+
/** Default pixel size for `tailwind-icon` when `size` is omitted (typically 16–64). */
|
|
579
|
+
const TAILWIND_ICON_SIZE = new InjectionToken('TAILWIND_ICON_SIZE');
|
|
580
|
+
const TAILWIND_DATETIME_LANGUAGE = new InjectionToken('TAILWIND_DATETIME_LANGUAGE');
|
|
581
|
+
const TAILWIND_COMPONENTS_SIZE = new InjectionToken('TAILWIND_COMPONENTS_SIZE');
|
|
582
|
+
/**
|
|
583
|
+
* Default template for `tailwind-pagination` **summary** when the `summary` input is omitted.
|
|
584
|
+
* Use placeholders `{start}`, `{end}`, `{total}` (same rules as the `summary` input).
|
|
585
|
+
*/
|
|
586
|
+
const TAILWIND_PAGINATION_SUMMARY = new InjectionToken('TAILWIND_PAGINATION_SUMMARY');
|
|
587
|
+
|
|
588
|
+
const clampIconSize = (value) => {
|
|
589
|
+
if (!Number.isFinite(value))
|
|
590
|
+
return 24;
|
|
591
|
+
const rounded = Math.round(value);
|
|
592
|
+
return Math.min(64, Math.max(16, rounded));
|
|
593
|
+
};
|
|
594
|
+
class TailwindIcon extends TailwindComponent {
|
|
595
|
+
iconSize = inject(TAILWIND_ICON_SIZE, { optional: true });
|
|
596
|
+
/** Heroicons outline icon name; SVG path `/tailwind-icons/<name>.svg` */
|
|
597
|
+
icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
598
|
+
/** Width and height in px (16–64, clamped); default from `TAILWIND_ICON_SIZE` or **24** */
|
|
599
|
+
size = input(clampIconSize(this.iconSize ?? 24), ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
600
|
+
src = computed(() => `/tailwind-icons/${this.icon()}.svg`, ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
|
|
601
|
+
pixelSize = computed(() => clampIconSize(this.size()), ...(ngDevMode ? [{ debugName: "pixelSize" }] : /* istanbul ignore next */ []));
|
|
602
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindIcon, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
603
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: TailwindIcon, isStandalone: true, selector: "tailwind-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "inline-flex shrink-0 items-center justify-center" }, usesInheritance: true, ngImport: i0, template: "<img\r\n class=\"block shrink-0\"\r\n [src]=\"src()\"\r\n [attr.width]=\"pixelSize()\"\r\n [attr.height]=\"pixelSize()\"\r\n [attr.alt]=\"icon()\"\r\n [attr.aria-hidden]=\"true\"\r\n decoding=\"async\" />\r\n" });
|
|
604
|
+
}
|
|
605
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindIcon, decorators: [{
|
|
606
|
+
type: Component,
|
|
607
|
+
args: [{ selector: 'tailwind-icon', host: {
|
|
608
|
+
class: 'inline-flex shrink-0 items-center justify-center'
|
|
609
|
+
}, template: "<img\r\n class=\"block shrink-0\"\r\n [src]=\"src()\"\r\n [attr.width]=\"pixelSize()\"\r\n [attr.height]=\"pixelSize()\"\r\n [attr.alt]=\"icon()\"\r\n [attr.aria-hidden]=\"true\"\r\n decoding=\"async\" />\r\n" }]
|
|
610
|
+
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
611
|
+
|
|
1487
612
|
/** Host attributes on `<tailwind-table>`; kept in sync for sort-header observers. */
|
|
1488
613
|
const TW_TABLE_SORT_KEY_ATTR = 'data-tw-sort-key';
|
|
1489
614
|
const TW_TABLE_SORT_DIR_ATTR = 'data-tw-sort-dir';
|
|
615
|
+
const MAX_TABLE_RESOLVE_ATTEMPTS = 24;
|
|
1490
616
|
/**
|
|
1491
617
|
* Sortable column header: put on `<th>` (plain header text + directive). Not sortable columns omit this directive.
|
|
1492
618
|
* Sorting is handled by the nearest `tailwind-table` host (event delegation); do not pass a table reference.
|
|
@@ -1496,75 +622,72 @@ class TailwindSortHeaderDirective {
|
|
|
1496
622
|
sortKey = input.required(...(ngDevMode ? [{ debugName: "sortKey" }] : /* istanbul ignore next */ []));
|
|
1497
623
|
host = inject((ElementRef));
|
|
1498
624
|
renderer = inject(Renderer2);
|
|
1499
|
-
|
|
625
|
+
appRef = inject(ApplicationRef);
|
|
626
|
+
environmentInjector = inject(EnvironmentInjector);
|
|
627
|
+
injector = inject(Injector);
|
|
628
|
+
iconRef;
|
|
629
|
+
mo;
|
|
630
|
+
destroyed = false;
|
|
1500
631
|
constructor() {
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
const activeKey = tableEl.getAttribute(TW_TABLE_SORT_KEY_ATTR) ?? '';
|
|
1508
|
-
const dirRaw = tableEl.getAttribute(TW_TABLE_SORT_DIR_ATTR) ?? 'asc';
|
|
1509
|
-
const asc = dirRaw === 'asc';
|
|
1510
|
-
const active = activeKey === key;
|
|
1511
|
-
if (!this.svg) {
|
|
1512
|
-
this.svg = this.createSvg();
|
|
1513
|
-
this.renderer.appendChild(this.host.nativeElement, this.svg);
|
|
1514
|
-
}
|
|
1515
|
-
this.updateSvg(active, asc);
|
|
1516
|
-
this.renderer.setAttribute(this.host.nativeElement, 'aria-label', active ? `Sorted ${asc ? 'ascending' : 'descending'}, activate to reverse` : `Sort by ${key}`);
|
|
1517
|
-
};
|
|
1518
|
-
sync();
|
|
1519
|
-
const mo = new MutationObserver(() => sync());
|
|
1520
|
-
mo.observe(tableEl, {
|
|
1521
|
-
attributes: true,
|
|
1522
|
-
attributeFilter: [TW_TABLE_SORT_KEY_ATTR, TW_TABLE_SORT_DIR_ATTR]
|
|
1523
|
-
});
|
|
1524
|
-
onCleanup(() => mo.disconnect());
|
|
632
|
+
inject(DestroyRef).onDestroy(() => {
|
|
633
|
+
this.destroyed = true;
|
|
634
|
+
this.mo?.disconnect();
|
|
635
|
+
this.mo = undefined;
|
|
636
|
+
this.iconRef?.destroy();
|
|
637
|
+
this.iconRef = undefined;
|
|
1525
638
|
});
|
|
639
|
+
afterNextRender(() => {
|
|
640
|
+
if (!this.destroyed) {
|
|
641
|
+
this.resolveTableAndAttach(0);
|
|
642
|
+
}
|
|
643
|
+
}, { injector: this.injector });
|
|
1526
644
|
}
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
this.
|
|
1533
|
-
const ascPath = this.renderer.createElement('path', 'svg');
|
|
1534
|
-
this.renderer.setAttribute(ascPath, 'fill-rule', 'evenodd');
|
|
1535
|
-
this.renderer.setAttribute(ascPath, 'd', 'M10 17a.75.75 0 01-.75-.75V5.612L5.29 9.77a.75.75 0 01-1.08-1.04l5.25-5.5a.75.75 0 011.08 0l5.25 5.5a.75.75 0 11-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0110 17z');
|
|
1536
|
-
this.renderer.setAttribute(ascPath, 'clip-rule', 'evenodd');
|
|
1537
|
-
this.renderer.addClass(ascPath, 'tailwind-sort-header__asc');
|
|
1538
|
-
const descPath = this.renderer.createElement('path', 'svg');
|
|
1539
|
-
this.renderer.setAttribute(descPath, 'fill-rule', 'evenodd');
|
|
1540
|
-
this.renderer.setAttribute(descPath, 'd', 'M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z');
|
|
1541
|
-
this.renderer.setAttribute(descPath, 'clip-rule', 'evenodd');
|
|
1542
|
-
this.renderer.addClass(descPath, 'tailwind-sort-header__desc');
|
|
1543
|
-
this.renderer.appendChild(svg, ascPath);
|
|
1544
|
-
this.renderer.appendChild(svg, descPath);
|
|
1545
|
-
return svg;
|
|
1546
|
-
}
|
|
1547
|
-
updateSvg(active, asc) {
|
|
1548
|
-
if (!this.svg)
|
|
645
|
+
/**
|
|
646
|
+
* After first render the projected `<th>` may still not be under `<tailwind-table>` in the DOM
|
|
647
|
+
* for one frame; retry with `requestAnimationFrame` until `closest` succeeds.
|
|
648
|
+
*/
|
|
649
|
+
resolveTableAndAttach(attempt) {
|
|
650
|
+
if (this.destroyed || this.mo)
|
|
1549
651
|
return;
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
this.setPathHidden(ascPath, !showAsc);
|
|
1556
|
-
this.setPathHidden(descPath, !showDesc);
|
|
1557
|
-
}
|
|
1558
|
-
setPathHidden(el, hidden) {
|
|
1559
|
-
if (!el)
|
|
652
|
+
const tableEl = this.host.nativeElement.closest('tailwind-table');
|
|
653
|
+
if (!tableEl) {
|
|
654
|
+
if (attempt < MAX_TABLE_RESOLVE_ATTEMPTS) {
|
|
655
|
+
requestAnimationFrame(() => this.resolveTableAndAttach(attempt + 1));
|
|
656
|
+
}
|
|
1560
657
|
return;
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
658
|
+
}
|
|
659
|
+
const sync = () => {
|
|
660
|
+
if (this.destroyed || !this.iconRef)
|
|
661
|
+
return;
|
|
662
|
+
const columnKey = this.sortKey();
|
|
663
|
+
const activeKey = tableEl.getAttribute(TW_TABLE_SORT_KEY_ATTR) ?? '';
|
|
664
|
+
const dirRaw = tableEl.getAttribute(TW_TABLE_SORT_DIR_ATTR) ?? 'asc';
|
|
665
|
+
const asc = dirRaw === 'asc';
|
|
666
|
+
const active = activeKey === columnKey;
|
|
667
|
+
const icon = active ? (asc ? 'chevron-up' : 'chevron-down') : 'chevron-up-down';
|
|
668
|
+
this.iconRef.setInput('icon', icon);
|
|
669
|
+
this.iconRef.setInput('size', 14);
|
|
670
|
+
this.iconRef.setInput('class', active ? 'shrink-0 text-primary-600' : 'shrink-0 text-neutral-400');
|
|
671
|
+
this.renderer.setAttribute(this.host.nativeElement, 'aria-label', active ? `Sorted ${asc ? 'ascending' : 'descending'}, activate to reverse` : `Sort by ${columnKey}`);
|
|
672
|
+
this.iconRef.changeDetectorRef.detectChanges();
|
|
673
|
+
};
|
|
674
|
+
if (!this.iconRef) {
|
|
675
|
+
this.iconRef = createComponent(TailwindIcon, {
|
|
676
|
+
environmentInjector: this.environmentInjector,
|
|
677
|
+
elementInjector: this.injector
|
|
678
|
+
});
|
|
679
|
+
this.renderer.appendChild(this.host.nativeElement, this.iconRef.location.nativeElement);
|
|
680
|
+
this.appRef.attachView(this.iconRef.hostView);
|
|
681
|
+
}
|
|
682
|
+
sync();
|
|
683
|
+
this.mo = new MutationObserver(() => sync());
|
|
684
|
+
this.mo.observe(tableEl, {
|
|
685
|
+
attributes: true,
|
|
686
|
+
attributeFilter: [TW_TABLE_SORT_KEY_ATTR, TW_TABLE_SORT_DIR_ATTR]
|
|
687
|
+
});
|
|
1565
688
|
}
|
|
1566
689
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSortHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1567
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.12", type: TailwindSortHeaderDirective, isStandalone: true, selector: "[tailwindSortHeader]", inputs: { sortKey: { classPropertyName: "sortKey", publicName: "sortKey", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.tabindex": "0", "attr.data-sort-key": "sortKey()" }, classAttribute: "cursor-pointer
|
|
690
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.12", type: TailwindSortHeaderDirective, isStandalone: true, selector: "[tailwindSortHeader]", inputs: { sortKey: { classPropertyName: "sortKey", publicName: "sortKey", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.tabindex": "0", "attr.data-sort-key": "sortKey()" }, classAttribute: "flex cursor-pointer items-center gap-1.5 justify-start whitespace-nowrap text-left select-none hover:text-neutral-900" }, ngImport: i0 });
|
|
1568
691
|
}
|
|
1569
692
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSortHeaderDirective, decorators: [{
|
|
1570
693
|
type: Directive,
|
|
@@ -1572,7 +695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1572
695
|
selector: '[tailwindSortHeader]',
|
|
1573
696
|
standalone: true,
|
|
1574
697
|
host: {
|
|
1575
|
-
class: 'cursor-pointer
|
|
698
|
+
class: 'flex cursor-pointer items-center gap-1.5 justify-start whitespace-nowrap text-left select-none hover:text-neutral-900',
|
|
1576
699
|
'[attr.tabindex]': '0',
|
|
1577
700
|
'[attr.data-sort-key]': 'sortKey()'
|
|
1578
701
|
}
|
|
@@ -1605,15 +728,15 @@ class TailwindButton extends TailwindComponent {
|
|
|
1605
728
|
];
|
|
1606
729
|
const solidMap = {
|
|
1607
730
|
primary: 'bg-primary-600 text-white hover:bg-primary-700 active:bg-primary-800 border-transparent focus-visible:outline-primary-600 shadow-sm',
|
|
1608
|
-
secondary: 'bg-
|
|
731
|
+
secondary: 'bg-neutral-100 text-neutral-800 hover:bg-neutral-200 active:bg-neutral-300 border-neutral-300 focus-visible:outline-neutral-500 shadow-sm',
|
|
1609
732
|
danger: 'bg-danger-600 text-white hover:bg-danger-700 active:bg-danger-800 border-transparent focus-visible:outline-danger-600 shadow-sm',
|
|
1610
733
|
success: 'bg-success-600 text-white hover:bg-success-700 active:bg-success-800 border-transparent focus-visible:outline-success-600 shadow-sm',
|
|
1611
|
-
warning: 'bg-warning-500 text-
|
|
734
|
+
warning: 'bg-warning-500 text-neutral-900 hover:bg-warning-600 active:bg-warning-700 border-transparent focus-visible:outline-warning-500 shadow-sm',
|
|
1612
735
|
info: 'bg-info-600 text-white hover:bg-info-700 active:bg-info-800 border-transparent focus-visible:outline-info-600 shadow-sm'
|
|
1613
736
|
};
|
|
1614
737
|
const outlinedMap = {
|
|
1615
738
|
primary: 'bg-transparent text-primary-600 border-primary-600 hover:bg-primary-50 active:bg-primary-100 focus-visible:outline-primary-600',
|
|
1616
|
-
secondary: 'bg-transparent text-
|
|
739
|
+
secondary: 'bg-transparent text-neutral-700 border-neutral-300 hover:bg-neutral-50 active:bg-neutral-100 focus-visible:outline-neutral-500',
|
|
1617
740
|
danger: 'bg-transparent text-danger-600 border-danger-600 hover:bg-danger-50 active:bg-danger-100 focus-visible:outline-danger-600',
|
|
1618
741
|
success: 'bg-transparent text-success-600 border-success-600 hover:bg-success-50 active:bg-success-100 focus-visible:outline-success-600',
|
|
1619
742
|
warning: 'bg-transparent text-warning-600 border-warning-500 hover:bg-warning-50 active:bg-warning-100 focus-visible:outline-warning-500',
|
|
@@ -1622,7 +745,7 @@ class TailwindButton extends TailwindComponent {
|
|
|
1622
745
|
/** Transparent + hover/active background tint (former `text` look). */
|
|
1623
746
|
const ghostMap = {
|
|
1624
747
|
primary: 'bg-transparent text-primary-600 border-transparent hover:bg-primary-50 active:bg-primary-100 focus-visible:outline-primary-600',
|
|
1625
|
-
secondary: 'bg-transparent text-
|
|
748
|
+
secondary: 'bg-transparent text-neutral-700 border-transparent hover:bg-neutral-100 active:bg-neutral-200 focus-visible:outline-neutral-500',
|
|
1626
749
|
danger: 'bg-transparent text-danger-600 border-transparent hover:bg-danger-50 active:bg-danger-100 focus-visible:outline-danger-600',
|
|
1627
750
|
success: 'bg-transparent text-success-600 border-transparent hover:bg-success-50 active:bg-success-100 focus-visible:outline-success-600',
|
|
1628
751
|
warning: 'bg-transparent text-warning-600 border-transparent hover:bg-warning-50 active:bg-warning-100 focus-visible:outline-warning-500',
|
|
@@ -1631,7 +754,7 @@ class TailwindButton extends TailwindComponent {
|
|
|
1631
754
|
/** Text color from severity only; background stays transparent on hover/active. */
|
|
1632
755
|
const textMap = {
|
|
1633
756
|
primary: 'bg-transparent text-primary-600 border-transparent focus-visible:outline-primary-600',
|
|
1634
|
-
secondary: 'bg-transparent text-
|
|
757
|
+
secondary: 'bg-transparent text-neutral-700 border-transparent focus-visible:outline-neutral-500',
|
|
1635
758
|
danger: 'bg-transparent text-danger-600 border-transparent focus-visible:outline-danger-600',
|
|
1636
759
|
success: 'bg-transparent text-success-600 border-transparent focus-visible:outline-success-600',
|
|
1637
760
|
warning: 'bg-transparent text-warning-600 border-transparent focus-visible:outline-warning-500',
|
|
@@ -1672,36 +795,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1672
795
|
args: [{ selector: 'tailwind-button', imports: [NgClass], template: "<button\n [ngClass]=\"computedClasses()\"\n [disabled]=\"disabled()\"\n [type]=\"type()\"\n [attr.aria-disabled]=\"disabled() || null\"\n (click)=\"handleClick($event)\">\n <ng-content />\n</button>\n", styles: [":host{display:inline-block}.tailwind-btn-spinner{animation:tailwind-spin 1s linear infinite;width:1em;height:1em}@keyframes tailwind-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
1673
796
|
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], kind: [{ type: i0.Input, args: [{ isSignal: true, alias: "kind", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], onClick: [{ type: i0.Output, args: ["onClick"] }] } });
|
|
1674
797
|
|
|
1675
|
-
const TAILWIND_MODAL_DATA = new InjectionToken('TAILWIND_MODAL_DATA');
|
|
1676
|
-
/** Default pixel size for `tailwind-icon` when `size` is omitted (typically 16–64). */
|
|
1677
|
-
const TAILWIND_ICON_SIZE = new InjectionToken('TAILWIND_ICON_SIZE');
|
|
1678
|
-
const TAILWIND_DATETIME_LANGUAGE = new InjectionToken('TAILWIND_DATETIME_LANGUAGE');
|
|
1679
|
-
const TAILWIND_COMPONENTS_SIZE = new InjectionToken('TAILWIND_COMPONENTS_SIZE');
|
|
1680
|
-
|
|
1681
|
-
const clampIconSize = (value) => {
|
|
1682
|
-
if (!Number.isFinite(value))
|
|
1683
|
-
return 24;
|
|
1684
|
-
const rounded = Math.round(value);
|
|
1685
|
-
return Math.min(64, Math.max(16, rounded));
|
|
1686
|
-
};
|
|
1687
|
-
class TailwindIcon extends TailwindComponent {
|
|
1688
|
-
iconSize = inject(TAILWIND_ICON_SIZE, { optional: true });
|
|
1689
|
-
/** Solar Line Duotone icon name; SVG path `/tailwind-icons/<name>.svg` */
|
|
1690
|
-
icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
1691
|
-
/** Width and height in px (16–64, clamped); default from `TAILWIND_ICON_SIZE` or **24** */
|
|
1692
|
-
size = input(clampIconSize(this.iconSize ?? 24), ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
1693
|
-
src = computed(() => `/tailwind-icons/${this.icon()}.svg`, ...(ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []));
|
|
1694
|
-
pixelSize = computed(() => clampIconSize(this.size()), ...(ngDevMode ? [{ debugName: "pixelSize" }] : /* istanbul ignore next */ []));
|
|
1695
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindIcon, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1696
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: TailwindIcon, isStandalone: true, selector: "tailwind-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "inline-flex shrink-0 items-center justify-center" }, usesInheritance: true, ngImport: i0, template: "<img\r\n class=\"block shrink-0\"\r\n [src]=\"src()\"\r\n [attr.width]=\"pixelSize()\"\r\n [attr.height]=\"pixelSize()\"\r\n [attr.alt]=\"icon()\"\r\n [attr.aria-hidden]=\"true\"\r\n decoding=\"async\" />\r\n" });
|
|
1697
|
-
}
|
|
1698
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindIcon, decorators: [{
|
|
1699
|
-
type: Component,
|
|
1700
|
-
args: [{ selector: 'tailwind-icon', host: {
|
|
1701
|
-
class: 'inline-flex shrink-0 items-center justify-center'
|
|
1702
|
-
}, template: "<img\r\n class=\"block shrink-0\"\r\n [src]=\"src()\"\r\n [attr.width]=\"pixelSize()\"\r\n [attr.height]=\"pixelSize()\"\r\n [attr.alt]=\"icon()\"\r\n [attr.aria-hidden]=\"true\"\r\n decoding=\"async\" />\r\n" }]
|
|
1703
|
-
}], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
1704
|
-
|
|
1705
798
|
class TailwindInput extends TailwindComponent {
|
|
1706
799
|
/** Label text */
|
|
1707
800
|
label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
@@ -1728,9 +821,9 @@ class TailwindInput extends TailwindComponent {
|
|
|
1728
821
|
const base = [
|
|
1729
822
|
'block w-full bg-white',
|
|
1730
823
|
'border transition-colors duration-150',
|
|
1731
|
-
'placeholder:text-
|
|
824
|
+
'placeholder:text-neutral-400',
|
|
1732
825
|
'outline-none focus:outline focus:outline-2 focus:outline-offset-2',
|
|
1733
|
-
'disabled:bg-
|
|
826
|
+
'disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed'
|
|
1734
827
|
];
|
|
1735
828
|
const sizeMap = {
|
|
1736
829
|
xs: 'text-xs px-2 py-1 rounded-sm',
|
|
@@ -1741,7 +834,7 @@ class TailwindInput extends TailwindComponent {
|
|
|
1741
834
|
};
|
|
1742
835
|
const stateClass = this.hasError()
|
|
1743
836
|
? 'border-danger-400 focus:outline-danger-500 text-danger-900'
|
|
1744
|
-
: 'border-
|
|
837
|
+
: 'border-neutral-300 focus:outline-primary-500 text-neutral-900';
|
|
1745
838
|
return [...base, sizeMap[this.size()], stateClass].join(' ');
|
|
1746
839
|
}, ...(ngDevMode ? [{ debugName: "inputClasses" }] : /* istanbul ignore next */ []));
|
|
1747
840
|
// CVA
|
|
@@ -1774,7 +867,7 @@ class TailwindInput extends TailwindComponent {
|
|
|
1774
867
|
useExisting: forwardRef(() => TailwindInput),
|
|
1775
868
|
multi: true
|
|
1776
869
|
}
|
|
1777
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-input-wrapper flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-
|
|
870
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-input-wrapper flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-neutral-700\"\n [class.text-danger-600]=\"hasError()\">\n {{ label() }}\n </label>\n }\n\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n [type]=\"type()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-invalid]=\"hasError() || null\"\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\n [value]=\"value()\"\n [class]=\"inputClasses()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onBlur()\" />\n\n @if (helperText() && !hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\n {{ helperText() }}\n </p>\n }\n @if (errorText() && hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\n {{ errorText() }}\n </p>\n }\n</div>\n", styles: [":host{display:block}\n"] });
|
|
1778
871
|
}
|
|
1779
872
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindInput, decorators: [{
|
|
1780
873
|
type: Component,
|
|
@@ -1784,7 +877,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1784
877
|
useExisting: forwardRef(() => TailwindInput),
|
|
1785
878
|
multi: true
|
|
1786
879
|
}
|
|
1787
|
-
], template: "<div class=\"tailwind-input-wrapper flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-
|
|
880
|
+
], template: "<div class=\"tailwind-input-wrapper flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-neutral-700\"\n [class.text-danger-600]=\"hasError()\">\n {{ label() }}\n </label>\n }\n\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n [type]=\"type()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [readonly]=\"readonly()\"\n [attr.aria-invalid]=\"hasError() || null\"\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\n [value]=\"value()\"\n [class]=\"inputClasses()\"\n (input)=\"onInputChange($event)\"\n (blur)=\"onBlur()\" />\n\n @if (helperText() && !hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\n {{ helperText() }}\n </p>\n }\n @if (errorText() && hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\n {{ errorText() }}\n </p>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
1788
881
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], helperText: [{ type: i0.Input, args: [{ isSignal: true, alias: "helperText", required: false }] }], errorText: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorText", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
1789
882
|
|
|
1790
883
|
class TailwindTextarea extends TailwindComponent {
|
|
@@ -1819,9 +912,9 @@ class TailwindTextarea extends TailwindComponent {
|
|
|
1819
912
|
const base = [
|
|
1820
913
|
'block w-full bg-white',
|
|
1821
914
|
'border transition-colors duration-150',
|
|
1822
|
-
'placeholder:text-
|
|
915
|
+
'placeholder:text-neutral-400',
|
|
1823
916
|
'outline-none focus:outline focus:outline-2 focus:outline-offset-2',
|
|
1824
|
-
'disabled:bg-
|
|
917
|
+
'disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed'
|
|
1825
918
|
];
|
|
1826
919
|
const sizeMap = {
|
|
1827
920
|
xs: 'text-xs px-2 py-1 rounded-sm min-h-[4.5rem]',
|
|
@@ -1838,7 +931,7 @@ class TailwindTextarea extends TailwindComponent {
|
|
|
1838
931
|
};
|
|
1839
932
|
const stateClass = this.hasError()
|
|
1840
933
|
? 'border-danger-400 focus:outline-danger-500 text-danger-900'
|
|
1841
|
-
: 'border-
|
|
934
|
+
: 'border-neutral-300 focus:outline-primary-500 text-neutral-900';
|
|
1842
935
|
return [...base, sizeMap[this.size()], resizeMap[this.resize()], stateClass].join(' ');
|
|
1843
936
|
}, ...(ngDevMode ? [{ debugName: "textareaClasses" }] : /* istanbul ignore next */ []));
|
|
1844
937
|
onChange = () => { };
|
|
@@ -1870,7 +963,7 @@ class TailwindTextarea extends TailwindComponent {
|
|
|
1870
963
|
useExisting: forwardRef(() => TailwindTextarea),
|
|
1871
964
|
multi: true
|
|
1872
965
|
}
|
|
1873
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-textarea-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label\r\n [attr.for]=\"id() ? id() + '-inner' : null\"\r\n class=\"text-sm font-medium text-
|
|
966
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-textarea-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label\r\n [attr.for]=\"id() ? id() + '-inner' : null\"\r\n class=\"text-sm font-medium text-neutral-700\"\r\n [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <textarea\r\n [attr.id]=\"id() ? id() + '-inner' : null\"\r\n [placeholder]=\"placeholder()\"\r\n [rows]=\"rows()\"\r\n [attr.cols]=\"cols() ?? null\"\r\n [attr.maxlength]=\"maxlength() ?? null\"\r\n [disabled]=\"isDisabled()\"\r\n [readonly]=\"readonly()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\r\n [value]=\"value()\"\r\n [class]=\"textareaClasses()\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onBlur()\"></textarea>\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] });
|
|
1874
967
|
}
|
|
1875
968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTextarea, decorators: [{
|
|
1876
969
|
type: Component,
|
|
@@ -1880,7 +973,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
1880
973
|
useExisting: forwardRef(() => TailwindTextarea),
|
|
1881
974
|
multi: true
|
|
1882
975
|
}
|
|
1883
|
-
], template: "<div class=\"tailwind-textarea-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label\r\n [attr.for]=\"id() ? id() + '-inner' : null\"\r\n class=\"text-sm font-medium text-
|
|
976
|
+
], template: "<div class=\"tailwind-textarea-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label\r\n [attr.for]=\"id() ? id() + '-inner' : null\"\r\n class=\"text-sm font-medium text-neutral-700\"\r\n [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <textarea\r\n [attr.id]=\"id() ? id() + '-inner' : null\"\r\n [placeholder]=\"placeholder()\"\r\n [rows]=\"rows()\"\r\n [attr.cols]=\"cols() ?? null\"\r\n [attr.maxlength]=\"maxlength() ?? null\"\r\n [disabled]=\"isDisabled()\"\r\n [readonly]=\"readonly()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\r\n [value]=\"value()\"\r\n [class]=\"textareaClasses()\"\r\n (input)=\"onInputChange($event)\"\r\n (blur)=\"onBlur()\"></textarea>\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
1884
977
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], cols: [{ type: i0.Input, args: [{ isSignal: true, alias: "cols", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], resize: [{ type: i0.Input, args: [{ isSignal: true, alias: "resize", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], helperText: [{ type: i0.Input, args: [{ isSignal: true, alias: "helperText", required: false }] }], errorText: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorText", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
1885
978
|
|
|
1886
979
|
class TailwindUpload extends TailwindComponent {
|
|
@@ -1931,10 +1024,13 @@ class TailwindUpload extends TailwindComponent {
|
|
|
1931
1024
|
'transition-colors duration-150 outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2'
|
|
1932
1025
|
];
|
|
1933
1026
|
if (this.isDisabled()) {
|
|
1934
|
-
return [...base, 'cursor-not-allowed opacity-50 bg-
|
|
1027
|
+
return [...base, 'cursor-not-allowed opacity-50 bg-neutral-50 border-neutral-200 text-neutral-500'].join(' ');
|
|
1935
1028
|
}
|
|
1936
1029
|
if (this.isDragOver()) {
|
|
1937
|
-
return [
|
|
1030
|
+
return [
|
|
1031
|
+
...base,
|
|
1032
|
+
'cursor-pointer border-primary-500 bg-primary-50/60 text-neutral-800 focus-visible:outline-primary-500'
|
|
1033
|
+
].join(' ');
|
|
1938
1034
|
}
|
|
1939
1035
|
if (this.hasError()) {
|
|
1940
1036
|
return [
|
|
@@ -1944,7 +1040,7 @@ class TailwindUpload extends TailwindComponent {
|
|
|
1944
1040
|
}
|
|
1945
1041
|
return [
|
|
1946
1042
|
...base,
|
|
1947
|
-
'cursor-pointer border-
|
|
1043
|
+
'cursor-pointer border-neutral-300 bg-neutral-50/50 text-neutral-800 focus-visible:outline-primary-500',
|
|
1948
1044
|
'hover:border-primary-400 hover:bg-primary-50/30'
|
|
1949
1045
|
].join(' ');
|
|
1950
1046
|
}, ...(ngDevMode ? [{ debugName: "areaClasses" }] : /* istanbul ignore next */ []));
|
|
@@ -2033,7 +1129,7 @@ class TailwindUpload extends TailwindComponent {
|
|
|
2033
1129
|
const max = this.maxFileSizeBytes();
|
|
2034
1130
|
if (max == null)
|
|
2035
1131
|
return null;
|
|
2036
|
-
const tooLarge = files.filter(
|
|
1132
|
+
const tooLarge = files.filter(f => f.size > max);
|
|
2037
1133
|
if (tooLarge.length === 0)
|
|
2038
1134
|
return null;
|
|
2039
1135
|
const maxLabel = max >= 1024 * 1024
|
|
@@ -2055,9 +1151,9 @@ class TailwindUpload extends TailwindComponent {
|
|
|
2055
1151
|
this.validationError.emit(err);
|
|
2056
1152
|
return;
|
|
2057
1153
|
}
|
|
2058
|
-
this.selectedNames.set(files.map(
|
|
1154
|
+
this.selectedNames.set(files.map(f => f.name));
|
|
2059
1155
|
try {
|
|
2060
|
-
const dataUrls = await Promise.all(files.map(
|
|
1156
|
+
const dataUrls = await Promise.all(files.map(f => this.readAsDataUrl(f)));
|
|
2061
1157
|
this.filesSelected.emit(files);
|
|
2062
1158
|
const primary = dataUrls[0] ?? '';
|
|
2063
1159
|
this.value.set(primary);
|
|
@@ -2090,7 +1186,7 @@ class TailwindUpload extends TailwindComponent {
|
|
|
2090
1186
|
useExisting: forwardRef(() => TailwindUpload),
|
|
2091
1187
|
multi: true
|
|
2092
1188
|
}
|
|
2093
|
-
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-upload-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label
|
|
1189
|
+
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-upload-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label [attr.for]=\"fileInputId()\" class=\"text-sm font-medium text-neutral-700\" [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n class=\"sr-only\"\r\n [attr.id]=\"fileInputId()\"\r\n [accept]=\"accept() ?? null\"\r\n [attr.multiple]=\"multiple() ? '' : null\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"helperText() || errorText() ? fileInputId() + '-helper' : null\"\r\n (change)=\"onNativeChange($event)\"\r\n (blur)=\"blurHost()\" />\r\n\r\n @if (variant() === 'button') {\r\n <div class=\"flex flex-wrap items-center gap-2\">\r\n <tailwind-button\r\n type=\"button\"\r\n color=\"primary\"\r\n kind=\"solid\"\r\n [size]=\"size()\"\r\n [disabled]=\"isDisabled()\"\r\n (onClick)=\"triggerPicker($event)\">\r\n {{ buttonLabel() }}\r\n </tailwind-button>\r\n @if (showClear() && value()) {\r\n <button\r\n type=\"button\"\r\n class=\"text-sm font-medium text-primary-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-50\"\r\n [disabled]=\"isDisabled()\"\r\n (click)=\"clear($event)\">\r\n {{ clearText() }}\r\n </button>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col gap-2\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [class]=\"areaClasses()\"\r\n [attr.aria-disabled]=\"isDisabled() || null\"\r\n (click)=\"triggerPicker($event)\"\r\n (keydown)=\"onKeydownArea($event)\"\r\n (dragenter)=\"onDragEnter($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <tailwind-icon icon=\"cloud-arrow-up\" [size]=\"40\" />\r\n <span class=\"text-sm font-medium\">{{ areaTitle() }}</span>\r\n <span class=\"text-xs text-neutral-500\">{{ areaHint() }}</span>\r\n </div>\r\n @if (showClear() && value()) {\r\n <button\r\n type=\"button\"\r\n class=\"self-start text-sm font-medium text-primary-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-50\"\r\n [disabled]=\"isDisabled()\"\r\n (click)=\"clear($event)\">\r\n {{ clearText() }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n @if (selectedNames().length) {\r\n <p class=\"truncate text-xs text-neutral-600\" [attr.title]=\"selectedNames().join(', ')\">\r\n {{ selectedNames().join(', ') }}\r\n </p>\r\n }\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"fileInputId() + '-helper'\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"fileInputId() + '-helper'\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: TailwindIcon, selector: "tailwind-icon", inputs: ["icon", "size"] }, { kind: "component", type: TailwindButton, selector: "tailwind-button", inputs: ["color", "kind", "size", "disabled", "type"], outputs: ["onClick"] }] });
|
|
2094
1190
|
}
|
|
2095
1191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindUpload, decorators: [{
|
|
2096
1192
|
type: Component,
|
|
@@ -2100,7 +1196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2100
1196
|
useExisting: forwardRef(() => TailwindUpload),
|
|
2101
1197
|
multi: true
|
|
2102
1198
|
}
|
|
2103
|
-
], template: "<div class=\"tailwind-upload-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label
|
|
1199
|
+
], template: "<div class=\"tailwind-upload-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label [attr.for]=\"fileInputId()\" class=\"text-sm font-medium text-neutral-700\" [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <input\r\n #fileInput\r\n type=\"file\"\r\n class=\"sr-only\"\r\n [attr.id]=\"fileInputId()\"\r\n [accept]=\"accept() ?? null\"\r\n [attr.multiple]=\"multiple() ? '' : null\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"helperText() || errorText() ? fileInputId() + '-helper' : null\"\r\n (change)=\"onNativeChange($event)\"\r\n (blur)=\"blurHost()\" />\r\n\r\n @if (variant() === 'button') {\r\n <div class=\"flex flex-wrap items-center gap-2\">\r\n <tailwind-button\r\n type=\"button\"\r\n color=\"primary\"\r\n kind=\"solid\"\r\n [size]=\"size()\"\r\n [disabled]=\"isDisabled()\"\r\n (onClick)=\"triggerPicker($event)\">\r\n {{ buttonLabel() }}\r\n </tailwind-button>\r\n @if (showClear() && value()) {\r\n <button\r\n type=\"button\"\r\n class=\"text-sm font-medium text-primary-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-50\"\r\n [disabled]=\"isDisabled()\"\r\n (click)=\"clear($event)\">\r\n {{ clearText() }}\r\n </button>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"flex flex-col gap-2\">\r\n <div\r\n role=\"button\"\r\n tabindex=\"0\"\r\n [class]=\"areaClasses()\"\r\n [attr.aria-disabled]=\"isDisabled() || null\"\r\n (click)=\"triggerPicker($event)\"\r\n (keydown)=\"onKeydownArea($event)\"\r\n (dragenter)=\"onDragEnter($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\">\r\n <tailwind-icon icon=\"cloud-arrow-up\" [size]=\"40\" />\r\n <span class=\"text-sm font-medium\">{{ areaTitle() }}</span>\r\n <span class=\"text-xs text-neutral-500\">{{ areaHint() }}</span>\r\n </div>\r\n @if (showClear() && value()) {\r\n <button\r\n type=\"button\"\r\n class=\"self-start text-sm font-medium text-primary-600 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-50\"\r\n [disabled]=\"isDisabled()\"\r\n (click)=\"clear($event)\">\r\n {{ clearText() }}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n @if (selectedNames().length) {\r\n <p class=\"truncate text-xs text-neutral-600\" [attr.title]=\"selectedNames().join(', ')\">\r\n {{ selectedNames().join(', ') }}\r\n </p>\r\n }\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"fileInputId() + '-helper'\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"fileInputId() + '-helper'\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
2104
1200
|
}], propDecorators: { fileInput: [{ type: i0.ViewChild, args: ['fileInput', { isSignal: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], buttonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonLabel", required: false }] }], areaTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "areaTitle", required: false }] }], areaHint: [{ type: i0.Input, args: [{ isSignal: true, alias: "areaHint", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: "accept", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], maxFileSizeBytes: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFileSizeBytes", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], clearText: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearText", required: false }] }], helperText: [{ type: i0.Input, args: [{ isSignal: true, alias: "helperText", required: false }] }], errorText: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorText", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], filesSelected: [{ type: i0.Output, args: ["filesSelected"] }], validationError: [{ type: i0.Output, args: ["validationError"] }] } });
|
|
2105
1201
|
|
|
2106
1202
|
class TailwindInputOtp extends TailwindComponent {
|
|
@@ -2145,7 +1241,7 @@ class TailwindInputOtp extends TailwindComponent {
|
|
|
2145
1241
|
'block w-10 text-center font-mono tabular-nums bg-white',
|
|
2146
1242
|
'border transition-colors duration-150',
|
|
2147
1243
|
'outline-none focus:outline focus:outline-2 focus:outline-offset-2',
|
|
2148
|
-
'disabled:bg-
|
|
1244
|
+
'disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed'
|
|
2149
1245
|
];
|
|
2150
1246
|
const sizeMap = {
|
|
2151
1247
|
xs: 'text-xs px-1 py-1 rounded-sm min-w-7',
|
|
@@ -2156,7 +1252,7 @@ class TailwindInputOtp extends TailwindComponent {
|
|
|
2156
1252
|
};
|
|
2157
1253
|
const stateClass = this.hasError()
|
|
2158
1254
|
? 'border-danger-400 focus:outline-danger-500 text-danger-900'
|
|
2159
|
-
: 'border-
|
|
1255
|
+
: 'border-neutral-300 focus:outline-primary-500 text-neutral-900';
|
|
2160
1256
|
return [...base, sizeMap[this.size()], stateClass].join(' ');
|
|
2161
1257
|
}, ...(ngDevMode ? [{ debugName: "cellClasses" }] : /* istanbul ignore next */ []));
|
|
2162
1258
|
groupAriaLabel = computed(() => this.label() || this.ariaLabel(), ...(ngDevMode ? [{ debugName: "groupAriaLabel" }] : /* istanbul ignore next */ []));
|
|
@@ -2323,7 +1419,7 @@ class TailwindInputOtp extends TailwindComponent {
|
|
|
2323
1419
|
useExisting: forwardRef(() => TailwindInputOtp),
|
|
2324
1420
|
multi: true
|
|
2325
1421
|
}
|
|
2326
|
-
], viewQueries: [{ propertyName: "otpInputs", predicate: ["otpDigit"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-input-otp-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label
|
|
1422
|
+
], viewQueries: [{ propertyName: "otpInputs", predicate: ["otpDigit"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"tailwind-input-otp-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label [attr.for]=\"cellId(0)\" class=\"text-sm font-medium text-neutral-700\" [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <div role=\"group\" [attr.aria-label]=\"groupAriaLabel()\" class=\"flex flex-wrap items-center gap-2\">\r\n @for (idx of slotIndexes(); track idx) {\r\n <input\r\n #otpDigit\r\n [attr.id]=\"cellId(idx)\"\r\n [type]=\"inputType()\"\r\n [attr.inputmode]=\"inputMode()\"\r\n [attr.autocomplete]=\"autocompleteForSlot(idx)\"\r\n [attr.aria-label]=\"'Digit ' + (idx + 1) + ' of ' + slotIndexes().length\"\r\n [disabled]=\"isDisabled()\"\r\n [readonly]=\"readonly()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\r\n maxlength=\"1\"\r\n spellcheck=\"false\"\r\n [class]=\"cellClasses()\"\r\n [value]=\"digitAt(idx)\"\r\n (input)=\"onInput($event, idx)\"\r\n (keydown)=\"onKeydown($event, idx)\"\r\n (paste)=\"onPaste($event, idx)\"\r\n (focus)=\"onSlotFocus(idx)\" />\r\n @if (showSeparatorAfter(idx)) {\r\n <span class=\"select-none text-neutral-500\" aria-hidden=\"true\">{{ separator() }}</span>\r\n }\r\n }\r\n </div>\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] });
|
|
2327
1423
|
}
|
|
2328
1424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindInputOtp, decorators: [{
|
|
2329
1425
|
type: Component,
|
|
@@ -2333,7 +1429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2333
1429
|
useExisting: forwardRef(() => TailwindInputOtp),
|
|
2334
1430
|
multi: true
|
|
2335
1431
|
}
|
|
2336
|
-
], template: "<div class=\"tailwind-input-otp-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label
|
|
1432
|
+
], template: "<div class=\"tailwind-input-otp-wrapper flex flex-col gap-1.5\">\r\n @if (label()) {\r\n <label [attr.for]=\"cellId(0)\" class=\"text-sm font-medium text-neutral-700\" [class.text-danger-600]=\"hasError()\">\r\n {{ label() }}\r\n </label>\r\n }\r\n\r\n <div role=\"group\" [attr.aria-label]=\"groupAriaLabel()\" class=\"flex flex-wrap items-center gap-2\">\r\n @for (idx of slotIndexes(); track idx) {\r\n <input\r\n #otpDigit\r\n [attr.id]=\"cellId(idx)\"\r\n [type]=\"inputType()\"\r\n [attr.inputmode]=\"inputMode()\"\r\n [attr.autocomplete]=\"autocompleteForSlot(idx)\"\r\n [attr.aria-label]=\"'Digit ' + (idx + 1) + ' of ' + slotIndexes().length\"\r\n [disabled]=\"isDisabled()\"\r\n [readonly]=\"readonly()\"\r\n [attr.aria-invalid]=\"hasError() || null\"\r\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\r\n maxlength=\"1\"\r\n spellcheck=\"false\"\r\n [class]=\"cellClasses()\"\r\n [value]=\"digitAt(idx)\"\r\n (input)=\"onInput($event, idx)\"\r\n (keydown)=\"onKeydown($event, idx)\"\r\n (paste)=\"onPaste($event, idx)\"\r\n (focus)=\"onSlotFocus(idx)\" />\r\n @if (showSeparatorAfter(idx)) {\r\n <span class=\"select-none text-neutral-500\" aria-hidden=\"true\">{{ separator() }}</span>\r\n }\r\n }\r\n </div>\r\n\r\n @if (helperText() && !hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">\r\n {{ helperText() }}\r\n </p>\r\n }\r\n @if (errorText() && hasError()) {\r\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">\r\n {{ errorText() }}\r\n </p>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
2337
1433
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], length: [{ type: i0.Input, args: [{ isSignal: true, alias: "length", required: false }] }], integerOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "integerOnly", required: false }] }], mask: [{ type: i0.Input, args: [{ isSignal: true, alias: "mask", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], helperText: [{ type: i0.Input, args: [{ isSignal: true, alias: "helperText", required: false }] }], errorText: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorText", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], separatorAfterIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "separatorAfterIndex", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], completed: [{ type: i0.Output, args: ["completed"] }], otpInputs: [{ type: i0.ViewChildren, args: ['otpDigit', { isSignal: true }] }] } });
|
|
2338
1434
|
|
|
2339
1435
|
class TailwindCheckbox extends TailwindComponent {
|
|
@@ -2387,7 +1483,7 @@ class TailwindCheckbox extends TailwindComponent {
|
|
|
2387
1483
|
useExisting: forwardRef(() => TailwindCheckbox),
|
|
2388
1484
|
multi: true
|
|
2389
1485
|
}
|
|
2390
|
-
], usesInheritance: true, ngImport: i0, template: "<div
|
|
1486
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"inline-flex items-center gap-2.5 select-none\" [class.opacity-50]=\"isDisabled()\">\n <label\n class=\"relative flex items-center justify-center shrink-0\"\n [class.cursor-pointer]=\"!isDisabled()\"\n [class.cursor-not-allowed]=\"isDisabled()\"\n [attr.for]=\"id() ? id() + '-inner' : null\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"checkbox\"\n class=\"peer sr-only\"\n [checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-describedby]=\"description() && id() ? id() + '-desc' : null\"\n [attr.aria-labelledby]=\"label() && id() ? id() + '-label' : null\"\n (change)=\"onCheckboxChange($event)\" />\n <div\n class=\"w-full h-full border-2 transition-all duration-150 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-500/30 peer-focus-visible:ring-offset-1\"\n [class.rounded-sm]=\"size() === 'xs' || size() === 'sm'\"\n [class.rounded-md]=\"size() !== 'xs' && size() !== 'sm'\"\n [class.border-neutral-300]=\"!checked()\"\n [class.bg-white]=\"!checked()\"\n [class.border-primary-600]=\"checked()\"\n [class.bg-primary-600]=\"checked()\">\n @if (checked()) {\n <svg class=\"w-full h-full text-white p-0.5\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M13.5 4.5L6.5 11.5L3 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n }\n </div>\n </label>\n\n <div class=\"flex flex-col gap-0.5 pt-0.5\">\n @if (label()) {\n <span [attr.id]=\"id() ? id() + '-label' : null\" class=\"text-sm font-medium text-neutral-800 leading-tight\">{{\n label()\n }}</span>\n }\n @if (description()) {\n <span [attr.id]=\"id() ? id() + '-desc' : null\" class=\"text-xs text-neutral-500 leading-snug\">\n {{ description() }}\n </span>\n }\n </div>\n</div>\n", styles: [":host{display:inline-block}\n"] });
|
|
2391
1487
|
}
|
|
2392
1488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindCheckbox, decorators: [{
|
|
2393
1489
|
type: Component,
|
|
@@ -2397,7 +1493,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2397
1493
|
useExisting: forwardRef(() => TailwindCheckbox),
|
|
2398
1494
|
multi: true
|
|
2399
1495
|
}
|
|
2400
|
-
], template: "<div
|
|
1496
|
+
], template: "<div class=\"inline-flex items-center gap-2.5 select-none\" [class.opacity-50]=\"isDisabled()\">\n <label\n class=\"relative flex items-center justify-center shrink-0\"\n [class.cursor-pointer]=\"!isDisabled()\"\n [class.cursor-not-allowed]=\"isDisabled()\"\n [attr.for]=\"id() ? id() + '-inner' : null\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"checkbox\"\n class=\"peer sr-only\"\n [checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-describedby]=\"description() && id() ? id() + '-desc' : null\"\n [attr.aria-labelledby]=\"label() && id() ? id() + '-label' : null\"\n (change)=\"onCheckboxChange($event)\" />\n <div\n class=\"w-full h-full border-2 transition-all duration-150 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-500/30 peer-focus-visible:ring-offset-1\"\n [class.rounded-sm]=\"size() === 'xs' || size() === 'sm'\"\n [class.rounded-md]=\"size() !== 'xs' && size() !== 'sm'\"\n [class.border-neutral-300]=\"!checked()\"\n [class.bg-white]=\"!checked()\"\n [class.border-primary-600]=\"checked()\"\n [class.bg-primary-600]=\"checked()\">\n @if (checked()) {\n <svg class=\"w-full h-full text-white p-0.5\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M13.5 4.5L6.5 11.5L3 8\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\" />\n </svg>\n }\n </div>\n </label>\n\n <div class=\"flex flex-col gap-0.5 pt-0.5\">\n @if (label()) {\n <span [attr.id]=\"id() ? id() + '-label' : null\" class=\"text-sm font-medium text-neutral-800 leading-tight\">{{\n label()\n }}</span>\n }\n @if (description()) {\n <span [attr.id]=\"id() ? id() + '-desc' : null\" class=\"text-xs text-neutral-500 leading-snug\">\n {{ description() }}\n </span>\n }\n </div>\n</div>\n", styles: [":host{display:inline-block}\n"] }]
|
|
2401
1497
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }] } });
|
|
2402
1498
|
|
|
2403
1499
|
class TailwindRadioGroup extends TailwindComponent {
|
|
@@ -2466,7 +1562,7 @@ class TailwindRadioGroup extends TailwindComponent {
|
|
|
2466
1562
|
useExisting: forwardRef(() => TailwindRadioGroup),
|
|
2467
1563
|
multi: true
|
|
2468
1564
|
}
|
|
2469
|
-
], usesInheritance: true, ngImport: i0, template: "<fieldset\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [attr.aria-label]=\"ariaLabel()\"\n role=\"radiogroup\">\n @if (label()) {\n <legend class=\"text-sm font-medium text-
|
|
1565
|
+
], usesInheritance: true, ngImport: i0, template: "<fieldset\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [attr.aria-label]=\"ariaLabel()\"\n role=\"radiogroup\">\n @if (label()) {\n <legend class=\"text-sm font-medium text-neutral-700 mb-2\">{{ label() }}</legend>\n }\n\n @for (option of options(); track option.value) {\n <label\n class=\"inline-flex items-start gap-2.5 cursor-pointer select-none\"\n [class.cursor-not-allowed]=\"isDisabled() || option.disabled\"\n [class.opacity-50]=\"isDisabled() || option.disabled\">\n <div class=\"relative flex items-center justify-center shrink-0\" [class]=\"radioSizeClass()\">\n <input\n type=\"radio\"\n class=\"peer sr-only\"\n [name]=\"name()\"\n [value]=\"option.value\"\n [checked]=\"value() === option.value\"\n [disabled]=\"isDisabled() || !!option.disabled\"\n (change)=\"onRadioChange(option.value)\" />\n <div\n class=\"w-full h-full rounded-full border-2 transition-all duration-150 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-500/30 peer-focus-visible:ring-offset-1 flex items-center justify-center\"\n [class.border-neutral-300]=\"value() !== option.value\"\n [class.border-primary-600]=\"value() === option.value\">\n @if (value() === option.value) {\n <div\n class=\"rounded-full bg-primary-600 transition-transform duration-150 scale-100\"\n [class]=\"dotSizeClass()\"></div>\n }\n </div>\n </div>\n\n <div class=\"flex flex-col gap-0.5 pt-0.5\">\n <span class=\"text-sm font-medium text-neutral-800 leading-tight\">{{ option.label }}</span>\n @if (option.description) {\n <span class=\"text-xs text-neutral-500 leading-snug\">{{ option.description }}</span>\n }\n </div>\n </label>\n }\n</fieldset>\n", styles: [":host{display:block}\n"] });
|
|
2470
1566
|
}
|
|
2471
1567
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindRadioGroup, decorators: [{
|
|
2472
1568
|
type: Component,
|
|
@@ -2476,7 +1572,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2476
1572
|
useExisting: forwardRef(() => TailwindRadioGroup),
|
|
2477
1573
|
multi: true
|
|
2478
1574
|
}
|
|
2479
|
-
], template: "<fieldset\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [attr.aria-label]=\"ariaLabel()\"\n role=\"radiogroup\">\n @if (label()) {\n <legend class=\"text-sm font-medium text-
|
|
1575
|
+
], template: "<fieldset\n class=\"flex gap-3\"\n [class.flex-col]=\"orientation() === 'vertical'\"\n [attr.aria-label]=\"ariaLabel()\"\n role=\"radiogroup\">\n @if (label()) {\n <legend class=\"text-sm font-medium text-neutral-700 mb-2\">{{ label() }}</legend>\n }\n\n @for (option of options(); track option.value) {\n <label\n class=\"inline-flex items-start gap-2.5 cursor-pointer select-none\"\n [class.cursor-not-allowed]=\"isDisabled() || option.disabled\"\n [class.opacity-50]=\"isDisabled() || option.disabled\">\n <div class=\"relative flex items-center justify-center shrink-0\" [class]=\"radioSizeClass()\">\n <input\n type=\"radio\"\n class=\"peer sr-only\"\n [name]=\"name()\"\n [value]=\"option.value\"\n [checked]=\"value() === option.value\"\n [disabled]=\"isDisabled() || !!option.disabled\"\n (change)=\"onRadioChange(option.value)\" />\n <div\n class=\"w-full h-full rounded-full border-2 transition-all duration-150 peer-focus-visible:ring-2 peer-focus-visible:ring-primary-500/30 peer-focus-visible:ring-offset-1 flex items-center justify-center\"\n [class.border-neutral-300]=\"value() !== option.value\"\n [class.border-primary-600]=\"value() === option.value\">\n @if (value() === option.value) {\n <div\n class=\"rounded-full bg-primary-600 transition-transform duration-150 scale-100\"\n [class]=\"dotSizeClass()\"></div>\n }\n </div>\n </div>\n\n <div class=\"flex flex-col gap-0.5 pt-0.5\">\n <span class=\"text-sm font-medium text-neutral-800 leading-tight\">{{ option.label }}</span>\n @if (option.description) {\n <span class=\"text-xs text-neutral-500 leading-snug\">{{ option.description }}</span>\n }\n </div>\n </label>\n }\n</fieldset>\n", styles: [":host{display:block}\n"] }]
|
|
2480
1576
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
2481
1577
|
|
|
2482
1578
|
class TailwindSelect extends TailwindComponent {
|
|
@@ -2538,14 +1634,14 @@ class TailwindSelect extends TailwindComponent {
|
|
|
2538
1634
|
};
|
|
2539
1635
|
const stateClass = this.hasError()
|
|
2540
1636
|
? 'border-danger-400 focus:outline-danger-500 text-danger-900'
|
|
2541
|
-
: 'border-
|
|
1637
|
+
: 'border-neutral-300 focus:outline-primary-500';
|
|
2542
1638
|
const layout = this.multiple() ? 'items-start' : 'items-center';
|
|
2543
1639
|
return [
|
|
2544
1640
|
'flex justify-between w-full bg-white border transition-colors duration-150',
|
|
2545
1641
|
layout,
|
|
2546
1642
|
'pr-3 cursor-pointer text-left',
|
|
2547
1643
|
'outline-none focus:outline focus:outline-2 focus:outline-offset-2',
|
|
2548
|
-
'disabled:bg-
|
|
1644
|
+
'disabled:bg-neutral-50 disabled:text-neutral-400 disabled:cursor-not-allowed',
|
|
2549
1645
|
sizeMap[this.size()],
|
|
2550
1646
|
stateClass
|
|
2551
1647
|
].join(' ');
|
|
@@ -2573,12 +1669,12 @@ class TailwindSelect extends TailwindComponent {
|
|
|
2573
1669
|
return [
|
|
2574
1670
|
'flex items-center justify-between px-3 py-2 text-sm cursor-pointer select-none',
|
|
2575
1671
|
isDisabled
|
|
2576
|
-
? 'text-
|
|
1672
|
+
? 'text-neutral-400 cursor-not-allowed'
|
|
2577
1673
|
: isSelected
|
|
2578
1674
|
? 'bg-primary-50 text-primary-700 font-medium'
|
|
2579
1675
|
: isActive
|
|
2580
|
-
? 'bg-
|
|
2581
|
-
: 'text-
|
|
1676
|
+
? 'bg-neutral-100 text-neutral-900'
|
|
1677
|
+
: 'text-neutral-800 hover:bg-neutral-50'
|
|
2582
1678
|
].join(' ');
|
|
2583
1679
|
}
|
|
2584
1680
|
// CVA
|
|
@@ -2763,7 +1859,7 @@ class TailwindSelect extends TailwindComponent {
|
|
|
2763
1859
|
useExisting: forwardRef(() => TailwindSelect),
|
|
2764
1860
|
multi: true
|
|
2765
1861
|
}
|
|
2766
|
-
], viewQueries: [{ propertyName: "panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-
|
|
1862
|
+
], viewQueries: [{ propertyName: "panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-neutral-700\"\n [class.text-danger-600]=\"hasError()\">\n {{ label() }}\n </label>\n }\n\n <!-- Trigger button -->\n <button\n type=\"button\"\n [attr.id]=\"id() ? id() + '-inner' : null\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-invalid]=\"hasError() || null\"\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\n [disabled]=\"isDisabled()\"\n [class]=\"triggerClasses()\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeydown($event)\">\n @if (multiple()) {\n <span class=\"flex flex-wrap gap-1 flex-1 min-w-0 mr-2\" [class.text-neutral-400]=\"selectedOptions().length === 0\">\n @if (selectedOptions().length === 0) {\n {{ placeholder() }}\n } @else {\n @for (opt of selectedOptions(); track opt) {\n <span class=\"rounded-md bg-neutral-100 px-2 py-0.5 text-sm text-neutral-800\">{{ opt.label }}</span>\n }\n }\n </span>\n } @else {\n <span [class.text-neutral-400]=\"!selectedOption()\">\n {{ selectedOption()?.label ?? placeholder() }}\n </span>\n }\n\n <svg\n class=\"shrink-0 ml-2 w-4 h-4 text-neutral-400 transition-transform duration-150\"\n [class.rotate-180]=\"isOpen()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n\n @if (helperText() && !hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">{{ helperText() }}</p>\n }\n @if (errorText() && hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">{{ errorText() }}</p>\n }\n</div>\n\n<!-- Dropdown panel \u2014 rendered via CDK Overlay outside the component DOM -->\n<ng-template #panelTemplate>\n <ul\n role=\"listbox\"\n [attr.aria-multiselectable]=\"multiple() ? true : null\"\n class=\"w-full bg-white border border-neutral-200 rounded-md shadow-lg py-1 max-h-60 overflow-auto\">\n @if (placeholder()) {\n <li role=\"option\" aria-disabled=\"true\" class=\"px-3 py-2 text-sm text-neutral-400 cursor-default select-none\">\n {{ placeholder() }}\n </li>\n }\n @for (option of options(); track option.value; let i = $index) {\n <li\n role=\"option\"\n [attr.aria-selected]=\"isOptionSelected(option)\"\n [attr.aria-disabled]=\"option.disabled || null\"\n [class]=\"optionClasses(i, option)\"\n (click)=\"selectOption(option)\"\n (mouseenter)=\"!option.disabled && activeIndex.set(i)\">\n <span>{{ option.label }}</span>\n\n @if (isOptionSelected(option)) {\n <svg\n class=\"w-4 h-4 text-primary-600 shrink-0\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\"\n clip-rule=\"evenodd\" />\n </svg>\n }\n </li>\n }\n </ul>\n</ng-template>\n", styles: [":host{display:block}\n"] });
|
|
2767
1863
|
}
|
|
2768
1864
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSelect, decorators: [{
|
|
2769
1865
|
type: Component,
|
|
@@ -2773,7 +1869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2773
1869
|
useExisting: forwardRef(() => TailwindSelect),
|
|
2774
1870
|
multi: true
|
|
2775
1871
|
}
|
|
2776
|
-
], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-
|
|
1872
|
+
], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label\n [attr.for]=\"id() ? id() + '-inner' : null\"\n class=\"text-sm font-medium text-neutral-700\"\n [class.text-danger-600]=\"hasError()\">\n {{ label() }}\n </label>\n }\n\n <!-- Trigger button -->\n <button\n type=\"button\"\n [attr.id]=\"id() ? id() + '-inner' : null\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-invalid]=\"hasError() || null\"\n [attr.aria-describedby]=\"(helperText() || errorText()) && id() ? id() + '-helper' : null\"\n [disabled]=\"isDisabled()\"\n [class]=\"triggerClasses()\"\n (click)=\"toggleDropdown()\"\n (keydown)=\"onKeydown($event)\">\n @if (multiple()) {\n <span class=\"flex flex-wrap gap-1 flex-1 min-w-0 mr-2\" [class.text-neutral-400]=\"selectedOptions().length === 0\">\n @if (selectedOptions().length === 0) {\n {{ placeholder() }}\n } @else {\n @for (opt of selectedOptions(); track opt) {\n <span class=\"rounded-md bg-neutral-100 px-2 py-0.5 text-sm text-neutral-800\">{{ opt.label }}</span>\n }\n }\n </span>\n } @else {\n <span [class.text-neutral-400]=\"!selectedOption()\">\n {{ selectedOption()?.label ?? placeholder() }}\n </span>\n }\n\n <svg\n class=\"shrink-0 ml-2 w-4 h-4 text-neutral-400 transition-transform duration-150\"\n [class.rotate-180]=\"isOpen()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n\n @if (helperText() && !hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-neutral-500\">{{ helperText() }}</p>\n }\n @if (errorText() && hasError()) {\n <p [attr.id]=\"id() ? id() + '-helper' : null\" class=\"text-xs text-danger-600\">{{ errorText() }}</p>\n }\n</div>\n\n<!-- Dropdown panel \u2014 rendered via CDK Overlay outside the component DOM -->\n<ng-template #panelTemplate>\n <ul\n role=\"listbox\"\n [attr.aria-multiselectable]=\"multiple() ? true : null\"\n class=\"w-full bg-white border border-neutral-200 rounded-md shadow-lg py-1 max-h-60 overflow-auto\">\n @if (placeholder()) {\n <li role=\"option\" aria-disabled=\"true\" class=\"px-3 py-2 text-sm text-neutral-400 cursor-default select-none\">\n {{ placeholder() }}\n </li>\n }\n @for (option of options(); track option.value; let i = $index) {\n <li\n role=\"option\"\n [attr.aria-selected]=\"isOptionSelected(option)\"\n [attr.aria-disabled]=\"option.disabled || null\"\n [class]=\"optionClasses(i, option)\"\n (click)=\"selectOption(option)\"\n (mouseenter)=\"!option.disabled && activeIndex.set(i)\">\n <span>{{ option.label }}</span>\n\n @if (isOptionSelected(option)) {\n <svg\n class=\"w-4 h-4 text-primary-600 shrink-0\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n aria-hidden=\"true\">\n <path\n fill-rule=\"evenodd\"\n d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\"\n clip-rule=\"evenodd\" />\n </svg>\n }\n </li>\n }\n </ul>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
2777
1873
|
}], propDecorators: { panelTemplate: [{ type: i0.ViewChild, args: ['panelTemplate', { isSignal: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], helperText: [{ type: i0.Input, args: [{ isSignal: true, alias: "helperText", required: false }] }], errorText: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorText", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
2778
1874
|
|
|
2779
1875
|
class TailwindToggle extends TailwindComponent {
|
|
@@ -2803,7 +1899,7 @@ class TailwindToggle extends TailwindComponent {
|
|
|
2803
1899
|
'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600',
|
|
2804
1900
|
'cursor-pointer disabled:cursor-not-allowed'
|
|
2805
1901
|
];
|
|
2806
|
-
const stateClass = this.checked() ? 'bg-primary-600' : 'bg-
|
|
1902
|
+
const stateClass = this.checked() ? 'bg-primary-600' : 'bg-neutral-300';
|
|
2807
1903
|
return [...base, sizeMap[this.size()], stateClass].join(' ');
|
|
2808
1904
|
}, ...(ngDevMode ? [{ debugName: "trackClasses" }] : /* istanbul ignore next */ []));
|
|
2809
1905
|
/** `aria-label` / `aria-labelledby` for the switch (label text is not a hit target) */
|
|
@@ -2870,7 +1966,7 @@ class TailwindToggle extends TailwindComponent {
|
|
|
2870
1966
|
useExisting: forwardRef(() => TailwindToggle),
|
|
2871
1967
|
multi: true
|
|
2872
1968
|
}
|
|
2873
|
-
], usesInheritance: true, ngImport: i0, template: "<div
|
|
1969
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"inline-flex items-center gap-3 select-none\" [class.opacity-50]=\"isDisabled()\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"switchAria().label\"\n [attr.aria-labelledby]=\"switchAria().labelledBy\"\n [disabled]=\"isDisabled()\"\n [class]=\"trackClasses()\"\n (click)=\"toggle()\">\n <span [class]=\"thumbClasses()\" aria-hidden=\"true\"></span>\n </button>\n\n @if (label()) {\n <span [attr.id]=\"id() ? id() + '-label' : null\" class=\"text-sm font-medium text-neutral-800\">{{ label() }}</span>\n }\n</div>\n", styles: [":host{display:inline-block}\n"] });
|
|
2874
1970
|
}
|
|
2875
1971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindToggle, decorators: [{
|
|
2876
1972
|
type: Component,
|
|
@@ -2880,7 +1976,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2880
1976
|
useExisting: forwardRef(() => TailwindToggle),
|
|
2881
1977
|
multi: true
|
|
2882
1978
|
}
|
|
2883
|
-
], template: "<div
|
|
1979
|
+
], template: "<div class=\"inline-flex items-center gap-3 select-none\" [class.opacity-50]=\"isDisabled()\">\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"switchAria().label\"\n [attr.aria-labelledby]=\"switchAria().labelledBy\"\n [disabled]=\"isDisabled()\"\n [class]=\"trackClasses()\"\n (click)=\"toggle()\">\n <span [class]=\"thumbClasses()\" aria-hidden=\"true\"></span>\n </button>\n\n @if (label()) {\n <span [attr.id]=\"id() ? id() + '-label' : null\" class=\"text-sm font-medium text-neutral-800\">{{ label() }}</span>\n }\n</div>\n", styles: [":host{display:inline-block}\n"] }]
|
|
2884
1980
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }] } });
|
|
2885
1981
|
|
|
2886
1982
|
class TailwindBadge extends TailwindComponent {
|
|
@@ -2898,7 +1994,7 @@ class TailwindBadge extends TailwindComponent {
|
|
|
2898
1994
|
const base = ['inline-flex items-center gap-1 font-medium', 'leading-none'];
|
|
2899
1995
|
const variantMap = {
|
|
2900
1996
|
primary: 'bg-primary-100 text-primary-700',
|
|
2901
|
-
neutral: 'bg-
|
|
1997
|
+
neutral: 'bg-neutral-100 text-neutral-700',
|
|
2902
1998
|
success: 'bg-success-100 text-success-700',
|
|
2903
1999
|
warning: 'bg-warning-100 text-warning-800',
|
|
2904
2000
|
danger: 'bg-danger-100 text-danger-700',
|
|
@@ -2925,19 +2021,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
2925
2021
|
class TailwindTitle extends TailwindComponent {
|
|
2926
2022
|
/** Visible title text */
|
|
2927
2023
|
text = input.required(...(ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []));
|
|
2928
|
-
/** Optional
|
|
2024
|
+
/** Optional Heroicons outline icon name (shown before `text`) */
|
|
2929
2025
|
icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
|
|
2930
2026
|
/** HTML heading element */
|
|
2931
2027
|
titleTag = input('h2', ...(ngDevMode ? [{ debugName: "titleTag" }] : /* istanbul ignore next */ []));
|
|
2932
2028
|
headingClasses = computed(() => {
|
|
2933
2029
|
const tag = this.titleTag();
|
|
2934
2030
|
const scale = {
|
|
2935
|
-
h1: 'text-3xl font-bold tracking-tight text-
|
|
2936
|
-
h2: 'text-2xl font-semibold tracking-tight text-
|
|
2937
|
-
h3: 'text-xl font-semibold tracking-tight text-
|
|
2938
|
-
h4: 'text-lg font-normal text-
|
|
2939
|
-
h5: 'text-base font-normal text-
|
|
2940
|
-
h6: 'text-sm font-normal text-
|
|
2031
|
+
h1: 'text-3xl font-bold tracking-tight text-neutral-900',
|
|
2032
|
+
h2: 'text-2xl font-semibold tracking-tight text-neutral-900',
|
|
2033
|
+
h3: 'text-xl font-semibold tracking-tight text-neutral-900',
|
|
2034
|
+
h4: 'text-lg font-normal text-neutral-900',
|
|
2035
|
+
h5: 'text-base font-normal text-neutral-900',
|
|
2036
|
+
h6: 'text-sm font-normal text-neutral-800 uppercase tracking-wide'
|
|
2941
2037
|
};
|
|
2942
2038
|
const layout = 'inline-flex items-center gap-2 min-w-0';
|
|
2943
2039
|
const extra = this.class();
|
|
@@ -2976,11 +2072,11 @@ class TailwindCard extends TailwindComponent {
|
|
|
2976
2072
|
/** Whether the card has a footer */
|
|
2977
2073
|
hasFooter = input(true, ...(ngDevMode ? [{ debugName: "hasFooter" }] : /* istanbul ignore next */ []));
|
|
2978
2074
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindCard, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2979
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindCard, isStandalone: true, selector: "tailwind-card", inputs: { elevated: { classPropertyName: "elevated", publicName: "elevated", isSignal: true, isRequired: false, transformFunction: null }, hoverable: { classPropertyName: "hoverable", publicName: "hoverable", isSignal: true, isRequired: false, transformFunction: null }, headerBg: { classPropertyName: "headerBg", publicName: "headerBg", isSignal: true, isRequired: false, transformFunction: null }, hasHeader: { classPropertyName: "hasHeader", publicName: "hasHeader", isSignal: true, isRequired: false, transformFunction: null }, hasFooter: { classPropertyName: "hasFooter", publicName: "hasFooter", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"bg-white rounded-xl border border-
|
|
2075
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindCard, isStandalone: true, selector: "tailwind-card", inputs: { elevated: { classPropertyName: "elevated", publicName: "elevated", isSignal: true, isRequired: false, transformFunction: null }, hoverable: { classPropertyName: "hoverable", publicName: "hoverable", isSignal: true, isRequired: false, transformFunction: null }, headerBg: { classPropertyName: "headerBg", publicName: "headerBg", isSignal: true, isRequired: false, transformFunction: null }, hasHeader: { classPropertyName: "hasHeader", publicName: "hasHeader", isSignal: true, isRequired: false, transformFunction: null }, hasFooter: { classPropertyName: "hasFooter", publicName: "hasFooter", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"bg-white rounded-xl border border-neutral-200 overflow-hidden transition-shadow duration-200\"\n [class.shadow-sm]=\"!elevated()\"\n [class.shadow-lg]=\"elevated()\"\n [class.hover:shadow-md]=\"hoverable() && !elevated()\"\n [class.hover:shadow-xl]=\"hoverable() && elevated()\">\n @if (hasHeader()) {\n <!-- Header slot (always rendered; only visible when content is projected) -->\n <div class=\"px-6 pt-4 pb-2 border-b border-neutral-100\" [class.bg-neutral-50]=\"headerBg()\">\n <ng-content select=\"[tailwind-card-header]\" />\n </div>\n }\n\n <!-- Image slot -->\n <ng-content select=\"[tailwind-card-image]\" />\n\n <!-- Body -->\n <div class=\"p-6\">\n <ng-content />\n </div>\n\n @if (hasFooter()) {\n <!-- Footer slot -->\n <div class=\"px-6 py-4 border-t border-neutral-100 bg-neutral-50/50\">\n <ng-content select=\"[tailwind-card-footer]\" />\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] });
|
|
2980
2076
|
}
|
|
2981
2077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindCard, decorators: [{
|
|
2982
2078
|
type: Component,
|
|
2983
|
-
args: [{ selector: 'tailwind-card', template: "<div\n class=\"bg-white rounded-xl border border-
|
|
2079
|
+
args: [{ selector: 'tailwind-card', template: "<div\n class=\"bg-white rounded-xl border border-neutral-200 overflow-hidden transition-shadow duration-200\"\n [class.shadow-sm]=\"!elevated()\"\n [class.shadow-lg]=\"elevated()\"\n [class.hover:shadow-md]=\"hoverable() && !elevated()\"\n [class.hover:shadow-xl]=\"hoverable() && elevated()\">\n @if (hasHeader()) {\n <!-- Header slot (always rendered; only visible when content is projected) -->\n <div class=\"px-6 pt-4 pb-2 border-b border-neutral-100\" [class.bg-neutral-50]=\"headerBg()\">\n <ng-content select=\"[tailwind-card-header]\" />\n </div>\n }\n\n <!-- Image slot -->\n <ng-content select=\"[tailwind-card-image]\" />\n\n <!-- Body -->\n <div class=\"p-6\">\n <ng-content />\n </div>\n\n @if (hasFooter()) {\n <!-- Footer slot -->\n <div class=\"px-6 py-4 border-t border-neutral-100 bg-neutral-50/50\">\n <ng-content select=\"[tailwind-card-footer]\" />\n </div>\n }\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
2984
2080
|
}], propDecorators: { elevated: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevated", required: false }] }], hoverable: [{ type: i0.Input, args: [{ isSignal: true, alias: "hoverable", required: false }] }], headerBg: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerBg", required: false }] }], hasHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasHeader", required: false }] }], hasFooter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFooter", required: false }] }] } });
|
|
2985
2081
|
|
|
2986
2082
|
class TailwindAlert extends TailwindComponent {
|
|
@@ -3123,11 +2219,11 @@ class TailwindModal extends TailwindComponent {
|
|
|
3123
2219
|
}, 200);
|
|
3124
2220
|
}
|
|
3125
2221
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3126
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindModal, isStandalone: true, selector: "tailwind-modal", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdrop: { classPropertyName: "closeOnBackdrop", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, viewQueries: [{ propertyName: "modalPanel", first: true, predicate: ["modalPanel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isOpen()) {\r\n <!-- Backdrop -->\r\n <div\r\n class=\"fixed inset-0 bg-black/50 backdrop-blur-sm z-1040 transition-opacity duration-200\"\r\n [class.opacity-100]=\"isVisible()\"\r\n [class.opacity-0]=\"!isVisible()\"\r\n (click)=\"closeOnBackdrop() && close()\"\r\n aria-hidden=\"true\"></div>\r\n\r\n <!-- Modal -->\r\n <div\r\n role=\"dialog\"\r\n class=\"fixed inset-0 z-1050 overflow-y-auto\"\r\n [attr.aria-modal]=\"true\"\r\n (keydown.escape)=\"closeOnEscape() && close()\">\r\n <div class=\"flex min-h-full items-center justify-center p-4\">\r\n <div #modalPanel [class]=\"panelClasses()\" tabindex=\"-1\">\r\n <!-- Header -->\r\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-
|
|
2222
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindModal, isStandalone: true, selector: "tailwind-modal", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, showCloseButton: { classPropertyName: "showCloseButton", publicName: "showCloseButton", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdrop: { classPropertyName: "closeOnBackdrop", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, viewQueries: [{ propertyName: "modalPanel", first: true, predicate: ["modalPanel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isOpen()) {\r\n <!-- Backdrop -->\r\n <div\r\n class=\"fixed inset-0 bg-black/50 backdrop-blur-sm z-1040 transition-opacity duration-200\"\r\n [class.opacity-100]=\"isVisible()\"\r\n [class.opacity-0]=\"!isVisible()\"\r\n (click)=\"closeOnBackdrop() && close()\"\r\n aria-hidden=\"true\"></div>\r\n\r\n <!-- Modal -->\r\n <div\r\n role=\"dialog\"\r\n class=\"fixed inset-0 z-1050 overflow-y-auto\"\r\n [attr.aria-modal]=\"true\"\r\n (keydown.escape)=\"closeOnEscape() && close()\">\r\n <div class=\"flex min-h-full items-center justify-center p-4\">\r\n <div #modalPanel [class]=\"panelClasses()\" tabindex=\"-1\">\r\n <!-- Header -->\r\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-neutral-200\">\r\n <h2 class=\"text-lg font-semibold text-neutral-900 pr-2\">\r\n <ng-content />\r\n </h2>\r\n @if (showCloseButton()) {\r\n <button\r\n type=\"button\"\r\n class=\"p-1.5 -m-1.5 shrink-0 rounded-lg text-neutral-400 hover:text-neutral-600 hover:bg-neutral-100 transition-colors cursor-pointer\"\r\n aria-label=\"Close\"\r\n (click)=\"close()\">\r\n <svg class=\"w-5 h-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\r\n <path\r\n d=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\" />\r\n </svg>\r\n </button>\r\n }\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"px-6 py-5\">\r\n <ng-content select=\"[tailwind-modal-content]\" />\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"border-t border-neutral-200 px-6 py-4\">\r\n <ng-content select=\"[tailwind-modal-footer]\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"] });
|
|
3127
2223
|
}
|
|
3128
2224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindModal, decorators: [{
|
|
3129
2225
|
type: Component,
|
|
3130
|
-
args: [{ selector: 'tailwind-modal', template: "@if (isOpen()) {\r\n <!-- Backdrop -->\r\n <div\r\n class=\"fixed inset-0 bg-black/50 backdrop-blur-sm z-1040 transition-opacity duration-200\"\r\n [class.opacity-100]=\"isVisible()\"\r\n [class.opacity-0]=\"!isVisible()\"\r\n (click)=\"closeOnBackdrop() && close()\"\r\n aria-hidden=\"true\"></div>\r\n\r\n <!-- Modal -->\r\n <div\r\n role=\"dialog\"\r\n class=\"fixed inset-0 z-1050 overflow-y-auto\"\r\n [attr.aria-modal]=\"true\"\r\n (keydown.escape)=\"closeOnEscape() && close()\">\r\n <div class=\"flex min-h-full items-center justify-center p-4\">\r\n <div #modalPanel [class]=\"panelClasses()\" tabindex=\"-1\">\r\n <!-- Header -->\r\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-
|
|
2226
|
+
args: [{ selector: 'tailwind-modal', template: "@if (isOpen()) {\r\n <!-- Backdrop -->\r\n <div\r\n class=\"fixed inset-0 bg-black/50 backdrop-blur-sm z-1040 transition-opacity duration-200\"\r\n [class.opacity-100]=\"isVisible()\"\r\n [class.opacity-0]=\"!isVisible()\"\r\n (click)=\"closeOnBackdrop() && close()\"\r\n aria-hidden=\"true\"></div>\r\n\r\n <!-- Modal -->\r\n <div\r\n role=\"dialog\"\r\n class=\"fixed inset-0 z-1050 overflow-y-auto\"\r\n [attr.aria-modal]=\"true\"\r\n (keydown.escape)=\"closeOnEscape() && close()\">\r\n <div class=\"flex min-h-full items-center justify-center p-4\">\r\n <div #modalPanel [class]=\"panelClasses()\" tabindex=\"-1\">\r\n <!-- Header -->\r\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-neutral-200\">\r\n <h2 class=\"text-lg font-semibold text-neutral-900 pr-2\">\r\n <ng-content />\r\n </h2>\r\n @if (showCloseButton()) {\r\n <button\r\n type=\"button\"\r\n class=\"p-1.5 -m-1.5 shrink-0 rounded-lg text-neutral-400 hover:text-neutral-600 hover:bg-neutral-100 transition-colors cursor-pointer\"\r\n aria-label=\"Close\"\r\n (click)=\"close()\">\r\n <svg class=\"w-5 h-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\r\n <path\r\n d=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\" />\r\n </svg>\r\n </button>\r\n }\r\n </div>\r\n\r\n <!-- Body -->\r\n <div class=\"px-6 py-5\">\r\n <ng-content select=\"[tailwind-modal-content]\" />\r\n </div>\r\n\r\n <!-- Footer -->\r\n <div class=\"border-t border-neutral-200 px-6 py-4\">\r\n <ng-content select=\"[tailwind-modal-footer]\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:contents}\n"] }]
|
|
3131
2227
|
}], ctorParameters: () => [], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], showCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCloseButton", required: false }] }], closeOnBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdrop", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], onClose: [{ type: i0.Output, args: ["onClose"] }], modalPanel: [{ type: i0.ViewChild, args: ['modalPanel', { isSignal: true }] }] } });
|
|
3132
2228
|
|
|
3133
2229
|
class TailwindTab extends TailwindComponent {
|
|
@@ -3168,11 +2264,11 @@ class TailwindTabGroup extends TailwindComponent {
|
|
|
3168
2264
|
this.activeIndex.set(index);
|
|
3169
2265
|
}
|
|
3170
2266
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTabGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3171
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTabGroup, isStandalone: true, selector: "tailwind-tab-group", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange" }, queries: [{ propertyName: "tabs", predicate: TailwindTab, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Tab Headers -->\n<div class=\"border-b border-
|
|
2267
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTabGroup, isStandalone: true, selector: "tailwind-tab-group", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange" }, queries: [{ propertyName: "tabs", predicate: TailwindTab, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Tab Headers -->\n<div class=\"border-b border-neutral-200\" role=\"tablist\" [attr.aria-label]=\"ariaLabel()\">\n <nav class=\"flex -mb-px gap-1\" [class.overflow-x-auto]=\"scrollable()\">\n @for (tab of tabs(); track $index; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n [attr.id]=\"tab.id() ? 'tab-' + tab.id() : null\"\n [attr.aria-selected]=\"activeIndex() === i\"\n [attr.aria-controls]=\"tab.id() ? tab.id() : null\"\n [disabled]=\"tab.disabled()\"\n class=\"group relative px-4 py-2.5 text-sm font-medium whitespace-nowrap transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30 focus-visible:rounded-t-lg\"\n [class.text-primary-600]=\"activeIndex() === i\"\n [class.text-neutral-500]=\"activeIndex() !== i\"\n [class.hover:text-neutral-700]=\"activeIndex() !== i && !tab.disabled()\"\n [class.opacity-50]=\"tab.disabled()\"\n [class.cursor-not-allowed]=\"tab.disabled()\"\n (click)=\"!tab.disabled() && selectTab(i)\">\n {{ tab.label() }}\n <!-- Active indicator -->\n <span\n class=\"absolute bottom-0 left-0 right-0 h-0.5 rounded-full transition-all duration-200\"\n [class.bg-primary-600]=\"activeIndex() === i\"\n [class.scale-x-100]=\"activeIndex() === i\"\n [class.scale-x-0]=\"activeIndex() !== i\"></span>\n </button>\n }\n </nav>\n</div>\n\n<!-- Tab Content -->\n<div class=\"pt-4\">\n <ng-content />\n</div>\n", styles: [":host{display:block}\n"] });
|
|
3172
2268
|
}
|
|
3173
2269
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTabGroup, decorators: [{
|
|
3174
2270
|
type: Component,
|
|
3175
|
-
args: [{ selector: 'tailwind-tab-group', template: "<!-- Tab Headers -->\n<div class=\"border-b border-
|
|
2271
|
+
args: [{ selector: 'tailwind-tab-group', template: "<!-- Tab Headers -->\n<div class=\"border-b border-neutral-200\" role=\"tablist\" [attr.aria-label]=\"ariaLabel()\">\n <nav class=\"flex -mb-px gap-1\" [class.overflow-x-auto]=\"scrollable()\">\n @for (tab of tabs(); track $index; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n [attr.id]=\"tab.id() ? 'tab-' + tab.id() : null\"\n [attr.aria-selected]=\"activeIndex() === i\"\n [attr.aria-controls]=\"tab.id() ? tab.id() : null\"\n [disabled]=\"tab.disabled()\"\n class=\"group relative px-4 py-2.5 text-sm font-medium whitespace-nowrap transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30 focus-visible:rounded-t-lg\"\n [class.text-primary-600]=\"activeIndex() === i\"\n [class.text-neutral-500]=\"activeIndex() !== i\"\n [class.hover:text-neutral-700]=\"activeIndex() !== i && !tab.disabled()\"\n [class.opacity-50]=\"tab.disabled()\"\n [class.cursor-not-allowed]=\"tab.disabled()\"\n (click)=\"!tab.disabled() && selectTab(i)\">\n {{ tab.label() }}\n <!-- Active indicator -->\n <span\n class=\"absolute bottom-0 left-0 right-0 h-0.5 rounded-full transition-all duration-200\"\n [class.bg-primary-600]=\"activeIndex() === i\"\n [class.scale-x-100]=\"activeIndex() === i\"\n [class.scale-x-0]=\"activeIndex() !== i\"></span>\n </button>\n }\n </nav>\n</div>\n\n<!-- Tab Content -->\n<div class=\"pt-4\">\n <ng-content />\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
3176
2272
|
}], ctorParameters: () => [], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], scrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollable", required: false }] }], activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }, { type: i0.Output, args: ["activeIndexChange"] }], tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TailwindTab), { isSignal: true }] }] } });
|
|
3177
2273
|
|
|
3178
2274
|
class TailwindProgressBar extends TailwindComponent {
|
|
@@ -3201,7 +2297,7 @@ class TailwindProgressBar extends TailwindComponent {
|
|
|
3201
2297
|
lg: 'h-4',
|
|
3202
2298
|
xl: 'h-5'
|
|
3203
2299
|
};
|
|
3204
|
-
return `w-full bg-
|
|
2300
|
+
return `w-full bg-neutral-200 rounded-full overflow-hidden ${sizeMap[this.size()]}`;
|
|
3205
2301
|
}, ...(ngDevMode ? [{ debugName: "trackClasses" }] : /* istanbul ignore next */ []));
|
|
3206
2302
|
barClasses = computed(() => {
|
|
3207
2303
|
const variantMap = {
|
|
@@ -3224,11 +2320,11 @@ class TailwindProgressBar extends TailwindComponent {
|
|
|
3224
2320
|
return base.join(' ');
|
|
3225
2321
|
}, ...(ngDevMode ? [{ debugName: "barClasses" }] : /* istanbul ignore next */ []));
|
|
3226
2322
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindProgressBar, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3227
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindProgressBar, isStandalone: true, selector: "tailwind-progress-bar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, striped: { classPropertyName: "striped", publicName: "striped", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"w-full\">\n @if (showLabel()) {\n <div class=\"flex justify-between items-center mb-1.5\">\n @if (label()) {\n <span class=\"text-sm font-medium text-
|
|
2323
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindProgressBar, isStandalone: true, selector: "tailwind-progress-bar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showLabel: { classPropertyName: "showLabel", publicName: "showLabel", isSignal: true, isRequired: false, transformFunction: null }, showValue: { classPropertyName: "showValue", publicName: "showValue", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, striped: { classPropertyName: "striped", publicName: "striped", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"w-full\">\n @if (showLabel()) {\n <div class=\"flex justify-between items-center mb-1.5\">\n @if (label()) {\n <span class=\"text-sm font-medium text-neutral-700\">{{ label() }}</span>\n }\n @if (showValue()) {\n <span class=\"text-sm font-medium text-neutral-600\">{{ clampedValue() }}%</span>\n }\n </div>\n }\n\n <div\n [class]=\"trackClasses()\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"clampedValue()\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"label() || 'Progress'\">\n <div [class]=\"barClasses()\" [style.width.%]=\"indeterminate() ? 100 : clampedValue()\"></div>\n </div>\n</div>\n", styles: [":host{display:block}@keyframes tailwind-indeterminate{0%{transform:translate(-100%)}to{transform:translate(200%)}}.tailwind-progress-indeterminate{animation:tailwind-indeterminate 1.5s ease-in-out infinite;width:40%!important}\n"] });
|
|
3228
2324
|
}
|
|
3229
2325
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindProgressBar, decorators: [{
|
|
3230
2326
|
type: Component,
|
|
3231
|
-
args: [{ selector: 'tailwind-progress-bar', template: "<div class=\"w-full\">\n @if (showLabel()) {\n <div class=\"flex justify-between items-center mb-1.5\">\n @if (label()) {\n <span class=\"text-sm font-medium text-
|
|
2327
|
+
args: [{ selector: 'tailwind-progress-bar', template: "<div class=\"w-full\">\n @if (showLabel()) {\n <div class=\"flex justify-between items-center mb-1.5\">\n @if (label()) {\n <span class=\"text-sm font-medium text-neutral-700\">{{ label() }}</span>\n }\n @if (showValue()) {\n <span class=\"text-sm font-medium text-neutral-600\">{{ clampedValue() }}%</span>\n }\n </div>\n }\n\n <div\n [class]=\"trackClasses()\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"clampedValue()\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"label() || 'Progress'\">\n <div [class]=\"barClasses()\" [style.width.%]=\"indeterminate() ? 100 : clampedValue()\"></div>\n </div>\n</div>\n", styles: [":host{display:block}@keyframes tailwind-indeterminate{0%{transform:translate(-100%)}to{transform:translate(200%)}}.tailwind-progress-indeterminate{animation:tailwind-indeterminate 1.5s ease-in-out infinite;width:40%!important}\n"] }]
|
|
3232
2328
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], showLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabel", required: false }] }], showValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValue", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], striped: [{ type: i0.Input, args: [{ isSignal: true, alias: "striped", required: false }] }] } });
|
|
3233
2329
|
|
|
3234
2330
|
/** Matches previous `min-w-48` floor when the anchor is narrower. */
|
|
@@ -3402,11 +2498,11 @@ class TailwindMenu extends TailwindComponent {
|
|
|
3402
2498
|
return document.documentElement;
|
|
3403
2499
|
}
|
|
3404
2500
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindMenu, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3405
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindMenu, isStandalone: true, selector: "tailwind-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelect: "onSelect" }, host: { listeners: { "document:keydown.escape": "onDocumentEscape()", "document:click": "onDocumentClick($event)", "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isOpen() && panelLayout(); as layout) {\n <div\n #panel\n role=\"menu\"\n class=\"fixed z-1000 bg-white rounded-xl border border-
|
|
2501
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindMenu, isStandalone: true, selector: "tailwind-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelect: "onSelect" }, host: { listeners: { "document:keydown.escape": "onDocumentEscape()", "document:click": "onDocumentClick($event)", "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "panelRef", first: true, predicate: ["panel"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isOpen() && panelLayout(); as layout) {\n <div\n #panel\n role=\"menu\"\n class=\"fixed z-1000 bg-white rounded-xl border border-neutral-200 shadow-lg py-1 animate-in fade-in slide-in-from-top-1\"\n [style.top.px]=\"layout.top\"\n [style.left.px]=\"layout.left ?? null\"\n [style.right.px]=\"layout.right ?? null\"\n [style.minWidth.px]=\"layout.minWidth\">\n @for (item of items(); track $index) {\n @if (item.divider) {\n <hr class=\"my-1 border-neutral-100\" />\n } @else {\n <button\n type=\"button\"\n role=\"menuitem\"\n [disabled]=\"!!item.disabled\"\n class=\"w-full text-left px-4 py-2 text-sm text-neutral-700 hover:bg-neutral-50 hover:text-neutral-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer\"\n (click)=\"selectItem(item)\">\n {{ item.label }}\n </button>\n }\n }\n </div>\n}\n", styles: [":host{display:contents}\n"] });
|
|
3406
2502
|
}
|
|
3407
2503
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindMenu, decorators: [{
|
|
3408
2504
|
type: Component,
|
|
3409
|
-
args: [{ selector: 'tailwind-menu', template: "@if (isOpen() && panelLayout(); as layout) {\n <div\n #panel\n role=\"menu\"\n class=\"fixed z-1000 bg-white rounded-xl border border-
|
|
2505
|
+
args: [{ selector: 'tailwind-menu', template: "@if (isOpen() && panelLayout(); as layout) {\n <div\n #panel\n role=\"menu\"\n class=\"fixed z-1000 bg-white rounded-xl border border-neutral-200 shadow-lg py-1 animate-in fade-in slide-in-from-top-1\"\n [style.top.px]=\"layout.top\"\n [style.left.px]=\"layout.left ?? null\"\n [style.right.px]=\"layout.right ?? null\"\n [style.minWidth.px]=\"layout.minWidth\">\n @for (item of items(); track $index) {\n @if (item.divider) {\n <hr class=\"my-1 border-neutral-100\" />\n } @else {\n <button\n type=\"button\"\n role=\"menuitem\"\n [disabled]=\"!!item.disabled\"\n class=\"w-full text-left px-4 py-2 text-sm text-neutral-700 hover:bg-neutral-50 hover:text-neutral-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer\"\n (click)=\"selectItem(item)\">\n {{ item.label }}\n </button>\n }\n }\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
3410
2506
|
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], onSelect: [{ type: i0.Output, args: ["onSelect"] }], panelRef: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], onDocumentEscape: [{
|
|
3411
2507
|
type: HostListener,
|
|
3412
2508
|
args: ['document:keydown.escape']
|
|
@@ -3465,11 +2561,11 @@ class TailwindDrawer extends TailwindComponent {
|
|
|
3465
2561
|
}, 300);
|
|
3466
2562
|
}
|
|
3467
2563
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDrawer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3468
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDrawer, isStandalone: true, selector: "tailwind-drawer", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdrop: { classPropertyName: "closeOnBackdrop", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, usesInheritance: true, ngImport: i0, template: "@if (isOpen()) {\n <!-- Backdrop -->\n <div\n class=\"fixed inset-0 bg-black/40 backdrop-blur-sm z-1040 transition-opacity duration-300\"\n [class.opacity-100]=\"isVisible()\"\n [class.opacity-0]=\"!isVisible()\"\n (click)=\"closeOnBackdrop() && close()\"\n aria-hidden=\"true\"></div>\n\n <!-- Drawer Panel -->\n <div [class]=\"panelClasses()\" role=\"dialog\" [attr.aria-modal]=\"true\" [attr.aria-label]=\"title()\">\n <!-- Header -->\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-
|
|
2564
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDrawer, isStandalone: true, selector: "tailwind-drawer", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdrop: { classPropertyName: "closeOnBackdrop", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClose: "onClose" }, usesInheritance: true, ngImport: i0, template: "@if (isOpen()) {\n <!-- Backdrop -->\n <div\n class=\"fixed inset-0 bg-black/40 backdrop-blur-sm z-1040 transition-opacity duration-300\"\n [class.opacity-100]=\"isVisible()\"\n [class.opacity-0]=\"!isVisible()\"\n (click)=\"closeOnBackdrop() && close()\"\n aria-hidden=\"true\"></div>\n\n <!-- Drawer Panel -->\n <div [class]=\"panelClasses()\" role=\"dialog\" [attr.aria-modal]=\"true\" [attr.aria-label]=\"title()\">\n <!-- Header -->\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-neutral-200\">\n @if (title()) {\n <h2 class=\"text-lg font-semibold text-neutral-900\">{{ title() }}</h2>\n }\n <button\n type=\"button\"\n class=\"p-1.5 -m-1.5 rounded-lg text-neutral-400 hover:text-neutral-600 hover:bg-neutral-100 transition-colors ml-auto cursor-pointer\"\n aria-label=\"Close\"\n (click)=\"close()\">\n <svg class=\"w-5 h-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n d=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\" />\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"flex-1 overflow-y-auto px-6 py-5\">\n <ng-content />\n </div>\n\n <!-- Footer -->\n <ng-content select=\"[tailwind-drawer-footer]\" />\n </div>\n}\n", styles: [":host{display:contents}\n"] });
|
|
3469
2565
|
}
|
|
3470
2566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDrawer, decorators: [{
|
|
3471
2567
|
type: Component,
|
|
3472
|
-
args: [{ selector: 'tailwind-drawer', template: "@if (isOpen()) {\n <!-- Backdrop -->\n <div\n class=\"fixed inset-0 bg-black/40 backdrop-blur-sm z-1040 transition-opacity duration-300\"\n [class.opacity-100]=\"isVisible()\"\n [class.opacity-0]=\"!isVisible()\"\n (click)=\"closeOnBackdrop() && close()\"\n aria-hidden=\"true\"></div>\n\n <!-- Drawer Panel -->\n <div [class]=\"panelClasses()\" role=\"dialog\" [attr.aria-modal]=\"true\" [attr.aria-label]=\"title()\">\n <!-- Header -->\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-
|
|
2568
|
+
args: [{ selector: 'tailwind-drawer', template: "@if (isOpen()) {\n <!-- Backdrop -->\n <div\n class=\"fixed inset-0 bg-black/40 backdrop-blur-sm z-1040 transition-opacity duration-300\"\n [class.opacity-100]=\"isVisible()\"\n [class.opacity-0]=\"!isVisible()\"\n (click)=\"closeOnBackdrop() && close()\"\n aria-hidden=\"true\"></div>\n\n <!-- Drawer Panel -->\n <div [class]=\"panelClasses()\" role=\"dialog\" [attr.aria-modal]=\"true\" [attr.aria-label]=\"title()\">\n <!-- Header -->\n <div class=\"flex items-center justify-between px-6 py-4 border-b border-neutral-200\">\n @if (title()) {\n <h2 class=\"text-lg font-semibold text-neutral-900\">{{ title() }}</h2>\n }\n <button\n type=\"button\"\n class=\"p-1.5 -m-1.5 rounded-lg text-neutral-400 hover:text-neutral-600 hover:bg-neutral-100 transition-colors ml-auto cursor-pointer\"\n aria-label=\"Close\"\n (click)=\"close()\">\n <svg class=\"w-5 h-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n d=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\" />\n </svg>\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"flex-1 overflow-y-auto px-6 py-5\">\n <ng-content />\n </div>\n\n <!-- Footer -->\n <ng-content select=\"[tailwind-drawer-footer]\" />\n </div>\n}\n", styles: [":host{display:contents}\n"] }]
|
|
3473
2569
|
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], closeOnBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdrop", required: false }] }], onClose: [{ type: i0.Output, args: ["onClose"] }] } });
|
|
3474
2570
|
|
|
3475
2571
|
class TailwindBreadcrumb extends TailwindComponent {
|
|
@@ -3477,19 +2573,21 @@ class TailwindBreadcrumb extends TailwindComponent {
|
|
|
3477
2573
|
separator = input('>', ...(ngDevMode ? [{ debugName: "separator" }] : /* istanbul ignore next */ []));
|
|
3478
2574
|
ariaLabel = input('Breadcrumb', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
3479
2575
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindBreadcrumb, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3480
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindBreadcrumb, isStandalone: true, selector: "tailwind-breadcrumb", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<nav [attr.aria-label]=\"ariaLabel()\" class=\"flex\">\r\n <ol class=\"inline-flex items-center text-sm\">\r\n @for (item of items(); track item.label; let last = $last; let first = $first) {\r\n <li class=\"inline-flex items-center\">\r\n @if (!first) {\r\n <span class=\"mx-2 text-
|
|
2576
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindBreadcrumb, isStandalone: true, selector: "tailwind-breadcrumb", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<nav [attr.aria-label]=\"ariaLabel()\" class=\"flex\">\r\n <ol class=\"inline-flex items-center text-sm\">\r\n @for (item of items(); track item.label; let last = $last; let first = $first) {\r\n <li class=\"inline-flex items-center\">\r\n @if (!first) {\r\n <span class=\"mx-2 text-neutral-400\" aria-hidden=\"true\">\r\n {{ separator() }}\r\n </span>\r\n }\r\n @if (item.link && !last) {\r\n <a\r\n [routerLink]=\"item.link\"\r\n class=\"inline-flex items-center gap-1 text-neutral-500 hover:text-primary-600 transition-colors font-medium\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"16\" />\r\n }\r\n {{ item.label }}\r\n </a>\r\n } @else {\r\n <span\r\n class=\"inline-flex items-center gap-1 font-medium\"\r\n [class.text-neutral-900]=\"last\"\r\n [class.text-neutral-500]=\"!last\"\r\n [attr.aria-current]=\"last ? 'page' : null\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"16\" />\r\n }\r\n {{ item.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n</nav>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TailwindIcon, selector: "tailwind-icon", inputs: ["icon", "size"] }] });
|
|
3481
2577
|
}
|
|
3482
2578
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindBreadcrumb, decorators: [{
|
|
3483
2579
|
type: Component,
|
|
3484
|
-
args: [{ imports: [RouterLink, TailwindIcon], selector: 'tailwind-breadcrumb', template: "<nav [attr.aria-label]=\"ariaLabel()\" class=\"flex\">\r\n <ol class=\"inline-flex items-center text-sm\">\r\n @for (item of items(); track item.label; let last = $last; let first = $first) {\r\n <li class=\"inline-flex items-center\">\r\n @if (!first) {\r\n <span class=\"mx-2 text-
|
|
2580
|
+
args: [{ imports: [RouterLink, TailwindIcon], selector: 'tailwind-breadcrumb', template: "<nav [attr.aria-label]=\"ariaLabel()\" class=\"flex\">\r\n <ol class=\"inline-flex items-center text-sm\">\r\n @for (item of items(); track item.label; let last = $last; let first = $first) {\r\n <li class=\"inline-flex items-center\">\r\n @if (!first) {\r\n <span class=\"mx-2 text-neutral-400\" aria-hidden=\"true\">\r\n {{ separator() }}\r\n </span>\r\n }\r\n @if (item.link && !last) {\r\n <a\r\n [routerLink]=\"item.link\"\r\n class=\"inline-flex items-center gap-1 text-neutral-500 hover:text-primary-600 transition-colors font-medium\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"16\" />\r\n }\r\n {{ item.label }}\r\n </a>\r\n } @else {\r\n <span\r\n class=\"inline-flex items-center gap-1 font-medium\"\r\n [class.text-neutral-900]=\"last\"\r\n [class.text-neutral-500]=\"!last\"\r\n [attr.aria-current]=\"last ? 'page' : null\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"16\" />\r\n }\r\n {{ item.label }}\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n</nav>\r\n", styles: [":host{display:block}\n"] }]
|
|
3485
2581
|
}], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
|
|
3486
2582
|
|
|
3487
2583
|
class TailwindPagination extends TailwindComponent {
|
|
2584
|
+
tailwindPaginationSummary = inject(TAILWIND_PAGINATION_SUMMARY, { optional: true });
|
|
3488
2585
|
totalItems = input.required(...(ngDevMode ? [{ debugName: "totalItems" }] : /* istanbul ignore next */ []));
|
|
3489
2586
|
pageSize = input(10, ...(ngDevMode ? [{ debugName: "pageSize" }] : /* istanbul ignore next */ []));
|
|
3490
2587
|
currentPage = model(1, ...(ngDevMode ? [{ debugName: "currentPage" }] : /* istanbul ignore next */ []));
|
|
3491
2588
|
ariaLabel = input('Pagination', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
3492
|
-
|
|
2589
|
+
/** Placeholders `{start}`, `{end}`, `{total}`; default from `TAILWIND_PAGINATION_SUMMARY` or English copy. */
|
|
2590
|
+
summary = input(this.tailwindPaginationSummary ?? 'Showing {start}-{end} of {total}', ...(ngDevMode ? [{ debugName: "summary" }] : /* istanbul ignore next */ []));
|
|
3493
2591
|
onPageChange = output();
|
|
3494
2592
|
totalPages = computed(() => Math.ceil(this.totalItems() / this.pageSize()), ...(ngDevMode ? [{ debugName: "totalPages" }] : /* istanbul ignore next */ []));
|
|
3495
2593
|
visiblePages = computed(() => {
|
|
@@ -3514,11 +2612,11 @@ class TailwindPagination extends TailwindComponent {
|
|
|
3514
2612
|
}
|
|
3515
2613
|
}
|
|
3516
2614
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindPagination, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3517
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindPagination, isStandalone: true, selector: "tailwind-pagination", inputs: { totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, summary: { classPropertyName: "summary", publicName: "summary", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { currentPage: "currentPageChange", onPageChange: "onPageChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-wrap items-center justify-between gap-4 w-full\">\n @if (summary()) {\n <span class=\"text-sm text-
|
|
2615
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindPagination, isStandalone: true, selector: "tailwind-pagination", inputs: { totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, summary: { classPropertyName: "summary", publicName: "summary", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { currentPage: "currentPageChange", onPageChange: "onPageChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-wrap items-center justify-between gap-4 w-full\">\n @if (summary()) {\n <span class=\"text-sm text-neutral-700 dark:text-neutral-300\">\n {{ summaryText() }}\n </span>\n }\n\n <nav [attr.aria-label]=\"ariaLabel()\" class=\"flex items-center gap-1\">\n <!-- Previous -->\n <button\n type=\"button\"\n [disabled]=\"currentPage() <= 1\"\n (click)=\"goToPage(currentPage() - 1)\"\n class=\"p-2 rounded-lg text-neutral-500 hover:bg-neutral-100 disabled:opacity-40 disabled:cursor-not-allowed transition-colors cursor-pointer\">\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n\n @for (page of visiblePages(); track page) {\n <button\n type=\"button\"\n (click)=\"goToPage(page)\"\n class=\"min-w-8 h-8 px-2 rounded-lg text-sm font-medium transition-colors cursor-pointer\"\n [class.bg-primary-600]=\"page === currentPage()\"\n [class.text-white]=\"page === currentPage()\"\n [class.text-neutral-600]=\"page !== currentPage()\"\n [class.hover:bg-neutral-100]=\"page !== currentPage()\">\n {{ page }}\n </button>\n }\n\n <!-- Next -->\n <button\n type=\"button\"\n [disabled]=\"currentPage() >= totalPages()\"\n (click)=\"goToPage(currentPage() + 1)\"\n class=\"p-2 rounded-lg text-neutral-500 hover:bg-neutral-100 disabled:opacity-40 disabled:cursor-not-allowed transition-colors cursor-pointer\">\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </nav>\n</div>\n", styles: [":host{display:block}\n"] });
|
|
3518
2616
|
}
|
|
3519
2617
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindPagination, decorators: [{
|
|
3520
2618
|
type: Component,
|
|
3521
|
-
args: [{ selector: 'tailwind-pagination', template: "<div class=\"flex flex-wrap items-center justify-between gap-4 w-full\">\n @if (summary()) {\n <span class=\"text-sm text-
|
|
2619
|
+
args: [{ selector: 'tailwind-pagination', template: "<div class=\"flex flex-wrap items-center justify-between gap-4 w-full\">\n @if (summary()) {\n <span class=\"text-sm text-neutral-700 dark:text-neutral-300\">\n {{ summaryText() }}\n </span>\n }\n\n <nav [attr.aria-label]=\"ariaLabel()\" class=\"flex items-center gap-1\">\n <!-- Previous -->\n <button\n type=\"button\"\n [disabled]=\"currentPage() <= 1\"\n (click)=\"goToPage(currentPage() - 1)\"\n class=\"p-2 rounded-lg text-neutral-500 hover:bg-neutral-100 disabled:opacity-40 disabled:cursor-not-allowed transition-colors cursor-pointer\">\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n\n @for (page of visiblePages(); track page) {\n <button\n type=\"button\"\n (click)=\"goToPage(page)\"\n class=\"min-w-8 h-8 px-2 rounded-lg text-sm font-medium transition-colors cursor-pointer\"\n [class.bg-primary-600]=\"page === currentPage()\"\n [class.text-white]=\"page === currentPage()\"\n [class.text-neutral-600]=\"page !== currentPage()\"\n [class.hover:bg-neutral-100]=\"page !== currentPage()\">\n {{ page }}\n </button>\n }\n\n <!-- Next -->\n <button\n type=\"button\"\n [disabled]=\"currentPage() >= totalPages()\"\n (click)=\"goToPage(currentPage() + 1)\"\n class=\"p-2 rounded-lg text-neutral-500 hover:bg-neutral-100 disabled:opacity-40 disabled:cursor-not-allowed transition-colors cursor-pointer\">\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </nav>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
3522
2620
|
}], propDecorators: { totalItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalItems", required: true }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], currentPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPage", required: false }] }, { type: i0.Output, args: ["currentPageChange"] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: false }] }], onPageChange: [{ type: i0.Output, args: ["onPageChange"] }] } });
|
|
3523
2621
|
|
|
3524
2622
|
class TailwindTag extends TailwindComponent {
|
|
@@ -3526,9 +2624,9 @@ class TailwindTag extends TailwindComponent {
|
|
|
3526
2624
|
computedClasses = computed(() => {
|
|
3527
2625
|
const variantMap = {
|
|
3528
2626
|
primary: 'bg-primary-600 text-white',
|
|
3529
|
-
neutral: 'bg-
|
|
2627
|
+
neutral: 'bg-neutral-600 text-white',
|
|
3530
2628
|
success: 'bg-success-600 text-white',
|
|
3531
|
-
warning: 'bg-warning-500 text-
|
|
2629
|
+
warning: 'bg-warning-500 text-neutral-900',
|
|
3532
2630
|
danger: 'bg-danger-600 text-white',
|
|
3533
2631
|
info: 'bg-info-600 text-white'
|
|
3534
2632
|
};
|
|
@@ -3543,6 +2641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
3543
2641
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
|
|
3544
2642
|
|
|
3545
2643
|
class TailwindTable extends TailwindComponent {
|
|
2644
|
+
tailwindPaginationSummary = inject(TAILWIND_PAGINATION_SUMMARY, { optional: true });
|
|
3546
2645
|
data = input([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
3547
2646
|
selectable = input(false, ...(ngDevMode ? [{ debugName: "selectable" }] : /* istanbul ignore next */ []));
|
|
3548
2647
|
striped = input(false, ...(ngDevMode ? [{ debugName: "striped" }] : /* istanbul ignore next */ []));
|
|
@@ -3552,6 +2651,7 @@ class TailwindTable extends TailwindComponent {
|
|
|
3552
2651
|
emptyColspan = input(1, ...(ngDevMode ? [{ debugName: "emptyColspan" }] : /* istanbul ignore next */ []));
|
|
3553
2652
|
paginated = input(true, ...(ngDevMode ? [{ debugName: "paginated" }] : /* istanbul ignore next */ []));
|
|
3554
2653
|
pagination = input(...(ngDevMode ? [undefined, { debugName: "pagination" }] : /* istanbul ignore next */ []));
|
|
2654
|
+
paginationSummary = computed(() => this.pagination()?.summary ?? this.tailwindPaginationSummary ?? 'Showing {start}-{end} of {total}', ...(ngDevMode ? [{ debugName: "paginationSummary" }] : /* istanbul ignore next */ []));
|
|
3555
2655
|
onSortChange = output();
|
|
3556
2656
|
onSelectionChange = output();
|
|
3557
2657
|
rowTemplate = contentChild.required(TailwindTableRowDirective);
|
|
@@ -3653,14 +2753,14 @@ class TailwindTable extends TailwindComponent {
|
|
|
3653
2753
|
this.sort(key);
|
|
3654
2754
|
}
|
|
3655
2755
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3656
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTable, isStandalone: true, selector: "tailwind-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, striped: { classPropertyName: "striped", publicName: "striped", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyColspan: { classPropertyName: "emptyColspan", publicName: "emptyColspan", isSignal: true, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSortChange: "onSortChange", onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "onSortZoneClick($event)", "keydown": "onSortZoneKeydown($event)" }, properties: { "attr.data-tw-sort-key": "sortKey()", "attr.data-tw-sort-dir": "sortDir()" } }, queries: [{ propertyName: "rowTemplate", first: true, predicate: TailwindTableRowDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"w-full overflow-x-auto rounded-lg border border-
|
|
2756
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTable, isStandalone: true, selector: "tailwind-table", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, striped: { classPropertyName: "striped", publicName: "striped", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyColspan: { classPropertyName: "emptyColspan", publicName: "emptyColspan", isSignal: true, isRequired: false, transformFunction: null }, paginated: { classPropertyName: "paginated", publicName: "paginated", isSignal: true, isRequired: false, transformFunction: null }, pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSortChange: "onSortChange", onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "onSortZoneClick($event)", "keydown": "onSortZoneKeydown($event)" }, properties: { "attr.data-tw-sort-key": "sortKey()", "attr.data-tw-sort-dir": "sortDir()" } }, queries: [{ propertyName: "rowTemplate", first: true, predicate: TailwindTableRowDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"w-full overflow-x-auto rounded-lg border border-neutral-200\">\n @if (loading()) {\n <div class=\"flex items-center justify-center py-16 text-neutral-400\">\n <svg class=\"animate-spin w-6 h-6 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8v8z\" />\n </svg>\n Loading...\n </div>\n } @else {\n <!-- `table-fixed`: consente `w-*` / `min-w-*` / `max-w-*` sulle celle e sugli `th` proiettati. -->\n <table class=\"w-full min-w-0 table-fixed text-sm text-left divide-y divide-neutral-100\">\n <ng-content select=\"thead\" />\n @for (row of displayedData(); track row; let i = $index) {\n <ng-container *ngTemplateOutlet=\"rowTemplate().templateRef; context: rowContext(row, i)\" />\n } @empty {\n <tbody>\n <tr>\n <td [attr.colspan]=\"emptyColspan()\">\n {{ emptyMessage() }}\n </td>\n </tr>\n </tbody>\n }\n </table>\n\n @if (paginated() && data().length > 0) {\n <div class=\"px-4 py-3 border-t border-neutral-200 bg-white\">\n <tailwind-pagination\n [totalItems]=\"pagination()?.totalItems ?? data().length\"\n [pageSize]=\"pagination()?.pageSize ?? 10\"\n [currentPage]=\"currentPage()\"\n (onPageChange)=\"currentPage.set($event)\"\n [ariaLabel]=\"pagination()?.ariaLabel ?? 'Pagination'\"\n [summary]=\"paginationSummary()\">\n </tailwind-pagination>\n </div>\n }\n }\n</div>\n", styles: ["@layer components{:host{display:block}:host ::ng-deep :where(thead){background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}:host ::ng-deep :where(thead th){padding:.75rem 1rem;font-weight:600;color:var(--color-neutral-700);text-align:left;white-space:nowrap;vertical-align:middle}:host ::ng-deep :where(tbody td){padding:.75rem 1rem;color:var(--color-neutral-700)}:host ::ng-deep :where(tbody td[colspan]){padding:2rem 1rem;text-align:center;color:var(--color-neutral-400)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TailwindPagination, selector: "tailwind-pagination", inputs: ["totalItems", "pageSize", "currentPage", "ariaLabel", "summary"], outputs: ["currentPageChange", "onPageChange"] }] });
|
|
3657
2757
|
}
|
|
3658
2758
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTable, decorators: [{
|
|
3659
2759
|
type: Component,
|
|
3660
2760
|
args: [{ selector: 'tailwind-table', imports: [NgTemplateOutlet, TailwindPagination], host: {
|
|
3661
2761
|
'[attr.data-tw-sort-key]': 'sortKey()',
|
|
3662
2762
|
'[attr.data-tw-sort-dir]': 'sortDir()'
|
|
3663
|
-
}, template: "<div class=\"w-full overflow-x-auto rounded-lg border border-
|
|
2763
|
+
}, template: "<div class=\"w-full overflow-x-auto rounded-lg border border-neutral-200\">\n @if (loading()) {\n <div class=\"flex items-center justify-center py-16 text-neutral-400\">\n <svg class=\"animate-spin w-6 h-6 mr-2\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\" />\n <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8v8z\" />\n </svg>\n Loading...\n </div>\n } @else {\n <!-- `table-fixed`: consente `w-*` / `min-w-*` / `max-w-*` sulle celle e sugli `th` proiettati. -->\n <table class=\"w-full min-w-0 table-fixed text-sm text-left divide-y divide-neutral-100\">\n <ng-content select=\"thead\" />\n @for (row of displayedData(); track row; let i = $index) {\n <ng-container *ngTemplateOutlet=\"rowTemplate().templateRef; context: rowContext(row, i)\" />\n } @empty {\n <tbody>\n <tr>\n <td [attr.colspan]=\"emptyColspan()\">\n {{ emptyMessage() }}\n </td>\n </tr>\n </tbody>\n }\n </table>\n\n @if (paginated() && data().length > 0) {\n <div class=\"px-4 py-3 border-t border-neutral-200 bg-white\">\n <tailwind-pagination\n [totalItems]=\"pagination()?.totalItems ?? data().length\"\n [pageSize]=\"pagination()?.pageSize ?? 10\"\n [currentPage]=\"currentPage()\"\n (onPageChange)=\"currentPage.set($event)\"\n [ariaLabel]=\"pagination()?.ariaLabel ?? 'Pagination'\"\n [summary]=\"paginationSummary()\">\n </tailwind-pagination>\n </div>\n }\n }\n</div>\n", styles: ["@layer components{:host{display:block}:host ::ng-deep :where(thead){background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}:host ::ng-deep :where(thead th){padding:.75rem 1rem;font-weight:600;color:var(--color-neutral-700);text-align:left;white-space:nowrap;vertical-align:middle}:host ::ng-deep :where(tbody td){padding:.75rem 1rem;color:var(--color-neutral-700)}:host ::ng-deep :where(tbody td[colspan]){padding:2rem 1rem;text-align:center;color:var(--color-neutral-400)}}\n"] }]
|
|
3664
2764
|
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], striped: [{ type: i0.Input, args: [{ isSignal: true, alias: "striped", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], emptyColspan: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyColspan", required: false }] }], paginated: [{ type: i0.Input, args: [{ isSignal: true, alias: "paginated", required: false }] }], pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: false }] }], onSortChange: [{ type: i0.Output, args: ["onSortChange"] }], onSelectionChange: [{ type: i0.Output, args: ["onSelectionChange"] }], rowTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TailwindTableRowDirective), { isSignal: true }] }], onSortZoneClick: [{
|
|
3665
2765
|
type: HostListener,
|
|
3666
2766
|
args: ['click', ['$event']]
|
|
@@ -3808,11 +2908,11 @@ class TailwindDatePicker extends TailwindComponent {
|
|
|
3808
2908
|
this.showCalendar.set(false);
|
|
3809
2909
|
}
|
|
3810
2910
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDatePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3811
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDatePicker, isStandalone: true, selector: "tailwind-date-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDatePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
2911
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDatePicker, isStandalone: true, selector: "tailwind-date-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDatePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"effectivePlaceholder()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n [disabled]=\"isDisabled()\"\n (click)=\"toggleCalendar()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 01.75.75V4h7V2.75a.75.75 0 011.5 0V4h.25A2.75 2.75 0 0118 6.75v8.5A2.75 2.75 0 0115.25 18H4.75A2.75 2.75 0 012 15.25v-8.5A2.75 2.75 0 014.75 4H5V2.75A.75.75 0 015.75 2zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75z\"\n clip-rule=\"evenodd\" />\n </svg>\n </div>\n\n @if (showCalendar()) {\n <div class=\"absolute z-popover mt-1 bg-white rounded-xl border border-neutral-200 shadow-xl p-4 w-72\">\n <!-- Month/Year nav -->\n <div class=\"flex items-center justify-between mb-3\">\n <button\n type=\"button\"\n (click)=\"prevMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n <span class=\"text-sm font-semibold text-neutral-800\">{{ monthYearLabel() }}</span>\n <button\n type=\"button\"\n (click)=\"nextMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n <!-- Weekdays -->\n <div class=\"grid grid-cols-7 gap-0 mb-1\">\n @for (day of weekDays; track $index) {\n <div class=\"text-center text-xs font-medium text-neutral-400 py-1\">{{ day }}</div>\n }\n </div>\n <!-- Days -->\n <div class=\"grid grid-cols-7 gap-0\">\n @for (day of calendarDays(); track $index) {\n @if (day === 0) {\n <div></div>\n } @else {\n <button\n type=\"button\"\n (click)=\"selectDay(day)\"\n class=\"h-8 w-8 mx-auto rounded-lg text-sm transition-colors cursor-pointer hover:bg-neutral-100\"\n [class.bg-primary-600]=\"isSelected(day)\"\n [class.text-white]=\"isSelected(day)\"\n [class.hover:bg-primary-700]=\"isSelected(day)\"\n [class.text-neutral-700]=\"!isSelected(day) && !isToday(day)\"\n [class.font-semibold]=\"isToday(day)\"\n [class.text-primary-600]=\"isToday(day) && !isSelected(day)\">\n {{ day }}\n </button>\n }\n }\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToToday()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.today }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled() || !draft()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.confirm }}\n </button>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative}\n"] });
|
|
3812
2912
|
}
|
|
3813
2913
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDatePicker, decorators: [{
|
|
3814
2914
|
type: Component,
|
|
3815
|
-
args: [{ selector: 'tailwind-date-picker', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDatePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
2915
|
+
args: [{ selector: 'tailwind-date-picker', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDatePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"effectivePlaceholder()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n [disabled]=\"isDisabled()\"\n (click)=\"toggleCalendar()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 01.75.75V4h7V2.75a.75.75 0 011.5 0V4h.25A2.75 2.75 0 0118 6.75v8.5A2.75 2.75 0 0115.25 18H4.75A2.75 2.75 0 012 15.25v-8.5A2.75 2.75 0 014.75 4H5V2.75A.75.75 0 015.75 2zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75z\"\n clip-rule=\"evenodd\" />\n </svg>\n </div>\n\n @if (showCalendar()) {\n <div class=\"absolute z-popover mt-1 bg-white rounded-xl border border-neutral-200 shadow-xl p-4 w-72\">\n <!-- Month/Year nav -->\n <div class=\"flex items-center justify-between mb-3\">\n <button\n type=\"button\"\n (click)=\"prevMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n <span class=\"text-sm font-semibold text-neutral-800\">{{ monthYearLabel() }}</span>\n <button\n type=\"button\"\n (click)=\"nextMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n <!-- Weekdays -->\n <div class=\"grid grid-cols-7 gap-0 mb-1\">\n @for (day of weekDays; track $index) {\n <div class=\"text-center text-xs font-medium text-neutral-400 py-1\">{{ day }}</div>\n }\n </div>\n <!-- Days -->\n <div class=\"grid grid-cols-7 gap-0\">\n @for (day of calendarDays(); track $index) {\n @if (day === 0) {\n <div></div>\n } @else {\n <button\n type=\"button\"\n (click)=\"selectDay(day)\"\n class=\"h-8 w-8 mx-auto rounded-lg text-sm transition-colors cursor-pointer hover:bg-neutral-100\"\n [class.bg-primary-600]=\"isSelected(day)\"\n [class.text-white]=\"isSelected(day)\"\n [class.hover:bg-primary-700]=\"isSelected(day)\"\n [class.text-neutral-700]=\"!isSelected(day) && !isToday(day)\"\n [class.font-semibold]=\"isToday(day)\"\n [class.text-primary-600]=\"isToday(day) && !isSelected(day)\">\n {{ day }}\n </button>\n }\n }\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToToday()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.today }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled() || !draft()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.confirm }}\n </button>\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative}\n"] }]
|
|
3816
2916
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], onDocumentPointerDown: [{
|
|
3817
2917
|
type: HostListener,
|
|
3818
2918
|
args: ['document:pointerdown', ['$event']]
|
|
@@ -3907,11 +3007,11 @@ class TailwindTimePicker extends TailwindComponent {
|
|
|
3907
3007
|
this.showPanel.set(false);
|
|
3908
3008
|
}
|
|
3909
3009
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTimePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3910
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTimePicker, isStandalone: true, selector: "tailwind-time-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindTimePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
3010
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindTimePicker, isStandalone: true, selector: "tailwind-time-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindTimePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"i18n.placeholder\"\n [disabled]=\"isDisabled()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n (click)=\"togglePanel()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\"\n clip-rule=\"evenodd\" />\n </svg>\n\n @if (showPanel()) {\n <div\n class=\"absolute left-0 top-full z-popover mt-1 w-52 rounded-xl border border-neutral-200 bg-white p-4 shadow-xl\">\n <div class=\"flex items-center gap-2\">\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled()\"\n (change)=\"onHourChange($event)\">\n @for (h of hours; track h) {\n <option [value]=\"h\" [selected]=\"h === (draft()?.h ?? 0)\">\n {{ h.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n <span class=\"text-neutral-400 text-sm shrink-0\">:</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled()\"\n (change)=\"onMinuteChange($event)\">\n @for (m of minutes; track m) {\n <option [value]=\"m\" [selected]=\"m === (draft()?.m ?? 0)\">\n {{ m.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToNow()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.now }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.apply }}\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block}\n"] });
|
|
3911
3011
|
}
|
|
3912
3012
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindTimePicker, decorators: [{
|
|
3913
3013
|
type: Component,
|
|
3914
|
-
args: [{ selector: 'tailwind-time-picker', imports: [], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindTimePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
3014
|
+
args: [{ selector: 'tailwind-time-picker', imports: [], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindTimePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"i18n.placeholder\"\n [disabled]=\"isDisabled()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n (click)=\"togglePanel()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\"\n clip-rule=\"evenodd\" />\n </svg>\n\n @if (showPanel()) {\n <div\n class=\"absolute left-0 top-full z-popover mt-1 w-52 rounded-xl border border-neutral-200 bg-white p-4 shadow-xl\">\n <div class=\"flex items-center gap-2\">\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled()\"\n (change)=\"onHourChange($event)\">\n @for (h of hours; track h) {\n <option [value]=\"h\" [selected]=\"h === (draft()?.h ?? 0)\">\n {{ h.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n <span class=\"text-neutral-400 text-sm shrink-0\">:</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled()\"\n (change)=\"onMinuteChange($event)\">\n @for (m of minutes; track m) {\n <option [value]=\"m\" [selected]=\"m === (draft()?.m ?? 0)\">\n {{ m.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToNow()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.now }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.apply }}\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block}\n"] }]
|
|
3915
3015
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], onDocumentPointerDown: [{
|
|
3916
3016
|
type: HostListener,
|
|
3917
3017
|
args: ['document:pointerdown', ['$event']]
|
|
@@ -4090,11 +3190,11 @@ class TailwindDateTimePicker extends TailwindComponent {
|
|
|
4090
3190
|
this.showPanel.set(false);
|
|
4091
3191
|
}
|
|
4092
3192
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDateTimePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4093
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDateTimePicker, isStandalone: true, selector: "tailwind-datetime-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDateTimePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
3193
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDateTimePicker, isStandalone: true, selector: "tailwind-datetime-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "document:pointerdown": "onDocumentPointerDown($event)", "document:keydown": "onDocumentKeydown($event)" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDateTimePicker), multi: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"effectivePlaceholder()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n [disabled]=\"isDisabled()\"\n (click)=\"togglePanel()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 01.75.75V4h7V2.75a.75.75 0 011.5 0V4h.25A2.75 2.75 0 0118 6.75v8.5A2.75 2.75 0 0115.25 18H4.75A2.75 2.75 0 012 15.25v-8.5A2.75 2.75 0 014.75 4H5V2.75A.75.75 0 015.75 2zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75z\"\n clip-rule=\"evenodd\" />\n </svg>\n\n @if (showPanel()) {\n <div\n class=\"absolute left-0 top-full z-popover mt-1 w-80 max-w-full rounded-xl border border-neutral-200 bg-white p-4 shadow-xl\">\n <div class=\"flex items-center justify-between mb-3\">\n <button\n type=\"button\"\n (click)=\"prevMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n <span class=\"text-sm font-semibold text-neutral-800\">{{ monthYearLabel() }}</span>\n <button\n type=\"button\"\n (click)=\"nextMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n <div class=\"grid grid-cols-7 gap-0 mb-1\">\n @for (day of weekDays; track day) {\n <div class=\"text-center text-xs font-medium text-neutral-400 py-1\">{{ day }}</div>\n }\n </div>\n <div class=\"grid grid-cols-7 gap-0\">\n @for (day of calendarDays(); track $index) {\n @if (day === 0) {\n <div></div>\n } @else {\n <button\n type=\"button\"\n (click)=\"selectDay(day)\"\n class=\"h-8 w-8 mx-auto rounded-lg text-sm transition-colors cursor-pointer hover:bg-neutral-100\"\n [class.bg-primary-600]=\"isSelected(day)\"\n [class.text-white]=\"isSelected(day)\"\n [class.hover:bg-primary-700]=\"isSelected(day)\"\n [class.text-neutral-700]=\"!isSelected(day) && !isToday(day)\"\n [class.font-semibold]=\"isToday(day)\"\n [class.text-primary-600]=\"isToday(day) && !isSelected(day)\">\n {{ day }}\n </button>\n }\n }\n </div>\n <div class=\"mt-3 pt-3 border-t border-neutral-100 flex items-center gap-2\">\n <span class=\"text-xs font-medium text-neutral-600 shrink-0\">{{ i18n.time }}</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled() || !draft()\"\n (change)=\"onHourChange($event)\">\n @for (h of hours; track h) {\n <option [value]=\"h\" [selected]=\"h === (draft()?.getHours() ?? 0)\">\n {{ h.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n <span class=\"text-neutral-400 text-sm\">:</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled() || !draft()\"\n (change)=\"onMinuteChange($event)\">\n @for (m of minutes; track m) {\n <option [value]=\"m\" [selected]=\"m === (draft()?.getMinutes() ?? 0)\">\n {{ m.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToToday()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.today }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled() || !draft()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.confirm }}\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;position:relative;overflow:visible}\n"] });
|
|
4094
3194
|
}
|
|
4095
3195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDateTimePicker, decorators: [{
|
|
4096
3196
|
type: Component,
|
|
4097
|
-
args: [{ selector: 'tailwind-datetime-picker', imports: [], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDateTimePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-
|
|
3197
|
+
args: [{ selector: 'tailwind-datetime-picker', imports: [], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TailwindDateTimePicker), multi: true }], template: "<div class=\"flex flex-col gap-1.5\">\n @if (label()) {\n <label [attr.for]=\"id() ? id() + '-inner' : null\" class=\"text-sm font-medium text-neutral-700\">{{ label() }}</label>\n }\n <div class=\"relative\">\n <input\n [attr.id]=\"id() ? id() + '-inner' : null\"\n type=\"text\"\n readonly\n [value]=\"displayValue()\"\n [placeholder]=\"effectivePlaceholder()\"\n class=\"block w-full bg-white border border-neutral-300 rounded-md px-3 py-2 text-sm text-neutral-900 placeholder:text-neutral-400 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 cursor-pointer disabled:bg-neutral-50 disabled:cursor-not-allowed pr-10\"\n [disabled]=\"isDisabled()\"\n (click)=\"togglePanel()\" />\n <svg\n class=\"absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-neutral-400 pointer-events-none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M5.75 2a.75.75 0 01.75.75V4h7V2.75a.75.75 0 011.5 0V4h.25A2.75 2.75 0 0118 6.75v8.5A2.75 2.75 0 0115.25 18H4.75A2.75 2.75 0 012 15.25v-8.5A2.75 2.75 0 014.75 4H5V2.75A.75.75 0 015.75 2zm-1 5.5c-.69 0-1.25.56-1.25 1.25v6.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25v-6.5c0-.69-.56-1.25-1.25-1.25H4.75z\"\n clip-rule=\"evenodd\" />\n </svg>\n\n @if (showPanel()) {\n <div\n class=\"absolute left-0 top-full z-popover mt-1 w-80 max-w-full rounded-xl border border-neutral-200 bg-white p-4 shadow-xl\">\n <div class=\"flex items-center justify-between mb-3\">\n <button\n type=\"button\"\n (click)=\"prevMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n <span class=\"text-sm font-semibold text-neutral-800\">{{ monthYearLabel() }}</span>\n <button\n type=\"button\"\n (click)=\"nextMonth()\"\n class=\"p-1 rounded-lg hover:bg-neutral-100 transition-colors cursor-pointer\">\n <svg\n class=\"w-4 h-4 text-neutral-600\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z\"\n clip-rule=\"evenodd\" />\n </svg>\n </button>\n </div>\n <div class=\"grid grid-cols-7 gap-0 mb-1\">\n @for (day of weekDays; track day) {\n <div class=\"text-center text-xs font-medium text-neutral-400 py-1\">{{ day }}</div>\n }\n </div>\n <div class=\"grid grid-cols-7 gap-0\">\n @for (day of calendarDays(); track $index) {\n @if (day === 0) {\n <div></div>\n } @else {\n <button\n type=\"button\"\n (click)=\"selectDay(day)\"\n class=\"h-8 w-8 mx-auto rounded-lg text-sm transition-colors cursor-pointer hover:bg-neutral-100\"\n [class.bg-primary-600]=\"isSelected(day)\"\n [class.text-white]=\"isSelected(day)\"\n [class.hover:bg-primary-700]=\"isSelected(day)\"\n [class.text-neutral-700]=\"!isSelected(day) && !isToday(day)\"\n [class.font-semibold]=\"isToday(day)\"\n [class.text-primary-600]=\"isToday(day) && !isSelected(day)\">\n {{ day }}\n </button>\n }\n }\n </div>\n <div class=\"mt-3 pt-3 border-t border-neutral-100 flex items-center gap-2\">\n <span class=\"text-xs font-medium text-neutral-600 shrink-0\">{{ i18n.time }}</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled() || !draft()\"\n (change)=\"onHourChange($event)\">\n @for (h of hours; track h) {\n <option [value]=\"h\" [selected]=\"h === (draft()?.getHours() ?? 0)\">\n {{ h.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n <span class=\"text-neutral-400 text-sm\">:</span>\n <select\n class=\"flex-1 min-w-0 block bg-white border border-neutral-300 rounded-md px-2 py-1.5 text-sm text-neutral-900 outline-none focus:outline focus:outline-primary-500 focus:outline-offset-2 disabled:bg-neutral-50 disabled:cursor-not-allowed\"\n [disabled]=\"isDisabled() || !draft()\"\n (change)=\"onMinuteChange($event)\">\n @for (m of minutes; track m) {\n <option [value]=\"m\" [selected]=\"m === (draft()?.getMinutes() ?? 0)\">\n {{ m.toString().padStart(2, '0') }}\n </option>\n }\n </select>\n </div>\n <div class=\"mt-2 pt-2 border-t border-neutral-100 flex items-center justify-between gap-2\">\n <button\n type=\"button\"\n (click)=\"goToToday()\"\n [disabled]=\"isDisabled()\"\n class=\"text-xs text-primary-600 font-medium hover:underline cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:no-underline\">\n {{ i18n.today }}\n </button>\n <button\n type=\"button\"\n (click)=\"apply()\"\n [disabled]=\"isDisabled() || !draft()\"\n class=\"px-3 py-1.5 text-xs font-medium rounded-md bg-primary-600 text-white hover:bg-primary-700 cursor-pointer disabled:bg-neutral-200 disabled:text-neutral-500 disabled:cursor-not-allowed\">\n {{ i18n.confirm }}\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;position:relative;overflow:visible}\n"] }]
|
|
4098
3198
|
}], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], onDocumentPointerDown: [{
|
|
4099
3199
|
type: HostListener,
|
|
4100
3200
|
args: ['document:pointerdown', ['$event']]
|
|
@@ -4146,11 +3246,11 @@ class TailwindStepper extends TailwindComponent {
|
|
|
4146
3246
|
this.activeIndex.update(v => v - 1);
|
|
4147
3247
|
}
|
|
4148
3248
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindStepper, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4149
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindStepper, isStandalone: true, selector: "tailwind-stepper", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange" }, queries: [{ propertyName: "steps", predicate: TailwindStep, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Step indicators -->\n<div class=\"flex items-center mb-6\">\n @for (step of steps(); track step.label(); let i = $index; let last = $last) {\n <div class=\"flex items-center\" [class.flex-1]=\"!last\">\n <button\n type=\"button\"\n (click)=\"goToStep(i)\"\n class=\"flex items-center gap-2 cursor-pointer group\"\n [attr.aria-current]=\"activeIndex() === i ? 'step' : null\">\n <div\n class=\"w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold border-2 transition-all duration-200\"\n [class.bg-primary-600]=\"i <= activeIndex()\"\n [class.border-primary-600]=\"i <= activeIndex()\"\n [class.text-white]=\"i <= activeIndex()\"\n [class.border-
|
|
3249
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindStepper, isStandalone: true, selector: "tailwind-stepper", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange" }, queries: [{ propertyName: "steps", predicate: TailwindStep, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Step indicators -->\n<div class=\"flex items-center mb-6\">\n @for (step of steps(); track step.label(); let i = $index; let last = $last) {\n <div class=\"flex items-center\" [class.flex-1]=\"!last\">\n <button\n type=\"button\"\n (click)=\"goToStep(i)\"\n class=\"flex items-center gap-2 cursor-pointer group\"\n [attr.aria-current]=\"activeIndex() === i ? 'step' : null\">\n <div\n class=\"w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold border-2 transition-all duration-200\"\n [class.bg-primary-600]=\"i <= activeIndex()\"\n [class.border-primary-600]=\"i <= activeIndex()\"\n [class.text-white]=\"i <= activeIndex()\"\n [class.border-neutral-300]=\"i > activeIndex()\"\n [class.text-neutral-500]=\"i > activeIndex()\">\n @if (step.completed()) {\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\"\n clip-rule=\"evenodd\" />\n </svg>\n } @else {\n {{ i + 1 }}\n }\n </div>\n <div class=\"hidden sm:block\">\n <p\n class=\"text-sm font-medium\"\n [class.text-primary-600]=\"i <= activeIndex()\"\n [class.text-neutral-500]=\"i > activeIndex()\">\n {{ step.label() }}\n </p>\n @if (step.description()) {\n <p class=\"text-xs text-neutral-400\">{{ step.description() }}</p>\n }\n </div>\n </button>\n @if (!last) {\n <div\n class=\"flex-1 h-0.5 mx-3 rounded-full transition-colors duration-200\"\n [class.bg-primary-600]=\"i < activeIndex()\"\n [class.bg-neutral-200]=\"i >= activeIndex()\"></div>\n }\n </div>\n }\n</div>\n<!-- Step content -->\n<ng-content />\n", styles: [":host{display:block}\n"] });
|
|
4150
3250
|
}
|
|
4151
3251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindStepper, decorators: [{
|
|
4152
3252
|
type: Component,
|
|
4153
|
-
args: [{ selector: 'tailwind-stepper', template: "<!-- Step indicators -->\n<div class=\"flex items-center mb-6\">\n @for (step of steps(); track step.label(); let i = $index; let last = $last) {\n <div class=\"flex items-center\" [class.flex-1]=\"!last\">\n <button\n type=\"button\"\n (click)=\"goToStep(i)\"\n class=\"flex items-center gap-2 cursor-pointer group\"\n [attr.aria-current]=\"activeIndex() === i ? 'step' : null\">\n <div\n class=\"w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold border-2 transition-all duration-200\"\n [class.bg-primary-600]=\"i <= activeIndex()\"\n [class.border-primary-600]=\"i <= activeIndex()\"\n [class.text-white]=\"i <= activeIndex()\"\n [class.border-
|
|
3253
|
+
args: [{ selector: 'tailwind-stepper', template: "<!-- Step indicators -->\n<div class=\"flex items-center mb-6\">\n @for (step of steps(); track step.label(); let i = $index; let last = $last) {\n <div class=\"flex items-center\" [class.flex-1]=\"!last\">\n <button\n type=\"button\"\n (click)=\"goToStep(i)\"\n class=\"flex items-center gap-2 cursor-pointer group\"\n [attr.aria-current]=\"activeIndex() === i ? 'step' : null\">\n <div\n class=\"w-8 h-8 rounded-full flex items-center justify-center text-sm font-semibold border-2 transition-all duration-200\"\n [class.bg-primary-600]=\"i <= activeIndex()\"\n [class.border-primary-600]=\"i <= activeIndex()\"\n [class.text-white]=\"i <= activeIndex()\"\n [class.border-neutral-300]=\"i > activeIndex()\"\n [class.text-neutral-500]=\"i > activeIndex()\">\n @if (step.completed()) {\n <svg class=\"w-4 h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\"\n clip-rule=\"evenodd\" />\n </svg>\n } @else {\n {{ i + 1 }}\n }\n </div>\n <div class=\"hidden sm:block\">\n <p\n class=\"text-sm font-medium\"\n [class.text-primary-600]=\"i <= activeIndex()\"\n [class.text-neutral-500]=\"i > activeIndex()\">\n {{ step.label() }}\n </p>\n @if (step.description()) {\n <p class=\"text-xs text-neutral-400\">{{ step.description() }}</p>\n }\n </div>\n </button>\n @if (!last) {\n <div\n class=\"flex-1 h-0.5 mx-3 rounded-full transition-colors duration-200\"\n [class.bg-primary-600]=\"i < activeIndex()\"\n [class.bg-neutral-200]=\"i >= activeIndex()\"></div>\n }\n </div>\n }\n</div>\n<!-- Step content -->\n<ng-content />\n", styles: [":host{display:block}\n"] }]
|
|
4154
3254
|
}], ctorParameters: () => [], propDecorators: { activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }, { type: i0.Output, args: ["activeIndexChange"] }], linear: [{ type: i0.Input, args: [{ isSignal: true, alias: "linear", required: false }] }], steps: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TailwindStep), { isSignal: true }] }] } });
|
|
4155
3255
|
|
|
4156
3256
|
class TailwindAccordionItem extends TailwindComponent {
|
|
@@ -4165,21 +3265,21 @@ class TailwindAccordionItem extends TailwindComponent {
|
|
|
4165
3265
|
}
|
|
4166
3266
|
}
|
|
4167
3267
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindAccordionItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4168
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindAccordionItem, isStandalone: true, selector: "tailwind-accordion-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onToggle: "onToggle" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"id()\" [ngClass]=\"class()\" class=\"border-b border-
|
|
3268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindAccordionItem, isStandalone: true, selector: "tailwind-accordion-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onToggle: "onToggle" }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"id()\" [ngClass]=\"class()\" class=\"border-b border-neutral-200 last:border-b-0\">\r\n <button\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n class=\"flex items-center justify-between w-full px-5 py-4 text-left text-sm font-medium text-neutral-800 hover:bg-neutral-50 transition-colors cursor-pointer\"\r\n [attr.aria-expanded]=\"isExpanded()\">\r\n <span>{{ title() }}</span>\r\n <svg\r\n class=\"w-4 h-4 text-neutral-400 transition-transform duration-200\"\r\n [class.rotate-180]=\"isExpanded()\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n @if (isExpanded()) {\r\n <div class=\"px-5 py-4 text-sm text-neutral-600\">\r\n <ng-content />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
4169
3269
|
}
|
|
4170
3270
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindAccordionItem, decorators: [{
|
|
4171
3271
|
type: Component,
|
|
4172
|
-
args: [{ imports: [CommonModule], selector: 'tailwind-accordion-item', template: "<div [id]=\"id()\" [ngClass]=\"class()\" class=\"border-b border-
|
|
3272
|
+
args: [{ imports: [CommonModule], selector: 'tailwind-accordion-item', template: "<div [id]=\"id()\" [ngClass]=\"class()\" class=\"border-b border-neutral-200 last:border-b-0\">\r\n <button\r\n type=\"button\"\r\n (click)=\"toggle()\"\r\n class=\"flex items-center justify-between w-full px-5 py-4 text-left text-sm font-medium text-neutral-800 hover:bg-neutral-50 transition-colors cursor-pointer\"\r\n [attr.aria-expanded]=\"isExpanded()\">\r\n <span>{{ title() }}</span>\r\n <svg\r\n class=\"w-4 h-4 text-neutral-400 transition-transform duration-200\"\r\n [class.rotate-180]=\"isExpanded()\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"currentColor\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n d=\"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n @if (isExpanded()) {\r\n <div class=\"px-5 py-4 text-sm text-neutral-600\">\r\n <ng-content />\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
4173
3273
|
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], onToggle: [{ type: i0.Output, args: ["onToggle"] }] } });
|
|
4174
3274
|
|
|
4175
3275
|
class TailwindAccordion extends TailwindComponent {
|
|
4176
3276
|
items = contentChildren(TailwindAccordionItem, ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
4177
3277
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindAccordion, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4178
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.12", type: TailwindAccordion, isStandalone: true, selector: "tailwind-accordion", queries: [{ propertyName: "items", predicate: TailwindAccordionItem, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n [id]=\"id()\"\r\n [ngClass]=\"class()\"\r\n class=\"border border-
|
|
3278
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.12", type: TailwindAccordion, isStandalone: true, selector: "tailwind-accordion", queries: [{ propertyName: "items", predicate: TailwindAccordionItem, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n [id]=\"id()\"\r\n [ngClass]=\"class()\"\r\n class=\"border border-neutral-200 rounded-md overflow-hidden divide-y divide-neutral-200\">\r\n <ng-content />\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
4179
3279
|
}
|
|
4180
3280
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindAccordion, decorators: [{
|
|
4181
3281
|
type: Component,
|
|
4182
|
-
args: [{ imports: [CommonModule], selector: 'tailwind-accordion', template: "<div\r\n [id]=\"id()\"\r\n [ngClass]=\"class()\"\r\n class=\"border border-
|
|
3282
|
+
args: [{ imports: [CommonModule], selector: 'tailwind-accordion', template: "<div\r\n [id]=\"id()\"\r\n [ngClass]=\"class()\"\r\n class=\"border border-neutral-200 rounded-md overflow-hidden divide-y divide-neutral-200\">\r\n <ng-content />\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
4183
3283
|
}], propDecorators: { items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TailwindAccordionItem), { isSignal: true }] }] } });
|
|
4184
3284
|
|
|
4185
3285
|
class TailwindModalRef {
|
|
@@ -4383,11 +3483,11 @@ class TailwindSkeleton extends TailwindComponent {
|
|
|
4383
3483
|
return `${base} ${variantMap[this.variant()]}`;
|
|
4384
3484
|
}, ...(ngDevMode ? [{ debugName: "computedClasses" }] : /* istanbul ignore next */ []));
|
|
4385
3485
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSkeleton, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4386
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: TailwindSkeleton, isStandalone: true, selector: "tailwind-skeleton", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div\n [style.width]=\"width()\"\n [style.height]=\"height() || (variant() === 'circle' ? width() : '1.5rem')\"\n [class]=\"computedClasses()\"\n aria-hidden=\"true\"></div>\n", styles: [":host{display:block}@keyframes tailwind-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tailwind-skeleton-pulse{animation:tailwind-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-
|
|
3486
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: TailwindSkeleton, isStandalone: true, selector: "tailwind-skeleton", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div\n [style.width]=\"width()\"\n [style.height]=\"height() || (variant() === 'circle' ? width() : '1.5rem')\"\n [class]=\"computedClasses()\"\n aria-hidden=\"true\"></div>\n", styles: [":host{display:block}@keyframes tailwind-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tailwind-skeleton-pulse{animation:tailwind-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%}\n"] });
|
|
4387
3487
|
}
|
|
4388
3488
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSkeleton, decorators: [{
|
|
4389
3489
|
type: Component,
|
|
4390
|
-
args: [{ selector: 'tailwind-skeleton', template: "<div\n [style.width]=\"width()\"\n [style.height]=\"height() || (variant() === 'circle' ? width() : '1.5rem')\"\n [class]=\"computedClasses()\"\n aria-hidden=\"true\"></div>\n", styles: [":host{display:block}@keyframes tailwind-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tailwind-skeleton-pulse{animation:tailwind-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-
|
|
3490
|
+
args: [{ selector: 'tailwind-skeleton', template: "<div\n [style.width]=\"width()\"\n [style.height]=\"height() || (variant() === 'circle' ? width() : '1.5rem')\"\n [class]=\"computedClasses()\"\n aria-hidden=\"true\"></div>\n", styles: [":host{display:block}@keyframes tailwind-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tailwind-skeleton-pulse{animation:tailwind-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%}\n"] }]
|
|
4391
3491
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }] } });
|
|
4392
3492
|
|
|
4393
3493
|
class TailwindToolbar extends TailwindComponent {
|
|
@@ -4410,8 +3510,8 @@ class TailwindToolbar extends TailwindComponent {
|
|
|
4410
3510
|
? 'min-w-0 flex-1 flex flex-row flex-wrap items-center gap-1'
|
|
4411
3511
|
: 'min-w-0 flex-1 flex flex-col gap-1.5 overflow-y-auto min-h-0', ...(ngDevMode ? [{ debugName: "menuContainerClasses" }] : /* istanbul ignore next */ []));
|
|
4412
3512
|
menuItemButtonClasses = computed(() => this.orientation() === 'horizontal'
|
|
4413
|
-
? 'inline-flex shrink-0 items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium text-
|
|
4414
|
-
: 'inline-flex w-full items-center gap-2 rounded-md px-3 py-3 text-left text-sm font-medium text-
|
|
3513
|
+
? 'inline-flex shrink-0 items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium text-neutral-700 hover:bg-neutral-100 hover:text-neutral-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent'
|
|
3514
|
+
: 'inline-flex w-full items-center gap-2 rounded-md px-3 py-3 text-left text-sm font-medium text-neutral-700 hover:bg-neutral-100 hover:text-neutral-900 disabled:opacity-50 disabled:cursor-not-allowed transition-colors cursor-pointer border-0 bg-transparent', ...(ngDevMode ? [{ debugName: "menuItemButtonClasses" }] : /* istanbul ignore next */ []));
|
|
4415
3515
|
rootClasses = computed(() => {
|
|
4416
3516
|
const horizontal = this.orientation() === 'horizontal';
|
|
4417
3517
|
const sizeClasses = horizontal
|
|
@@ -4420,7 +3520,7 @@ class TailwindToolbar extends TailwindComponent {
|
|
|
4420
3520
|
: 'container mx-auto h-16'
|
|
4421
3521
|
: 'h-full w-full';
|
|
4422
3522
|
const base = [
|
|
4423
|
-
'bg-white border border-
|
|
3523
|
+
'bg-white border border-neutral-200',
|
|
4424
3524
|
'flex',
|
|
4425
3525
|
sizeClasses,
|
|
4426
3526
|
this.rounded() ? 'rounded-xl' : 'rounded-none',
|
|
@@ -4457,11 +3557,11 @@ class TailwindToolbar extends TailwindComponent {
|
|
|
4457
3557
|
return item.value ?? item.label ?? String(index);
|
|
4458
3558
|
}
|
|
4459
3559
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindToolbar, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4460
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindToolbar, isStandalone: true, selector: "tailwind-toolbar", inputs: { rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, elevated: { classPropertyName: "elevated", publicName: "elevated", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMenuSelect: "onMenuSelect" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"rootClasses()\">\r\n <div class=\"shrink-0\">\r\n <ng-content select=\"[tailwind-toolbar-logo]\" />\r\n </div>\r\n @if (orientation() === 'horizontal') {\r\n <nav class=\"min-w-0 flex flex-1 flex-row flex-wrap items-center gap-1\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @if (menu().length) {\r\n <div class=\"flex shrink-0 items-center md:hidden\">\r\n <button\r\n type=\"button\"\r\n class=\"inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-2 text-
|
|
3560
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindToolbar, isStandalone: true, selector: "tailwind-toolbar", inputs: { rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, elevated: { classPropertyName: "elevated", publicName: "elevated", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onMenuSelect: "onMenuSelect" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"rootClasses()\">\r\n <div class=\"shrink-0\">\r\n <ng-content select=\"[tailwind-toolbar-logo]\" />\r\n </div>\r\n @if (orientation() === 'horizontal') {\r\n <nav class=\"min-w-0 flex flex-1 flex-row flex-wrap items-center gap-1\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @if (menu().length) {\r\n <div class=\"flex shrink-0 items-center md:hidden\">\r\n <button\r\n type=\"button\"\r\n class=\"inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-2 text-neutral-700 transition-colors hover:bg-neutral-100 hover:text-neutral-900\"\r\n [attr.aria-expanded]=\"mobileToolbarMenu.isOpen()\"\r\n aria-haspopup=\"menu\"\r\n aria-label=\"Open navigation menu\"\r\n (click)=\"mobileToolbarMenu.toggle($event)\">\r\n <tailwind-icon icon=\"bars-3\" [size]=\"22\" />\r\n </button>\r\n <tailwind-menu #mobileToolbarMenu [items]=\"menu()\" align=\"left\" (onSelect)=\"selectMenuItem($event)\" />\r\n </div>\r\n }\r\n <div class=\"hidden min-w-0 flex-1 flex-row flex-wrap items-center gap-1 md:flex\">\r\n @for (item of menu(); track menuTrackKey($index, item)) {\r\n @if (item.divider) {\r\n <span class=\"mx-0.5 h-5 w-px shrink-0 self-center bg-neutral-200\" aria-hidden=\"true\"></span>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"!!item.disabled\"\r\n [class]=\"menuItemButtonClasses()\"\r\n [class.px-2]=\"!!item.icon && !menuItemHasVisibleLabel(item)\"\r\n [class.py-2]=\"!!item.icon && !menuItemHasVisibleLabel(item)\"\r\n [attr.aria-label]=\"menuItemAriaLabel(item)\"\r\n (click)=\"selectMenuItem(item)\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"20\" />\r\n }\r\n @if (menuItemHasVisibleLabel(item)) {\r\n {{ item.label }}\r\n }\r\n </button>\r\n }\r\n }\r\n </div>\r\n </nav>\r\n } @else {\r\n <nav [class]=\"menuContainerClasses()\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @for (item of menu(); track menuTrackKey($index, item)) {\r\n @if (item.divider) {\r\n <hr class=\"my-1 w-full border-0 border-t border-neutral-100\" />\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"!!item.disabled\"\r\n [class]=\"menuItemButtonClasses()\"\r\n [class.justify-center]=\"!menuItemHasVisibleLabel(item)\"\r\n [attr.aria-label]=\"menuItemAriaLabel(item)\"\r\n (click)=\"selectMenuItem(item)\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"22\" />\r\n }\r\n @if (menuItemHasVisibleLabel(item)) {\r\n {{ item.label }}\r\n }\r\n </button>\r\n }\r\n }\r\n </nav>\r\n }\r\n <div\r\n class=\"flex flex-wrap items-center gap-2 shrink-0\"\r\n [class.justify-end]=\"orientation() === 'horizontal'\"\r\n [class.mt-auto]=\"orientation() === 'vertical'\">\r\n <ng-content select=\"[tailwind-toolbar-end]\" />\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: TailwindIcon, selector: "tailwind-icon", inputs: ["icon", "size"] }, { kind: "component", type: TailwindMenu, selector: "tailwind-menu", inputs: ["items", "align"], outputs: ["onSelect"] }] });
|
|
4461
3561
|
}
|
|
4462
3562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindToolbar, decorators: [{
|
|
4463
3563
|
type: Component,
|
|
4464
|
-
args: [{ imports: [TailwindIcon, TailwindMenu], selector: 'tailwind-toolbar', template: "<div [class]=\"rootClasses()\">\r\n <div class=\"shrink-0\">\r\n <ng-content select=\"[tailwind-toolbar-logo]\" />\r\n </div>\r\n @if (orientation() === 'horizontal') {\r\n <nav class=\"min-w-0 flex flex-1 flex-row flex-wrap items-center gap-1\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @if (menu().length) {\r\n <div class=\"flex shrink-0 items-center md:hidden\">\r\n <button\r\n type=\"button\"\r\n class=\"inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-2 text-
|
|
3564
|
+
args: [{ imports: [TailwindIcon, TailwindMenu], selector: 'tailwind-toolbar', template: "<div [class]=\"rootClasses()\">\r\n <div class=\"shrink-0\">\r\n <ng-content select=\"[tailwind-toolbar-logo]\" />\r\n </div>\r\n @if (orientation() === 'horizontal') {\r\n <nav class=\"min-w-0 flex flex-1 flex-row flex-wrap items-center gap-1\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @if (menu().length) {\r\n <div class=\"flex shrink-0 items-center md:hidden\">\r\n <button\r\n type=\"button\"\r\n class=\"inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent p-2 text-neutral-700 transition-colors hover:bg-neutral-100 hover:text-neutral-900\"\r\n [attr.aria-expanded]=\"mobileToolbarMenu.isOpen()\"\r\n aria-haspopup=\"menu\"\r\n aria-label=\"Open navigation menu\"\r\n (click)=\"mobileToolbarMenu.toggle($event)\">\r\n <tailwind-icon icon=\"bars-3\" [size]=\"22\" />\r\n </button>\r\n <tailwind-menu #mobileToolbarMenu [items]=\"menu()\" align=\"left\" (onSelect)=\"selectMenuItem($event)\" />\r\n </div>\r\n }\r\n <div class=\"hidden min-w-0 flex-1 flex-row flex-wrap items-center gap-1 md:flex\">\r\n @for (item of menu(); track menuTrackKey($index, item)) {\r\n @if (item.divider) {\r\n <span class=\"mx-0.5 h-5 w-px shrink-0 self-center bg-neutral-200\" aria-hidden=\"true\"></span>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"!!item.disabled\"\r\n [class]=\"menuItemButtonClasses()\"\r\n [class.px-2]=\"!!item.icon && !menuItemHasVisibleLabel(item)\"\r\n [class.py-2]=\"!!item.icon && !menuItemHasVisibleLabel(item)\"\r\n [attr.aria-label]=\"menuItemAriaLabel(item)\"\r\n (click)=\"selectMenuItem(item)\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"20\" />\r\n }\r\n @if (menuItemHasVisibleLabel(item)) {\r\n {{ item.label }}\r\n }\r\n </button>\r\n }\r\n }\r\n </div>\r\n </nav>\r\n } @else {\r\n <nav [class]=\"menuContainerClasses()\" [attr.aria-label]=\"'Toolbar menu'\">\r\n @for (item of menu(); track menuTrackKey($index, item)) {\r\n @if (item.divider) {\r\n <hr class=\"my-1 w-full border-0 border-t border-neutral-100\" />\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"!!item.disabled\"\r\n [class]=\"menuItemButtonClasses()\"\r\n [class.justify-center]=\"!menuItemHasVisibleLabel(item)\"\r\n [attr.aria-label]=\"menuItemAriaLabel(item)\"\r\n (click)=\"selectMenuItem(item)\">\r\n @if (item.icon) {\r\n <tailwind-icon [icon]=\"item.icon\" [size]=\"22\" />\r\n }\r\n @if (menuItemHasVisibleLabel(item)) {\r\n {{ item.label }}\r\n }\r\n </button>\r\n }\r\n }\r\n </nav>\r\n }\r\n <div\r\n class=\"flex flex-wrap items-center gap-2 shrink-0\"\r\n [class.justify-end]=\"orientation() === 'horizontal'\"\r\n [class.mt-auto]=\"orientation() === 'vertical'\">\r\n <ng-content select=\"[tailwind-toolbar-end]\" />\r\n </div>\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
4465
3565
|
}], propDecorators: { rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], elevated: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevated", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], menu: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu", required: false }] }], onMenuSelect: [{ type: i0.Output, args: ["onMenuSelect"] }] } });
|
|
4466
3566
|
|
|
4467
3567
|
class TailwindDivider extends TailwindComponent {
|
|
@@ -4478,23 +3578,22 @@ class TailwindDivider extends TailwindComponent {
|
|
|
4478
3578
|
const inset = this.inset() && this.orientation() === 'horizontal' ? 'mx-4' : '';
|
|
4479
3579
|
const variant = this.variant() === 'dashed' ? 'border-dashed' : 'border-solid';
|
|
4480
3580
|
if (this.orientation() === 'vertical') {
|
|
4481
|
-
return ['self-stretch shrink-0 w-px min-h-full border-0 border-l', variant, 'border-
|
|
4482
|
-
.join(' ');
|
|
3581
|
+
return ['self-stretch shrink-0 w-px min-h-full border-0 border-l', variant, 'border-neutral-200'].join(' ');
|
|
4483
3582
|
}
|
|
4484
|
-
return ['w-full border-0 border-t', variant, 'border-
|
|
3583
|
+
return ['w-full border-0 border-t', variant, 'border-neutral-200', 'my-4', inset].filter(Boolean).join(' ');
|
|
4485
3584
|
}, ...(ngDevMode ? [{ debugName: "ruleClasses" }] : /* istanbul ignore next */ []));
|
|
4486
3585
|
/** Top rule for labeled horizontal layout */
|
|
4487
3586
|
ruleLineClass = computed(() => {
|
|
4488
3587
|
const variant = this.variant() === 'dashed' ? 'border-dashed' : 'border-solid';
|
|
4489
|
-
return ['border-
|
|
3588
|
+
return ['border-neutral-200', variant].join(' ');
|
|
4490
3589
|
}, ...(ngDevMode ? [{ debugName: "ruleLineClass" }] : /* istanbul ignore next */ []));
|
|
4491
|
-
labeledRowClass = computed(() =>
|
|
3590
|
+
labeledRowClass = computed(() => ['flex items-center gap-3 w-full my-4', this.inset() ? 'mx-4' : ''].filter(Boolean).join(' '), ...(ngDevMode ? [{ debugName: "labeledRowClass" }] : /* istanbul ignore next */ []));
|
|
4492
3591
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDivider, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4493
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDivider, isStandalone: true, selector: "tailwind-divider", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (isLabeledHorizontal()) {\r\n <div [class]=\"labeledRowClass()\" role=\"separator\" [attr.aria-label]=\"label()\">\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n <span class=\"text-xs font-medium text-
|
|
3592
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindDivider, isStandalone: true, selector: "tailwind-divider", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (isLabeledHorizontal()) {\r\n <div [class]=\"labeledRowClass()\" role=\"separator\" [attr.aria-label]=\"label()\">\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n <span class=\"text-xs font-medium text-neutral-500 shrink-0\">{{ label() }}</span>\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n </div>\r\n} @else {\r\n <div [class]=\"ruleClasses()\" role=\"separator\"></div>\r\n}\r\n", styles: [":host{display:block}\n"] });
|
|
4494
3593
|
}
|
|
4495
3594
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindDivider, decorators: [{
|
|
4496
3595
|
type: Component,
|
|
4497
|
-
args: [{ selector: 'tailwind-divider', template: "@if (isLabeledHorizontal()) {\r\n <div [class]=\"labeledRowClass()\" role=\"separator\" [attr.aria-label]=\"label()\">\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n <span class=\"text-xs font-medium text-
|
|
3596
|
+
args: [{ selector: 'tailwind-divider', template: "@if (isLabeledHorizontal()) {\r\n <div [class]=\"labeledRowClass()\" role=\"separator\" [attr.aria-label]=\"label()\">\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n <span class=\"text-xs font-medium text-neutral-500 shrink-0\">{{ label() }}</span>\r\n <div class=\"flex-1 border-0 border-t\" [class]=\"ruleLineClass()\"></div>\r\n </div>\r\n} @else {\r\n <div [class]=\"ruleClasses()\" role=\"separator\"></div>\r\n}\r\n", styles: [":host{display:block}\n"] }]
|
|
4498
3597
|
}], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
|
|
4499
3598
|
|
|
4500
3599
|
class TailwindMeter extends TailwindComponent {
|
|
@@ -4536,7 +3635,7 @@ class TailwindMeter extends TailwindComponent {
|
|
|
4536
3635
|
return { ...seg, widthPct: pct, barClass: this.variantToBarClass(variant) };
|
|
4537
3636
|
});
|
|
4538
3637
|
}, ...(ngDevMode ? [{ debugName: "segmentLayouts" }] : /* istanbul ignore next */ []));
|
|
4539
|
-
trackContainerClasses = computed(() => `flex w-full overflow-hidden rounded-full bg-
|
|
3638
|
+
trackContainerClasses = computed(() => `flex w-full overflow-hidden rounded-full bg-neutral-200 ${this.trackHeightClass()}`, ...(ngDevMode ? [{ debugName: "trackContainerClasses" }] : /* istanbul ignore next */ []));
|
|
4540
3639
|
legendSwatchClass(variant) {
|
|
4541
3640
|
return this.variantToBarClass(variant ?? 'primary');
|
|
4542
3641
|
}
|
|
@@ -4551,11 +3650,11 @@ class TailwindMeter extends TailwindComponent {
|
|
|
4551
3650
|
return map[variant] ?? map['primary'];
|
|
4552
3651
|
}
|
|
4553
3652
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindMeter, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4554
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindMeter, isStandalone: true, selector: "tailwind-meter", inputs: { segments: { classPropertyName: "segments", publicName: "segments", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"w-full space-y-2\">\r\n <div\r\n [class]=\"trackContainerClasses()\"\r\n role=\"meter\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"scaleMax()\"\r\n [attr.aria-valuenow]=\"totalValue()\"\r\n [attr.aria-label]=\"'Meter'\">\r\n @for (seg of segmentLayouts(); track $index) {\r\n @if (seg.widthPct > 0) {\r\n <div\r\n class=\"h-full min-w-0 transition-all duration-300 ease-out\"\r\n [class]=\"seg.barClass\"\r\n [style.width.%]=\"seg.widthPct\"\r\n [attr.title]=\"seg.label + ': ' + seg.value\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (showLabels()) {\r\n <div class=\"flex flex-wrap gap-x-4 gap-y-1 text-xs text-
|
|
3653
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: TailwindMeter, isStandalone: true, selector: "tailwind-meter", inputs: { segments: { classPropertyName: "segments", publicName: "segments", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div class=\"w-full space-y-2\">\r\n <div\r\n [class]=\"trackContainerClasses()\"\r\n role=\"meter\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"scaleMax()\"\r\n [attr.aria-valuenow]=\"totalValue()\"\r\n [attr.aria-label]=\"'Meter'\">\r\n @for (seg of segmentLayouts(); track $index) {\r\n @if (seg.widthPct > 0) {\r\n <div\r\n class=\"h-full min-w-0 transition-all duration-300 ease-out\"\r\n [class]=\"seg.barClass\"\r\n [style.width.%]=\"seg.widthPct\"\r\n [attr.title]=\"seg.label + ': ' + seg.value\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (showLabels()) {\r\n <div class=\"flex flex-wrap gap-x-4 gap-y-1 text-xs text-neutral-600\">\r\n @for (seg of segments(); track $index) {\r\n <span class=\"inline-flex items-center gap-1.5\">\r\n <span class=\"inline-block size-2 rounded-sm shrink-0\" [class]=\"legendSwatchClass(seg.variant)\"></span>\r\n <span>{{ seg.label }}</span>\r\n <span class=\"text-neutral-400\">({{ seg.value }})</span>\r\n </span>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] });
|
|
4555
3654
|
}
|
|
4556
3655
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindMeter, decorators: [{
|
|
4557
3656
|
type: Component,
|
|
4558
|
-
args: [{ selector: 'tailwind-meter', template: "<div class=\"w-full space-y-2\">\r\n <div\r\n [class]=\"trackContainerClasses()\"\r\n role=\"meter\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"scaleMax()\"\r\n [attr.aria-valuenow]=\"totalValue()\"\r\n [attr.aria-label]=\"'Meter'\">\r\n @for (seg of segmentLayouts(); track $index) {\r\n @if (seg.widthPct > 0) {\r\n <div\r\n class=\"h-full min-w-0 transition-all duration-300 ease-out\"\r\n [class]=\"seg.barClass\"\r\n [style.width.%]=\"seg.widthPct\"\r\n [attr.title]=\"seg.label + ': ' + seg.value\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (showLabels()) {\r\n <div class=\"flex flex-wrap gap-x-4 gap-y-1 text-xs text-
|
|
3657
|
+
args: [{ selector: 'tailwind-meter', template: "<div class=\"w-full space-y-2\">\r\n <div\r\n [class]=\"trackContainerClasses()\"\r\n role=\"meter\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"scaleMax()\"\r\n [attr.aria-valuenow]=\"totalValue()\"\r\n [attr.aria-label]=\"'Meter'\">\r\n @for (seg of segmentLayouts(); track $index) {\r\n @if (seg.widthPct > 0) {\r\n <div\r\n class=\"h-full min-w-0 transition-all duration-300 ease-out\"\r\n [class]=\"seg.barClass\"\r\n [style.width.%]=\"seg.widthPct\"\r\n [attr.title]=\"seg.label + ': ' + seg.value\"></div>\r\n }\r\n }\r\n </div>\r\n\r\n @if (showLabels()) {\r\n <div class=\"flex flex-wrap gap-x-4 gap-y-1 text-xs text-neutral-600\">\r\n @for (seg of segments(); track $index) {\r\n <span class=\"inline-flex items-center gap-1.5\">\r\n <span class=\"inline-block size-2 rounded-sm shrink-0\" [class]=\"legendSwatchClass(seg.variant)\"></span>\r\n <span>{{ seg.label }}</span>\r\n <span class=\"text-neutral-400\">({{ seg.value }})</span>\r\n </span>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
4559
3658
|
}], propDecorators: { segments: [{ type: i0.Input, args: [{ isSignal: true, alias: "segments", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], showLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabels", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
|
|
4560
3659
|
|
|
4561
3660
|
class TailwindSlider extends TailwindComponent {
|
|
@@ -4840,7 +3939,7 @@ class TailwindSlider extends TailwindComponent {
|
|
|
4840
3939
|
useExisting: forwardRef(() => TailwindSlider),
|
|
4841
3940
|
multi: true
|
|
4842
3941
|
}
|
|
4843
|
-
], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (orientation() === 'horizontal') {\r\n <div\r\n #track\r\n class=\"relative w-full touch-none select-none py-3\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-6 w-full\">\r\n <!-- rail -->\r\n <div\r\n class=\"pointer-events-none absolute left-0 right-0 top-1/2 -translate-y-1/2 rounded-full bg-
|
|
3942
|
+
], viewQueries: [{ propertyName: "trackRef", first: true, predicate: ["track"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (orientation() === 'horizontal') {\r\n <div\r\n #track\r\n class=\"relative w-full touch-none select-none py-3\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-6 w-full\">\r\n <!-- rail -->\r\n <div\r\n class=\"pointer-events-none absolute left-0 right-0 top-1/2 -translate-y-1/2 rounded-full bg-neutral-200\"\r\n [class]=\"trackThickness()\"></div>\r\n\r\n @if (showTicks()) {\r\n @for (p of tickPositions(); track $index) {\r\n <div\r\n class=\"pointer-events-none absolute top-1/2 h-2 w-px -translate-x-1/2 -translate-y-1/2 bg-neutral-300\"\r\n [style.left.%]=\"p\"></div>\r\n }\r\n }\r\n\r\n <!-- fill -->\r\n <div\r\n class=\"pointer-events-none absolute top-1/2 z-1 -translate-y-1/2 rounded-full\"\r\n [class]=\"trackThickness()\"\r\n [style.background-color]=\"accentVars().fill\"\r\n [style.left.%]=\"fillStartPct()\"\r\n [style.width.%]=\"fillWidthPct()\"></div>\r\n\r\n @if (range()) {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"lowPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeLow()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"highPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeHigh()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 1)\"\r\n (keydown)=\"onKeyDown($event, 1)\"></button>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"singlePct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"singleValue()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <div\r\n #track\r\n class=\"relative mx-auto h-52 w-10 touch-none select-none\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-full w-full\">\r\n <div\r\n class=\"pointer-events-none absolute bottom-0 left-1/2 top-0 -translate-x-1/2 rounded-full bg-neutral-200\"\r\n [class]=\"verticalTrackThickness()\"></div>\r\n\r\n @if (showTicks()) {\r\n @for (p of tickPositions(); track $index) {\r\n <div\r\n class=\"pointer-events-none absolute left-1/2 w-2 h-px -translate-x-1/2 translate-y-1/2 bg-neutral-300\"\r\n [style.bottom.%]=\"p\"></div>\r\n }\r\n }\r\n\r\n <div\r\n class=\"pointer-events-none absolute bottom-0 left-1/2 z-1 -translate-x-1/2 rounded-full\"\r\n [class]=\"verticalTrackThickness()\"\r\n [style.background-color]=\"accentVars().fill\"\r\n [style.bottom.%]=\"fillStartPct()\"\r\n [style.height.%]=\"fillWidthPct()\"></div>\r\n\r\n @if (range()) {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"lowPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeLow()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"highPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeHigh()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 1)\"\r\n (keydown)=\"onKeyDown($event, 1)\"></button>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"singlePct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"singleValue()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:block}.tailwind-slider-thumb{cursor:pointer}.tailwind-slider-thumb:focus-visible{outline:2px solid var(--slider-ring);outline-offset:2px}.tailwind-slider-thumb:focus:not(:focus-visible){outline:none}.tailwind-slider-thumb:disabled{cursor:not-allowed}\n"] });
|
|
4844
3943
|
}
|
|
4845
3944
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: TailwindSlider, decorators: [{
|
|
4846
3945
|
type: Component,
|
|
@@ -4850,11 +3949,126 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
4850
3949
|
useExisting: forwardRef(() => TailwindSlider),
|
|
4851
3950
|
multi: true
|
|
4852
3951
|
}
|
|
4853
|
-
], template: "@if (orientation() === 'horizontal') {\r\n <div\r\n #track\r\n class=\"relative w-full touch-none select-none py-3\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-6 w-full\">\r\n <!-- rail -->\r\n <div\r\n class=\"pointer-events-none absolute left-0 right-0 top-1/2 -translate-y-1/2 rounded-full bg-
|
|
3952
|
+
], template: "@if (orientation() === 'horizontal') {\r\n <div\r\n #track\r\n class=\"relative w-full touch-none select-none py-3\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-6 w-full\">\r\n <!-- rail -->\r\n <div\r\n class=\"pointer-events-none absolute left-0 right-0 top-1/2 -translate-y-1/2 rounded-full bg-neutral-200\"\r\n [class]=\"trackThickness()\"></div>\r\n\r\n @if (showTicks()) {\r\n @for (p of tickPositions(); track $index) {\r\n <div\r\n class=\"pointer-events-none absolute top-1/2 h-2 w-px -translate-x-1/2 -translate-y-1/2 bg-neutral-300\"\r\n [style.left.%]=\"p\"></div>\r\n }\r\n }\r\n\r\n <!-- fill -->\r\n <div\r\n class=\"pointer-events-none absolute top-1/2 z-1 -translate-y-1/2 rounded-full\"\r\n [class]=\"trackThickness()\"\r\n [style.background-color]=\"accentVars().fill\"\r\n [style.left.%]=\"fillStartPct()\"\r\n [style.width.%]=\"fillWidthPct()\"></div>\r\n\r\n @if (range()) {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"lowPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeLow()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"highPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeHigh()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 1)\"\r\n (keydown)=\"onKeyDown($event, 1)\"></button>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute top-1/2 z-10 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.left.%]=\"singlePct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"singleValue()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <div\r\n #track\r\n class=\"relative mx-auto h-52 w-10 touch-none select-none\"\r\n [class.opacity-50]=\"isEffectivelyDisabled()\"\r\n [class.pointer-events-none]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onTrackPointerDown($event, range() ? null : null)\">\r\n <div class=\"relative h-full w-full\">\r\n <div\r\n class=\"pointer-events-none absolute bottom-0 left-1/2 top-0 -translate-x-1/2 rounded-full bg-neutral-200\"\r\n [class]=\"verticalTrackThickness()\"></div>\r\n\r\n @if (showTicks()) {\r\n @for (p of tickPositions(); track $index) {\r\n <div\r\n class=\"pointer-events-none absolute left-1/2 w-2 h-px -translate-x-1/2 translate-y-1/2 bg-neutral-300\"\r\n [style.bottom.%]=\"p\"></div>\r\n }\r\n }\r\n\r\n <div\r\n class=\"pointer-events-none absolute bottom-0 left-1/2 z-1 -translate-x-1/2 rounded-full\"\r\n [class]=\"verticalTrackThickness()\"\r\n [style.background-color]=\"accentVars().fill\"\r\n [style.bottom.%]=\"fillStartPct()\"\r\n [style.height.%]=\"fillWidthPct()\"></div>\r\n\r\n @if (range()) {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"lowPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeLow()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"highPct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"rangeHigh()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 1)\"\r\n (keydown)=\"onKeyDown($event, 1)\"></button>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n [disabled]=\"isEffectivelyDisabled()\"\r\n class=\"tailwind-slider-thumb absolute left-1/2 z-10 -translate-x-1/2 translate-y-1/2 rounded-full border-2 border-white shadow focus:outline-none\"\r\n [class]=\"thumbSizeClass()\"\r\n [style.background-color]=\"accentVars().thumb\"\r\n [style.--slider-ring]=\"accentVars().ring\"\r\n [style.bottom.%]=\"singlePct()\"\r\n role=\"slider\"\r\n [attr.aria-valuemin]=\"min()\"\r\n [attr.aria-valuemax]=\"max()\"\r\n [attr.aria-valuenow]=\"singleValue()\"\r\n [attr.aria-disabled]=\"isEffectivelyDisabled()\"\r\n (pointerdown)=\"onThumbPointerDown($event, 0)\"\r\n (keydown)=\"onKeyDown($event, 0)\"></button>\r\n }\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{display:block}.tailwind-slider-thumb{cursor:pointer}.tailwind-slider-thumb:focus-visible{outline:2px solid var(--slider-ring);outline-offset:2px}.tailwind-slider-thumb:focus:not(:focus-visible){outline:none}.tailwind-slider-thumb:disabled{cursor:not-allowed}\n"] }]
|
|
4854
3953
|
}], propDecorators: { min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], showTicks: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTicks", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], trackRef: [{ type: i0.ViewChild, args: ['track', { isSignal: true }] }], hostDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
4855
3954
|
|
|
4856
3955
|
// Batch 1 — Foundation
|
|
4857
3956
|
|
|
3957
|
+
/**
|
|
3958
|
+
* Builds `Provider` entries for each set field on `config`.
|
|
3959
|
+
* Used by {@link defineTheme} and {@link provideTailwindComponents}.
|
|
3960
|
+
*/
|
|
3961
|
+
function providersFromTailwindComponentsConfig(config) {
|
|
3962
|
+
const providers = [];
|
|
3963
|
+
if (config.iconSize !== undefined) {
|
|
3964
|
+
providers.push({ provide: TAILWIND_ICON_SIZE, useValue: config.iconSize });
|
|
3965
|
+
}
|
|
3966
|
+
if (config.datetimeLanguage !== undefined) {
|
|
3967
|
+
providers.push({ provide: TAILWIND_DATETIME_LANGUAGE, useValue: config.datetimeLanguage });
|
|
3968
|
+
}
|
|
3969
|
+
if (config.componentsSize !== undefined) {
|
|
3970
|
+
providers.push({ provide: TAILWIND_COMPONENTS_SIZE, useValue: config.componentsSize });
|
|
3971
|
+
}
|
|
3972
|
+
if (config.paginationSummary !== undefined) {
|
|
3973
|
+
providers.push({ provide: TAILWIND_PAGINATION_SUMMARY, useValue: config.paginationSummary });
|
|
3974
|
+
}
|
|
3975
|
+
return providers;
|
|
3976
|
+
}
|
|
3977
|
+
/**
|
|
3978
|
+
* Registers environment-scoped providers for library injection tokens only (no theme `colors`).
|
|
3979
|
+
* Prefer {@link defineTheme}, which registers the same tokens when set plus optional CSS variables.
|
|
3980
|
+
*
|
|
3981
|
+
* @deprecated Use {@link defineTheme} with the same fields (`iconSize`, `datetimeLanguage`, etc.).
|
|
3982
|
+
*/
|
|
3983
|
+
function provideTailwindComponents(config) {
|
|
3984
|
+
return makeEnvironmentProviders(providersFromTailwindComponentsConfig(config));
|
|
3985
|
+
}
|
|
3986
|
+
const SHADES_WITH_950 = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
|
3987
|
+
const SHADES_TO_900 = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];
|
|
3988
|
+
function shadesForSemantic(semantic) {
|
|
3989
|
+
switch (semantic) {
|
|
3990
|
+
case 'success':
|
|
3991
|
+
case 'warning':
|
|
3992
|
+
case 'danger':
|
|
3993
|
+
case 'info':
|
|
3994
|
+
return SHADES_TO_900;
|
|
3995
|
+
default:
|
|
3996
|
+
return SHADES_WITH_950;
|
|
3997
|
+
}
|
|
3998
|
+
}
|
|
3999
|
+
function isShadeRecord(value) {
|
|
4000
|
+
return typeof value === 'object' && value !== null;
|
|
4001
|
+
}
|
|
4002
|
+
/**
|
|
4003
|
+
* Builds `[CSS custom property name, value]` pairs for {@link defineTheme}.
|
|
4004
|
+
* Exported for unit tests.
|
|
4005
|
+
*/
|
|
4006
|
+
function buildTailwindThemeVariableEntries(config) {
|
|
4007
|
+
const colors = config.colors;
|
|
4008
|
+
if (!colors) {
|
|
4009
|
+
return [];
|
|
4010
|
+
}
|
|
4011
|
+
const entries = [];
|
|
4012
|
+
const dangerOrError = colors.danger ?? colors.error;
|
|
4013
|
+
const pairs = [
|
|
4014
|
+
['primary', colors.primary],
|
|
4015
|
+
['neutral', colors.neutral],
|
|
4016
|
+
['success', colors.success],
|
|
4017
|
+
['warning', colors.warning],
|
|
4018
|
+
['danger', dangerOrError],
|
|
4019
|
+
['info', colors.info]
|
|
4020
|
+
];
|
|
4021
|
+
for (const [semantic, value] of pairs) {
|
|
4022
|
+
if (value === undefined) {
|
|
4023
|
+
continue;
|
|
4024
|
+
}
|
|
4025
|
+
if (typeof value === 'string') {
|
|
4026
|
+
const palette = value.trim();
|
|
4027
|
+
if (!palette) {
|
|
4028
|
+
continue;
|
|
4029
|
+
}
|
|
4030
|
+
for (const shade of shadesForSemantic(semantic)) {
|
|
4031
|
+
entries.push([`--color-${semantic}-${shade}`, `var(--color-${palette}-${shade})`]);
|
|
4032
|
+
}
|
|
4033
|
+
}
|
|
4034
|
+
else if (isShadeRecord(value)) {
|
|
4035
|
+
for (const [shade, color] of Object.entries(value)) {
|
|
4036
|
+
if (color !== undefined && color !== '') {
|
|
4037
|
+
entries.push([`--color-${semantic}-${shade}`, color]);
|
|
4038
|
+
}
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
}
|
|
4042
|
+
return entries;
|
|
4043
|
+
}
|
|
4044
|
+
function applyTailwindThemeToElement(element, config) {
|
|
4045
|
+
for (const [prop, val] of buildTailwindThemeVariableEntries(config)) {
|
|
4046
|
+
element.style.setProperty(prop, val);
|
|
4047
|
+
}
|
|
4048
|
+
}
|
|
4049
|
+
/**
|
|
4050
|
+
* Registers environment-scoped library defaults: optional **injection tokens** from {@link TailwindComponentsConfig}
|
|
4051
|
+
* plus an app initializer that applies optional **`colors`** on
|
|
4052
|
+
* `document.documentElement` in the browser. Add as a single entry in `providers` (no spread).
|
|
4053
|
+
*
|
|
4054
|
+
* Palette **strings** (e.g. `'indigo'`) rely on `--color-indigo-*` existing in the CSS bundle; the
|
|
4055
|
+
* library stylesheet safelists Tailwind’s default palette names for that reason.
|
|
4056
|
+
*/
|
|
4057
|
+
function defineTheme(config) {
|
|
4058
|
+
const tokenProviders = providersFromTailwindComponentsConfig(config);
|
|
4059
|
+
return makeEnvironmentProviders([
|
|
4060
|
+
...tokenProviders,
|
|
4061
|
+
provideAppInitializer(() => {
|
|
4062
|
+
const platformId = inject(PLATFORM_ID);
|
|
4063
|
+
if (!isPlatformBrowser(platformId)) {
|
|
4064
|
+
return;
|
|
4065
|
+
}
|
|
4066
|
+
const doc = inject(DOCUMENT);
|
|
4067
|
+
applyTailwindThemeToElement(doc.documentElement, config);
|
|
4068
|
+
})
|
|
4069
|
+
]);
|
|
4070
|
+
}
|
|
4071
|
+
|
|
4858
4072
|
/*
|
|
4859
4073
|
* Public API Surface of angular-tailwind-components
|
|
4860
4074
|
*/
|
|
@@ -4864,5 +4078,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
4864
4078
|
* Generated bundle index. Do not edit.
|
|
4865
4079
|
*/
|
|
4866
4080
|
|
|
4867
|
-
export { TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA,
|
|
4081
|
+
export { TAILWIND_COMPONENTS_SIZE, TAILWIND_DATETIME_LANGUAGE, TAILWIND_HEROICON_NAMES, TAILWIND_ICON_SIZE, TAILWIND_MODAL_DATA, TAILWIND_PAGINATION_SUMMARY, TW_TABLE_SORT_DIR_ATTR, TW_TABLE_SORT_KEY_ATTR, TailwindAccordion, TailwindAccordionItem, TailwindAlert, TailwindBadge, TailwindBreadcrumb, TailwindButton, TailwindCard, TailwindCheckbox, TailwindDatePicker, TailwindDateTimePicker, TailwindDivider, TailwindDrawer, TailwindIcon, TailwindInput, TailwindInputOtp, TailwindMenu, TailwindMessage, TailwindMeter, TailwindModal, TailwindModalRef, TailwindModalService, TailwindNotification, TailwindPagination, TailwindProgressBar, TailwindRadioGroup, TailwindSelect, TailwindSkeleton, TailwindSlider, TailwindSortHeaderDirective, TailwindSpinner, TailwindStep, TailwindStepper, TailwindTab, TailwindTabGroup, TailwindTable, TailwindTableRowDirective, TailwindTableRowDirective as TailwindTableRowTemplateDirective, TailwindTag, TailwindTextarea, TailwindTimePicker, TailwindTitle, TailwindToast, TailwindToastService, TailwindToggle, TailwindToolbar, TailwindTooltip, TailwindTooltipDirective, TailwindUpload, defineTheme, provideTailwindComponents };
|
|
4868
4082
|
//# sourceMappingURL=angular-tailwind-components.mjs.map
|