From f26c24c1b40b8e64be2784a0aeecceb91c7454da Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Sat, 13 Sep 2025 10:36:12 +0700 Subject: [PATCH] feat: install and publish component flux --- composer.json | 8 + composer.lock | 120 ++++++- packages/flux-pro-2.2.5.zip | Bin 0 -> 704012 bytes resources/views/flux/accent.blade.php | 36 +++ .../views/flux/accordion/content.blade.php | 23 ++ .../views/flux/accordion/heading.blade.php | 33 ++ resources/views/flux/accordion/icon.blade.php | 17 + .../views/flux/accordion/index.blade.php | 8 + resources/views/flux/accordion/item.blade.php | 39 +++ resources/views/flux/aside.blade.php | 19 ++ .../views/flux/autocomplete/index.blade.php | 7 + .../views/flux/autocomplete/item.blade.php | 12 + .../views/flux/autocomplete/items.blade.php | 16 + resources/views/flux/avatar/group.blade.php | 12 + resources/views/flux/avatar/index.blade.php | 187 +++++++++++ resources/views/flux/badge/close.blade.php | 23 ++ resources/views/flux/badge/index.blade.php | 96 ++++++ resources/views/flux/brand.blade.php | 52 ++++ .../views/flux/breadcrumbs/index.blade.php | 4 + .../views/flux/breadcrumbs/item.blade.php | 67 ++++ resources/views/flux/button/group.blade.php | 45 +++ resources/views/flux/button/index.blade.php | 198 ++++++++++++ resources/views/flux/calendar/index.blade.php | 222 +++++++++++++ .../views/flux/callout/heading.blade.php | 27 ++ resources/views/flux/callout/index.blade.php | 220 +++++++++++++ resources/views/flux/callout/link.blade.php | 13 + resources/views/flux/callout/text.blade.php | 4 + resources/views/flux/card/index.blade.php | 18 ++ resources/views/flux/chart/area.blade.php | 9 + .../views/flux/chart/axis/grid.blade.php | 21 ++ .../views/flux/chart/axis/index.blade.php | 23 ++ .../views/flux/chart/axis/line.blade.php | 23 ++ .../views/flux/chart/axis/mark.blade.php | 31 ++ .../views/flux/chart/axis/tick.blade.php | 35 +++ resources/views/flux/chart/cursor.blade.php | 10 + resources/views/flux/chart/index.blade.php | 16 + .../views/flux/chart/legend/index.blade.php | 19 ++ .../flux/chart/legend/indicator.blade.php | 3 + resources/views/flux/chart/line.blade.php | 14 + resources/views/flux/chart/point.blade.php | 12 + .../views/flux/chart/summary/index.blade.php | 6 + .../views/flux/chart/summary/value.blade.php | 13 + resources/views/flux/chart/svg.blade.php | 9 + .../flux/chart/tooltip/heading.blade.php | 15 + .../views/flux/chart/tooltip/index.blade.php | 17 + .../views/flux/chart/tooltip/value.blade.php | 25 ++ resources/views/flux/chart/value.blade.php | 12 + resources/views/flux/chart/viewport.blade.php | 4 + .../views/flux/chart/zero-line.blade.php | 15 + resources/views/flux/checkbox/all.blade.php | 2 + .../views/flux/checkbox/group/index.blade.php | 5 + .../checkbox/group/variants/buttons.blade.php | 25 ++ .../checkbox/group/variants/cards.blade.php | 25 ++ .../checkbox/group/variants/default.blade.php | 22 ++ .../checkbox/group/variants/pills.blade.php | 25 ++ resources/views/flux/checkbox/index.blade.php | 14 + .../views/flux/checkbox/indicator.blade.php | 31 ++ .../flux/checkbox/variants/buttons.blade.php | 65 ++++ .../flux/checkbox/variants/cards.blade.php | 76 +++++ .../flux/checkbox/variants/default.blade.php | 23 ++ .../flux/checkbox/variants/pills.blade.php | 27 ++ resources/views/flux/command/empty.blade.php | 8 + resources/views/flux/command/index.blade.php | 15 + resources/views/flux/command/input.blade.php | 49 +++ resources/views/flux/command/item.blade.php | 36 +++ resources/views/flux/command/items.blade.php | 13 + resources/views/flux/container.blade.php | 9 + resources/views/flux/context.blade.php | 18 ++ .../views/flux/date-picker/button.blade.php | 54 ++++ .../views/flux/date-picker/index.blade.php | 292 ++++++++++++++++++ .../views/flux/date-picker/input.blade.php | 27 ++ .../views/flux/date-picker/selected.blade.php | 15 + resources/views/flux/description.blade.php | 4 + resources/views/flux/dropdown.blade.php | 19 ++ resources/views/flux/editor/align.blade.php | 33 ++ .../views/flux/editor/blockquote.blade.php | 9 + resources/views/flux/editor/bold.blade.php | 9 + resources/views/flux/editor/bullet.blade.php | 9 + resources/views/flux/editor/button.blade.php | 34 ++ resources/views/flux/editor/code.blade.php | 9 + resources/views/flux/editor/content.blade.php | 2 + resources/views/flux/editor/heading.blade.php | 38 +++ .../views/flux/editor/highlight.blade.php | 9 + resources/views/flux/editor/index.blade.php | 44 +++ resources/views/flux/editor/italic.blade.php | 9 + resources/views/flux/editor/link.blade.php | 31 ++ resources/views/flux/editor/option.blade.php | 4 + resources/views/flux/editor/ordered.blade.php | 9 + resources/views/flux/editor/redo.blade.php | 9 + resources/views/flux/editor/scripts.blade.php | 2 + .../views/flux/editor/separator.blade.php | 2 + resources/views/flux/editor/spacer.blade.php | 2 + resources/views/flux/editor/strike.blade.php | 9 + resources/views/flux/editor/styles.blade.php | 2 + .../views/flux/editor/subscript.blade.php | 9 + .../views/flux/editor/superscript.blade.php | 9 + resources/views/flux/editor/toolbar.blade.php | 41 +++ .../views/flux/editor/underline.blade.php | 9 + resources/views/flux/editor/undo.blade.php | 9 + resources/views/flux/error.blade.php | 26 ++ resources/views/flux/field.blade.php | 40 +++ resources/views/flux/fieldset.blade.php | 38 +++ resources/views/flux/footer.blade.php | 11 + resources/views/flux/header.blade.php | 28 ++ resources/views/flux/heading.blade.php | 40 +++ .../views/flux/icon/academic-cap.blade.php | 48 +++ .../icon/adjustments-horizontal.blade.php | 45 +++ .../flux/icon/adjustments-vertical.blade.php | 45 +++ .../icon/archive-box-arrow-down.blade.php | 47 +++ .../flux/icon/archive-box-x-mark.blade.php | 48 +++ .../views/flux/icon/archive-box.blade.php | 48 +++ .../flux/icon/arrow-down-circle.blade.php | 45 +++ .../views/flux/icon/arrow-down-left.blade.php | 45 +++ .../icon/arrow-down-on-square-stack.blade.php | 47 +++ .../flux/icon/arrow-down-on-square.blade.php | 45 +++ .../flux/icon/arrow-down-right.blade.php | 45 +++ .../views/flux/icon/arrow-down-tray.blade.php | 47 +++ .../views/flux/icon/arrow-down.blade.php | 45 +++ .../flux/icon/arrow-left-circle.blade.php | 45 +++ .../arrow-left-end-on-rectangle.blade.php | 47 +++ .../arrow-left-start-on-rectangle.blade.php | 46 +++ .../views/flux/icon/arrow-left.blade.php | 45 +++ .../views/flux/icon/arrow-long-down.blade.php | 45 +++ .../views/flux/icon/arrow-long-left.blade.php | 45 +++ .../flux/icon/arrow-long-right.blade.php | 45 +++ .../views/flux/icon/arrow-long-up.blade.php | 45 +++ .../icon/arrow-path-rounded-square.blade.php | 45 +++ .../views/flux/icon/arrow-path.blade.php | 45 +++ .../flux/icon/arrow-right-circle.blade.php | 45 +++ .../arrow-right-end-on-rectangle.blade.php | 47 +++ .../arrow-right-start-on-rectangle.blade.php | 46 +++ .../views/flux/icon/arrow-right.blade.php | 45 +++ .../icon/arrow-top-right-on-square.blade.php | 47 +++ .../flux/icon/arrow-trending-down.blade.php | 45 +++ .../flux/icon/arrow-trending-up.blade.php | 45 +++ .../flux/icon/arrow-turn-down-left.blade.php | 45 +++ .../flux/icon/arrow-turn-down-right.blade.php | 45 +++ .../flux/icon/arrow-turn-left-down.blade.php | 45 +++ .../flux/icon/arrow-turn-left-up.blade.php | 45 +++ .../flux/icon/arrow-turn-right-down.blade.php | 45 +++ .../flux/icon/arrow-turn-right-up.blade.php | 45 +++ .../flux/icon/arrow-turn-up-left.blade.php | 45 +++ .../flux/icon/arrow-turn-up-right.blade.php | 45 +++ .../views/flux/icon/arrow-up-circle.blade.php | 45 +++ .../views/flux/icon/arrow-up-left.blade.php | 45 +++ .../icon/arrow-up-on-square-stack.blade.php | 47 +++ .../flux/icon/arrow-up-on-square.blade.php | 45 +++ .../views/flux/icon/arrow-up-right.blade.php | 45 +++ .../views/flux/icon/arrow-up-tray.blade.php | 47 +++ resources/views/flux/icon/arrow-up.blade.php | 45 +++ .../flux/icon/arrow-uturn-down.blade.php | 45 +++ .../flux/icon/arrow-uturn-left.blade.php | 45 +++ .../flux/icon/arrow-uturn-right.blade.php | 45 +++ .../views/flux/icon/arrow-uturn-up.blade.php | 45 +++ .../flux/icon/arrows-pointing-in.blade.php | 45 +++ .../flux/icon/arrows-pointing-out.blade.php | 45 +++ .../flux/icon/arrows-right-left.blade.php | 45 +++ .../views/flux/icon/arrows-up-down.blade.php | 45 +++ resources/views/flux/icon/at-symbol.blade.php | 45 +++ resources/views/flux/icon/backspace.blade.php | 45 +++ resources/views/flux/icon/backward.blade.php | 45 +++ resources/views/flux/icon/banknotes.blade.php | 48 +++ resources/views/flux/icon/bars-2.blade.php | 45 +++ .../flux/icon/bars-3-bottom-left.blade.php | 45 +++ .../flux/icon/bars-3-bottom-right.blade.php | 45 +++ .../flux/icon/bars-3-center-left.blade.php | 45 +++ resources/views/flux/icon/bars-3.blade.php | 45 +++ resources/views/flux/icon/bars-4.blade.php | 45 +++ .../views/flux/icon/bars-arrow-down.blade.php | 45 +++ .../views/flux/icon/bars-arrow-up.blade.php | 45 +++ resources/views/flux/icon/battery-0.blade.php | 45 +++ .../views/flux/icon/battery-100.blade.php | 47 +++ .../views/flux/icon/battery-50.blade.php | 48 +++ resources/views/flux/icon/beaker.blade.php | 45 +++ .../views/flux/icon/bell-alert.blade.php | 48 +++ .../views/flux/icon/bell-slash.blade.php | 47 +++ .../views/flux/icon/bell-snooze.blade.php | 45 +++ resources/views/flux/icon/bell.blade.php | 45 +++ resources/views/flux/icon/bold.blade.php | 45 +++ .../views/flux/icon/bolt-slash.blade.php | 46 +++ resources/views/flux/icon/bolt.blade.php | 45 +++ resources/views/flux/icon/book-open.blade.php | 45 +++ .../views/flux/icon/bookmark-slash.blade.php | 45 +++ .../views/flux/icon/bookmark-square.blade.php | 45 +++ resources/views/flux/icon/bookmark.blade.php | 45 +++ resources/views/flux/icon/briefcase.blade.php | 48 +++ resources/views/flux/icon/bug-ant.blade.php | 45 +++ .../flux/icon/building-library.blade.php | 47 +++ .../flux/icon/building-office-2.blade.php | 45 +++ .../views/flux/icon/building-office.blade.php | 45 +++ .../flux/icon/building-storefront.blade.php | 46 +++ resources/views/flux/icon/cake.blade.php | 45 +++ .../views/flux/icon/calculator.blade.php | 45 +++ .../flux/icon/calendar-date-range.blade.php | 48 +++ .../views/flux/icon/calendar-days.blade.php | 48 +++ resources/views/flux/icon/calendar.blade.php | 45 +++ resources/views/flux/icon/camera.blade.php | 48 +++ .../flux/icon/chart-bar-square.blade.php | 45 +++ resources/views/flux/icon/chart-bar.blade.php | 45 +++ resources/views/flux/icon/chart-pie.blade.php | 49 +++ .../chat-bubble-bottom-center-text.blade.php | 45 +++ .../icon/chat-bubble-bottom-center.blade.php | 45 +++ .../icon/chat-bubble-left-ellipsis.blade.php | 45 +++ .../icon/chat-bubble-left-right.blade.php | 48 +++ .../flux/icon/chat-bubble-left.blade.php | 45 +++ .../chat-bubble-oval-left-ellipsis.blade.php | 45 +++ .../flux/icon/chat-bubble-oval-left.blade.php | 45 +++ .../views/flux/icon/check-badge.blade.php | 45 +++ .../views/flux/icon/check-circle.blade.php | 45 +++ resources/views/flux/icon/check.blade.php | 45 +++ .../flux/icon/chevron-double-down.blade.php | 46 +++ .../flux/icon/chevron-double-left.blade.php | 46 +++ .../flux/icon/chevron-double-right.blade.php | 46 +++ .../flux/icon/chevron-double-up.blade.php | 47 +++ .../views/flux/icon/chevron-down.blade.php | 45 +++ .../views/flux/icon/chevron-left.blade.php | 45 +++ .../views/flux/icon/chevron-right.blade.php | 45 +++ .../views/flux/icon/chevron-up-down.blade.php | 45 +++ .../views/flux/icon/chevron-up.blade.php | 45 +++ .../views/flux/icon/circle-stack.blade.php | 50 +++ .../icon/clipboard-document-check.blade.php | 48 +++ .../icon/clipboard-document-list.blade.php | 48 +++ .../flux/icon/clipboard-document.blade.php | 49 +++ resources/views/flux/icon/clipboard.blade.php | 45 +++ resources/views/flux/icon/clock.blade.php | 45 +++ .../flux/icon/cloud-arrow-down.blade.php | 45 +++ .../views/flux/icon/cloud-arrow-up.blade.php | 45 +++ resources/views/flux/icon/cloud.blade.php | 45 +++ .../flux/icon/code-bracket-square.blade.php | 45 +++ .../views/flux/icon/code-bracket.blade.php | 45 +++ .../views/flux/icon/cog-6-tooth.blade.php | 46 +++ .../views/flux/icon/cog-8-tooth.blade.php | 46 +++ resources/views/flux/icon/cog.blade.php | 47 +++ .../views/flux/icon/command-line.blade.php | 45 +++ .../flux/icon/computer-desktop.blade.php | 45 +++ resources/views/flux/icon/cpu-chip.blade.php | 48 +++ .../views/flux/icon/credit-card.blade.php | 47 +++ .../flux/icon/cube-transparent.blade.php | 45 +++ resources/views/flux/icon/cube.blade.php | 45 +++ .../flux/icon/currency-bangladeshi.blade.php | 45 +++ .../views/flux/icon/currency-dollar.blade.php | 48 +++ .../views/flux/icon/currency-euro.blade.php | 45 +++ .../views/flux/icon/currency-pound.blade.php | 45 +++ .../views/flux/icon/currency-rupee.blade.php | 45 +++ .../views/flux/icon/currency-yen.blade.php | 45 +++ .../flux/icon/cursor-arrow-rays.blade.php | 45 +++ .../flux/icon/cursor-arrow-ripple.blade.php | 49 +++ .../flux/icon/device-phone-mobile.blade.php | 48 +++ .../views/flux/icon/device-tablet.blade.php | 47 +++ resources/views/flux/icon/divide.blade.php | 46 +++ .../flux/icon/document-arrow-down.blade.php | 46 +++ .../flux/icon/document-arrow-up.blade.php | 46 +++ .../flux/icon/document-chart-bar.blade.php | 46 +++ .../views/flux/icon/document-check.blade.php | 46 +++ .../document-currency-bangladeshi.blade.php | 45 +++ .../icon/document-currency-dollar.blade.php | 46 +++ .../icon/document-currency-euro.blade.php | 46 +++ .../icon/document-currency-pound.blade.php | 45 +++ .../icon/document-currency-rupee.blade.php | 45 +++ .../flux/icon/document-currency-yen.blade.php | 45 +++ .../flux/icon/document-duplicate.blade.php | 48 +++ .../icon/document-magnifying-glass.blade.php | 49 +++ .../views/flux/icon/document-minus.blade.php | 46 +++ .../views/flux/icon/document-plus.blade.php | 46 +++ .../views/flux/icon/document-text.blade.php | 46 +++ resources/views/flux/icon/document.blade.php | 46 +++ .../icon/ellipsis-horizontal-circle.blade.php | 45 +++ .../flux/icon/ellipsis-horizontal.blade.php | 45 +++ .../flux/icon/ellipsis-vertical.blade.php | 45 +++ .../views/flux/icon/envelope-open.blade.php | 46 +++ resources/views/flux/icon/envelope.blade.php | 48 +++ resources/views/flux/icon/equals.blade.php | 45 +++ .../flux/icon/exclamation-circle.blade.php | 45 +++ .../flux/icon/exclamation-triangle.blade.php | 45 +++ .../views/flux/icon/eye-dropper.blade.php | 45 +++ resources/views/flux/icon/eye-slash.blade.php | 49 +++ resources/views/flux/icon/eye.blade.php | 49 +++ .../views/flux/icon/face-frown.blade.php | 45 +++ .../views/flux/icon/face-smile.blade.php | 45 +++ resources/views/flux/icon/film.blade.php | 45 +++ .../views/flux/icon/finger-print.blade.php | 45 +++ resources/views/flux/icon/fire.blade.php | 46 +++ resources/views/flux/icon/flag.blade.php | 45 +++ .../flux/icon/folder-arrow-down.blade.php | 45 +++ .../views/flux/icon/folder-minus.blade.php | 45 +++ .../views/flux/icon/folder-open.blade.php | 45 +++ .../views/flux/icon/folder-plus.blade.php | 45 +++ resources/views/flux/icon/folder.blade.php | 45 +++ resources/views/flux/icon/forward.blade.php | 45 +++ resources/views/flux/icon/funnel.blade.php | 45 +++ resources/views/flux/icon/gif.blade.php | 45 +++ resources/views/flux/icon/gift-top.blade.php | 47 +++ resources/views/flux/icon/gift.blade.php | 47 +++ resources/views/flux/icon/globe-alt.blade.php | 45 +++ .../views/flux/icon/globe-americas.blade.php | 45 +++ .../flux/icon/globe-asia-australia.blade.php | 46 +++ .../flux/icon/globe-europe-africa.blade.php | 45 +++ resources/views/flux/icon/h1.blade.php | 45 +++ resources/views/flux/icon/h2.blade.php | 45 +++ resources/views/flux/icon/h3.blade.php | 45 +++ .../views/flux/icon/hand-raised.blade.php | 45 +++ .../views/flux/icon/hand-thumb-down.blade.php | 45 +++ .../views/flux/icon/hand-thumb-up.blade.php | 45 +++ resources/views/flux/icon/hashtag.blade.php | 45 +++ resources/views/flux/icon/heart.blade.php | 45 +++ .../views/flux/icon/home-modern.blade.php | 46 +++ resources/views/flux/icon/home.blade.php | 46 +++ .../views/flux/icon/identification.blade.php | 45 +++ .../flux/icon/inbox-arrow-down.blade.php | 48 +++ .../views/flux/icon/inbox-stack.blade.php | 48 +++ resources/views/flux/icon/inbox.blade.php | 45 +++ resources/views/flux/icon/index.blade.php | 12 + .../flux/icon/information-circle.blade.php | 45 +++ resources/views/flux/icon/italic.blade.php | 45 +++ resources/views/flux/icon/key.blade.php | 45 +++ resources/views/flux/icon/language.blade.php | 46 +++ resources/views/flux/icon/lifebuoy.blade.php | 45 +++ .../views/flux/icon/light-bulb.blade.php | 46 +++ .../views/flux/icon/link-slash.blade.php | 45 +++ resources/views/flux/icon/link.blade.php | 47 +++ .../views/flux/icon/list-bullet.blade.php | 45 +++ resources/views/flux/icon/loading.blade.php | 45 +++ .../views/flux/icon/lock-closed.blade.php | 45 +++ resources/views/flux/icon/lock-open.blade.php | 45 +++ .../icon/magnifying-glass-circle.blade.php | 48 +++ .../icon/magnifying-glass-minus.blade.php | 47 +++ .../flux/icon/magnifying-glass-plus.blade.php | 47 +++ .../flux/icon/magnifying-glass.blade.php | 45 +++ resources/views/flux/icon/map-pin.blade.php | 46 +++ resources/views/flux/icon/map.blade.php | 45 +++ resources/views/flux/icon/megaphone.blade.php | 45 +++ .../views/flux/icon/microphone.blade.php | 48 +++ .../views/flux/icon/minus-circle.blade.php | 45 +++ resources/views/flux/icon/minus.blade.php | 45 +++ resources/views/flux/icon/moon.blade.php | 45 +++ .../views/flux/icon/musical-note.blade.php | 45 +++ resources/views/flux/icon/newspaper.blade.php | 48 +++ resources/views/flux/icon/no-symbol.blade.php | 45 +++ .../views/flux/icon/numbered-list.blade.php | 45 +++ .../views/flux/icon/paint-brush.blade.php | 45 +++ .../views/flux/icon/paper-airplane.blade.php | 45 +++ .../views/flux/icon/paper-clip.blade.php | 45 +++ .../views/flux/icon/pause-circle.blade.php | 45 +++ resources/views/flux/icon/pause.blade.php | 45 +++ .../views/flux/icon/pencil-square.blade.php | 48 +++ resources/views/flux/icon/pencil.blade.php | 45 +++ .../views/flux/icon/percent-badge.blade.php | 45 +++ .../flux/icon/phone-arrow-down-left.blade.php | 47 +++ .../flux/icon/phone-arrow-up-right.blade.php | 47 +++ .../views/flux/icon/phone-x-mark.blade.php | 46 +++ resources/views/flux/icon/phone.blade.php | 45 +++ resources/views/flux/icon/photo.blade.php | 45 +++ .../views/flux/icon/play-circle.blade.php | 46 +++ .../views/flux/icon/play-pause.blade.php | 45 +++ resources/views/flux/icon/play.blade.php | 45 +++ .../views/flux/icon/plus-circle.blade.php | 45 +++ resources/views/flux/icon/plus.blade.php | 45 +++ resources/views/flux/icon/power.blade.php | 45 +++ .../icon/presentation-chart-bar.blade.php | 45 +++ .../icon/presentation-chart-line.blade.php | 45 +++ resources/views/flux/icon/printer.blade.php | 45 +++ .../views/flux/icon/puzzle-piece.blade.php | 45 +++ resources/views/flux/icon/qr-code.blade.php | 52 ++++ .../flux/icon/question-mark-circle.blade.php | 45 +++ .../views/flux/icon/queue-list.blade.php | 45 +++ resources/views/flux/icon/radio.blade.php | 45 +++ .../views/flux/icon/receipt-percent.blade.php | 45 +++ .../views/flux/icon/receipt-refund.blade.php | 45 +++ .../views/flux/icon/rectangle-group.blade.php | 45 +++ .../views/flux/icon/rectangle-stack.blade.php | 45 +++ .../views/flux/icon/rocket-launch.blade.php | 48 +++ resources/views/flux/icon/rss.blade.php | 46 +++ resources/views/flux/icon/scale.blade.php | 45 +++ resources/views/flux/icon/scissors.blade.php | 48 +++ .../views/flux/icon/server-stack.blade.php | 48 +++ resources/views/flux/icon/server.blade.php | 48 +++ resources/views/flux/icon/share.blade.php | 45 +++ .../views/flux/icon/shield-check.blade.php | 45 +++ .../flux/icon/shield-exclamation.blade.php | 45 +++ .../views/flux/icon/shopping-bag.blade.php | 45 +++ .../views/flux/icon/shopping-cart.blade.php | 45 +++ .../views/flux/icon/signal-slash.blade.php | 45 +++ resources/views/flux/icon/signal.blade.php | 48 +++ resources/views/flux/icon/slash.blade.php | 45 +++ resources/views/flux/icon/sparkles.blade.php | 45 +++ .../views/flux/icon/speaker-wave.blade.php | 48 +++ .../views/flux/icon/speaker-x-mark.blade.php | 45 +++ .../views/flux/icon/square-2-stack.blade.php | 48 +++ .../flux/icon/square-3-stack-3d.blade.php | 51 +++ .../views/flux/icon/squares-2x2.blade.php | 45 +++ .../views/flux/icon/squares-plus.blade.php | 45 +++ resources/views/flux/icon/star.blade.php | 45 +++ .../views/flux/icon/stop-circle.blade.php | 46 +++ resources/views/flux/icon/stop.blade.php | 45 +++ .../views/flux/icon/strikethrough.blade.php | 45 +++ resources/views/flux/icon/sun.blade.php | 45 +++ resources/views/flux/icon/swatch.blade.php | 47 +++ .../views/flux/icon/table-cells.blade.php | 45 +++ resources/views/flux/icon/tag.blade.php | 46 +++ resources/views/flux/icon/ticket.blade.php | 45 +++ resources/views/flux/icon/trash.blade.php | 45 +++ resources/views/flux/icon/trophy.blade.php | 45 +++ resources/views/flux/icon/truck.blade.php | 50 +++ resources/views/flux/icon/tv.blade.php | 48 +++ resources/views/flux/icon/underline.blade.php | 45 +++ .../views/flux/icon/user-circle.blade.php | 45 +++ .../views/flux/icon/user-group.blade.php | 46 +++ .../views/flux/icon/user-minus.blade.php | 45 +++ resources/views/flux/icon/user-plus.blade.php | 45 +++ resources/views/flux/icon/user.blade.php | 45 +++ resources/views/flux/icon/users.blade.php | 45 +++ resources/views/flux/icon/variable.blade.php | 45 +++ .../flux/icon/video-camera-slash.blade.php | 45 +++ .../views/flux/icon/video-camera.blade.php | 45 +++ .../views/flux/icon/view-columns.blade.php | 45 +++ .../flux/icon/viewfinder-circle.blade.php | 45 +++ resources/views/flux/icon/wallet.blade.php | 45 +++ resources/views/flux/icon/wifi.blade.php | 45 +++ resources/views/flux/icon/window.blade.php | 45 +++ .../flux/icon/wrench-screwdriver.blade.php | 49 +++ resources/views/flux/icon/wrench.blade.php | 46 +++ resources/views/flux/icon/x-circle.blade.php | 45 +++ resources/views/flux/icon/x-mark.blade.php | 45 +++ .../views/flux/input/clearable.blade.php | 20 ++ resources/views/flux/input/copyable.blade.php | 20 ++ .../views/flux/input/expandable.blade.php | 16 + resources/views/flux/input/file.blade.php | 68 ++++ .../views/flux/input/group/affix.blade.php | 13 + .../views/flux/input/group/index.blade.php | 52 ++++ .../views/flux/input/group/prefix.blade.php | 14 + .../views/flux/input/group/suffix.blade.php | 14 + resources/views/flux/input/index.blade.php | 225 ++++++++++++++ resources/views/flux/input/viewable.blade.php | 35 +++ resources/views/flux/label.blade.php | 32 ++ resources/views/flux/legend.blade.php | 4 + resources/views/flux/link.blade.php | 28 ++ resources/views/flux/main.blade.php | 15 + .../views/flux/menu/checkbox/group.blade.php | 4 + .../views/flux/menu/checkbox/index.blade.php | 60 ++++ resources/views/flux/menu/group.blade.php | 22 ++ resources/views/flux/menu/heading.blade.php | 14 + resources/views/flux/menu/index.blade.php | 17 + resources/views/flux/menu/item.blade.php | 79 +++++ .../views/flux/menu/radio/group.blade.php | 4 + .../views/flux/menu/radio/index.blade.php | 60 ++++ resources/views/flux/menu/separator.blade.php | 4 + resources/views/flux/menu/submenu.blade.php | 38 +++ resources/views/flux/modal/close.blade.php | 4 + resources/views/flux/modal/index.blade.php | 94 ++++++ resources/views/flux/modal/trigger.blade.php | 16 + resources/views/flux/navbar/badge.blade.php | 54 ++++ resources/views/flux/navbar/index.blade.php | 15 + resources/views/flux/navbar/item.blade.php | 81 +++++ resources/views/flux/navlist/badge.blade.php | 54 ++++ resources/views/flux/navlist/group.blade.php | 38 +++ resources/views/flux/navlist/index.blade.php | 14 + resources/views/flux/navlist/item.blade.php | 89 ++++++ resources/views/flux/navmenu/index.blade.php | 12 + resources/views/flux/navmenu/item.blade.php | 77 +++++ .../views/flux/navmenu/separator.blade.php | 4 + resources/views/flux/pagination.blade.php | 137 ++++++++ resources/views/flux/profile.blade.php | 51 +++ .../views/flux/radio/group/index.blade.php | 5 + .../radio/group/variants/buttons.blade.php | 25 ++ .../flux/radio/group/variants/cards.blade.php | 25 ++ .../radio/group/variants/default.blade.php | 26 ++ .../flux/radio/group/variants/pills.blade.php | 25 ++ .../radio/group/variants/segmented.blade.php | 28 ++ resources/views/flux/radio/index.blade.php | 14 + .../views/flux/radio/indicator.blade.php | 27 ++ .../flux/radio/variants/buttons.blade.php | 65 ++++ .../views/flux/radio/variants/cards.blade.php | 77 +++++ .../flux/radio/variants/default.blade.php | 12 + .../views/flux/radio/variants/pills.blade.php | 27 ++ .../flux/radio/variants/segmented.blade.php | 52 ++++ resources/views/flux/select/button.blade.php | 58 ++++ resources/views/flux/select/empty.blade.php | 12 + resources/views/flux/select/index.blade.php | 7 + .../flux/select/indicator/index.blade.php | 14 + .../select/indicator/variants/check.blade.php | 2 + .../indicator/variants/checkbox.blade.php | 27 ++ .../select/indicator/variants/radio.blade.php | 26 ++ resources/views/flux/select/input.blade.php | 30 ++ .../views/flux/select/option/index.blade.php | 14 + .../select/option/variants/custom.blade.php | 45 +++ .../select/option/variants/default.blade.php | 9 + resources/views/flux/select/options.blade.php | 41 +++ resources/views/flux/select/search.blade.php | 67 ++++ .../views/flux/select/selected.blade.php | 23 ++ .../flux/select/variants/combobox.blade.php | 45 +++ .../flux/select/variants/custom.blade.php | 33 ++ .../flux/select/variants/default.blade.php | 48 +++ .../flux/select/variants/listbox.blade.php | 52 ++++ resources/views/flux/separator.blade.php | 34 ++ .../views/flux/sidebar/backdrop.blade.php | 5 + resources/views/flux/sidebar/index.blade.php | 37 +++ resources/views/flux/sidebar/toggle.blade.php | 12 + resources/views/flux/spacer.blade.php | 1 + resources/views/flux/subheading.blade.php | 19 ++ resources/views/flux/switch.blade.php | 49 +++ resources/views/flux/tab/group.blade.php | 4 + resources/views/flux/tab/index.blade.php | 88 ++++++ resources/views/flux/tab/panel.blade.php | 20 ++ resources/views/flux/table/cell.blade.php | 23 ++ resources/views/flux/table/column.blade.php | 35 +++ resources/views/flux/table/columns.blade.php | 5 + resources/views/flux/table/index.blade.php | 29 ++ resources/views/flux/table/row.blade.php | 7 + resources/views/flux/table/rows.blade.php | 10 + resources/views/flux/table/sortable.blade.php | 31 ++ resources/views/flux/tabs.blade.php | 33 ++ resources/views/flux/text.blade.php | 42 +++ resources/views/flux/textarea.blade.php | 38 +++ resources/views/flux/toast/group.blade.php | 8 + resources/views/flux/toast/index.blade.php | 49 +++ .../views/flux/tooltip/content.blade.php | 21 ++ resources/views/flux/tooltip/index.blade.php | 37 +++ 517 files changed, 20992 insertions(+), 1 deletion(-) create mode 100644 packages/flux-pro-2.2.5.zip create mode 100644 resources/views/flux/accent.blade.php create mode 100644 resources/views/flux/accordion/content.blade.php create mode 100644 resources/views/flux/accordion/heading.blade.php create mode 100644 resources/views/flux/accordion/icon.blade.php create mode 100644 resources/views/flux/accordion/index.blade.php create mode 100644 resources/views/flux/accordion/item.blade.php create mode 100644 resources/views/flux/aside.blade.php create mode 100644 resources/views/flux/autocomplete/index.blade.php create mode 100644 resources/views/flux/autocomplete/item.blade.php create mode 100644 resources/views/flux/autocomplete/items.blade.php create mode 100644 resources/views/flux/avatar/group.blade.php create mode 100644 resources/views/flux/avatar/index.blade.php create mode 100644 resources/views/flux/badge/close.blade.php create mode 100644 resources/views/flux/badge/index.blade.php create mode 100644 resources/views/flux/brand.blade.php create mode 100644 resources/views/flux/breadcrumbs/index.blade.php create mode 100644 resources/views/flux/breadcrumbs/item.blade.php create mode 100644 resources/views/flux/button/group.blade.php create mode 100644 resources/views/flux/button/index.blade.php create mode 100644 resources/views/flux/calendar/index.blade.php create mode 100644 resources/views/flux/callout/heading.blade.php create mode 100644 resources/views/flux/callout/index.blade.php create mode 100644 resources/views/flux/callout/link.blade.php create mode 100644 resources/views/flux/callout/text.blade.php create mode 100644 resources/views/flux/card/index.blade.php create mode 100644 resources/views/flux/chart/area.blade.php create mode 100644 resources/views/flux/chart/axis/grid.blade.php create mode 100644 resources/views/flux/chart/axis/index.blade.php create mode 100644 resources/views/flux/chart/axis/line.blade.php create mode 100644 resources/views/flux/chart/axis/mark.blade.php create mode 100644 resources/views/flux/chart/axis/tick.blade.php create mode 100644 resources/views/flux/chart/cursor.blade.php create mode 100644 resources/views/flux/chart/index.blade.php create mode 100644 resources/views/flux/chart/legend/index.blade.php create mode 100644 resources/views/flux/chart/legend/indicator.blade.php create mode 100644 resources/views/flux/chart/line.blade.php create mode 100644 resources/views/flux/chart/point.blade.php create mode 100644 resources/views/flux/chart/summary/index.blade.php create mode 100644 resources/views/flux/chart/summary/value.blade.php create mode 100644 resources/views/flux/chart/svg.blade.php create mode 100644 resources/views/flux/chart/tooltip/heading.blade.php create mode 100644 resources/views/flux/chart/tooltip/index.blade.php create mode 100644 resources/views/flux/chart/tooltip/value.blade.php create mode 100644 resources/views/flux/chart/value.blade.php create mode 100644 resources/views/flux/chart/viewport.blade.php create mode 100644 resources/views/flux/chart/zero-line.blade.php create mode 100644 resources/views/flux/checkbox/all.blade.php create mode 100644 resources/views/flux/checkbox/group/index.blade.php create mode 100644 resources/views/flux/checkbox/group/variants/buttons.blade.php create mode 100644 resources/views/flux/checkbox/group/variants/cards.blade.php create mode 100644 resources/views/flux/checkbox/group/variants/default.blade.php create mode 100644 resources/views/flux/checkbox/group/variants/pills.blade.php create mode 100644 resources/views/flux/checkbox/index.blade.php create mode 100644 resources/views/flux/checkbox/indicator.blade.php create mode 100644 resources/views/flux/checkbox/variants/buttons.blade.php create mode 100644 resources/views/flux/checkbox/variants/cards.blade.php create mode 100644 resources/views/flux/checkbox/variants/default.blade.php create mode 100644 resources/views/flux/checkbox/variants/pills.blade.php create mode 100644 resources/views/flux/command/empty.blade.php create mode 100644 resources/views/flux/command/index.blade.php create mode 100644 resources/views/flux/command/input.blade.php create mode 100644 resources/views/flux/command/item.blade.php create mode 100644 resources/views/flux/command/items.blade.php create mode 100644 resources/views/flux/container.blade.php create mode 100644 resources/views/flux/context.blade.php create mode 100644 resources/views/flux/date-picker/button.blade.php create mode 100644 resources/views/flux/date-picker/index.blade.php create mode 100644 resources/views/flux/date-picker/input.blade.php create mode 100644 resources/views/flux/date-picker/selected.blade.php create mode 100644 resources/views/flux/description.blade.php create mode 100644 resources/views/flux/dropdown.blade.php create mode 100644 resources/views/flux/editor/align.blade.php create mode 100644 resources/views/flux/editor/blockquote.blade.php create mode 100644 resources/views/flux/editor/bold.blade.php create mode 100644 resources/views/flux/editor/bullet.blade.php create mode 100644 resources/views/flux/editor/button.blade.php create mode 100644 resources/views/flux/editor/code.blade.php create mode 100644 resources/views/flux/editor/content.blade.php create mode 100644 resources/views/flux/editor/heading.blade.php create mode 100644 resources/views/flux/editor/highlight.blade.php create mode 100644 resources/views/flux/editor/index.blade.php create mode 100644 resources/views/flux/editor/italic.blade.php create mode 100644 resources/views/flux/editor/link.blade.php create mode 100644 resources/views/flux/editor/option.blade.php create mode 100644 resources/views/flux/editor/ordered.blade.php create mode 100644 resources/views/flux/editor/redo.blade.php create mode 100644 resources/views/flux/editor/scripts.blade.php create mode 100644 resources/views/flux/editor/separator.blade.php create mode 100644 resources/views/flux/editor/spacer.blade.php create mode 100644 resources/views/flux/editor/strike.blade.php create mode 100644 resources/views/flux/editor/styles.blade.php create mode 100644 resources/views/flux/editor/subscript.blade.php create mode 100644 resources/views/flux/editor/superscript.blade.php create mode 100644 resources/views/flux/editor/toolbar.blade.php create mode 100644 resources/views/flux/editor/underline.blade.php create mode 100644 resources/views/flux/editor/undo.blade.php create mode 100644 resources/views/flux/error.blade.php create mode 100644 resources/views/flux/field.blade.php create mode 100644 resources/views/flux/fieldset.blade.php create mode 100644 resources/views/flux/footer.blade.php create mode 100644 resources/views/flux/header.blade.php create mode 100644 resources/views/flux/heading.blade.php create mode 100644 resources/views/flux/icon/academic-cap.blade.php create mode 100644 resources/views/flux/icon/adjustments-horizontal.blade.php create mode 100644 resources/views/flux/icon/adjustments-vertical.blade.php create mode 100644 resources/views/flux/icon/archive-box-arrow-down.blade.php create mode 100644 resources/views/flux/icon/archive-box-x-mark.blade.php create mode 100644 resources/views/flux/icon/archive-box.blade.php create mode 100644 resources/views/flux/icon/arrow-down-circle.blade.php create mode 100644 resources/views/flux/icon/arrow-down-left.blade.php create mode 100644 resources/views/flux/icon/arrow-down-on-square-stack.blade.php create mode 100644 resources/views/flux/icon/arrow-down-on-square.blade.php create mode 100644 resources/views/flux/icon/arrow-down-right.blade.php create mode 100644 resources/views/flux/icon/arrow-down-tray.blade.php create mode 100644 resources/views/flux/icon/arrow-down.blade.php create mode 100644 resources/views/flux/icon/arrow-left-circle.blade.php create mode 100644 resources/views/flux/icon/arrow-left-end-on-rectangle.blade.php create mode 100644 resources/views/flux/icon/arrow-left-start-on-rectangle.blade.php create mode 100644 resources/views/flux/icon/arrow-left.blade.php create mode 100644 resources/views/flux/icon/arrow-long-down.blade.php create mode 100644 resources/views/flux/icon/arrow-long-left.blade.php create mode 100644 resources/views/flux/icon/arrow-long-right.blade.php create mode 100644 resources/views/flux/icon/arrow-long-up.blade.php create mode 100644 resources/views/flux/icon/arrow-path-rounded-square.blade.php create mode 100644 resources/views/flux/icon/arrow-path.blade.php create mode 100644 resources/views/flux/icon/arrow-right-circle.blade.php create mode 100644 resources/views/flux/icon/arrow-right-end-on-rectangle.blade.php create mode 100644 resources/views/flux/icon/arrow-right-start-on-rectangle.blade.php create mode 100644 resources/views/flux/icon/arrow-right.blade.php create mode 100644 resources/views/flux/icon/arrow-top-right-on-square.blade.php create mode 100644 resources/views/flux/icon/arrow-trending-down.blade.php create mode 100644 resources/views/flux/icon/arrow-trending-up.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-down-left.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-down-right.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-left-down.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-left-up.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-right-down.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-right-up.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-up-left.blade.php create mode 100644 resources/views/flux/icon/arrow-turn-up-right.blade.php create mode 100644 resources/views/flux/icon/arrow-up-circle.blade.php create mode 100644 resources/views/flux/icon/arrow-up-left.blade.php create mode 100644 resources/views/flux/icon/arrow-up-on-square-stack.blade.php create mode 100644 resources/views/flux/icon/arrow-up-on-square.blade.php create mode 100644 resources/views/flux/icon/arrow-up-right.blade.php create mode 100644 resources/views/flux/icon/arrow-up-tray.blade.php create mode 100644 resources/views/flux/icon/arrow-up.blade.php create mode 100644 resources/views/flux/icon/arrow-uturn-down.blade.php create mode 100644 resources/views/flux/icon/arrow-uturn-left.blade.php create mode 100644 resources/views/flux/icon/arrow-uturn-right.blade.php create mode 100644 resources/views/flux/icon/arrow-uturn-up.blade.php create mode 100644 resources/views/flux/icon/arrows-pointing-in.blade.php create mode 100644 resources/views/flux/icon/arrows-pointing-out.blade.php create mode 100644 resources/views/flux/icon/arrows-right-left.blade.php create mode 100644 resources/views/flux/icon/arrows-up-down.blade.php create mode 100644 resources/views/flux/icon/at-symbol.blade.php create mode 100644 resources/views/flux/icon/backspace.blade.php create mode 100644 resources/views/flux/icon/backward.blade.php create mode 100644 resources/views/flux/icon/banknotes.blade.php create mode 100644 resources/views/flux/icon/bars-2.blade.php create mode 100644 resources/views/flux/icon/bars-3-bottom-left.blade.php create mode 100644 resources/views/flux/icon/bars-3-bottom-right.blade.php create mode 100644 resources/views/flux/icon/bars-3-center-left.blade.php create mode 100644 resources/views/flux/icon/bars-3.blade.php create mode 100644 resources/views/flux/icon/bars-4.blade.php create mode 100644 resources/views/flux/icon/bars-arrow-down.blade.php create mode 100644 resources/views/flux/icon/bars-arrow-up.blade.php create mode 100644 resources/views/flux/icon/battery-0.blade.php create mode 100644 resources/views/flux/icon/battery-100.blade.php create mode 100644 resources/views/flux/icon/battery-50.blade.php create mode 100644 resources/views/flux/icon/beaker.blade.php create mode 100644 resources/views/flux/icon/bell-alert.blade.php create mode 100644 resources/views/flux/icon/bell-slash.blade.php create mode 100644 resources/views/flux/icon/bell-snooze.blade.php create mode 100644 resources/views/flux/icon/bell.blade.php create mode 100644 resources/views/flux/icon/bold.blade.php create mode 100644 resources/views/flux/icon/bolt-slash.blade.php create mode 100644 resources/views/flux/icon/bolt.blade.php create mode 100644 resources/views/flux/icon/book-open.blade.php create mode 100644 resources/views/flux/icon/bookmark-slash.blade.php create mode 100644 resources/views/flux/icon/bookmark-square.blade.php create mode 100644 resources/views/flux/icon/bookmark.blade.php create mode 100644 resources/views/flux/icon/briefcase.blade.php create mode 100644 resources/views/flux/icon/bug-ant.blade.php create mode 100644 resources/views/flux/icon/building-library.blade.php create mode 100644 resources/views/flux/icon/building-office-2.blade.php create mode 100644 resources/views/flux/icon/building-office.blade.php create mode 100644 resources/views/flux/icon/building-storefront.blade.php create mode 100644 resources/views/flux/icon/cake.blade.php create mode 100644 resources/views/flux/icon/calculator.blade.php create mode 100644 resources/views/flux/icon/calendar-date-range.blade.php create mode 100644 resources/views/flux/icon/calendar-days.blade.php create mode 100644 resources/views/flux/icon/calendar.blade.php create mode 100644 resources/views/flux/icon/camera.blade.php create mode 100644 resources/views/flux/icon/chart-bar-square.blade.php create mode 100644 resources/views/flux/icon/chart-bar.blade.php create mode 100644 resources/views/flux/icon/chart-pie.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-bottom-center-text.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-bottom-center.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-left-ellipsis.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-left-right.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-left.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-oval-left-ellipsis.blade.php create mode 100644 resources/views/flux/icon/chat-bubble-oval-left.blade.php create mode 100644 resources/views/flux/icon/check-badge.blade.php create mode 100644 resources/views/flux/icon/check-circle.blade.php create mode 100644 resources/views/flux/icon/check.blade.php create mode 100644 resources/views/flux/icon/chevron-double-down.blade.php create mode 100644 resources/views/flux/icon/chevron-double-left.blade.php create mode 100644 resources/views/flux/icon/chevron-double-right.blade.php create mode 100644 resources/views/flux/icon/chevron-double-up.blade.php create mode 100644 resources/views/flux/icon/chevron-down.blade.php create mode 100644 resources/views/flux/icon/chevron-left.blade.php create mode 100644 resources/views/flux/icon/chevron-right.blade.php create mode 100644 resources/views/flux/icon/chevron-up-down.blade.php create mode 100644 resources/views/flux/icon/chevron-up.blade.php create mode 100644 resources/views/flux/icon/circle-stack.blade.php create mode 100644 resources/views/flux/icon/clipboard-document-check.blade.php create mode 100644 resources/views/flux/icon/clipboard-document-list.blade.php create mode 100644 resources/views/flux/icon/clipboard-document.blade.php create mode 100644 resources/views/flux/icon/clipboard.blade.php create mode 100644 resources/views/flux/icon/clock.blade.php create mode 100644 resources/views/flux/icon/cloud-arrow-down.blade.php create mode 100644 resources/views/flux/icon/cloud-arrow-up.blade.php create mode 100644 resources/views/flux/icon/cloud.blade.php create mode 100644 resources/views/flux/icon/code-bracket-square.blade.php create mode 100644 resources/views/flux/icon/code-bracket.blade.php create mode 100644 resources/views/flux/icon/cog-6-tooth.blade.php create mode 100644 resources/views/flux/icon/cog-8-tooth.blade.php create mode 100644 resources/views/flux/icon/cog.blade.php create mode 100644 resources/views/flux/icon/command-line.blade.php create mode 100644 resources/views/flux/icon/computer-desktop.blade.php create mode 100644 resources/views/flux/icon/cpu-chip.blade.php create mode 100644 resources/views/flux/icon/credit-card.blade.php create mode 100644 resources/views/flux/icon/cube-transparent.blade.php create mode 100644 resources/views/flux/icon/cube.blade.php create mode 100644 resources/views/flux/icon/currency-bangladeshi.blade.php create mode 100644 resources/views/flux/icon/currency-dollar.blade.php create mode 100644 resources/views/flux/icon/currency-euro.blade.php create mode 100644 resources/views/flux/icon/currency-pound.blade.php create mode 100644 resources/views/flux/icon/currency-rupee.blade.php create mode 100644 resources/views/flux/icon/currency-yen.blade.php create mode 100644 resources/views/flux/icon/cursor-arrow-rays.blade.php create mode 100644 resources/views/flux/icon/cursor-arrow-ripple.blade.php create mode 100644 resources/views/flux/icon/device-phone-mobile.blade.php create mode 100644 resources/views/flux/icon/device-tablet.blade.php create mode 100644 resources/views/flux/icon/divide.blade.php create mode 100644 resources/views/flux/icon/document-arrow-down.blade.php create mode 100644 resources/views/flux/icon/document-arrow-up.blade.php create mode 100644 resources/views/flux/icon/document-chart-bar.blade.php create mode 100644 resources/views/flux/icon/document-check.blade.php create mode 100644 resources/views/flux/icon/document-currency-bangladeshi.blade.php create mode 100644 resources/views/flux/icon/document-currency-dollar.blade.php create mode 100644 resources/views/flux/icon/document-currency-euro.blade.php create mode 100644 resources/views/flux/icon/document-currency-pound.blade.php create mode 100644 resources/views/flux/icon/document-currency-rupee.blade.php create mode 100644 resources/views/flux/icon/document-currency-yen.blade.php create mode 100644 resources/views/flux/icon/document-duplicate.blade.php create mode 100644 resources/views/flux/icon/document-magnifying-glass.blade.php create mode 100644 resources/views/flux/icon/document-minus.blade.php create mode 100644 resources/views/flux/icon/document-plus.blade.php create mode 100644 resources/views/flux/icon/document-text.blade.php create mode 100644 resources/views/flux/icon/document.blade.php create mode 100644 resources/views/flux/icon/ellipsis-horizontal-circle.blade.php create mode 100644 resources/views/flux/icon/ellipsis-horizontal.blade.php create mode 100644 resources/views/flux/icon/ellipsis-vertical.blade.php create mode 100644 resources/views/flux/icon/envelope-open.blade.php create mode 100644 resources/views/flux/icon/envelope.blade.php create mode 100644 resources/views/flux/icon/equals.blade.php create mode 100644 resources/views/flux/icon/exclamation-circle.blade.php create mode 100644 resources/views/flux/icon/exclamation-triangle.blade.php create mode 100644 resources/views/flux/icon/eye-dropper.blade.php create mode 100644 resources/views/flux/icon/eye-slash.blade.php create mode 100644 resources/views/flux/icon/eye.blade.php create mode 100644 resources/views/flux/icon/face-frown.blade.php create mode 100644 resources/views/flux/icon/face-smile.blade.php create mode 100644 resources/views/flux/icon/film.blade.php create mode 100644 resources/views/flux/icon/finger-print.blade.php create mode 100644 resources/views/flux/icon/fire.blade.php create mode 100644 resources/views/flux/icon/flag.blade.php create mode 100644 resources/views/flux/icon/folder-arrow-down.blade.php create mode 100644 resources/views/flux/icon/folder-minus.blade.php create mode 100644 resources/views/flux/icon/folder-open.blade.php create mode 100644 resources/views/flux/icon/folder-plus.blade.php create mode 100644 resources/views/flux/icon/folder.blade.php create mode 100644 resources/views/flux/icon/forward.blade.php create mode 100644 resources/views/flux/icon/funnel.blade.php create mode 100644 resources/views/flux/icon/gif.blade.php create mode 100644 resources/views/flux/icon/gift-top.blade.php create mode 100644 resources/views/flux/icon/gift.blade.php create mode 100644 resources/views/flux/icon/globe-alt.blade.php create mode 100644 resources/views/flux/icon/globe-americas.blade.php create mode 100644 resources/views/flux/icon/globe-asia-australia.blade.php create mode 100644 resources/views/flux/icon/globe-europe-africa.blade.php create mode 100644 resources/views/flux/icon/h1.blade.php create mode 100644 resources/views/flux/icon/h2.blade.php create mode 100644 resources/views/flux/icon/h3.blade.php create mode 100644 resources/views/flux/icon/hand-raised.blade.php create mode 100644 resources/views/flux/icon/hand-thumb-down.blade.php create mode 100644 resources/views/flux/icon/hand-thumb-up.blade.php create mode 100644 resources/views/flux/icon/hashtag.blade.php create mode 100644 resources/views/flux/icon/heart.blade.php create mode 100644 resources/views/flux/icon/home-modern.blade.php create mode 100644 resources/views/flux/icon/home.blade.php create mode 100644 resources/views/flux/icon/identification.blade.php create mode 100644 resources/views/flux/icon/inbox-arrow-down.blade.php create mode 100644 resources/views/flux/icon/inbox-stack.blade.php create mode 100644 resources/views/flux/icon/inbox.blade.php create mode 100644 resources/views/flux/icon/index.blade.php create mode 100644 resources/views/flux/icon/information-circle.blade.php create mode 100644 resources/views/flux/icon/italic.blade.php create mode 100644 resources/views/flux/icon/key.blade.php create mode 100644 resources/views/flux/icon/language.blade.php create mode 100644 resources/views/flux/icon/lifebuoy.blade.php create mode 100644 resources/views/flux/icon/light-bulb.blade.php create mode 100644 resources/views/flux/icon/link-slash.blade.php create mode 100644 resources/views/flux/icon/link.blade.php create mode 100644 resources/views/flux/icon/list-bullet.blade.php create mode 100644 resources/views/flux/icon/loading.blade.php create mode 100644 resources/views/flux/icon/lock-closed.blade.php create mode 100644 resources/views/flux/icon/lock-open.blade.php create mode 100644 resources/views/flux/icon/magnifying-glass-circle.blade.php create mode 100644 resources/views/flux/icon/magnifying-glass-minus.blade.php create mode 100644 resources/views/flux/icon/magnifying-glass-plus.blade.php create mode 100644 resources/views/flux/icon/magnifying-glass.blade.php create mode 100644 resources/views/flux/icon/map-pin.blade.php create mode 100644 resources/views/flux/icon/map.blade.php create mode 100644 resources/views/flux/icon/megaphone.blade.php create mode 100644 resources/views/flux/icon/microphone.blade.php create mode 100644 resources/views/flux/icon/minus-circle.blade.php create mode 100644 resources/views/flux/icon/minus.blade.php create mode 100644 resources/views/flux/icon/moon.blade.php create mode 100644 resources/views/flux/icon/musical-note.blade.php create mode 100644 resources/views/flux/icon/newspaper.blade.php create mode 100644 resources/views/flux/icon/no-symbol.blade.php create mode 100644 resources/views/flux/icon/numbered-list.blade.php create mode 100644 resources/views/flux/icon/paint-brush.blade.php create mode 100644 resources/views/flux/icon/paper-airplane.blade.php create mode 100644 resources/views/flux/icon/paper-clip.blade.php create mode 100644 resources/views/flux/icon/pause-circle.blade.php create mode 100644 resources/views/flux/icon/pause.blade.php create mode 100644 resources/views/flux/icon/pencil-square.blade.php create mode 100644 resources/views/flux/icon/pencil.blade.php create mode 100644 resources/views/flux/icon/percent-badge.blade.php create mode 100644 resources/views/flux/icon/phone-arrow-down-left.blade.php create mode 100644 resources/views/flux/icon/phone-arrow-up-right.blade.php create mode 100644 resources/views/flux/icon/phone-x-mark.blade.php create mode 100644 resources/views/flux/icon/phone.blade.php create mode 100644 resources/views/flux/icon/photo.blade.php create mode 100644 resources/views/flux/icon/play-circle.blade.php create mode 100644 resources/views/flux/icon/play-pause.blade.php create mode 100644 resources/views/flux/icon/play.blade.php create mode 100644 resources/views/flux/icon/plus-circle.blade.php create mode 100644 resources/views/flux/icon/plus.blade.php create mode 100644 resources/views/flux/icon/power.blade.php create mode 100644 resources/views/flux/icon/presentation-chart-bar.blade.php create mode 100644 resources/views/flux/icon/presentation-chart-line.blade.php create mode 100644 resources/views/flux/icon/printer.blade.php create mode 100644 resources/views/flux/icon/puzzle-piece.blade.php create mode 100644 resources/views/flux/icon/qr-code.blade.php create mode 100644 resources/views/flux/icon/question-mark-circle.blade.php create mode 100644 resources/views/flux/icon/queue-list.blade.php create mode 100644 resources/views/flux/icon/radio.blade.php create mode 100644 resources/views/flux/icon/receipt-percent.blade.php create mode 100644 resources/views/flux/icon/receipt-refund.blade.php create mode 100644 resources/views/flux/icon/rectangle-group.blade.php create mode 100644 resources/views/flux/icon/rectangle-stack.blade.php create mode 100644 resources/views/flux/icon/rocket-launch.blade.php create mode 100644 resources/views/flux/icon/rss.blade.php create mode 100644 resources/views/flux/icon/scale.blade.php create mode 100644 resources/views/flux/icon/scissors.blade.php create mode 100644 resources/views/flux/icon/server-stack.blade.php create mode 100644 resources/views/flux/icon/server.blade.php create mode 100644 resources/views/flux/icon/share.blade.php create mode 100644 resources/views/flux/icon/shield-check.blade.php create mode 100644 resources/views/flux/icon/shield-exclamation.blade.php create mode 100644 resources/views/flux/icon/shopping-bag.blade.php create mode 100644 resources/views/flux/icon/shopping-cart.blade.php create mode 100644 resources/views/flux/icon/signal-slash.blade.php create mode 100644 resources/views/flux/icon/signal.blade.php create mode 100644 resources/views/flux/icon/slash.blade.php create mode 100644 resources/views/flux/icon/sparkles.blade.php create mode 100644 resources/views/flux/icon/speaker-wave.blade.php create mode 100644 resources/views/flux/icon/speaker-x-mark.blade.php create mode 100644 resources/views/flux/icon/square-2-stack.blade.php create mode 100644 resources/views/flux/icon/square-3-stack-3d.blade.php create mode 100644 resources/views/flux/icon/squares-2x2.blade.php create mode 100644 resources/views/flux/icon/squares-plus.blade.php create mode 100644 resources/views/flux/icon/star.blade.php create mode 100644 resources/views/flux/icon/stop-circle.blade.php create mode 100644 resources/views/flux/icon/stop.blade.php create mode 100644 resources/views/flux/icon/strikethrough.blade.php create mode 100644 resources/views/flux/icon/sun.blade.php create mode 100644 resources/views/flux/icon/swatch.blade.php create mode 100644 resources/views/flux/icon/table-cells.blade.php create mode 100644 resources/views/flux/icon/tag.blade.php create mode 100644 resources/views/flux/icon/ticket.blade.php create mode 100644 resources/views/flux/icon/trash.blade.php create mode 100644 resources/views/flux/icon/trophy.blade.php create mode 100644 resources/views/flux/icon/truck.blade.php create mode 100644 resources/views/flux/icon/tv.blade.php create mode 100644 resources/views/flux/icon/underline.blade.php create mode 100644 resources/views/flux/icon/user-circle.blade.php create mode 100644 resources/views/flux/icon/user-group.blade.php create mode 100644 resources/views/flux/icon/user-minus.blade.php create mode 100644 resources/views/flux/icon/user-plus.blade.php create mode 100644 resources/views/flux/icon/user.blade.php create mode 100644 resources/views/flux/icon/users.blade.php create mode 100644 resources/views/flux/icon/variable.blade.php create mode 100644 resources/views/flux/icon/video-camera-slash.blade.php create mode 100644 resources/views/flux/icon/video-camera.blade.php create mode 100644 resources/views/flux/icon/view-columns.blade.php create mode 100644 resources/views/flux/icon/viewfinder-circle.blade.php create mode 100644 resources/views/flux/icon/wallet.blade.php create mode 100644 resources/views/flux/icon/wifi.blade.php create mode 100644 resources/views/flux/icon/window.blade.php create mode 100644 resources/views/flux/icon/wrench-screwdriver.blade.php create mode 100644 resources/views/flux/icon/wrench.blade.php create mode 100644 resources/views/flux/icon/x-circle.blade.php create mode 100644 resources/views/flux/icon/x-mark.blade.php create mode 100644 resources/views/flux/input/clearable.blade.php create mode 100644 resources/views/flux/input/copyable.blade.php create mode 100644 resources/views/flux/input/expandable.blade.php create mode 100644 resources/views/flux/input/file.blade.php create mode 100644 resources/views/flux/input/group/affix.blade.php create mode 100644 resources/views/flux/input/group/index.blade.php create mode 100644 resources/views/flux/input/group/prefix.blade.php create mode 100644 resources/views/flux/input/group/suffix.blade.php create mode 100644 resources/views/flux/input/index.blade.php create mode 100644 resources/views/flux/input/viewable.blade.php create mode 100644 resources/views/flux/label.blade.php create mode 100644 resources/views/flux/legend.blade.php create mode 100644 resources/views/flux/link.blade.php create mode 100644 resources/views/flux/main.blade.php create mode 100644 resources/views/flux/menu/checkbox/group.blade.php create mode 100644 resources/views/flux/menu/checkbox/index.blade.php create mode 100644 resources/views/flux/menu/group.blade.php create mode 100644 resources/views/flux/menu/heading.blade.php create mode 100644 resources/views/flux/menu/index.blade.php create mode 100644 resources/views/flux/menu/item.blade.php create mode 100644 resources/views/flux/menu/radio/group.blade.php create mode 100644 resources/views/flux/menu/radio/index.blade.php create mode 100644 resources/views/flux/menu/separator.blade.php create mode 100644 resources/views/flux/menu/submenu.blade.php create mode 100644 resources/views/flux/modal/close.blade.php create mode 100644 resources/views/flux/modal/index.blade.php create mode 100644 resources/views/flux/modal/trigger.blade.php create mode 100644 resources/views/flux/navbar/badge.blade.php create mode 100644 resources/views/flux/navbar/index.blade.php create mode 100644 resources/views/flux/navbar/item.blade.php create mode 100644 resources/views/flux/navlist/badge.blade.php create mode 100644 resources/views/flux/navlist/group.blade.php create mode 100644 resources/views/flux/navlist/index.blade.php create mode 100644 resources/views/flux/navlist/item.blade.php create mode 100644 resources/views/flux/navmenu/index.blade.php create mode 100644 resources/views/flux/navmenu/item.blade.php create mode 100644 resources/views/flux/navmenu/separator.blade.php create mode 100644 resources/views/flux/pagination.blade.php create mode 100644 resources/views/flux/profile.blade.php create mode 100644 resources/views/flux/radio/group/index.blade.php create mode 100644 resources/views/flux/radio/group/variants/buttons.blade.php create mode 100644 resources/views/flux/radio/group/variants/cards.blade.php create mode 100644 resources/views/flux/radio/group/variants/default.blade.php create mode 100644 resources/views/flux/radio/group/variants/pills.blade.php create mode 100644 resources/views/flux/radio/group/variants/segmented.blade.php create mode 100644 resources/views/flux/radio/index.blade.php create mode 100644 resources/views/flux/radio/indicator.blade.php create mode 100644 resources/views/flux/radio/variants/buttons.blade.php create mode 100644 resources/views/flux/radio/variants/cards.blade.php create mode 100644 resources/views/flux/radio/variants/default.blade.php create mode 100644 resources/views/flux/radio/variants/pills.blade.php create mode 100644 resources/views/flux/radio/variants/segmented.blade.php create mode 100644 resources/views/flux/select/button.blade.php create mode 100644 resources/views/flux/select/empty.blade.php create mode 100644 resources/views/flux/select/index.blade.php create mode 100644 resources/views/flux/select/indicator/index.blade.php create mode 100644 resources/views/flux/select/indicator/variants/check.blade.php create mode 100644 resources/views/flux/select/indicator/variants/checkbox.blade.php create mode 100644 resources/views/flux/select/indicator/variants/radio.blade.php create mode 100644 resources/views/flux/select/input.blade.php create mode 100644 resources/views/flux/select/option/index.blade.php create mode 100644 resources/views/flux/select/option/variants/custom.blade.php create mode 100644 resources/views/flux/select/option/variants/default.blade.php create mode 100644 resources/views/flux/select/options.blade.php create mode 100644 resources/views/flux/select/search.blade.php create mode 100644 resources/views/flux/select/selected.blade.php create mode 100644 resources/views/flux/select/variants/combobox.blade.php create mode 100644 resources/views/flux/select/variants/custom.blade.php create mode 100644 resources/views/flux/select/variants/default.blade.php create mode 100644 resources/views/flux/select/variants/listbox.blade.php create mode 100644 resources/views/flux/separator.blade.php create mode 100644 resources/views/flux/sidebar/backdrop.blade.php create mode 100644 resources/views/flux/sidebar/index.blade.php create mode 100644 resources/views/flux/sidebar/toggle.blade.php create mode 100644 resources/views/flux/spacer.blade.php create mode 100644 resources/views/flux/subheading.blade.php create mode 100644 resources/views/flux/switch.blade.php create mode 100644 resources/views/flux/tab/group.blade.php create mode 100644 resources/views/flux/tab/index.blade.php create mode 100644 resources/views/flux/tab/panel.blade.php create mode 100644 resources/views/flux/table/cell.blade.php create mode 100644 resources/views/flux/table/column.blade.php create mode 100644 resources/views/flux/table/columns.blade.php create mode 100644 resources/views/flux/table/index.blade.php create mode 100644 resources/views/flux/table/row.blade.php create mode 100644 resources/views/flux/table/rows.blade.php create mode 100644 resources/views/flux/table/sortable.blade.php create mode 100644 resources/views/flux/tabs.blade.php create mode 100644 resources/views/flux/text.blade.php create mode 100644 resources/views/flux/textarea.blade.php create mode 100644 resources/views/flux/toast/group.blade.php create mode 100644 resources/views/flux/toast/index.blade.php create mode 100644 resources/views/flux/tooltip/content.blade.php create mode 100644 resources/views/flux/tooltip/index.blade.php diff --git a/composer.json b/composer.json index d652b4c..c007da7 100644 --- a/composer.json +++ b/composer.json @@ -9,8 +9,16 @@ "php": "^8.2", "laravel/framework": "^12.0", "laravel/tinker": "^2.10.1", + "livewire/flux": "2.2.5", + "livewire/flux-pro": "2.2.5", "livewire/livewire": "^3.6" }, + "repositories": [ + { + "type": "artifact", + "url": "./packages" + } + ], "require-dev": { "fakerphp/faker": "^1.23", "laravel/pail": "^1.2.2", diff --git a/composer.lock b/composer.lock index fad1464..c04db2e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "76d252b947b006bd1c45471a80bd8c06", + "content-hash": "941e8044314064aca16bfdbd439cf9ff", "packages": [ { "name": "brick/math", @@ -2009,6 +2009,124 @@ ], "time": "2024-12-08T08:18:47+00:00" }, + { + "name": "livewire/flux", + "version": "v2.2.5", + "source": { + "type": "git", + "url": "https://github.com/livewire/flux.git", + "reference": "2295f14766f86006d889f37ee208bcf347a0d013" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/livewire/flux/zipball/2295f14766f86006d889f37ee208bcf347a0d013", + "reference": "2295f14766f86006d889f37ee208bcf347a0d013", + "shasum": "" + }, + "require": { + "illuminate/console": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/view": "^10.0|^11.0|^12.0", + "laravel/prompts": "^0.1|^0.2|^0.3", + "livewire/livewire": "^3.5.19", + "php": "^8.1", + "symfony/console": "^6.0|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Flux": "Flux\\Flux" + }, + "providers": [ + "Flux\\FluxServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Flux\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "The official UI component library for Livewire.", + "keywords": [ + "components", + "flux", + "laravel", + "livewire", + "ui" + ], + "support": { + "issues": "https://github.com/livewire/flux/issues", + "source": "https://github.com/livewire/flux/tree/v2.2.5" + }, + "time": "2025-08-19T22:41:54+00:00" + }, + { + "name": "livewire/flux-pro", + "version": "2.2.5", + "dist": { + "type": "zip", + "url": "./packages/flux-pro-2.2.5.zip", + "shasum": "fcbd455fad3ec1a5b0483a9124746392c7b11f2d" + }, + "require": { + "illuminate/console": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/view": "^10.0|^11.0|^12.0", + "laravel/prompts": "^0.1.24|^0.2|^0.3", + "livewire/flux": "2.2.5|dev-main", + "livewire/livewire": "^3.6.2", + "php": "^8.1", + "symfony/console": "^6.0|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "FluxPro\\FluxProServiceProvider" + ], + "aliases": { + "Flux": "FluxPro\\FluxPro" + } + } + }, + "autoload": { + "psr-4": { + "FluxPro\\": "src/" + }, + "files": [ + "src/helpers.php" + ] + }, + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "The pro version of Flux, the official UI component library for Livewire.", + "keywords": [ + "components", + "flux", + "laravel", + "livewire", + "ui" + ] + }, { "name": "livewire/livewire", "version": "v3.6.4", diff --git a/packages/flux-pro-2.2.5.zip b/packages/flux-pro-2.2.5.zip new file mode 100644 index 0000000000000000000000000000000000000000..22c24cd3675c66dc7fe67d3c830e86e0c52fb19d GIT binary patch literal 704012 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%0A6lNtEr7G!39KAIM52kF2=WuYOzkWQcDjY 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%0A_4;cr9>pZ!Iz|GA=bQ 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

41lH>y8jUZ%!Vwh>JmN%qK|A?8&7)ZQL zTgBYNdsgA`lfTL`Sou0AjCL0@w;wOv6(8tZwBWf8Gu#MV=G|U92Gkih>zmc;#*G)CfA=fHh6lY@;G^=|FFXmA&oy2jkXSu_ zo&`j^-Ef#<0B9Xsx;EdcoWZBfy4NTIV zZ=ryh-<|z^2d8`;gokf2@CBqUb!8qk@8-en?-kGPO?8d8p5Yxwrw2bk=P-$DaVD!0Alv$>7v@E)NhH}<#{)M7uL zuNpWgtQn}m)sD_pnZej@8LKXz)^6`QCdCoTZV98%+PhQSeNAz1yEdX zLN6XwiJ1bNvVDsHgpM|mOCK2VNM_C^q{@Z&_yN}NQT^)Gkm2unZVzw3lIRsLM>q6^ zm!)1tLBLGIa)&yR{fEtZz9MgDjKESiZH5RwetLq0C^7Om_zpuM5cM31$r!f+;hYOR0KDR@+R{lV4=jmb zLot2_?W@C3aPbeiZyu5{IAR$9ot}ZE0hs%z4ow`JxlvECWrKSKbdsr_HBTKU6e%=g z?HjNahTH)h@45XtO4aQf4@zh+G0yBbr#|Vd>N~H(nHB!(!~TOpxlRJ*>1Rp~DRx~@ zX;A)0*-2p|*_xfGYvcT@cJFtS&tweudT1@g!|ECpM}#_31TjWuKg&(TTwQ`Ro!JJC zo*;FV-0hhFmiIiT*upoojat9@TB zS0GYwz=15rvn{5|uCB5R5m>rE1IvVbXz}a&2m4}xpeyX|-u)_qRQl?BdL{fKi{ip) znSA}!JS;CRtL^~@X&$nEn;Jkc=j+4M1J9Xxo>BKJMLD62r|2Y3Q%A`yKsE<^BWJT& zX#Cd)Fd}!*nuI~gC63TFx({HgPMBxq`>BT6&Gu zfu?Ahq1o>4gIrU4g&-NHfbI82c2#ml^?4_IRGe5|e2RNxNKhp(1~Gg9TJJfC{tWGd zi)GWc!(1^$)YO-Py8(N?DTqZWh09g*7JiqwOgSzq;h~3NLESj(_K7?WbDFiu#d>@R#!Qx+vjX!Wlb*9lQA*-`RKK-%Dhj z#93kw;V}J?m}~a))Wv~ zV=5=%p0<;Z#Bz~?M0+rbBCTc@ofuGD@u~R3!T7`%QNB&Q@lJSyk}=2W;>lr>o+y4$ z1i5jj4J&y!r%&AJsPj7s=WM7;eT-bJm*ljebcySwKN;OmcQIMAI+;#GD(*|5A4FV4 z?5fzC+qXDYY2>95Qf(4h9v9@7hiZ_FJB(CH1Nr#AqzJ?VrtSb=A#6o(8_Wh^=Ru}T zhe7)?Y1>>Tu;0pCTBOumNWB)O31;t|sKw-y4o5m0=?#I$z2n@1aG9lCGVYjzf8f*v zJH^#d-nXOJN+KTIetvLwqQP;AWO(#`>k(SObqw>5+z#=aGW8MS1azSa9p0#xP|L}+ z$tI2-hN1MZ9))A#$7T5%turvVC|4YTkl0~@G5Rn5U<5{>SnHR}#kPTD@66z167X9g z*V!$f?99`eub7v7epwYvMKG&Oaaq2tiuQ83o)bG+VY)LBhH^v5rK6QIKz|g!F&of zUGCRV%@QrG$mIfjwA5H#eFIquzKFsr$tLfJjVE_OXobv$nkh@9kX^%J8m}?n(Cw^VSNDK-OeG>w$NJgdN%pMDpNo zHS9@-q@ngc*D(x>zcno+Q(Yk}XViwkKLvcu=+WWmgJB>KqgE^I(JK&SVCF6 zAt16*LApA?mpPiq;X6gXPwLh}2Bu<_N@6KJJrjOC=}@I4%MX)TUY?`( zIYehopY}s;Hp3uBMMbGt8Q4MnF7;Xua4!YHUS>S|d=Pb$iZZvydXNR0^Q zivlZHPG+)}{85yL1qmI`@yGXQn;zPB(C3zcD&UUxPv^w+$>qap{Mn4aP^Rf`K$4F_ z$cueGE*v43Kr%EM)Lf4uTLQ2=*geAW!f2>DJ{mM`uy#shurzK+fn}2OVRR#RXcK=G zx{x%HZJWz^=gxWe*RN=~7!Q@&9?%Xl~x-tA<)TsE)4@1(4k!*g>}_PyO1 z3xU29uCn}!dUIpDqcU5PJu~ae*ac2VgQa2Ag$Y?dC;u{+na=95rto9>2VTgXU%M*#v`Ja_gkwG!U%5 zC|mXt_RXmPbH!uy|E=5NC6LaSV?BHv)x24`;eX|?YthKSDfpYcuWVRyoX8l5B@$|M z(0&2_aYa5teVjNPzpR#y|NdoJQ>4wP8qPjj4dsQHj3BLLk`$z$gN14}^~UWW?gGV( z4!Dm}o`M3HqlhjIUJf^uN64H%o2_5h7-Y^wQD5L|=q35o

bQnQLcSy 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%0Ac=@)E6l7RKZ3kGYx8Wmi% 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

\ No newline at end of file diff --git a/resources/views/flux/accordion/content.blade.php b/resources/views/flux/accordion/content.blade.php new file mode 100644 index 0000000..54e633b --- /dev/null +++ b/resources/views/flux/accordion/content.blade.php @@ -0,0 +1,23 @@ +@aware([ 'transition', 'expanded' ]) + +@props([ + 'transition' => false, + 'expanded' => false, +]) + +@php +$classes = Flux::classes() + ->add('pt-2 text-sm text-zinc-500 dark:text-zinc-300') + ; +@endphp + +
+
class($classes) }}> + {{ $slot }} +
+
diff --git a/resources/views/flux/accordion/heading.blade.php b/resources/views/flux/accordion/heading.blade.php new file mode 100644 index 0000000..25401ce --- /dev/null +++ b/resources/views/flux/accordion/heading.blade.php @@ -0,0 +1,33 @@ +@aware([ 'disabled', 'variant' ]) + +@props([ + 'disabled' => null, + 'variant' => null, +]) + +@php +$classes = Flux::classes() + ->add('group/accordion-heading flex items-center w-full') + ->add('text-start text-sm font-medium') + ->add(match ($variant) { + default => 'justify-between [&>svg]:ms-6', + 'reverse' => 'flex-row-reverse justify-end [&>svg]:me-2', + }) + ->add($disabled + ? 'text-zinc-400 dark:text-zinc-400 cursor-default' + : 'text-zinc-800 dark:text-white cursor-pointer' + ) + ; +@endphp + + diff --git a/resources/views/flux/accordion/icon.blade.php b/resources/views/flux/accordion/icon.blade.php new file mode 100644 index 0000000..0856031 --- /dev/null +++ b/resources/views/flux/accordion/icon.blade.php @@ -0,0 +1,17 @@ +@aware([ 'disabled' ]) + +@props([ + 'pointing' => 'down', + 'disabled' => null, +]) + +@php +$classes = Flux::classes() + ->add('text-zinc-300 dark:text-zinc-400') + ->add($disabled ? '' + : 'group-hover/accordion-heading:text-zinc-800 dark:group-hover/accordion-heading:text-white' + ) + ; +@endphp + +
class([ $classes, 'gap-2' ]) }} data-flux-brand> + +
attributes->class('flex items-center justify-center [:where(&)]:h-6 [:where(&)]:min-w-6 [:where(&)]:rounded-sm overflow-hidden shrink-0') }}> + {{ $logo }} +
+ +
+ + {{ $alt }} + + {{ $slot }} + +
+ + +
{{ $name }}
+
+ + class($classes) }} data-flux-brand> + +
attributes->class('flex items-center justify-center [:where(&)]:h-6 [:where(&)]:min-w-6 [:where(&)]:rounded-sm overflow-hidden shrink-0') }}> + {{ $logo }} +
+ +
+ + {{ $alt }} + + {{ $slot }} + +
+ +
+ diff --git a/resources/views/flux/breadcrumbs/index.blade.php b/resources/views/flux/breadcrumbs/index.blade.php new file mode 100644 index 0000000..7f4af2e --- /dev/null +++ b/resources/views/flux/breadcrumbs/index.blade.php @@ -0,0 +1,4 @@ + +
class('flex') }} data-flux-breadcrumbs> + {{ $slot }} +
diff --git a/resources/views/flux/breadcrumbs/item.blade.php b/resources/views/flux/breadcrumbs/item.blade.php new file mode 100644 index 0000000..94adecc --- /dev/null +++ b/resources/views/flux/breadcrumbs/item.blade.php @@ -0,0 +1,67 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'separator' => null, + 'iconVariant' => 'mini', + 'icon' => null, + 'href' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex items-center') + ->add('text-sm font-medium') + ->add('group/breadcrumb') + ; + +$linkClasses = Flux::classes() + ->add('text-zinc-800 dark:text-white') + ->add('hover:underline decoration-zinc-800/20 underline-offset-4'); + +$staticTextClasses = Flux::classes() + ->add('text-gray-500 dark:text-white/80') + ; + +$separatorClasses = Flux::classes() + ->add('mx-1 text-zinc-300 dark:text-white/80') + ->add('group-last/breadcrumb:hidden') + ; + +$iconClasses = Flux::classes() + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : '') + ; + +[ $styleAttributes, $attributes ] = Flux::splitAttributes($attributes); +@endphp + +
class($classes) }} data-flux-breadcrumbs-item> + + class($linkClasses) }} href="{{ $href }}"> + + + + {{ $slot }} + + + +
class($staticTextClasses) }}> + + + + {{ $slot }} + +
+ + + @if ($separator == null) + + + @elseif (! is_string($separator)) + {{ $separator }} + @elseif ($separator === 'slash') + + @else + + @endif +
diff --git a/resources/views/flux/button/group.blade.php b/resources/views/flux/button/group.blade.php new file mode 100644 index 0000000..67aecc4 --- /dev/null +++ b/resources/views/flux/button/group.blade.php @@ -0,0 +1,45 @@ +@php +$classes = Flux::classes() + ->add('flex group/button') + ->add([ + // With the external borders, let's always make sure the first and last children have outside borders. + // For internal borders, we will ensure that all left borders are removed, but the right borders remain. + // But when there is a input groupsuffix, then there should be no right internal border. + // That way we shouldn't ever have a double border... + + // All inputs borders... + '[&>[data-flux-input]:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>[data-flux-input]:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>[data-flux-input]:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0', + + // Selects and date pickers borders... + '[&>*:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>*:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>*:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0', + + // Buttons borders... + '[&>[data-flux-group-target]:last-child:not(:first-child)]:border-s-0', + '[&>[data-flux-group-target]:not(:first-child):not(:last-child)]:border-s-0', + '[&>[data-flux-group-target]:has(+[data-flux-input-group-suffix])]:border-e-0', + + // "Weld" the borders of inputs together by overriding their border radiuses... + '[&>[data-flux-group-target]:not(:first-child):not(:last-child)]:rounded-none', + '[&>[data-flux-group-target]:first-child:not(:last-child)]:rounded-e-none', + '[&>[data-flux-group-target]:last-child:not(:first-child)]:rounded-s-none', + + // "Weld" borders for sub-children of group targets (button element inside ui-select element, etc.)... + '[&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-group-target]]:rounded-none', + '[&>*:first-child:not(:last-child)>[data-flux-group-target]]:rounded-e-none', + '[&>*:last-child:not(:first-child)>[data-flux-group-target]]:rounded-s-none', + + // "Weld" borders for sub-sub-children of group targets (input element inside div inside ui-select element (combobox))... + '[&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-input]>[data-flux-group-target]]:rounded-none', + '[&>*:first-child:not(:last-child)>[data-flux-input]>[data-flux-group-target]]:rounded-e-none', + '[&>*:last-child:not(:first-child)>[data-flux-input]>[data-flux-group-target]]:rounded-s-none', + ]) + ; +@endphp + +
class($classes) }} data-flux-button-group> + {{ $slot }} +
diff --git a/resources/views/flux/button/index.blade.php b/resources/views/flux/button/index.blade.php new file mode 100644 index 0000000..7c676cc --- /dev/null +++ b/resources/views/flux/button/index.blade.php @@ -0,0 +1,198 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconLeading = $iconLeading ??= $attributes->pluck('icon:leading'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconTrailing' => null, + 'variant' => 'outline', + 'iconVariant' => null, + 'iconLeading' => null, + 'type' => 'button', + 'loading' => null, + 'size' => 'base', + 'square' => null, + 'color' => null, + 'inset' => null, + 'icon' => null, + 'kbd' => null, +]) + +@php +$iconLeading = $icon ??= $iconLeading; + +// Button should be a square if it has no text contents... +$square ??= $slot->isEmpty(); + +// Size-up icons in square/icon-only buttons... (xs buttons just get micro size/style...) +$iconVariant ??= ($size === 'xs') + ? ($square ? 'micro' : 'micro') + : ($square ? 'mini' : 'micro'); + +$iconTrailingVariant ??= $attributes->pluck('icon-trailing:variant', $iconVariant); + +// When using the outline icon variant, we need to size it down to match the default icon sizes... +$iconClasses = Flux::classes() + ->add($iconVariant === 'outline' ? ($square && $size !== 'xs' ? 'size-5' : 'size-4') : '') + ->add($attributes->pluck('icon:class')) + ; + +$iconTrailingClasses = Flux::classes() + ->add($iconTrailingVariant === 'outline' ? ($square && $size !== 'xs' ? 'size-5' : 'size-4') : '') + ->add($attributes->pluck('icon-trailing:class')) + ; + +$isTypeSubmitAndNotDisabledOnRender = $type === 'submit' && ! $attributes->has('disabled'); + +$isJsMethod = str_starts_with($attributes->whereStartsWith('wire:click')->first() ?? '', '$js.'); + +$loading ??= $loading ?? ($isTypeSubmitAndNotDisabledOnRender || $attributes->whereStartsWith('wire:click')->isNotEmpty() && ! $isJsMethod); + +if ($loading && $type !== 'submit' && ! $isJsMethod) { + $attributes = $attributes->merge(['wire:loading.attr' => 'data-flux-loading']); + + // We need to add `wire:target` here because without it the loading indicator won't be scoped + // by method params, causing multiple buttons with the same method but different params to + // trigger each other's loading indicators... + if (! $attributes->has('wire:target') && $target = $attributes->whereStartsWith('wire:click')->first()) { + $attributes = $attributes->merge(['wire:target' => $target], escape: false); + } +} + +$classes = Flux::classes() + ->add('relative items-center font-medium justify-center gap-2 whitespace-nowrap') + ->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none') + ->add(match ($size) { // Size... + 'base' => 'h-10 text-sm rounded-lg' . ' ' . ( + $square + ? 'w-10' + // If we have an icon, we want to reduce the padding on the side that has the icon... + : ($iconLeading && $iconLeading !== '' ? 'ps-3' : 'ps-4') . ' ' . ($iconTrailing && $iconTrailing !== '' ? 'pe-3' : 'pe-4') + ), + 'sm' => 'h-8 text-sm rounded-md' . ' ' . ($square ? 'w-8' : 'px-3'), + 'xs' => 'h-6 text-xs rounded-md' . ' ' . ($square ? 'w-6' : 'px-2'), + }) + ->add('inline-flex') // Buttons are inline by default but links are blocks, so inline-flex is needed here to ensure link-buttons are displayed the same as buttons... + ->add($inset ? match ($size) { // Inset... + 'base' => $square + ? Flux::applyInset($inset, top: '-mt-2.5', right: '-me-2.5', bottom: '-mb-2.5', left: '-ms-2.5') + : Flux::applyInset($inset, top: '-mt-2.5', right: '-me-4', bottom: '-mb-3', left: '-ms-4'), + 'sm' => $square + ? Flux::applyInset($inset, top: '-mt-1.5', right: '-me-1.5', bottom: '-mb-1.5', left: '-ms-1.5') + : Flux::applyInset($inset, top: '-mt-1.5', right: '-me-3', bottom: '-mb-1.5', left: '-ms-3'), + 'xs' => $square + ? Flux::applyInset($inset, top: '-mt-1', right: '-me-1', bottom: '-mb-1', left: '-ms-1') + : Flux::applyInset($inset, top: '-mt-1', right: '-me-2', bottom: '-mb-1', left: '-ms-2'), + } : '') + ->add(match ($variant) { // Background color... + 'primary' => 'bg-[var(--color-accent)] hover:bg-[color-mix(in_oklab,_var(--color-accent),_transparent_10%)]', + 'filled' => 'bg-zinc-800/5 hover:bg-zinc-800/10 dark:bg-white/10 dark:hover:bg-white/20', + 'outline' => 'bg-white hover:bg-zinc-50 dark:bg-zinc-700 dark:hover:bg-zinc-600/75', + 'danger' => 'bg-red-500 hover:bg-red-600 dark:bg-red-600 dark:hover:bg-red-500', + 'ghost' => 'bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15', + 'subtle' => 'bg-transparent hover:bg-zinc-800/5 dark:hover:bg-white/15', + }) + ->add(match ($variant) { // Text color... + 'primary' => 'text-[var(--color-accent-foreground)]', + 'filled' => 'text-zinc-800 dark:text-white', + 'outline' => 'text-zinc-800 dark:text-white', + 'danger' => 'text-white', + 'ghost' => 'text-zinc-800 dark:text-white', + 'subtle' => 'text-zinc-500 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-white', + }) + ->add(match ($variant) { // Border color... + 'primary' => 'border border-black/10 dark:border-0', + 'outline' => 'border border-zinc-200 hover:border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600 dark:hover:border-zinc-600', + default => '', + }) + ->add(match ($variant) { // Shadows... + 'primary' => 'shadow-[inset_0px_1px_--theme(--color-white/.2)]', + 'danger' => 'shadow-[inset_0px_1px_var(--color-red-500),inset_0px_2px_--theme(--color-white/.15)] dark:shadow-none', + 'outline' => match ($size) { + 'base' => 'shadow-xs', + 'sm' => 'shadow-xs', + 'xs' => 'shadow-none', + }, + default => '', + }) + ->add(match ($variant) { // Grouped border treatments... + 'ghost' => '', + 'subtle' => '', + 'outline' => '[[data-flux-button-group]_&]:border-s-0 [:is([data-flux-button-group]>&:first-child,_[data-flux-button-group]_:first-child>&)]:border-s-[1px]', + 'filled' => '[[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-zinc-200/80 dark:[[data-flux-button-group]_&]:border-zinc-900/50', + 'danger' => '[[data-flux-button-group]_&]:border-e [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 [[data-flux-button-group]_&]:border-red-600 dark:[[data-flux-button-group]_&]:border-red-900/25', + 'primary' => '[[data-flux-button-group]_&]:border-e-0 [:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-[1px] dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-e-0 dark:[:is([data-flux-button-group]>&:last-child,_[data-flux-button-group]_:last-child>&)]:border-s-[1px] [:is([data-flux-button-group]>&:not(:first-child),_[data-flux-button-group]_:not(:first-child)>&)]:border-s-[color-mix(in_srgb,var(--color-accent-foreground),transparent_85%)]', + }) + ->add($loading ? [ // Loading states... + '*:transition-opacity', + $type === 'submit' ? '[&[disabled]>:not([data-flux-loading-indicator])]:opacity-0' : '[&[data-flux-loading]>:not([data-flux-loading-indicator])]:opacity-0', + $type === 'submit' ? '[&[disabled]>[data-flux-loading-indicator]]:opacity-100' : '[&[data-flux-loading]>[data-flux-loading-indicator]]:opacity-100', + $type === 'submit' ? '[&[disabled]]:pointer-events-none' : 'data-flux-loading:pointer-events-none', + ] : []) + ->add($variant === 'primary' ? match ($color) { + 'slate' => '[--color-accent:var(--color-slate-800)] [--color-accent-content:var(--color-slate-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-slate-800)]', + 'gray' => '[--color-accent:var(--color-gray-800)] [--color-accent-content:var(--color-gray-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-gray-800)]', + 'zinc' => '[--color-accent:var(--color-zinc-800)] [--color-accent-content:var(--color-zinc-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-zinc-800)]', + 'neutral' => '[--color-accent:var(--color-neutral-800)] [--color-accent-content:var(--color-neutral-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-neutral-800)]', + 'stone' => '[--color-accent:var(--color-stone-800)] [--color-accent-content:var(--color-stone-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-stone-800)]', + 'red' => '[--color-accent:var(--color-red-500)] [--color-accent-content:var(--color-red-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-red-500)] dark:[--color-accent-content:var(--color-red-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'orange' => '[--color-accent:var(--color-orange-500)] [--color-accent-content:var(--color-orange-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-orange-400)] dark:[--color-accent-content:var(--color-orange-400)] dark:[--color-accent-foreground:var(--color-orange-950)]', + 'amber' => '[--color-accent:var(--color-amber-400)] [--color-accent-content:var(--color-amber-600)] [--color-accent-foreground:var(--color-amber-950)] dark:[--color-accent:var(--color-amber-400)] dark:[--color-accent-content:var(--color-amber-400)] dark:[--color-accent-foreground:var(--color-amber-950)]', + 'yellow' => '[--color-accent:var(--color-yellow-400)] [--color-accent-content:var(--color-yellow-600)] [--color-accent-foreground:var(--color-yellow-950)] dark:[--color-accent:var(--color-yellow-400)] dark:[--color-accent-content:var(--color-yellow-400)] dark:[--color-accent-foreground:var(--color-yellow-950)]', + 'lime' => '[--color-accent:var(--color-lime-400)] [--color-accent-content:var(--color-lime-600)] [--color-accent-foreground:var(--color-lime-900)] dark:[--color-accent:var(--color-lime-400)] dark:[--color-accent-content:var(--color-lime-400)] dark:[--color-accent-foreground:var(--color-lime-950)]', + 'green' => '[--color-accent:var(--color-green-600)] [--color-accent-content:var(--color-green-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-green-600)] dark:[--color-accent-content:var(--color-green-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'emerald' => '[--color-accent:var(--color-emerald-600)] [--color-accent-content:var(--color-emerald-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-emerald-600)] dark:[--color-accent-content:var(--color-emerald-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'teal' => '[--color-accent:var(--color-teal-600)] [--color-accent-content:var(--color-teal-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-teal-600)] dark:[--color-accent-content:var(--color-teal-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'cyan' => '[--color-accent:var(--color-cyan-600)] [--color-accent-content:var(--color-cyan-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-cyan-600)] dark:[--color-accent-content:var(--color-cyan-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'sky' => '[--color-accent:var(--color-sky-600)] [--color-accent-content:var(--color-sky-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-sky-600)] dark:[--color-accent-content:var(--color-sky-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'blue' => '[--color-accent:var(--color-blue-500)] [--color-accent-content:var(--color-blue-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-blue-500)] dark:[--color-accent-content:var(--color-blue-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'indigo' => '[--color-accent:var(--color-indigo-500)] [--color-accent-content:var(--color-indigo-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-indigo-500)] dark:[--color-accent-content:var(--color-indigo-300)] dark:[--color-accent-foreground:var(--color-white)]', + 'violet' => '[--color-accent:var(--color-violet-500)] [--color-accent-content:var(--color-violet-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-violet-500)] dark:[--color-accent-content:var(--color-violet-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'purple' => '[--color-accent:var(--color-purple-500)] [--color-accent-content:var(--color-purple-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-purple-500)] dark:[--color-accent-content:var(--color-purple-300)] dark:[--color-accent-foreground:var(--color-white)]', + 'fuchsia' => '[--color-accent:var(--color-fuchsia-600)] [--color-accent-content:var(--color-fuchsia-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-fuchsia-600)] dark:[--color-accent-content:var(--color-fuchsia-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'pink' => '[--color-accent:var(--color-pink-600)] [--color-accent-content:var(--color-pink-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-pink-600)] dark:[--color-accent-content:var(--color-pink-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'rose' => '[--color-accent:var(--color-rose-500)] [--color-accent-content:var(--color-rose-500)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-rose-500)] dark:[--color-accent-content:var(--color-rose-400)] dark:[--color-accent-foreground:var(--color-white)]', + default => '', + } : '') + ; + + // Exempt subtle and ghost buttons from receiving border roundness overrides from button.group... + $attributes = $attributes->merge([ + 'data-flux-group-target' => ! in_array($variant, ['subtle', 'ghost']), + ]); +@endphp + + + + +
+ +
+ + + + + + {{ $iconLeading }} + + + isEmpty()): ?> + {{-- If we have a loading indicator, we need to wrap it in a span so it can be a target of *:opacity-0... --}} + {{-- Also, if we have an icon, we need to wrap it in a span so it can be recognized as a child of the button for :first-child selectors... --}} + {{ $slot }} + + {{ $slot }} + + + +
{{ $kbd }}
+ + + + {{-- Adding the extra margin class inline on the icon component below was causing a double up, so it needs to be added here first... --}} + add($square ? '' : '-ms-1'); ?> + + + {{ $iconTrailing }} + +
+
diff --git a/resources/views/flux/calendar/index.blade.php b/resources/views/flux/calendar/index.blade.php new file mode 100644 index 0000000..e7d9a1d --- /dev/null +++ b/resources/views/flux/calendar/index.blade.php @@ -0,0 +1,222 @@ +@props([ + 'selectableHeader' => null, + 'weekNumbers' => null, + 'unavailable' => null, + 'withInputs' => null, + 'navigation' => null, + 'withToday' => null, + 'months' => null, + 'value' => null, + 'mode' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute if it has been set manually +// but not if it has been set from the `wire:model` attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} + +$months = $months ?? ($mode === 'range' ? 2 : 1); + +$range = $mode === 'range'; + +// Mark it invalid if the property or any of it's nested attributes have errors... +$invalid ??= ($name && ($errors->has($name) || $errors->has($name . '.*'))); + +$class= Flux::classes() + ->add('isolate relative') + ; + +$sizeClasses = match ($size) { + '2xl' => $weekNumbers ? 'size-12 sm:size-16' : 'size-13 sm:size-16', + 'xl' => $weekNumbers ? 'size-11 sm:size-14' : 'size-12 sm:size-14', + 'lg' => $weekNumbers ? 'size-10 sm:size-12' : 'size-11 sm:size-12', + default => $weekNumbers ? 'size-10 sm:size-11' : 'size-11 sm:size-11', + 'sm' => $weekNumbers ? 'size-9 sm:size-10' : 'size-11 sm:size-10', + 'xs' => $weekNumbers ? 'size-8 sm:size-9' : 'size-10 sm:size-9', +}; + +// Add support for `$value` being an array, if for example it's coming from +// the `old()` helper or if a user prefers to pass data in as an array... +if (is_array($value)) { + $value = match (true) { + $mode === 'range' => isset($value['start']) && isset($value['end']) ? $value['start'] . '/' . $value['end'] : null, + default => collect($value)->join(','), + }; +} + +if (isset($unavailable)) { + $unavailable = collect($unavailable)->implode(','); +} +@endphp + +class($class) }} + data-flux-calendar + @if ($mode) mode="{{ $mode }}" @endif + months="1" + sm:months="{{ $months }}" + @if (isset($unavailable)) unavailable="{{ $unavailable }}" @endif + @if ($showName) name="{{ $name }}" @endif + @if (isset($value)) value="{{ $value }}" @endif +> + + + +
+
{{ __('Start') }}
+
{{ __('End') }}
+
+ + + +
+ + +
+
+
+
+ + + + + + + + + +
+ +
+ + +
+ + + + + +
+
+ + + + + + + + + + + + + +
+
+
+
+ + + + +
diff --git a/resources/views/flux/callout/heading.blade.php b/resources/views/flux/callout/heading.blade.php new file mode 100644 index 0000000..615d785 --- /dev/null +++ b/resources/views/flux/callout/heading.blade.php @@ -0,0 +1,27 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'icon' => null, +]) + +@php + $classes = Flux::classes() + ->add('flex items-center gap-2 text-sm font-medium') + ; + + $iconClasses = Flux::classes() + ->add('inline-block size-5 text-[var(--callout-icon)] dark:text-[var(--callout-icon)]') + ->add($attributes->pluck('class:icon')) + ; +@endphp + +
class($classes) }} data-slot="heading"> + + + + {{ $icon }} + + + {{ $slot }} +
diff --git a/resources/views/flux/callout/index.blade.php b/resources/views/flux/callout/index.blade.php new file mode 100644 index 0000000..675e428 --- /dev/null +++ b/resources/views/flux/callout/index.blade.php @@ -0,0 +1,220 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'controls' => null, + 'heading' => null, + 'color' => 'white', + 'variant' => null, + 'actions' => null, + 'content' => null, + 'inline' => null, + 'text' => null, + 'icon' => null, +]) + +@php + if ($color === 'gray') $color = 'zinc'; + + $color = match($variant) { + 'success' => 'green', + 'danger' => 'red', + 'warning' => 'yellow', + 'secondary' => 'zinc', + default => $color, + }; + + $classes = Flux::classes() + ->add('@container p-2 flex border rounded-xl') + ->add([ + 'border-(--callout-border) bg-(--callout-background)', + '[&_[data-slot=heading]]:text-(--callout-heading)', + '[&_[data-slot=text]]:text-(--callout-text)', + ]) + ->add(match($color) { + 'blue' => [ + '[--callout-border:var(--color-blue-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-blue-400),transparent_50%)]', + '[--callout-background:var(--color-blue-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-blue-400),transparent_90%)]', + '[--callout-heading:var(--color-blue-600)] dark:[--callout-heading:var(--color-blue-200)]', + '[--callout-text:var(--color-blue-600)] dark:[--callout-text:var(--color-blue-300)]', + '[--callout-icon:var(--color-blue-500)] dark:[--callout-icon:var(--color-blue-400)]', + ], + 'sky' => [ + '[--callout-border:var(--color-sky-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-sky-400),transparent_50%)]', + '[--callout-background:var(--color-sky-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-sky-400),transparent_90%)]', + '[--callout-heading:var(--color-sky-600)] dark:[--callout-heading:var(--color-sky-200)]', + '[--callout-text:var(--color-sky-600)] dark:[--callout-text:var(--color-sky-300)]', + '[--callout-icon:var(--color-sky-500)] dark:[--callout-icon:var(--color-sky-400)]', + ], + 'red' => [ + '[--callout-border:var(--color-red-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-red-400),transparent_50%)]', + '[--callout-background:var(--color-red-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-red-400),transparent_90%)]', + '[--callout-heading:var(--color-red-700)] dark:[--callout-heading:var(--color-red-200)]', + '[--callout-text:var(--color-red-700)] dark:[--callout-text:var(--color-red-300)]', + '[--callout-icon:var(--color-red-400)] dark:[--callout-icon:var(--color-red-400)]', + ], + 'orange' => [ + '[--callout-border:var(--color-orange-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-orange-400),transparent_50%)]', + '[--callout-background:var(--color-orange-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-orange-400),transparent_90%)]', + '[--callout-heading:var(--color-orange-600)] dark:[--callout-heading:var(--color-orange-200)]', + '[--callout-text:var(--color-orange-600)] dark:[--callout-text:var(--color-orange-300)]', + '[--callout-icon:var(--color-orange-500)] dark:[--callout-icon:var(--color-orange-400)]', + ], + 'amber' => [ + '[--callout-border:var(--color-amber-400)] dark:[--callout-border:color-mix(in_oklab,var(--color-amber-400),transparent_50%)]', + '[--callout-background:var(--color-amber-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-amber-400),transparent_90%)]', + '[--callout-heading:var(--color-amber-600)] dark:[--callout-heading:var(--color-amber-200)]', + '[--callout-text:var(--color-amber-600)] dark:[--callout-text:var(--color-amber-300)]', + '[--callout-icon:var(--color-amber-500)] dark:[--callout-icon:var(--color-amber-400)]', + ], + 'yellow' => [ + '[--callout-border:var(--color-yellow-400)] dark:[--callout-border:color-mix(in_oklab,var(--color-yellow-400),transparent_50%)]', + '[--callout-background:var(--color-yellow-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-yellow-400),transparent_90%)]', + '[--callout-heading:var(--color-yellow-600)] dark:[--callout-heading:var(--color-yellow-200)]', + '[--callout-text:var(--color-yellow-700)] dark:[--callout-text:var(--color-yellow-300)]', + '[--callout-icon:var(--color-yellow-500)] dark:[--callout-icon:var(--color-yellow-400)]', + ], + 'lime' => [ + '[--callout-border:var(--color-lime-400)] dark:[--callout-border:color-mix(in_oklab,var(--color-lime-400),transparent_50%)]', + '[--callout-background:var(--color-lime-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-lime-400),transparent_90%)]', + '[--callout-heading:var(--color-lime-700)] dark:[--callout-heading:var(--color-lime-200)]', + '[--callout-text:var(--color-lime-600)] dark:[--callout-text:var(--color-lime-300)]', + '[--callout-icon:var(--color-lime-500)] dark:[--callout-icon:var(--color-lime-400)]', + ], + 'green' => [ + '[--callout-border:var(--color-green-300)] dark:[--callout-border:color-mix(in_oklab,var(--color-green-400),transparent_50%)]', + '[--callout-background:var(--color-green-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-green-400),transparent_90%)]', + '[--callout-heading:var(--color-green-600)] dark:[--callout-heading:var(--color-green-200)]', + '[--callout-text:var(--color-green-600)] dark:[--callout-text:var(--color-green-300)]', + '[--callout-icon:var(--color-green-500)] dark:[--callout-icon:var(--color-green-400)]', + ], + 'emerald' => [ + '[--callout-border:var(--color-emerald-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-emerald-400),transparent_50%)]', + '[--callout-background:var(--color-emerald-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-emerald-400),transparent_90%)]', + '[--callout-heading:var(--color-emerald-600)] dark:[--callout-heading:var(--color-emerald-200)]', + '[--callout-text:var(--color-emerald-600)] dark:[--callout-text:var(--color-emerald-300)]', + '[--callout-icon:var(--color-emerald-500)] dark:[--callout-icon:var(--color-emerald-400)]', + ], + 'teal' => [ + '[--callout-border:var(--color-teal-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-teal-400),transparent_50%)]', + '[--callout-background:var(--color-teal-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-teal-400),transparent_90%)]', + '[--callout-heading:var(--color-teal-600)] dark:[--callout-heading:var(--color-teal-200)]', + '[--callout-text:var(--color-teal-600)] dark:[--callout-text:var(--color-teal-300)]', + '[--callout-icon:var(--color-teal-500)] dark:[--callout-icon:var(--color-teal-400)]', + ], + 'cyan' => [ + '[--callout-border:var(--color-cyan-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-cyan-400),transparent_50%)]', + '[--callout-background:var(--color-cyan-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-cyan-400),transparent_90%)]', + '[--callout-heading:var(--color-cyan-600)] dark:[--callout-heading:var(--color-cyan-200)]', + '[--callout-text:var(--color-cyan-600)] dark:[--callout-text:var(--color-cyan-300)]', + '[--callout-icon:var(--color-cyan-500)] dark:[--callout-icon:var(--color-cyan-400)]', + ], + 'indigo' => [ + '[--callout-border:var(--color-indigo-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-indigo-400),transparent_50%)]', + '[--callout-background:var(--color-indigo-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-indigo-400),transparent_90%)]', + '[--callout-heading:var(--color-indigo-600)] dark:[--callout-heading:var(--color-indigo-200)]', + '[--callout-text:var(--color-indigo-600)] dark:[--callout-text:var(--color-indigo-300)]', + '[--callout-icon:var(--color-indigo-500)] dark:[--callout-icon:var(--color-indigo-400)]', + ], + 'violet' => [ + '[--callout-border:var(--color-violet-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-violet-400),transparent_50%)]', + '[--callout-background:var(--color-violet-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-violet-400),transparent_90%)]', + '[--callout-heading:var(--color-violet-600)] dark:[--callout-heading:var(--color-violet-200)]', + '[--callout-text:var(--color-violet-600)] dark:[--callout-text:var(--color-violet-300)]', + '[--callout-icon:var(--color-violet-500)] dark:[--callout-icon:var(--color-violet-400)]', + ], + 'purple' => [ + '[--callout-border:var(--color-purple-300)] dark:[--callout-border:color-mix(in_oklab,var(--color-purple-400),transparent_50%)]', + '[--callout-background:var(--color-purple-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-purple-400),transparent_90%)]', + '[--callout-heading:var(--color-purple-800)] dark:[--callout-heading:var(--color-purple-200)]', + '[--callout-text:var(--color-purple-700)] dark:[--callout-text:var(--color-purple-300)]', + '[--callout-icon:var(--color-purple-500)] dark:[--callout-icon:var(--color-purple-400)]', + ], + 'fuchsia' => [ + '[--callout-border:var(--color-fuchsia-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-fuchsia-400),transparent_50%)]', + '[--callout-background:var(--color-fuchsia-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-fuchsia-400),transparent_90%)]', + '[--callout-heading:var(--color-fuchsia-600)] dark:[--callout-heading:var(--color-fuchsia-200)]', + '[--callout-text:var(--color-fuchsia-600)] dark:[--callout-text:var(--color-fuchsia-300)]', + '[--callout-icon:var(--color-fuchsia-500)] dark:[--callout-icon:var(--color-fuchsia-400)]', + ], + 'pink' => [ + '[--callout-border:var(--color-pink-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-pink-400),transparent_50%)]', + '[--callout-background:var(--color-pink-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-pink-400),transparent_90%)]', + '[--callout-heading:var(--color-pink-600)] dark:[--callout-heading:var(--color-pink-200)]', + '[--callout-text:var(--color-pink-600)] dark:[--callout-text:var(--color-pink-300)]', + '[--callout-icon:var(--color-pink-500)] dark:[--callout-icon:var(--color-pink-400)]', + ], + 'rose' => [ + '[--callout-border:var(--color-rose-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-rose-400),transparent_50%)]', + '[--callout-background:var(--color-rose-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-rose-400),transparent_90%)]', + '[--callout-heading:var(--color-rose-600)] dark:[--callout-heading:var(--color-rose-200)]', + '[--callout-text:var(--color-rose-600)] dark:[--callout-text:var(--color-rose-300)]', + '[--callout-icon:var(--color-rose-500)] dark:[--callout-icon:var(--color-rose-400)]', + ], + 'zinc' => [ + '[--callout-border:var(--color-zinc-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-white),transparent_95%)]', + '[--callout-background:var(--color-zinc-50)] dark:[--callout-background:color-mix(in_oklab,var(--color-zinc-400),transparent_90%)]', + '[--callout-heading:var(--color-zinc-800)] dark:[--callout-heading:var(--color-zinc-200)]', + '[--callout-text:var(--color-zinc-500)] dark:[--callout-text:var(--color-zinc-300)]', + '[--callout-icon:var(--color-zinc-400)] dark:[--callout-icon:var(--color-zinc-400)]', + ], + default => [ + '[--callout-border:var(--color-zinc-200)] dark:[--callout-border:color-mix(in_oklab,var(--color-white),transparent_95%)]', + '[--callout-background:var(--color-white)] dark:[--callout-background:color-mix(in_oklab,var(--color-zinc-400),transparent_90%)]', + '[--callout-heading:var(--color-zinc-800)] dark:[--callout-heading:var(--color-zinc-200)]', + '[--callout-text:var(--color-zinc-500)] dark:[--callout-text:var(--color-zinc-300)]', + '[--callout-icon:var(--color-zinc-400)] dark:[--callout-icon:var(--color-zinc-400)]', + ], + }) + ; + + $iconWrapperClasses = Flux::classes() + ->add('ps-2 py-2 pe-0 flex items-baseline') + ; + + $iconClasses = Flux::classes() + ->add('inline-block size-5 text-[var(--callout-icon)] dark:text-[var(--callout-icon)]') + ->add($attributes->pluck('class:icon')) + ; +@endphp + +
class($classes) }} data-flux-callout> + +
+ +
+ +
attributes->class($iconWrapperClasses) }}> + {{ $icon }} +
+ + +
+
+ + {{ $heading }} + + + + {{ $text }} + + + {{ $content ?? $slot }} +
+ + +
attributes->class([ + $inline ? '@max-md:py-2 @md:m-[-2px] @md:ps-4 @md:justify-end @md:flex-row-reverse' : 'py-2', + 'self-start flex items-center gap-2' + ]) }} data-slot="actions"> + {{ $actions }} +
+ +
+ + +
attributes->class($inline ? 'ps-2 m-[-2px]' : 'ps-2') }}> + {{ $controls }} +
+ +
diff --git a/resources/views/flux/callout/link.blade.php b/resources/views/flux/callout/link.blade.php new file mode 100644 index 0000000..35591ef --- /dev/null +++ b/resources/views/flux/callout/link.blade.php @@ -0,0 +1,13 @@ +@props([ + 'external' => null, +]) + +@php +$classes = Flux::classes() + ->add('inline font-medium') + ->add('underline underline-offset-[6px] hover:decoration-current') + ->add('decoration-zinc-800/20 dark:decoration-white/20') + ; +@endphp +{{-- NOTE: It's important that this file has NO newline at the end of the file. --}} +class($classes) }} target="_blank">{{ $slot }} \ No newline at end of file diff --git a/resources/views/flux/callout/text.blade.php b/resources/views/flux/callout/text.blade.php new file mode 100644 index 0000000..67cd987 --- /dev/null +++ b/resources/views/flux/callout/text.blade.php @@ -0,0 +1,4 @@ + +
class('text-sm') }} data-slot="text"> + {{ $slot }} +
diff --git a/resources/views/flux/card/index.blade.php b/resources/views/flux/card/index.blade.php new file mode 100644 index 0000000..877b24c --- /dev/null +++ b/resources/views/flux/card/index.blade.php @@ -0,0 +1,18 @@ +@props([ + 'size' => null, +]) + +@php +$classes = Flux::classes() + ->add('bg-white dark:bg-white/10') + ->add('border border-zinc-200 dark:border-white/10') + ->add(match ($size) { + default => '[:where(&)]:p-6 [:where(&)]:rounded-xl', + 'sm' => '[:where(&)]:p-4 [:where(&)]:rounded-lg', + }) + ; +@endphp + +
class($classes) }} data-flux-card> + {{ $slot }} +
diff --git a/resources/views/flux/chart/area.blade.php b/resources/views/flux/chart/area.blade.php new file mode 100644 index 0000000..8753da4 --- /dev/null +++ b/resources/views/flux/chart/area.blade.php @@ -0,0 +1,9 @@ +@aware(['field']) + +@props([ + 'field' => 'value', +]) + + diff --git a/resources/views/flux/chart/axis/grid.blade.php b/resources/views/flux/chart/axis/grid.blade.php new file mode 100644 index 0000000..c01c7c7 --- /dev/null +++ b/resources/views/flux/chart/axis/grid.blade.php @@ -0,0 +1,21 @@ +@aware(['axis' => 'x']) + +@if ($axis === 'x') + +@else + +@endif diff --git a/resources/views/flux/chart/axis/index.blade.php b/resources/views/flux/chart/axis/index.blade.php new file mode 100644 index 0000000..2f93537 --- /dev/null +++ b/resources/views/flux/chart/axis/index.blade.php @@ -0,0 +1,23 @@ +@props([ + 'axis' => 'x', + 'format' => null, + 'field' => 'index', + 'position' => null, + 'tickValues' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; + +$field ??= $axis === 'x' ? 'date' : $field; +@endphp + + \ No newline at end of file diff --git a/resources/views/flux/chart/axis/line.blade.php b/resources/views/flux/chart/axis/line.blade.php new file mode 100644 index 0000000..85da3cf --- /dev/null +++ b/resources/views/flux/chart/axis/line.blade.php @@ -0,0 +1,23 @@ +@aware(['axis' => 'x']) + +@if ($axis === 'x') + +@else + +@endif \ No newline at end of file diff --git a/resources/views/flux/chart/axis/mark.blade.php b/resources/views/flux/chart/axis/mark.blade.php new file mode 100644 index 0000000..3a38921 --- /dev/null +++ b/resources/views/flux/chart/axis/mark.blade.php @@ -0,0 +1,31 @@ +@aware(['axis' => 'x', 'position' => null]) + +@if ($axis === 'x') + +@else + +@endif \ No newline at end of file diff --git a/resources/views/flux/chart/axis/tick.blade.php b/resources/views/flux/chart/axis/tick.blade.php new file mode 100644 index 0000000..764ff38 --- /dev/null +++ b/resources/views/flux/chart/axis/tick.blade.php @@ -0,0 +1,35 @@ +@aware(['axis' => 'x', 'position' => null ]) + +@props([ + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + +@if ($axis === 'x') + +@else + +@endif \ No newline at end of file diff --git a/resources/views/flux/chart/cursor.blade.php b/resources/views/flux/chart/cursor.blade.php new file mode 100644 index 0000000..5bd9991 --- /dev/null +++ b/resources/views/flux/chart/cursor.blade.php @@ -0,0 +1,10 @@ + + diff --git a/resources/views/flux/chart/index.blade.php b/resources/views/flux/chart/index.blade.php new file mode 100644 index 0000000..2500808 --- /dev/null +++ b/resources/views/flux/chart/index.blade.php @@ -0,0 +1,16 @@ +@props([ + 'tooltip' => null, + 'summary' => null, + 'value' => null, + 'svg' => null, +]) + +@php +$classes = Flux::classes('block [:where(&)]:relative'); + +$value = is_array($value) ? \Illuminate\Support\Js::encode($value) : $value; +@endphp + +class($classes) }} wire:ignore.children @if ($value) value="{{ $value }}" @endif> + {{ $slot }} + diff --git a/resources/views/flux/chart/legend/index.blade.php b/resources/views/flux/chart/legend/index.blade.php new file mode 100644 index 0000000..fddc2f6 --- /dev/null +++ b/resources/views/flux/chart/legend/index.blade.php @@ -0,0 +1,19 @@ +@props([ + 'label' => null, + 'field' => null, + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + +
class(['flex items-center gap-2 p-2']) }}> + {{ $slot }} + + @if (is_string($label) && $label !== '') +
{{ $label }}
+ @elseif ($label) + {{ $label }} + @endif +
\ No newline at end of file diff --git a/resources/views/flux/chart/legend/indicator.blade.php b/resources/views/flux/chart/legend/indicator.blade.php new file mode 100644 index 0000000..b7b2616 --- /dev/null +++ b/resources/views/flux/chart/legend/indicator.blade.php @@ -0,0 +1,3 @@ + + +
class('size-2.5 rounded-full') }}>
diff --git a/resources/views/flux/chart/line.blade.php b/resources/views/flux/chart/line.blade.php new file mode 100644 index 0000000..b283a73 --- /dev/null +++ b/resources/views/flux/chart/line.blade.php @@ -0,0 +1,14 @@ + +@props([ + 'field' => 'value', +]) + + diff --git a/resources/views/flux/chart/point.blade.php b/resources/views/flux/chart/point.blade.php new file mode 100644 index 0000000..5af51cc --- /dev/null +++ b/resources/views/flux/chart/point.blade.php @@ -0,0 +1,12 @@ + +@props([ + 'field' => 'value', +]) + + diff --git a/resources/views/flux/chart/summary/index.blade.php b/resources/views/flux/chart/summary/index.blade.php new file mode 100644 index 0000000..bd01522 --- /dev/null +++ b/resources/views/flux/chart/summary/index.blade.php @@ -0,0 +1,6 @@ + + diff --git a/resources/views/flux/chart/summary/value.blade.php b/resources/views/flux/chart/summary/value.blade.php new file mode 100644 index 0000000..678503d --- /dev/null +++ b/resources/views/flux/chart/summary/value.blade.php @@ -0,0 +1,13 @@ +@props([ + 'field' => null, + 'format' => null, + 'fallback' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + + + + diff --git a/resources/views/flux/chart/svg.blade.php b/resources/views/flux/chart/svg.blade.php new file mode 100644 index 0000000..1580c96 --- /dev/null +++ b/resources/views/flux/chart/svg.blade.php @@ -0,0 +1,9 @@ +@props([ + 'gutter' => null, +]) + + \ No newline at end of file diff --git a/resources/views/flux/chart/tooltip/heading.blade.php b/resources/views/flux/chart/tooltip/heading.blade.php new file mode 100644 index 0000000..305f711 --- /dev/null +++ b/resources/views/flux/chart/tooltip/heading.blade.php @@ -0,0 +1,15 @@ +@props([ + 'field' => 'date', + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + +
class([ + 'bg-zinc-50 border-b border-zinc-200 dark:bg-zinc-600 dark:border-zinc-500 flex justify-between items-center p-2', + 'text-xs font-medium [:where(&)]:text-zinc-800 dark:[:where(&)]:text-zinc-100' + ]) }}> + +
diff --git a/resources/views/flux/chart/tooltip/index.blade.php b/resources/views/flux/chart/tooltip/index.blade.php new file mode 100644 index 0000000..eb52bf8 --- /dev/null +++ b/resources/views/flux/chart/tooltip/index.blade.php @@ -0,0 +1,17 @@ +@props([ + 'field' => null, + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; + +$classes = Flux::classes() + ->add('opacity-0 data-active:opacity-100 absolute flex flex-col rounded-lg overflow-hidden shadow-lg border border-zinc-200 bg-white dark:border-zinc-500 dark:bg-zinc-700'); +@endphp + + \ No newline at end of file diff --git a/resources/views/flux/chart/tooltip/value.blade.php b/resources/views/flux/chart/tooltip/value.blade.php new file mode 100644 index 0000000..a6da680 --- /dev/null +++ b/resources/views/flux/chart/tooltip/value.blade.php @@ -0,0 +1,25 @@ +@props([ + 'label' => null, + 'field' => null, + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + +
class(['flex items-center gap-2 p-2 text-xs [:where(&)]:text-zinc-500 dark:[:where(&)]:text-zinc-300']) }}> + {{ $slot }} + + @if (is_string($label) && $label !== '') +
{{ $label }}
+ @elseif ($label) + {{ $label }} + @endif + + @if ($field) +
+ + + @endif +
\ No newline at end of file diff --git a/resources/views/flux/chart/value.blade.php b/resources/views/flux/chart/value.blade.php new file mode 100644 index 0000000..72120a8 --- /dev/null +++ b/resources/views/flux/chart/value.blade.php @@ -0,0 +1,12 @@ +@props([ + 'field' => null, + 'format' => null, +]) + +@php +$format = is_array($format) ? \Illuminate\Support\Js::encode($format) : $format; +@endphp + + + + diff --git a/resources/views/flux/chart/viewport.blade.php b/resources/views/flux/chart/viewport.blade.php new file mode 100644 index 0000000..bd4aefc --- /dev/null +++ b/resources/views/flux/chart/viewport.blade.php @@ -0,0 +1,4 @@ + +
class('[:where(&)]:relative') }}> + {{ $slot }} +
\ No newline at end of file diff --git a/resources/views/flux/chart/zero-line.blade.php b/resources/views/flux/chart/zero-line.blade.php new file mode 100644 index 0000000..9912bb7 --- /dev/null +++ b/resources/views/flux/chart/zero-line.blade.php @@ -0,0 +1,15 @@ +@aware(['axis' => 'x']) + + \ No newline at end of file diff --git a/resources/views/flux/checkbox/all.blade.php b/resources/views/flux/checkbox/all.blade.php new file mode 100644 index 0000000..72a78b7 --- /dev/null +++ b/resources/views/flux/checkbox/all.blade.php @@ -0,0 +1,2 @@ + + diff --git a/resources/views/flux/checkbox/group/index.blade.php b/resources/views/flux/checkbox/group/index.blade.php new file mode 100644 index 0000000..b91a1a5 --- /dev/null +++ b/resources/views/flux/checkbox/group/index.blade.php @@ -0,0 +1,5 @@ +@props([ + 'variant' => 'default', +]) + +{{ $slot }} diff --git a/resources/views/flux/checkbox/group/variants/buttons.blade.php b/resources/views/flux/checkbox/group/variants/buttons.blade.php new file mode 100644 index 0000000..c927458 --- /dev/null +++ b/resources/views/flux/checkbox/group/variants/buttons.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex flex-wrap gap-2') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-checkbox-group-buttons> + {{ $slot }} + + diff --git a/resources/views/flux/checkbox/group/variants/cards.blade.php b/resources/views/flux/checkbox/group/variants/cards.blade.php new file mode 100644 index 0000000..ce1c92e --- /dev/null +++ b/resources/views/flux/checkbox/group/variants/cards.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex gap-3') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-checkbox-group-cards> + {{ $slot }} + + diff --git a/resources/views/flux/checkbox/group/variants/default.blade.php b/resources/views/flux/checkbox/group/variants/default.blade.php new file mode 100644 index 0000000..9612cb0 --- /dev/null +++ b/resources/views/flux/checkbox/group/variants/default.blade.php @@ -0,0 +1,22 @@ +@php +$classes = Flux::classes() + ->add('*:data-flux-field:mb-3') + ->add('[&>[data-flux-field]:has(>[data-flux-description])]:mb-4') + ->add('[&>[data-flux-field]:last-child]:mb-0!') + ; + +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} +@endphp + + + class($classes) }} data-flux-checkbox-group> + {{ $slot }} + + diff --git a/resources/views/flux/checkbox/group/variants/pills.blade.php b/resources/views/flux/checkbox/group/variants/pills.blade.php new file mode 100644 index 0000000..2b33f7f --- /dev/null +++ b/resources/views/flux/checkbox/group/variants/pills.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex flex-wrap gap-3') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-checkbox-group-pills> + {{ $slot }} + + diff --git a/resources/views/flux/checkbox/index.blade.php b/resources/views/flux/checkbox/index.blade.php new file mode 100644 index 0000000..2fddc79 --- /dev/null +++ b/resources/views/flux/checkbox/index.blade.php @@ -0,0 +1,14 @@ +@aware([ 'variant' ]) + +@props([ + 'variant' => 'default', +]) + +@php +// This prevents variants picked up by `@aware()` from other wrapping components like flux::modal from being used here... +$variant = $variant !== 'default' && Flux::componentExists('checkbox.variants.' . $variant) + ? $variant + : 'default'; +@endphp + +{{ $slot }} diff --git a/resources/views/flux/checkbox/indicator.blade.php b/resources/views/flux/checkbox/indicator.blade.php new file mode 100644 index 0000000..ca260ef --- /dev/null +++ b/resources/views/flux/checkbox/indicator.blade.php @@ -0,0 +1,31 @@ + +@php +$classes = Flux::classes() + ->add('shrink-0 size-[1.125rem] rounded-[.3rem] flex justify-center items-center') + ->add('text-sm text-zinc-700 dark:text-zinc-800') + ->add('shadow-xs [ui-checkbox[disabled]_&]:opacity-75 [ui-checkbox[data-checked][disabled]_&]:opacity-50 [ui-checkbox[disabled]_&]:shadow-none [ui-checkbox[data-checked]_&]:shadow-none [ui-checkbox[data-indeterminate]_&]:shadow-none') + ->add('[ui-checkbox[data-checked]:not([data-indeterminate])_&>svg:first-child]:block [ui-checkbox[data-indeterminate]_&>svg:last-child]:block') + ->add([ + 'border', + 'border-zinc-300 dark:border-white/10', + '[ui-checkbox[disabled]_&]:border-zinc-200 dark:[ui-checkbox[disabled]_&]:border-white/5', + '[ui-checkbox[data-checked]_&]:border-transparent [ui-checkbox[data-indeterminate]_&]:border-transparent', + '[ui-checkbox[disabled][data-checked]_&]:border-transparent [ui-checkbox[disabled][data-indeterminate]_&]:border-transparent', + '[print-color-adjust:exact]', + ]) + ->add([ + 'bg-white dark:bg-white/10', + '[ui-checkbox[data-checked]_&]:bg-[var(--color-accent)]', + 'hover:[ui-checkbox[data-checked]_&]:bg-(--color-accent)', + 'focus:[ui-checkbox[data-checked]_&]:bg-(--color-accent)', + '[ui-checkbox[data-indeterminate]_&]:bg-[var(--color-accent)]', + 'hover:[ui-checkbox[data-indeterminate]_&]:bg-(--color-accent)', + 'focus:[ui-checkbox[data-indeterminate]_&]:bg-(--color-accent)', + ]) + ; +@endphp + +
class($classes) }} data-flux-checkbox-indicator> +
diff --git a/resources/views/flux/checkbox/variants/buttons.blade.php b/resources/views/flux/checkbox/variants/buttons.blade.php new file mode 100644 index 0000000..de66a92 --- /dev/null +++ b/resources/views/flux/checkbox/variants/buttons.blade.php @@ -0,0 +1,65 @@ +@props([ + 'accent' => true, + 'size' => 'base', + 'label' => null, + 'icon' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex relative items-center font-medium justify-center gap-2 whitespace-nowrap') + ->add(match ($size) { + 'base' => 'h-10 text-sm rounded-lg px-4 [&:has(>:not(span):first-child)]:ps-3 [&:has(>:not(span):last-child)]:pe-3', + 'sm' => 'h-8 text-sm rounded-md px-3', + 'xs' => 'h-6 text-xs rounded-md px-2', + }) + ->add(match ($size) { + 'base' => 'shadow-xs', + 'sm' => 'shadow-xs', + 'xs' => 'shadow-none', + }) + ->add('text-zinc-800 dark:text-white') + ->add('bg-white dark:bg-zinc-700') + ->add('after:absolute after:-inset-px after:rounded-lg') + ->add('border border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600') + ->add([ + '[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_97.5%)]', + '[--haze-border:color-mix(in_oklab,_var(--color-accent-content),_transparent_80%)]', + '[--haze-light:color-mix(in_oklab,_var(--color-accent),_transparent_98%)]', + 'dark:[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)]', + ]) + ->add(match ($accent) { + true => [ + 'hover:border-[var(--haze-border)] dark:hover:border-zinc-500', + 'dark:data-checked:bg-white/15 data-checked:border-(--color-accent) hover:data-checked:border-(--color-accent)', + 'hover:after:bg-[var(--haze-light)] dark:hover:after:bg-white/[4%] data-checked:after:bg-(--haze) hover:data-checked:after:bg-(--haze)', + ], + false => [ + 'hover:border-zinc-200 dark:hover:border-zinc-500', + 'data-checked:bg-zinc-50 dark:data-checked:bg-white/15 data-checked:border-zinc-800 dark:data-checked:border-white', + 'hover:bg-zinc-50 dark:hover:bg-zinc-600/75', + ], + }) + ->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none') + ; + +$iconAttributes = Flux::attributesAfter('icon:', $attributes, [ + 'class' => 'text-zinc-300 dark:text-zinc-400 in-data-checked:text-zinc-800 dark:in-data-checked:text-white', + 'variant' => 'micro', +]); +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-checkbox-buttons tabindex="-1" data-flux-field> + + + + {{ $icon }} + + + @if ($label || $slot->isNotEmpty()) + {{ $label ?? $slot }} + @endif + diff --git a/resources/views/flux/checkbox/variants/cards.blade.php b/resources/views/flux/checkbox/variants/cards.blade.php new file mode 100644 index 0000000..4ec7b1b --- /dev/null +++ b/resources/views/flux/checkbox/variants/cards.blade.php @@ -0,0 +1,76 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@aware([ 'indicator' ]) + +@props([ + 'iconVariant' => 'micro', + 'description' => null, + 'indicator' => true, + 'accent' => true, + 'label' => null, + 'icon' => null, +]) + +@php + +$iconClasses = Flux::classes() + ->add('inline-block mt-0.5 text-zinc-400 [ui-checkbox[data-checked]_&]:text-zinc-800 dark:[ui-checkbox[data-checked]_&]:text-white') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-4' : '') + ; + +$classes = Flux::classes() + ->add('relative flex justify-between gap-3 flex-1 p-4') + ->add('rounded-lg shadow-xs') + ->add('bg-white dark:bg-white/10 dark:hover:bg-white/15 dark:data-checked:bg-white/15') + ->add('after:absolute after:-inset-px after:rounded-lg') + ->add('border border-zinc-800/15 dark:border-white/10') + ->add([ + '[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_97.5%)]', + '[--haze-border:color-mix(in_oklab,_var(--color-accent-content),_transparent_80%)]', + '[--haze-light:color-mix(in_oklab,_var(--color-accent),_transparent_98%)]', + 'dark:[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)]', + ]) + ->add(match ($accent) { + true => [ + '[&:hover_[data-flux-checkbox-indicator]]:border-[var(--haze-border)] dark:[&:hover_[data-flux-checkbox-indicator]]:border-white/10', + 'hover:border-[var(--haze-border)] dark:hover:border-white/10', + + 'data-checked:border-(--color-accent) hover:data-checked:border-(--color-accent) dark:data-checked:bg-white/15 ', + 'hover:after:bg-[var(--haze-light)] dark:hover:after:bg-white/[4%] data-checked:after:bg-(--haze) hover:data-checked:after:bg-(--haze)', + ], + false => [ + 'data-checked:bg-zinc-50 dark:data-checked:bg-white/15 data-checked:border-zinc-800 dark:data-checked:border-white', + 'hover:bg-zinc-50 dark:hover:bg-white/15', + ], + }) + ->add('[&[disabled]]:opacity-50 dark:[&[disabled]]:opacity-75 [&[disabled]]:cursor-default [&[disabled]]:pointer-events-none') + ; +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-checkbox-cards tabindex="-1" data-flux-field> + +
+ + + + {{ $icon }} + + +
+ {{ $label ?? $slot }} + + + {{ $description }} + +
+
+ + + + {{ $slot }} + +
diff --git a/resources/views/flux/checkbox/variants/default.blade.php b/resources/views/flux/checkbox/variants/default.blade.php new file mode 100644 index 0000000..601975a --- /dev/null +++ b/resources/views/flux/checkbox/variants/default.blade.php @@ -0,0 +1,23 @@ +@props([ + 'name' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex size-[1.125rem] rounded-[.3rem] mt-px outline-offset-2') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-control data-flux-checkbox> + + + diff --git a/resources/views/flux/checkbox/variants/pills.blade.php b/resources/views/flux/checkbox/variants/pills.blade.php new file mode 100644 index 0000000..23d69b5 --- /dev/null +++ b/resources/views/flux/checkbox/variants/pills.blade.php @@ -0,0 +1,27 @@ +@props([ + 'accent' => true, + 'label' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex whitespace-nowrap gap-2 items-center py-1 px-2 rounded-full text-sm font-medium leading-4') + ->add('bg-zinc-800/6 dark:bg-white/10 hover:bg-zinc-800/10 dark:hover:bg-white/15 text-zinc-800 hover:text-zinc-800 dark:text-white/70 dark:hover:text-white') + ->add(match ($accent) { + true => 'data-checked:bg-(--color-accent) hover:data-checked:bg-(--color-accent)', + false => 'data-checked:bg-zinc-800 dark:data-checked:bg-white', + }) + ->add(match ($accent) { + true => 'data-checked:text-(--color-accent-foreground) hover:data-checked:text-(--color-accent-foreground)', + false => 'data-checked:text-white dark:data-checked:text-zinc-800', + }) + ->add('[&[disabled]]:opacity-50 dark:[&[disabled]]:opacity-75 [&[disabled]]:cursor-default [&[disabled]]:pointer-events-none') + ; +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-checkbox-pills tabindex="-1" data-flux-field> + {{ $label ?? $slot }} + diff --git a/resources/views/flux/command/empty.blade.php b/resources/views/flux/command/empty.blade.php new file mode 100644 index 0000000..0f75d08 --- /dev/null +++ b/resources/views/flux/command/empty.blade.php @@ -0,0 +1,8 @@ + + +
+
+ {{ $slot }} +
+
+
diff --git a/resources/views/flux/command/index.blade.php b/resources/views/flux/command/index.blade.php new file mode 100644 index 0000000..16c3908 --- /dev/null +++ b/resources/views/flux/command/index.blade.php @@ -0,0 +1,15 @@ +@props([ + 'placeholder' => null, +]) + +@php +$classes = Flux::classes() + ->add('w-full block rounded-xl overflow-hidden shadow-xs') + ->add('border border-zinc-200 dark:border-zinc-600') + ; +@endphp + +class($classes)->merge(['filter' => true]) }} data-flux-command> + {{ $slot }} + + diff --git a/resources/views/flux/command/input.blade.php b/resources/views/flux/command/input.blade.php new file mode 100644 index 0000000..9d291fd --- /dev/null +++ b/resources/views/flux/command/input.blade.php @@ -0,0 +1,49 @@ +@props([ + 'clearable' => null, + 'closable' => null, + 'icon' => 'magnifying-glass', +]) + +@php +$classes = Flux::classes() + ->add('h-12 w-full flex items-center px-3 py-2') + ->add('font-medium text-base sm:text-sm text-zinc-800 dark:text-white') + ->add('ps-11') // Make room for magnifying glass icon... + ->add(($closable || $clearable) ? 'pe-11' : '') // Make room for close/clear button... + ->add('outline-hidden') + ->add('border-b border-zinc-200 dark:border-zinc-600') + ->add('bg-white dark:bg-zinc-700') + // The below reverts styles added by Tailwind Forms plugin + ->add('border-t-0 border-s-0 border-e-0 focus:ring-0 focus:border-zinc-200 dark:focus:border-zinc-600') + ; +@endphp + +
+
+ + + + {{ $icon }} + +
+ + class($classes) }} /> + + +
+ + + + + +
+ +
+ + + +
+ +
diff --git a/resources/views/flux/command/item.blade.php b/resources/views/flux/command/item.blade.php new file mode 100644 index 0000000..fab3ae1 --- /dev/null +++ b/resources/views/flux/command/item.blade.php @@ -0,0 +1,36 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'outline', + 'icon' => null, + 'kbd' => null, +]) + +@php +$classes = Flux::classes() + ->add('w-full group/item data-hidden:hidden h-10 flex items-center px-2 py-1.5 focus:outline-hidden') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add('text-zinc-800 data-active:bg-zinc-100 dark:text-white dark:data-active:bg-zinc-600') + ; +@endphp + +class($classes) }} data-flux-command-item> + +
+ + + + {{ $icon }} + +
+ + + {{ $slot }} + + +
+ {{ $kbd }} +
+ +
diff --git a/resources/views/flux/command/items.blade.php b/resources/views/flux/command/items.blade.php new file mode 100644 index 0000000..8a11c47 --- /dev/null +++ b/resources/views/flux/command/items.blade.php @@ -0,0 +1,13 @@ +@php +$classes = Flux::classes() + ->add('p-[.3125rem]') + ->add('overflow-y-auto') + ->add('bg-white dark:bg-zinc-700') + ; +@endphp + +class($classes) }} data-flux-command-items> + {{ $slot }} + + {!! __('No results found') !!} + diff --git a/resources/views/flux/container.blade.php b/resources/views/flux/container.blade.php new file mode 100644 index 0000000..c804382 --- /dev/null +++ b/resources/views/flux/container.blade.php @@ -0,0 +1,9 @@ +@php +$classes = Flux::classes() + ->add('mx-auto w-full [:where(&)]:max-w-7xl px-6 lg:px-8') + ; +@endphp + +
class($classes) }} data-flux-container> + {{ $slot }} +
diff --git a/resources/views/flux/context.blade.php b/resources/views/flux/context.blade.php new file mode 100644 index 0000000..68dc815 --- /dev/null +++ b/resources/views/flux/context.blade.php @@ -0,0 +1,18 @@ +@props([ + 'position' => 'bottom end', +]) + +@php +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} +@endphp + + + {{ $slot }} + diff --git a/resources/views/flux/date-picker/button.blade.php b/resources/views/flux/date-picker/button.blade.php new file mode 100644 index 0000000..f3a24c8 --- /dev/null +++ b/resources/views/flux/date-picker/button.blade.php @@ -0,0 +1,54 @@ +@aware([ 'placeholder' ]) + +@props([ + 'placeholder' => null, + 'clearable' => null, + 'invalid' => false, + 'size' => null, +]) + +@php + +$classes = Flux::classes() + ->add('group/select-button cursor-default py-2') + ->add('overflow-hidden') // Overflow hidden is here to prevent the button from growing if the selected date text is too long. + ->add('flex items-center') + ->add('shadow-xs') + ->add('bg-white dark:bg-white/10 dark:disabled:bg-white/[7%]') + // Make the placeholder match the text color of standard input placeholders... + ->add('disabled:shadow-none') + ->add(match ($size) { + default => 'h-10 text-base sm:text-sm rounded-lg px-3 block w-full', + 'sm' => 'h-8 text-sm rounded-md ps-3 pe-2 block w-full', + 'xs' => 'h-6 text-xs rounded-md ps-3 pe-2 block w-full', + }) + ->add($invalid + ? 'border border-red-500' + : 'border border-zinc-200 border-b-zinc-300/80 dark:border-white/10' + ) + ; +@endphp + + diff --git a/resources/views/flux/date-picker/index.blade.php b/resources/views/flux/date-picker/index.blade.php new file mode 100644 index 0000000..7eb449f --- /dev/null +++ b/resources/views/flux/date-picker/index.blade.php @@ -0,0 +1,292 @@ +@props([ + 'selectableHeader' => null, + 'withConfirmation' => null, + 'weekNumbers' => null, + 'placeholder' => null, + 'withPresets' => null, + 'unavailable' => null, + 'withInputs' => null, + 'clearable' => null, + 'withToday' => null, + 'presets' => null, + 'trigger' => null, + 'invalid' => null, + 'months' => null, + 'value' => null, + 'size' => null, + 'name' => null, + 'mode' => null, +]) + +@php +// We only want to show the name attribute if it has been set manually +// but not if it has been set from the `wire:model` attribute... +$showName = isset($name); +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} + +$months = $months ?? ($mode === 'range' ? 2 : 1); + +$range = $mode === 'range'; + +$placeholder = $placeholder ?? ($range ? __('Select a date range') : __('Select a date')); + +// Mark it invalid if the property or any of it's nested attributes have errors... +$invalid ??= ($name && ($errors->has($name) || $errors->has($name . '.*'))); + +$class= Flux::classes() + ->add('block min-w-0') + // The below reverts styles added by Tailwind Forms plugin... + ->add('border-0 p-0 bg-transparent') + ; + +$sizeClasses = match ($size) { + '2xl' => $weekNumbers ? 'size-11 sm:size-14' : 'size-12 sm:size-12', + 'xl' => $weekNumbers ? 'size-11 sm:size-12' : 'size-12 sm:size-12', + 'lg' => $weekNumbers ? 'size-10 sm:size-11' : 'size-11 sm:size-11', + default => $weekNumbers ? 'size-10 sm:size-10' : 'size-11 sm:size-10', + 'sm' => $weekNumbers ? 'size-10 sm:size-9' : 'size-11 sm:size-9', +}; + +if ($withPresets) { + $presets = $presets ?? 'today yesterday thisWeek last7Days thisMonth yearToDate allTime'; +} + +$presetArrayOfStrings = (string) is_string($presets) ? explode(' ', $presets) : []; + +$presetArray = array_map(function ($preset) { + return Flux\DateRangePreset::from($preset); +}, $presetArrayOfStrings); + +// Add support for `$value` being an array, if for example it's coming from +// the `old()` helper or if a user prefers to pass data in as an array... +if (is_array($value)) { + $value = match (true) { + $mode === 'range' => isset($value['start']) && isset($value['end']) ? $value['start'] . '/' . $value['end'] : null, + default => collect($value)->join(','), + }; +} + +if (isset($unavailable)) { + $unavailable = collect($unavailable)->implode(','); +} +@endphp + + + class($class) }} + data-flux-control + data-flux-date-picker + @if ($mode) mode="{{ $mode }}" @endif + months="1" + sm:months="{{ $months }}" + @if ($unavailable) unavailable="{{ $unavailable }}" @endif + @if ($showName) name="{{ $name }}" @endif + @if (isset($value)) value="{{ $value }}" @endif + > + + + + {{ $trigger }} + + + + + + + + @foreach ($presetArray as $preset) + {{ $preset->label() }} + @endforeach + + + +
+ + + + + +
+
{{ __('Start') }}
+
{{ __('End') }}
+
+ + + +
+ + +
+
+
+
+ + + + + + + + + +
+ +
+ + +
+ + + + + +
+
+ + + + + + + + + + + +
+
+
+
+ + + + + + + + + + + +
+ + {{ __('Cancel') }} + + + + + + {{ __('Select range') }} + + {{ __('Select date') }} + + + +
+
+
+
+
diff --git a/resources/views/flux/date-picker/input.blade.php b/resources/views/flux/date-picker/input.blade.php new file mode 100644 index 0000000..bd201b1 --- /dev/null +++ b/resources/views/flux/date-picker/input.blade.php @@ -0,0 +1,27 @@ +@aware([ 'placeholder' ]) + +@props([ + 'placeholder' => null, + 'clearable' => false, + 'invalid' => null, + 'size' => null, +]) + +{{-- For Firefox, we need to reset the inputs padding back to the default as if there is no trailing icon, so the native date input calendar icon is correctly positioned... --}} + + + +
+ +
+ + + {{-- Hide this button on Firefox because we can't get rid of the default date input calendar icon, so hide ours instead... --}} + + + + + {{-- Show this button only on Firefox as it's a clickable overlay that sits over the top of the default date input calendar icon to display our date picker... --}} + +
+
diff --git a/resources/views/flux/date-picker/selected.blade.php b/resources/views/flux/date-picker/selected.blade.php new file mode 100644 index 0000000..3f3461e --- /dev/null +++ b/resources/views/flux/date-picker/selected.blade.php @@ -0,0 +1,15 @@ +@props([ + 'placeholder' => null, +]) + + + + + + \ No newline at end of file diff --git a/resources/views/flux/description.blade.php b/resources/views/flux/description.blade.php new file mode 100644 index 0000000..d01bb28 --- /dev/null +++ b/resources/views/flux/description.blade.php @@ -0,0 +1,4 @@ + +class('text-sm text-zinc-500 dark:text-white/60') }} data-flux-description> + {{ $slot }} + diff --git a/resources/views/flux/dropdown.blade.php b/resources/views/flux/dropdown.blade.php new file mode 100644 index 0000000..2c6f798 --- /dev/null +++ b/resources/views/flux/dropdown.blade.php @@ -0,0 +1,19 @@ +@props([ + 'position' => 'bottom', + 'align' => 'start', +]) + +@php +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} +@endphp + + + {{ $slot }} + diff --git a/resources/views/flux/editor/align.blade.php b/resources/views/flux/editor/align.blade.php new file mode 100644 index 0000000..8c9f2ea --- /dev/null +++ b/resources/views/flux/editor/align.blade.php @@ -0,0 +1,33 @@ +@props([ + 'kbd' => null, +]) + + + + + + +
{{ __('Left') }}
+
+ + +
+
+ + + + +
{{ __('Left') }}
+
+ + + +
{{ __('Center') }}
+
+ + + +
{{ __('Right') }}
+
+
+
diff --git a/resources/views/flux/editor/blockquote.blade.php b/resources/views/flux/editor/blockquote.blade.php new file mode 100644 index 0000000..dd877bd --- /dev/null +++ b/resources/views/flux/editor/blockquote.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘+Shift+B', +]) + + + + + + diff --git a/resources/views/flux/editor/bold.blade.php b/resources/views/flux/editor/bold.blade.php new file mode 100644 index 0000000..8027909 --- /dev/null +++ b/resources/views/flux/editor/bold.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘B', +]) + + + + + + diff --git a/resources/views/flux/editor/bullet.blade.php b/resources/views/flux/editor/bullet.blade.php new file mode 100644 index 0000000..26ec6b2 --- /dev/null +++ b/resources/views/flux/editor/bullet.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => null, +]) + + + + + + diff --git a/resources/views/flux/editor/button.blade.php b/resources/views/flux/editor/button.blade.php new file mode 100644 index 0000000..013712c --- /dev/null +++ b/resources/views/flux/editor/button.blade.php @@ -0,0 +1,34 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => null, + 'icon' => null, +]) + +@php +$iconClasses = Flux::classes() + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? ($slot->isEmpty() ? 'size-5' : 'size-4') : '') + ; + +$classes = Flux::classes() + ->add('p-0.5 flex items-center justify-center text-sm font-medium rounded-sm touch-manipulation') + ->add('text-zinc-400 data-open:text-zinc-800 hover:text-zinc-800 focus:text-zinc-800 data-match:text-zinc-800') + ->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none') + ->add('dark:text-zinc-400 dark:data-open:text-white dark:hover:text-white dark:focus:text-white dark:data-match:text-white') + ->add('hover:bg-zinc-200 hover:text-zinc-800') + ->add('dark:hover:bg-white/10 dark:hover:text-white') +; +@endphp + + + + diff --git a/resources/views/flux/editor/code.blade.php b/resources/views/flux/editor/code.blade.php new file mode 100644 index 0000000..700c620 --- /dev/null +++ b/resources/views/flux/editor/code.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘E', +]) + + + + + + diff --git a/resources/views/flux/editor/content.blade.php b/resources/views/flux/editor/content.blade.php new file mode 100644 index 0000000..2f3f9f0 --- /dev/null +++ b/resources/views/flux/editor/content.blade.php @@ -0,0 +1,2 @@ + +{{ $slot }} diff --git a/resources/views/flux/editor/heading.blade.php b/resources/views/flux/editor/heading.blade.php new file mode 100644 index 0000000..2751599 --- /dev/null +++ b/resources/views/flux/editor/heading.blade.php @@ -0,0 +1,38 @@ +@props([ + 'kbd' => null, +]) + + + + + + +
{{ __('Text') }}
+
+ + +
+
+ + + + +
{{ __('Text') }}
+
+ + + +
{{ __('Heading 1') }}
+
+ + + +
{{ __('Heading 2') }}
+
+ + + +
{{ __('Heading 3') }}
+
+
+
diff --git a/resources/views/flux/editor/highlight.blade.php b/resources/views/flux/editor/highlight.blade.php new file mode 100644 index 0000000..12f3558 --- /dev/null +++ b/resources/views/flux/editor/highlight.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => null, +]) + + + + + + diff --git a/resources/views/flux/editor/index.blade.php b/resources/views/flux/editor/index.blade.php new file mode 100644 index 0000000..fc1baea --- /dev/null +++ b/resources/views/flux/editor/index.blade.php @@ -0,0 +1,44 @@ +@props([ + 'toolbar' => null, + 'invalid' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$invalid ??= ($name && $errors->has($name)); + +$classes = Flux::classes() + ->add('block w-full') + ->add('shadow-xs [&[disabled]]:shadow-none border rounded-lg') + ->add('bg-white dark:bg-white/10 dark:[&[disabled]]:bg-white/[7%]') + ->add('**:data-[slot=content]:text-base! sm:**:data-[slot=content]:text-sm!') + ->add('**:data-[slot=content]:text-zinc-700 dark:**:data-[slot=content]:text-zinc-300') + ->add('[&[disabled]_[data-slot=content]]:text-zinc-500 dark:[&[disabled]_[data-slot=content]]:text-zinc-400') + ->add($invalid ? 'border-red-500' : 'border-zinc-200 border-b-zinc-300/80 dark:border-white/10') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif aria-label="{{ __('Rich text editor') }}" data-flux-control data-flux-editor> + isEmpty()): ?> + + + + + {{ $slot }} + + + + +@assets + + +@endassets diff --git a/resources/views/flux/editor/italic.blade.php b/resources/views/flux/editor/italic.blade.php new file mode 100644 index 0000000..91ec4c6 --- /dev/null +++ b/resources/views/flux/editor/italic.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘I', +]) + + + + + + diff --git a/resources/views/flux/editor/link.blade.php b/resources/views/flux/editor/link.blade.php new file mode 100644 index 0000000..22c3266 --- /dev/null +++ b/resources/views/flux/editor/link.blade.php @@ -0,0 +1,31 @@ +@props([ + 'kbd' => '⌘K', +]) + + + + + + + + +
+
+ + +
+ + + + + + + +
+
+
+
diff --git a/resources/views/flux/editor/option.blade.php b/resources/views/flux/editor/option.blade.php new file mode 100644 index 0000000..afd3918 --- /dev/null +++ b/resources/views/flux/editor/option.blade.php @@ -0,0 +1,4 @@ + + + {{ $slot }} + diff --git a/resources/views/flux/editor/ordered.blade.php b/resources/views/flux/editor/ordered.blade.php new file mode 100644 index 0000000..0d4e175 --- /dev/null +++ b/resources/views/flux/editor/ordered.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => null, +]) + + + + + + diff --git a/resources/views/flux/editor/redo.blade.php b/resources/views/flux/editor/redo.blade.php new file mode 100644 index 0000000..dc8c747 --- /dev/null +++ b/resources/views/flux/editor/redo.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘+Shift+Z', +]) + + + + + + diff --git a/resources/views/flux/editor/scripts.blade.php b/resources/views/flux/editor/scripts.blade.php new file mode 100644 index 0000000..ffb0a9a --- /dev/null +++ b/resources/views/flux/editor/scripts.blade.php @@ -0,0 +1,2 @@ + +{!! app('flux')->editorScripts() !!} diff --git a/resources/views/flux/editor/separator.blade.php b/resources/views/flux/editor/separator.blade.php new file mode 100644 index 0000000..949e430 --- /dev/null +++ b/resources/views/flux/editor/separator.blade.php @@ -0,0 +1,2 @@ + +
diff --git a/resources/views/flux/editor/spacer.blade.php b/resources/views/flux/editor/spacer.blade.php new file mode 100644 index 0000000..7253259 --- /dev/null +++ b/resources/views/flux/editor/spacer.blade.php @@ -0,0 +1,2 @@ + +
diff --git a/resources/views/flux/editor/strike.blade.php b/resources/views/flux/editor/strike.blade.php new file mode 100644 index 0000000..d149cd3 --- /dev/null +++ b/resources/views/flux/editor/strike.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘+Shift+S', +]) + + + + + + diff --git a/resources/views/flux/editor/styles.blade.php b/resources/views/flux/editor/styles.blade.php new file mode 100644 index 0000000..6f6c56d --- /dev/null +++ b/resources/views/flux/editor/styles.blade.php @@ -0,0 +1,2 @@ + +{!! app('flux')->editorStyles() !!} diff --git a/resources/views/flux/editor/subscript.blade.php b/resources/views/flux/editor/subscript.blade.php new file mode 100644 index 0000000..4c25c55 --- /dev/null +++ b/resources/views/flux/editor/subscript.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => null, +]) + + + + + + diff --git a/resources/views/flux/editor/superscript.blade.php b/resources/views/flux/editor/superscript.blade.php new file mode 100644 index 0000000..9ef50df --- /dev/null +++ b/resources/views/flux/editor/superscript.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => null, +]) + + + + + + diff --git a/resources/views/flux/editor/toolbar.blade.php b/resources/views/flux/editor/toolbar.blade.php new file mode 100644 index 0000000..d50d4f6 --- /dev/null +++ b/resources/views/flux/editor/toolbar.blade.php @@ -0,0 +1,41 @@ +@props([ + 'items' => null, +]) + +@php +$classes = Flux::classes() + ->add('block overflow-x-auto border-b border-zinc-200 dark:border-white/10 bg-zinc-50 rounded-t-[calc(0.5rem-1px)] w-full') + ->add('dark:bg-white/[6%]') + ->add('dark:border-white/5') +; +@endphp + +class($classes) }} wire:ignore aria-label="{{ __('Formatting') }}"> +
+ isNotEmpty()): ?> + {{ $slot }} + + + explode(' ') as $item): ?> + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/resources/views/flux/editor/underline.blade.php b/resources/views/flux/editor/underline.blade.php new file mode 100644 index 0000000..53ec05b --- /dev/null +++ b/resources/views/flux/editor/underline.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘U', +]) + + + + + + diff --git a/resources/views/flux/editor/undo.blade.php b/resources/views/flux/editor/undo.blade.php new file mode 100644 index 0000000..46265c5 --- /dev/null +++ b/resources/views/flux/editor/undo.blade.php @@ -0,0 +1,9 @@ +@props([ + 'kbd' => '⌘Z', +]) + + + + + + diff --git a/resources/views/flux/error.blade.php b/resources/views/flux/error.blade.php new file mode 100644 index 0000000..f3d3eb6 --- /dev/null +++ b/resources/views/flux/error.blade.php @@ -0,0 +1,26 @@ +@props([ + 'name' => null, + 'message' => null, + 'nested' => true, + 'bag' => 'default', +]) + +@php +$errorBag = $errors->getBag($bag); +$message ??= $name ? $errorBag->first($name) : null; + +if ($name && (is_null($message) || $message === '') && filter_var($nested, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) !== false) { + $message = $errorBag->first($name . '.*'); +} + +$classes = Flux::classes('mt-3 text-sm font-medium text-red-500 dark:text-red-400') + ->add($message ? '' : 'hidden'); +@endphp + +
class($classes) }} data-flux-error> + + + + {{ $message }} + +
diff --git a/resources/views/flux/field.blade.php b/resources/views/flux/field.blade.php new file mode 100644 index 0000000..c526b29 --- /dev/null +++ b/resources/views/flux/field.blade.php @@ -0,0 +1,40 @@ +@props([ + 'variant' => 'block', +]) + +@php +$classes = Flux::classes() + ->add('min-w-0') // This is here to allow nested input elements like flux::input.file to truncate properly... + ->add('[&:not(:has([data-flux-field])):has([data-flux-control][disabled])>[data-flux-label]]:opacity-50') // Dim labels for fields with no nested fields when a control is disabled... + ->add('[&:has(>[data-flux-radio-group][disabled])>[data-flux-label]]:opacity-50') // Special case for radio groups because they are nested fields... + ->add('[&:has(>[data-flux-checkbox-group][disabled])>[data-flux-label]]:opacity-50') // Special case for checkbox groups because they are nested fields... + ->add(match ($variant) { + default => 'block', + 'inline' => [ + 'grid gap-x-3 gap-y-1.5', + 'has-[[data-flux-label]~[data-flux-control]]:grid-cols-[1fr_auto]', + 'has-[[data-flux-control]~[data-flux-label]]:grid-cols-[auto_1fr]', + '[&>[data-flux-control]~[data-flux-description]]:row-start-2 [&>[data-flux-control]~[data-flux-description]]:col-start-2', + '[&>[data-flux-control]~[data-flux-error]]:col-span-2 [&>[data-flux-control]~[data-flux-error]]:mt-1', // Position error messages... + '[&>[data-flux-label]~[data-flux-control]]:row-start-1 [&>[data-flux-label]~[data-flux-control]]:col-start-2', + ], + }) + ->add(match ($variant) { + default => [ // Adjust spacing around label... + '*:data-flux-label:mb-3 [&>[data-flux-label]:has(+[data-flux-description])]:mb-2', + ], + 'inline' => '', + }) + ->add(match ($variant) { + default => [ // Adjust spacing around description... + '[&>[data-flux-label]+[data-flux-description]]:mt-0', + '[&>[data-flux-label]+[data-flux-description]]:mb-3', + '[&>*:not([data-flux-label])+[data-flux-description]]:mt-3', + ], + 'inline' => '', + }); +@endphp + +class($classes) }} data-flux-field> + {{ $slot }} + diff --git a/resources/views/flux/fieldset.blade.php b/resources/views/flux/fieldset.blade.php new file mode 100644 index 0000000..7d27713 --- /dev/null +++ b/resources/views/flux/fieldset.blade.php @@ -0,0 +1,38 @@ +@props([ + 'legend' => null, + 'description' => null, +]) + +@php +$classes = Flux::classes() + ->add('[&[disabled]_[data-flux-label]]:opacity-50') // Dim labels when the fieldset is disabled... + ->add('[&[disabled]_[data-flux-legend]]:opacity-50') // Dim legend when the fieldset is disabled... + + // Adjust spacing between fields... + ->add('*:data-flux-field:mb-3') + + // Adjust spacing between fields... + ->add('*:data-flux-field:mb-3') + ->add('[&>[data-flux-field]:has(>[data-flux-description])]:mb-4') + ->add('[&>[data-flux-field]:last-child]:mb-0!') + + // Adjust spacing below legend... + ->add('[&>legend]:mb-4') + ->add('[&>legend:has(+[data-flux-description])]:mb-2') + + // Adjust spacing below description... + ->add('[&>legend+[data-flux-description]]:mb-4') + ; +@endphp + +
class($classes) }} data-flux-fieldset> + + {{ $legend }} + + + + {{ $description }} + + + {{ $slot }} +
diff --git a/resources/views/flux/footer.blade.php b/resources/views/flux/footer.blade.php new file mode 100644 index 0000000..e2e5523 --- /dev/null +++ b/resources/views/flux/footer.blade.php @@ -0,0 +1,11 @@ +@php +$classes = Flux::classes('[grid-area:footer]') + ->add($attributes->has('container') ? '' : 'p-6 lg:p-8') + ; +@endphp + +
class($classes) }} data-flux-footer> + + {{ $slot }} + +
diff --git a/resources/views/flux/header.blade.php b/resources/views/flux/header.blade.php new file mode 100644 index 0000000..9940d9b --- /dev/null +++ b/resources/views/flux/header.blade.php @@ -0,0 +1,28 @@ +@props([ + 'sticky' => null, + 'container' => null, +]) + +@php +$classes = Flux::classes('[grid-area:header]') + ->add('z-10 min-h-14') + ->add($container ? '' : 'flex items-center px-6 lg:px-8') + ; + +if ($sticky) { + $attributes = $attributes->merge([ + 'x-data' => '', + 'x-bind:style' => '{ position: \'sticky\', top: $el.offsetTop + \'px\', \'max-height\': \'calc(100vh - \' + $el.offsetTop + \'px)\' }', + ]); +} +@endphp + +
class($classes) }} data-flux-header> + @if ($container) +
+ {{ $slot }} +
+ @else + {{ $slot }} + @endif +
diff --git a/resources/views/flux/heading.blade.php b/resources/views/flux/heading.blade.php new file mode 100644 index 0000000..60fcced --- /dev/null +++ b/resources/views/flux/heading.blade.php @@ -0,0 +1,40 @@ +@props([ + 'size' => 'base', + 'accent' => false, + 'level' => null, +]) + +@php +$classes = Flux::classes() + ->add('font-medium') + ->add(match ($accent) { + true => 'text-[var(--color-accent-content)]', + default => '[:where(&)]:text-zinc-800 [:where(&)]:dark:text-white', + }) + ->add(match ($size) { + 'xl' => 'text-2xl [&:has(+[data-flux-subheading])]:mb-2 [[data-flux-subheading]+&]:mt-2', + 'lg' => 'text-base [&:has(+[data-flux-subheading])]:mb-2 [[data-flux-subheading]+&]:mt-2', + default => 'text-sm [&:has(+[data-flux-subheading])]:mb-2 [[data-flux-subheading]+&]:mt-2', + }) + ; +@endphp + + +

class($classes) }} data-flux-heading>{{ $slot }}

+ + @break + +

class($classes) }} data-flux-heading>{{ $slot }}

+ + @break + +

class($classes) }} data-flux-heading>{{ $slot }}

+ + @break + +

class($classes) }} data-flux-heading>{{ $slot }}

+ + @break + +
class($classes) }} data-flux-heading>{{ $slot }}
+ diff --git a/resources/views/flux/icon/academic-cap.blade.php b/resources/views/flux/icon/academic-cap.blade.php new file mode 100644 index 0000000..5e03b20 --- /dev/null +++ b/resources/views/flux/icon/academic-cap.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/adjustments-horizontal.blade.php b/resources/views/flux/icon/adjustments-horizontal.blade.php new file mode 100644 index 0000000..8d4cb37 --- /dev/null +++ b/resources/views/flux/icon/adjustments-horizontal.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/adjustments-vertical.blade.php b/resources/views/flux/icon/adjustments-vertical.blade.php new file mode 100644 index 0000000..dae23f6 --- /dev/null +++ b/resources/views/flux/icon/adjustments-vertical.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/archive-box-arrow-down.blade.php b/resources/views/flux/icon/archive-box-arrow-down.blade.php new file mode 100644 index 0000000..a4dfa81 --- /dev/null +++ b/resources/views/flux/icon/archive-box-arrow-down.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/archive-box-x-mark.blade.php b/resources/views/flux/icon/archive-box-x-mark.blade.php new file mode 100644 index 0000000..9949aed --- /dev/null +++ b/resources/views/flux/icon/archive-box-x-mark.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/archive-box.blade.php b/resources/views/flux/icon/archive-box.blade.php new file mode 100644 index 0000000..9c3c05c --- /dev/null +++ b/resources/views/flux/icon/archive-box.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-down-circle.blade.php b/resources/views/flux/icon/arrow-down-circle.blade.php new file mode 100644 index 0000000..42f45c9 --- /dev/null +++ b/resources/views/flux/icon/arrow-down-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-down-left.blade.php b/resources/views/flux/icon/arrow-down-left.blade.php new file mode 100644 index 0000000..717b91d --- /dev/null +++ b/resources/views/flux/icon/arrow-down-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-down-on-square-stack.blade.php b/resources/views/flux/icon/arrow-down-on-square-stack.blade.php new file mode 100644 index 0000000..c0dd86d --- /dev/null +++ b/resources/views/flux/icon/arrow-down-on-square-stack.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-down-on-square.blade.php b/resources/views/flux/icon/arrow-down-on-square.blade.php new file mode 100644 index 0000000..a1475b6 --- /dev/null +++ b/resources/views/flux/icon/arrow-down-on-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-down-right.blade.php b/resources/views/flux/icon/arrow-down-right.blade.php new file mode 100644 index 0000000..4143d88 --- /dev/null +++ b/resources/views/flux/icon/arrow-down-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-down-tray.blade.php b/resources/views/flux/icon/arrow-down-tray.blade.php new file mode 100644 index 0000000..b0a01aa --- /dev/null +++ b/resources/views/flux/icon/arrow-down-tray.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-down.blade.php b/resources/views/flux/icon/arrow-down.blade.php new file mode 100644 index 0000000..680134e --- /dev/null +++ b/resources/views/flux/icon/arrow-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-left-circle.blade.php b/resources/views/flux/icon/arrow-left-circle.blade.php new file mode 100644 index 0000000..df5ccc6 --- /dev/null +++ b/resources/views/flux/icon/arrow-left-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-left-end-on-rectangle.blade.php b/resources/views/flux/icon/arrow-left-end-on-rectangle.blade.php new file mode 100644 index 0000000..bfbe3fc --- /dev/null +++ b/resources/views/flux/icon/arrow-left-end-on-rectangle.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-left-start-on-rectangle.blade.php b/resources/views/flux/icon/arrow-left-start-on-rectangle.blade.php new file mode 100644 index 0000000..532239b --- /dev/null +++ b/resources/views/flux/icon/arrow-left-start-on-rectangle.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-left.blade.php b/resources/views/flux/icon/arrow-left.blade.php new file mode 100644 index 0000000..6aecedc --- /dev/null +++ b/resources/views/flux/icon/arrow-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-long-down.blade.php b/resources/views/flux/icon/arrow-long-down.blade.php new file mode 100644 index 0000000..4b28d29 --- /dev/null +++ b/resources/views/flux/icon/arrow-long-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-long-left.blade.php b/resources/views/flux/icon/arrow-long-left.blade.php new file mode 100644 index 0000000..261b79c --- /dev/null +++ b/resources/views/flux/icon/arrow-long-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-long-right.blade.php b/resources/views/flux/icon/arrow-long-right.blade.php new file mode 100644 index 0000000..bc0a5bd --- /dev/null +++ b/resources/views/flux/icon/arrow-long-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-long-up.blade.php b/resources/views/flux/icon/arrow-long-up.blade.php new file mode 100644 index 0000000..9685813 --- /dev/null +++ b/resources/views/flux/icon/arrow-long-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-path-rounded-square.blade.php b/resources/views/flux/icon/arrow-path-rounded-square.blade.php new file mode 100644 index 0000000..c412c82 --- /dev/null +++ b/resources/views/flux/icon/arrow-path-rounded-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-path.blade.php b/resources/views/flux/icon/arrow-path.blade.php new file mode 100644 index 0000000..99e8fc1 --- /dev/null +++ b/resources/views/flux/icon/arrow-path.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-right-circle.blade.php b/resources/views/flux/icon/arrow-right-circle.blade.php new file mode 100644 index 0000000..14e4ffd --- /dev/null +++ b/resources/views/flux/icon/arrow-right-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-right-end-on-rectangle.blade.php b/resources/views/flux/icon/arrow-right-end-on-rectangle.blade.php new file mode 100644 index 0000000..cc0d0ff --- /dev/null +++ b/resources/views/flux/icon/arrow-right-end-on-rectangle.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-right-start-on-rectangle.blade.php b/resources/views/flux/icon/arrow-right-start-on-rectangle.blade.php new file mode 100644 index 0000000..b714416 --- /dev/null +++ b/resources/views/flux/icon/arrow-right-start-on-rectangle.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-right.blade.php b/resources/views/flux/icon/arrow-right.blade.php new file mode 100644 index 0000000..609c0e3 --- /dev/null +++ b/resources/views/flux/icon/arrow-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-top-right-on-square.blade.php b/resources/views/flux/icon/arrow-top-right-on-square.blade.php new file mode 100644 index 0000000..c686905 --- /dev/null +++ b/resources/views/flux/icon/arrow-top-right-on-square.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-trending-down.blade.php b/resources/views/flux/icon/arrow-trending-down.blade.php new file mode 100644 index 0000000..586210b --- /dev/null +++ b/resources/views/flux/icon/arrow-trending-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-trending-up.blade.php b/resources/views/flux/icon/arrow-trending-up.blade.php new file mode 100644 index 0000000..3aa69f3 --- /dev/null +++ b/resources/views/flux/icon/arrow-trending-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-down-left.blade.php b/resources/views/flux/icon/arrow-turn-down-left.blade.php new file mode 100644 index 0000000..c4ff66e --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-down-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-down-right.blade.php b/resources/views/flux/icon/arrow-turn-down-right.blade.php new file mode 100644 index 0000000..a28217b --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-down-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-left-down.blade.php b/resources/views/flux/icon/arrow-turn-left-down.blade.php new file mode 100644 index 0000000..57ab796 --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-left-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-left-up.blade.php b/resources/views/flux/icon/arrow-turn-left-up.blade.php new file mode 100644 index 0000000..e1b5251 --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-left-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-right-down.blade.php b/resources/views/flux/icon/arrow-turn-right-down.blade.php new file mode 100644 index 0000000..294e7fe --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-right-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-right-up.blade.php b/resources/views/flux/icon/arrow-turn-right-up.blade.php new file mode 100644 index 0000000..c1cf59a --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-right-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-up-left.blade.php b/resources/views/flux/icon/arrow-turn-up-left.blade.php new file mode 100644 index 0000000..df5efbc --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-up-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-turn-up-right.blade.php b/resources/views/flux/icon/arrow-turn-up-right.blade.php new file mode 100644 index 0000000..3f58f4b --- /dev/null +++ b/resources/views/flux/icon/arrow-turn-up-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-up-circle.blade.php b/resources/views/flux/icon/arrow-up-circle.blade.php new file mode 100644 index 0000000..fded673 --- /dev/null +++ b/resources/views/flux/icon/arrow-up-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-up-left.blade.php b/resources/views/flux/icon/arrow-up-left.blade.php new file mode 100644 index 0000000..9a206c9 --- /dev/null +++ b/resources/views/flux/icon/arrow-up-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-up-on-square-stack.blade.php b/resources/views/flux/icon/arrow-up-on-square-stack.blade.php new file mode 100644 index 0000000..d35fd37 --- /dev/null +++ b/resources/views/flux/icon/arrow-up-on-square-stack.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-up-on-square.blade.php b/resources/views/flux/icon/arrow-up-on-square.blade.php new file mode 100644 index 0000000..5f960cb --- /dev/null +++ b/resources/views/flux/icon/arrow-up-on-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-up-right.blade.php b/resources/views/flux/icon/arrow-up-right.blade.php new file mode 100644 index 0000000..0651181 --- /dev/null +++ b/resources/views/flux/icon/arrow-up-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-up-tray.blade.php b/resources/views/flux/icon/arrow-up-tray.blade.php new file mode 100644 index 0000000..3bd2189 --- /dev/null +++ b/resources/views/flux/icon/arrow-up-tray.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/arrow-up.blade.php b/resources/views/flux/icon/arrow-up.blade.php new file mode 100644 index 0000000..09ee998 --- /dev/null +++ b/resources/views/flux/icon/arrow-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-uturn-down.blade.php b/resources/views/flux/icon/arrow-uturn-down.blade.php new file mode 100644 index 0000000..4226637 --- /dev/null +++ b/resources/views/flux/icon/arrow-uturn-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-uturn-left.blade.php b/resources/views/flux/icon/arrow-uturn-left.blade.php new file mode 100644 index 0000000..3d67193 --- /dev/null +++ b/resources/views/flux/icon/arrow-uturn-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-uturn-right.blade.php b/resources/views/flux/icon/arrow-uturn-right.blade.php new file mode 100644 index 0000000..095b929 --- /dev/null +++ b/resources/views/flux/icon/arrow-uturn-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrow-uturn-up.blade.php b/resources/views/flux/icon/arrow-uturn-up.blade.php new file mode 100644 index 0000000..780f3aa --- /dev/null +++ b/resources/views/flux/icon/arrow-uturn-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrows-pointing-in.blade.php b/resources/views/flux/icon/arrows-pointing-in.blade.php new file mode 100644 index 0000000..2788860 --- /dev/null +++ b/resources/views/flux/icon/arrows-pointing-in.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrows-pointing-out.blade.php b/resources/views/flux/icon/arrows-pointing-out.blade.php new file mode 100644 index 0000000..1feb5c6 --- /dev/null +++ b/resources/views/flux/icon/arrows-pointing-out.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrows-right-left.blade.php b/resources/views/flux/icon/arrows-right-left.blade.php new file mode 100644 index 0000000..7b3696f --- /dev/null +++ b/resources/views/flux/icon/arrows-right-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/arrows-up-down.blade.php b/resources/views/flux/icon/arrows-up-down.blade.php new file mode 100644 index 0000000..1359186 --- /dev/null +++ b/resources/views/flux/icon/arrows-up-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/at-symbol.blade.php b/resources/views/flux/icon/at-symbol.blade.php new file mode 100644 index 0000000..e2dde9d --- /dev/null +++ b/resources/views/flux/icon/at-symbol.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/backspace.blade.php b/resources/views/flux/icon/backspace.blade.php new file mode 100644 index 0000000..083f064 --- /dev/null +++ b/resources/views/flux/icon/backspace.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/backward.blade.php b/resources/views/flux/icon/backward.blade.php new file mode 100644 index 0000000..4ab3d1e --- /dev/null +++ b/resources/views/flux/icon/backward.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/banknotes.blade.php b/resources/views/flux/icon/banknotes.blade.php new file mode 100644 index 0000000..5fc4882 --- /dev/null +++ b/resources/views/flux/icon/banknotes.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/bars-2.blade.php b/resources/views/flux/icon/bars-2.blade.php new file mode 100644 index 0000000..da11205 --- /dev/null +++ b/resources/views/flux/icon/bars-2.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-3-bottom-left.blade.php b/resources/views/flux/icon/bars-3-bottom-left.blade.php new file mode 100644 index 0000000..4bac79d --- /dev/null +++ b/resources/views/flux/icon/bars-3-bottom-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-3-bottom-right.blade.php b/resources/views/flux/icon/bars-3-bottom-right.blade.php new file mode 100644 index 0000000..9d750f5 --- /dev/null +++ b/resources/views/flux/icon/bars-3-bottom-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-3-center-left.blade.php b/resources/views/flux/icon/bars-3-center-left.blade.php new file mode 100644 index 0000000..ebfc55a --- /dev/null +++ b/resources/views/flux/icon/bars-3-center-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-3.blade.php b/resources/views/flux/icon/bars-3.blade.php new file mode 100644 index 0000000..c7defe6 --- /dev/null +++ b/resources/views/flux/icon/bars-3.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-4.blade.php b/resources/views/flux/icon/bars-4.blade.php new file mode 100644 index 0000000..a67e274 --- /dev/null +++ b/resources/views/flux/icon/bars-4.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-arrow-down.blade.php b/resources/views/flux/icon/bars-arrow-down.blade.php new file mode 100644 index 0000000..3e843a5 --- /dev/null +++ b/resources/views/flux/icon/bars-arrow-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bars-arrow-up.blade.php b/resources/views/flux/icon/bars-arrow-up.blade.php new file mode 100644 index 0000000..effeaa4 --- /dev/null +++ b/resources/views/flux/icon/bars-arrow-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/battery-0.blade.php b/resources/views/flux/icon/battery-0.blade.php new file mode 100644 index 0000000..ab1b790 --- /dev/null +++ b/resources/views/flux/icon/battery-0.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/battery-100.blade.php b/resources/views/flux/icon/battery-100.blade.php new file mode 100644 index 0000000..72ec26e --- /dev/null +++ b/resources/views/flux/icon/battery-100.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/battery-50.blade.php b/resources/views/flux/icon/battery-50.blade.php new file mode 100644 index 0000000..074c747 --- /dev/null +++ b/resources/views/flux/icon/battery-50.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/beaker.blade.php b/resources/views/flux/icon/beaker.blade.php new file mode 100644 index 0000000..d3d69b8 --- /dev/null +++ b/resources/views/flux/icon/beaker.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bell-alert.blade.php b/resources/views/flux/icon/bell-alert.blade.php new file mode 100644 index 0000000..cf20fd1 --- /dev/null +++ b/resources/views/flux/icon/bell-alert.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/bell-slash.blade.php b/resources/views/flux/icon/bell-slash.blade.php new file mode 100644 index 0000000..c47213f --- /dev/null +++ b/resources/views/flux/icon/bell-slash.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/bell-snooze.blade.php b/resources/views/flux/icon/bell-snooze.blade.php new file mode 100644 index 0000000..b3c95c2 --- /dev/null +++ b/resources/views/flux/icon/bell-snooze.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bell.blade.php b/resources/views/flux/icon/bell.blade.php new file mode 100644 index 0000000..5001311 --- /dev/null +++ b/resources/views/flux/icon/bell.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bold.blade.php b/resources/views/flux/icon/bold.blade.php new file mode 100644 index 0000000..176f0c3 --- /dev/null +++ b/resources/views/flux/icon/bold.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bolt-slash.blade.php b/resources/views/flux/icon/bolt-slash.blade.php new file mode 100644 index 0000000..530ff5e --- /dev/null +++ b/resources/views/flux/icon/bolt-slash.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bolt.blade.php b/resources/views/flux/icon/bolt.blade.php new file mode 100644 index 0000000..cd92bef --- /dev/null +++ b/resources/views/flux/icon/bolt.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/book-open.blade.php b/resources/views/flux/icon/book-open.blade.php new file mode 100644 index 0000000..cc666a4 --- /dev/null +++ b/resources/views/flux/icon/book-open.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bookmark-slash.blade.php b/resources/views/flux/icon/bookmark-slash.blade.php new file mode 100644 index 0000000..8cd42b6 --- /dev/null +++ b/resources/views/flux/icon/bookmark-slash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bookmark-square.blade.php b/resources/views/flux/icon/bookmark-square.blade.php new file mode 100644 index 0000000..87e9734 --- /dev/null +++ b/resources/views/flux/icon/bookmark-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/bookmark.blade.php b/resources/views/flux/icon/bookmark.blade.php new file mode 100644 index 0000000..30aa9c0 --- /dev/null +++ b/resources/views/flux/icon/bookmark.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/briefcase.blade.php b/resources/views/flux/icon/briefcase.blade.php new file mode 100644 index 0000000..0c81106 --- /dev/null +++ b/resources/views/flux/icon/briefcase.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/bug-ant.blade.php b/resources/views/flux/icon/bug-ant.blade.php new file mode 100644 index 0000000..8d1d10b --- /dev/null +++ b/resources/views/flux/icon/bug-ant.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/building-library.blade.php b/resources/views/flux/icon/building-library.blade.php new file mode 100644 index 0000000..c6172f6 --- /dev/null +++ b/resources/views/flux/icon/building-library.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/building-office-2.blade.php b/resources/views/flux/icon/building-office-2.blade.php new file mode 100644 index 0000000..3d3aa2f --- /dev/null +++ b/resources/views/flux/icon/building-office-2.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/building-office.blade.php b/resources/views/flux/icon/building-office.blade.php new file mode 100644 index 0000000..3ab9179 --- /dev/null +++ b/resources/views/flux/icon/building-office.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/building-storefront.blade.php b/resources/views/flux/icon/building-storefront.blade.php new file mode 100644 index 0000000..59137a2 --- /dev/null +++ b/resources/views/flux/icon/building-storefront.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cake.blade.php b/resources/views/flux/icon/cake.blade.php new file mode 100644 index 0000000..54d6c9f --- /dev/null +++ b/resources/views/flux/icon/cake.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/calculator.blade.php b/resources/views/flux/icon/calculator.blade.php new file mode 100644 index 0000000..63e8dab --- /dev/null +++ b/resources/views/flux/icon/calculator.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/calendar-date-range.blade.php b/resources/views/flux/icon/calendar-date-range.blade.php new file mode 100644 index 0000000..8243eef --- /dev/null +++ b/resources/views/flux/icon/calendar-date-range.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/calendar-days.blade.php b/resources/views/flux/icon/calendar-days.blade.php new file mode 100644 index 0000000..684cc1f --- /dev/null +++ b/resources/views/flux/icon/calendar-days.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/calendar.blade.php b/resources/views/flux/icon/calendar.blade.php new file mode 100644 index 0000000..4d4ccf0 --- /dev/null +++ b/resources/views/flux/icon/calendar.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/camera.blade.php b/resources/views/flux/icon/camera.blade.php new file mode 100644 index 0000000..9f762a3 --- /dev/null +++ b/resources/views/flux/icon/camera.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/chart-bar-square.blade.php b/resources/views/flux/icon/chart-bar-square.blade.php new file mode 100644 index 0000000..1168f45 --- /dev/null +++ b/resources/views/flux/icon/chart-bar-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chart-bar.blade.php b/resources/views/flux/icon/chart-bar.blade.php new file mode 100644 index 0000000..b9bdcb2 --- /dev/null +++ b/resources/views/flux/icon/chart-bar.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chart-pie.blade.php b/resources/views/flux/icon/chart-pie.blade.php new file mode 100644 index 0000000..85d0ef2 --- /dev/null +++ b/resources/views/flux/icon/chart-pie.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-bottom-center-text.blade.php b/resources/views/flux/icon/chat-bubble-bottom-center-text.blade.php new file mode 100644 index 0000000..26d200a --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-bottom-center-text.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-bottom-center.blade.php b/resources/views/flux/icon/chat-bubble-bottom-center.blade.php new file mode 100644 index 0000000..e722293 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-bottom-center.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-left-ellipsis.blade.php b/resources/views/flux/icon/chat-bubble-left-ellipsis.blade.php new file mode 100644 index 0000000..0fe3132 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-left-ellipsis.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-left-right.blade.php b/resources/views/flux/icon/chat-bubble-left-right.blade.php new file mode 100644 index 0000000..2adfab9 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-left-right.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-left.blade.php b/resources/views/flux/icon/chat-bubble-left.blade.php new file mode 100644 index 0000000..aea41a9 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-oval-left-ellipsis.blade.php b/resources/views/flux/icon/chat-bubble-oval-left-ellipsis.blade.php new file mode 100644 index 0000000..9e8a569 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-oval-left-ellipsis.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chat-bubble-oval-left.blade.php b/resources/views/flux/icon/chat-bubble-oval-left.blade.php new file mode 100644 index 0000000..baa79e8 --- /dev/null +++ b/resources/views/flux/icon/chat-bubble-oval-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/check-badge.blade.php b/resources/views/flux/icon/check-badge.blade.php new file mode 100644 index 0000000..b94415e --- /dev/null +++ b/resources/views/flux/icon/check-badge.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/check-circle.blade.php b/resources/views/flux/icon/check-circle.blade.php new file mode 100644 index 0000000..0d1ab60 --- /dev/null +++ b/resources/views/flux/icon/check-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/check.blade.php b/resources/views/flux/icon/check.blade.php new file mode 100644 index 0000000..e78c36f --- /dev/null +++ b/resources/views/flux/icon/check.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-double-down.blade.php b/resources/views/flux/icon/chevron-double-down.blade.php new file mode 100644 index 0000000..f778f7b --- /dev/null +++ b/resources/views/flux/icon/chevron-double-down.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-double-left.blade.php b/resources/views/flux/icon/chevron-double-left.blade.php new file mode 100644 index 0000000..e1dc712 --- /dev/null +++ b/resources/views/flux/icon/chevron-double-left.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-double-right.blade.php b/resources/views/flux/icon/chevron-double-right.blade.php new file mode 100644 index 0000000..8e25acd --- /dev/null +++ b/resources/views/flux/icon/chevron-double-right.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-double-up.blade.php b/resources/views/flux/icon/chevron-double-up.blade.php new file mode 100644 index 0000000..b830c58 --- /dev/null +++ b/resources/views/flux/icon/chevron-double-up.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-down.blade.php b/resources/views/flux/icon/chevron-down.blade.php new file mode 100644 index 0000000..46f7d6d --- /dev/null +++ b/resources/views/flux/icon/chevron-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-left.blade.php b/resources/views/flux/icon/chevron-left.blade.php new file mode 100644 index 0000000..d7f1efa --- /dev/null +++ b/resources/views/flux/icon/chevron-left.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-right.blade.php b/resources/views/flux/icon/chevron-right.blade.php new file mode 100644 index 0000000..c36bd81 --- /dev/null +++ b/resources/views/flux/icon/chevron-right.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-up-down.blade.php b/resources/views/flux/icon/chevron-up-down.blade.php new file mode 100644 index 0000000..9e34e03 --- /dev/null +++ b/resources/views/flux/icon/chevron-up-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/chevron-up.blade.php b/resources/views/flux/icon/chevron-up.blade.php new file mode 100644 index 0000000..6b9b4ef --- /dev/null +++ b/resources/views/flux/icon/chevron-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/circle-stack.blade.php b/resources/views/flux/icon/circle-stack.blade.php new file mode 100644 index 0000000..9f2f0ef --- /dev/null +++ b/resources/views/flux/icon/circle-stack.blade.php @@ -0,0 +1,50 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + diff --git a/resources/views/flux/icon/clipboard-document-check.blade.php b/resources/views/flux/icon/clipboard-document-check.blade.php new file mode 100644 index 0000000..8af8792 --- /dev/null +++ b/resources/views/flux/icon/clipboard-document-check.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/clipboard-document-list.blade.php b/resources/views/flux/icon/clipboard-document-list.blade.php new file mode 100644 index 0000000..80cf704 --- /dev/null +++ b/resources/views/flux/icon/clipboard-document-list.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/clipboard-document.blade.php b/resources/views/flux/icon/clipboard-document.blade.php new file mode 100644 index 0000000..b652de9 --- /dev/null +++ b/resources/views/flux/icon/clipboard-document.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/clipboard.blade.php b/resources/views/flux/icon/clipboard.blade.php new file mode 100644 index 0000000..0ee9fe9 --- /dev/null +++ b/resources/views/flux/icon/clipboard.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/clock.blade.php b/resources/views/flux/icon/clock.blade.php new file mode 100644 index 0000000..3bd9655 --- /dev/null +++ b/resources/views/flux/icon/clock.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cloud-arrow-down.blade.php b/resources/views/flux/icon/cloud-arrow-down.blade.php new file mode 100644 index 0000000..e12bef9 --- /dev/null +++ b/resources/views/flux/icon/cloud-arrow-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cloud-arrow-up.blade.php b/resources/views/flux/icon/cloud-arrow-up.blade.php new file mode 100644 index 0000000..40c865b --- /dev/null +++ b/resources/views/flux/icon/cloud-arrow-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cloud.blade.php b/resources/views/flux/icon/cloud.blade.php new file mode 100644 index 0000000..0a0f12f --- /dev/null +++ b/resources/views/flux/icon/cloud.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/code-bracket-square.blade.php b/resources/views/flux/icon/code-bracket-square.blade.php new file mode 100644 index 0000000..1283588 --- /dev/null +++ b/resources/views/flux/icon/code-bracket-square.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/code-bracket.blade.php b/resources/views/flux/icon/code-bracket.blade.php new file mode 100644 index 0000000..56cd9be --- /dev/null +++ b/resources/views/flux/icon/code-bracket.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cog-6-tooth.blade.php b/resources/views/flux/icon/cog-6-tooth.blade.php new file mode 100644 index 0000000..a3f4ace --- /dev/null +++ b/resources/views/flux/icon/cog-6-tooth.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cog-8-tooth.blade.php b/resources/views/flux/icon/cog-8-tooth.blade.php new file mode 100644 index 0000000..01f21f8 --- /dev/null +++ b/resources/views/flux/icon/cog-8-tooth.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cog.blade.php b/resources/views/flux/icon/cog.blade.php new file mode 100644 index 0000000..66ea9f9 --- /dev/null +++ b/resources/views/flux/icon/cog.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/command-line.blade.php b/resources/views/flux/icon/command-line.blade.php new file mode 100644 index 0000000..a8511cf --- /dev/null +++ b/resources/views/flux/icon/command-line.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/computer-desktop.blade.php b/resources/views/flux/icon/computer-desktop.blade.php new file mode 100644 index 0000000..e30926a --- /dev/null +++ b/resources/views/flux/icon/computer-desktop.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cpu-chip.blade.php b/resources/views/flux/icon/cpu-chip.blade.php new file mode 100644 index 0000000..f7020c8 --- /dev/null +++ b/resources/views/flux/icon/cpu-chip.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/credit-card.blade.php b/resources/views/flux/icon/credit-card.blade.php new file mode 100644 index 0000000..6439172 --- /dev/null +++ b/resources/views/flux/icon/credit-card.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/cube-transparent.blade.php b/resources/views/flux/icon/cube-transparent.blade.php new file mode 100644 index 0000000..5ce3ddc --- /dev/null +++ b/resources/views/flux/icon/cube-transparent.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cube.blade.php b/resources/views/flux/icon/cube.blade.php new file mode 100644 index 0000000..10f36d8 --- /dev/null +++ b/resources/views/flux/icon/cube.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/currency-bangladeshi.blade.php b/resources/views/flux/icon/currency-bangladeshi.blade.php new file mode 100644 index 0000000..37516cc --- /dev/null +++ b/resources/views/flux/icon/currency-bangladeshi.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/currency-dollar.blade.php b/resources/views/flux/icon/currency-dollar.blade.php new file mode 100644 index 0000000..fd83437 --- /dev/null +++ b/resources/views/flux/icon/currency-dollar.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/currency-euro.blade.php b/resources/views/flux/icon/currency-euro.blade.php new file mode 100644 index 0000000..b3d78d7 --- /dev/null +++ b/resources/views/flux/icon/currency-euro.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/currency-pound.blade.php b/resources/views/flux/icon/currency-pound.blade.php new file mode 100644 index 0000000..b05fe72 --- /dev/null +++ b/resources/views/flux/icon/currency-pound.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/currency-rupee.blade.php b/resources/views/flux/icon/currency-rupee.blade.php new file mode 100644 index 0000000..459a921 --- /dev/null +++ b/resources/views/flux/icon/currency-rupee.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/currency-yen.blade.php b/resources/views/flux/icon/currency-yen.blade.php new file mode 100644 index 0000000..d43f8cd --- /dev/null +++ b/resources/views/flux/icon/currency-yen.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cursor-arrow-rays.blade.php b/resources/views/flux/icon/cursor-arrow-rays.blade.php new file mode 100644 index 0000000..289e9a0 --- /dev/null +++ b/resources/views/flux/icon/cursor-arrow-rays.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/cursor-arrow-ripple.blade.php b/resources/views/flux/icon/cursor-arrow-ripple.blade.php new file mode 100644 index 0000000..8f09543 --- /dev/null +++ b/resources/views/flux/icon/cursor-arrow-ripple.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + diff --git a/resources/views/flux/icon/device-phone-mobile.blade.php b/resources/views/flux/icon/device-phone-mobile.blade.php new file mode 100644 index 0000000..6c7e366 --- /dev/null +++ b/resources/views/flux/icon/device-phone-mobile.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/device-tablet.blade.php b/resources/views/flux/icon/device-tablet.blade.php new file mode 100644 index 0000000..ccdc6ed --- /dev/null +++ b/resources/views/flux/icon/device-tablet.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/divide.blade.php b/resources/views/flux/icon/divide.blade.php new file mode 100644 index 0000000..68b1f68 --- /dev/null +++ b/resources/views/flux/icon/divide.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/document-arrow-down.blade.php b/resources/views/flux/icon/document-arrow-down.blade.php new file mode 100644 index 0000000..04aac2a --- /dev/null +++ b/resources/views/flux/icon/document-arrow-down.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-arrow-up.blade.php b/resources/views/flux/icon/document-arrow-up.blade.php new file mode 100644 index 0000000..c9fedcc --- /dev/null +++ b/resources/views/flux/icon/document-arrow-up.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-chart-bar.blade.php b/resources/views/flux/icon/document-chart-bar.blade.php new file mode 100644 index 0000000..978a8d4 --- /dev/null +++ b/resources/views/flux/icon/document-chart-bar.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-check.blade.php b/resources/views/flux/icon/document-check.blade.php new file mode 100644 index 0000000..69829b0 --- /dev/null +++ b/resources/views/flux/icon/document-check.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-currency-bangladeshi.blade.php b/resources/views/flux/icon/document-currency-bangladeshi.blade.php new file mode 100644 index 0000000..684e23a --- /dev/null +++ b/resources/views/flux/icon/document-currency-bangladeshi.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-currency-dollar.blade.php b/resources/views/flux/icon/document-currency-dollar.blade.php new file mode 100644 index 0000000..8df1114 --- /dev/null +++ b/resources/views/flux/icon/document-currency-dollar.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/document-currency-euro.blade.php b/resources/views/flux/icon/document-currency-euro.blade.php new file mode 100644 index 0000000..9eefa2a --- /dev/null +++ b/resources/views/flux/icon/document-currency-euro.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-currency-pound.blade.php b/resources/views/flux/icon/document-currency-pound.blade.php new file mode 100644 index 0000000..8f36ba9 --- /dev/null +++ b/resources/views/flux/icon/document-currency-pound.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-currency-rupee.blade.php b/resources/views/flux/icon/document-currency-rupee.blade.php new file mode 100644 index 0000000..82d7797 --- /dev/null +++ b/resources/views/flux/icon/document-currency-rupee.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-currency-yen.blade.php b/resources/views/flux/icon/document-currency-yen.blade.php new file mode 100644 index 0000000..f1a00c9 --- /dev/null +++ b/resources/views/flux/icon/document-currency-yen.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-duplicate.blade.php b/resources/views/flux/icon/document-duplicate.blade.php new file mode 100644 index 0000000..74bf21e --- /dev/null +++ b/resources/views/flux/icon/document-duplicate.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/document-magnifying-glass.blade.php b/resources/views/flux/icon/document-magnifying-glass.blade.php new file mode 100644 index 0000000..3ba65d1 --- /dev/null +++ b/resources/views/flux/icon/document-magnifying-glass.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/document-minus.blade.php b/resources/views/flux/icon/document-minus.blade.php new file mode 100644 index 0000000..657bc6a --- /dev/null +++ b/resources/views/flux/icon/document-minus.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-plus.blade.php b/resources/views/flux/icon/document-plus.blade.php new file mode 100644 index 0000000..08d6696 --- /dev/null +++ b/resources/views/flux/icon/document-plus.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document-text.blade.php b/resources/views/flux/icon/document-text.blade.php new file mode 100644 index 0000000..69de413 --- /dev/null +++ b/resources/views/flux/icon/document-text.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/document.blade.php b/resources/views/flux/icon/document.blade.php new file mode 100644 index 0000000..4692858 --- /dev/null +++ b/resources/views/flux/icon/document.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/ellipsis-horizontal-circle.blade.php b/resources/views/flux/icon/ellipsis-horizontal-circle.blade.php new file mode 100644 index 0000000..5729e08 --- /dev/null +++ b/resources/views/flux/icon/ellipsis-horizontal-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/ellipsis-horizontal.blade.php b/resources/views/flux/icon/ellipsis-horizontal.blade.php new file mode 100644 index 0000000..f3b2df8 --- /dev/null +++ b/resources/views/flux/icon/ellipsis-horizontal.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/ellipsis-vertical.blade.php b/resources/views/flux/icon/ellipsis-vertical.blade.php new file mode 100644 index 0000000..b2e4c26 --- /dev/null +++ b/resources/views/flux/icon/ellipsis-vertical.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/envelope-open.blade.php b/resources/views/flux/icon/envelope-open.blade.php new file mode 100644 index 0000000..702a956 --- /dev/null +++ b/resources/views/flux/icon/envelope-open.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/envelope.blade.php b/resources/views/flux/icon/envelope.blade.php new file mode 100644 index 0000000..4056a50 --- /dev/null +++ b/resources/views/flux/icon/envelope.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/equals.blade.php b/resources/views/flux/icon/equals.blade.php new file mode 100644 index 0000000..416bc3e --- /dev/null +++ b/resources/views/flux/icon/equals.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/exclamation-circle.blade.php b/resources/views/flux/icon/exclamation-circle.blade.php new file mode 100644 index 0000000..91b2bce --- /dev/null +++ b/resources/views/flux/icon/exclamation-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/exclamation-triangle.blade.php b/resources/views/flux/icon/exclamation-triangle.blade.php new file mode 100644 index 0000000..f801f26 --- /dev/null +++ b/resources/views/flux/icon/exclamation-triangle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/eye-dropper.blade.php b/resources/views/flux/icon/eye-dropper.blade.php new file mode 100644 index 0000000..d602cdb --- /dev/null +++ b/resources/views/flux/icon/eye-dropper.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/eye-slash.blade.php b/resources/views/flux/icon/eye-slash.blade.php new file mode 100644 index 0000000..932848d --- /dev/null +++ b/resources/views/flux/icon/eye-slash.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/eye.blade.php b/resources/views/flux/icon/eye.blade.php new file mode 100644 index 0000000..dd4f013 --- /dev/null +++ b/resources/views/flux/icon/eye.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/face-frown.blade.php b/resources/views/flux/icon/face-frown.blade.php new file mode 100644 index 0000000..4a08b0b --- /dev/null +++ b/resources/views/flux/icon/face-frown.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/face-smile.blade.php b/resources/views/flux/icon/face-smile.blade.php new file mode 100644 index 0000000..ae89134 --- /dev/null +++ b/resources/views/flux/icon/face-smile.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/film.blade.php b/resources/views/flux/icon/film.blade.php new file mode 100644 index 0000000..73e3e32 --- /dev/null +++ b/resources/views/flux/icon/film.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/finger-print.blade.php b/resources/views/flux/icon/finger-print.blade.php new file mode 100644 index 0000000..cd6d67c --- /dev/null +++ b/resources/views/flux/icon/finger-print.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/fire.blade.php b/resources/views/flux/icon/fire.blade.php new file mode 100644 index 0000000..4d3895d --- /dev/null +++ b/resources/views/flux/icon/fire.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/flag.blade.php b/resources/views/flux/icon/flag.blade.php new file mode 100644 index 0000000..d5b0140 --- /dev/null +++ b/resources/views/flux/icon/flag.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/folder-arrow-down.blade.php b/resources/views/flux/icon/folder-arrow-down.blade.php new file mode 100644 index 0000000..fec8aa5 --- /dev/null +++ b/resources/views/flux/icon/folder-arrow-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/folder-minus.blade.php b/resources/views/flux/icon/folder-minus.blade.php new file mode 100644 index 0000000..45cee03 --- /dev/null +++ b/resources/views/flux/icon/folder-minus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/folder-open.blade.php b/resources/views/flux/icon/folder-open.blade.php new file mode 100644 index 0000000..fe1b0f0 --- /dev/null +++ b/resources/views/flux/icon/folder-open.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/folder-plus.blade.php b/resources/views/flux/icon/folder-plus.blade.php new file mode 100644 index 0000000..d078529 --- /dev/null +++ b/resources/views/flux/icon/folder-plus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/folder.blade.php b/resources/views/flux/icon/folder.blade.php new file mode 100644 index 0000000..1eebf16 --- /dev/null +++ b/resources/views/flux/icon/folder.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/forward.blade.php b/resources/views/flux/icon/forward.blade.php new file mode 100644 index 0000000..a4798a6 --- /dev/null +++ b/resources/views/flux/icon/forward.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/funnel.blade.php b/resources/views/flux/icon/funnel.blade.php new file mode 100644 index 0000000..19c11d9 --- /dev/null +++ b/resources/views/flux/icon/funnel.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/gif.blade.php b/resources/views/flux/icon/gif.blade.php new file mode 100644 index 0000000..981df7a --- /dev/null +++ b/resources/views/flux/icon/gif.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/gift-top.blade.php b/resources/views/flux/icon/gift-top.blade.php new file mode 100644 index 0000000..71abecd --- /dev/null +++ b/resources/views/flux/icon/gift-top.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/gift.blade.php b/resources/views/flux/icon/gift.blade.php new file mode 100644 index 0000000..e178f7f --- /dev/null +++ b/resources/views/flux/icon/gift.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/globe-alt.blade.php b/resources/views/flux/icon/globe-alt.blade.php new file mode 100644 index 0000000..59cc5d4 --- /dev/null +++ b/resources/views/flux/icon/globe-alt.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/globe-americas.blade.php b/resources/views/flux/icon/globe-americas.blade.php new file mode 100644 index 0000000..aa4b112 --- /dev/null +++ b/resources/views/flux/icon/globe-americas.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/globe-asia-australia.blade.php b/resources/views/flux/icon/globe-asia-australia.blade.php new file mode 100644 index 0000000..88c8067 --- /dev/null +++ b/resources/views/flux/icon/globe-asia-australia.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/globe-europe-africa.blade.php b/resources/views/flux/icon/globe-europe-africa.blade.php new file mode 100644 index 0000000..9a1484b --- /dev/null +++ b/resources/views/flux/icon/globe-europe-africa.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/h1.blade.php b/resources/views/flux/icon/h1.blade.php new file mode 100644 index 0000000..8576a18 --- /dev/null +++ b/resources/views/flux/icon/h1.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/h2.blade.php b/resources/views/flux/icon/h2.blade.php new file mode 100644 index 0000000..28cb4bb --- /dev/null +++ b/resources/views/flux/icon/h2.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/h3.blade.php b/resources/views/flux/icon/h3.blade.php new file mode 100644 index 0000000..84542e3 --- /dev/null +++ b/resources/views/flux/icon/h3.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/hand-raised.blade.php b/resources/views/flux/icon/hand-raised.blade.php new file mode 100644 index 0000000..4c16ef9 --- /dev/null +++ b/resources/views/flux/icon/hand-raised.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/hand-thumb-down.blade.php b/resources/views/flux/icon/hand-thumb-down.blade.php new file mode 100644 index 0000000..47f7382 --- /dev/null +++ b/resources/views/flux/icon/hand-thumb-down.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/hand-thumb-up.blade.php b/resources/views/flux/icon/hand-thumb-up.blade.php new file mode 100644 index 0000000..a068638 --- /dev/null +++ b/resources/views/flux/icon/hand-thumb-up.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/hashtag.blade.php b/resources/views/flux/icon/hashtag.blade.php new file mode 100644 index 0000000..f2e411a --- /dev/null +++ b/resources/views/flux/icon/hashtag.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/heart.blade.php b/resources/views/flux/icon/heart.blade.php new file mode 100644 index 0000000..9586a07 --- /dev/null +++ b/resources/views/flux/icon/heart.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/home-modern.blade.php b/resources/views/flux/icon/home-modern.blade.php new file mode 100644 index 0000000..b02fe40 --- /dev/null +++ b/resources/views/flux/icon/home-modern.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/home.blade.php b/resources/views/flux/icon/home.blade.php new file mode 100644 index 0000000..8e5b754 --- /dev/null +++ b/resources/views/flux/icon/home.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/identification.blade.php b/resources/views/flux/icon/identification.blade.php new file mode 100644 index 0000000..8210e1b --- /dev/null +++ b/resources/views/flux/icon/identification.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/inbox-arrow-down.blade.php b/resources/views/flux/icon/inbox-arrow-down.blade.php new file mode 100644 index 0000000..c071784 --- /dev/null +++ b/resources/views/flux/icon/inbox-arrow-down.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/inbox-stack.blade.php b/resources/views/flux/icon/inbox-stack.blade.php new file mode 100644 index 0000000..0a269f0 --- /dev/null +++ b/resources/views/flux/icon/inbox-stack.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/inbox.blade.php b/resources/views/flux/icon/inbox.blade.php new file mode 100644 index 0000000..dd45984 --- /dev/null +++ b/resources/views/flux/icon/inbox.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/index.blade.php b/resources/views/flux/icon/index.blade.php new file mode 100644 index 0000000..674bc81 --- /dev/null +++ b/resources/views/flux/icon/index.blade.php @@ -0,0 +1,12 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'icon' => null, + 'name' => null, +]) + +@php +$icon = $name ?? $icon; +@endphp + +{{ $slot }} diff --git a/resources/views/flux/icon/information-circle.blade.php b/resources/views/flux/icon/information-circle.blade.php new file mode 100644 index 0000000..3ac4394 --- /dev/null +++ b/resources/views/flux/icon/information-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/italic.blade.php b/resources/views/flux/icon/italic.blade.php new file mode 100644 index 0000000..d8c0174 --- /dev/null +++ b/resources/views/flux/icon/italic.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/key.blade.php b/resources/views/flux/icon/key.blade.php new file mode 100644 index 0000000..b1c71a5 --- /dev/null +++ b/resources/views/flux/icon/key.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/language.blade.php b/resources/views/flux/icon/language.blade.php new file mode 100644 index 0000000..2611edf --- /dev/null +++ b/resources/views/flux/icon/language.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/lifebuoy.blade.php b/resources/views/flux/icon/lifebuoy.blade.php new file mode 100644 index 0000000..d63e92c --- /dev/null +++ b/resources/views/flux/icon/lifebuoy.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/light-bulb.blade.php b/resources/views/flux/icon/light-bulb.blade.php new file mode 100644 index 0000000..81a809d --- /dev/null +++ b/resources/views/flux/icon/light-bulb.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/link-slash.blade.php b/resources/views/flux/icon/link-slash.blade.php new file mode 100644 index 0000000..7f46ba5 --- /dev/null +++ b/resources/views/flux/icon/link-slash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/link.blade.php b/resources/views/flux/icon/link.blade.php new file mode 100644 index 0000000..3a65cda --- /dev/null +++ b/resources/views/flux/icon/link.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/list-bullet.blade.php b/resources/views/flux/icon/list-bullet.blade.php new file mode 100644 index 0000000..6b5f8c2 --- /dev/null +++ b/resources/views/flux/icon/list-bullet.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/loading.blade.php b/resources/views/flux/icon/loading.blade.php new file mode 100644 index 0000000..d141b87 --- /dev/null +++ b/resources/views/flux/icon/loading.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class([$classes, 'animate-spin']) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon"> + + + + + + +class([$classes, 'animate-spin']) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon"> + + + + + + +class([$classes, 'animate-spin']) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon"> + + + + + + +class([$classes, 'animate-spin']) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/lock-closed.blade.php b/resources/views/flux/icon/lock-closed.blade.php new file mode 100644 index 0000000..9a7650f --- /dev/null +++ b/resources/views/flux/icon/lock-closed.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/lock-open.blade.php b/resources/views/flux/icon/lock-open.blade.php new file mode 100644 index 0000000..407cad2 --- /dev/null +++ b/resources/views/flux/icon/lock-open.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/magnifying-glass-circle.blade.php b/resources/views/flux/icon/magnifying-glass-circle.blade.php new file mode 100644 index 0000000..81ff6ba --- /dev/null +++ b/resources/views/flux/icon/magnifying-glass-circle.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/magnifying-glass-minus.blade.php b/resources/views/flux/icon/magnifying-glass-minus.blade.php new file mode 100644 index 0000000..0f04ffa --- /dev/null +++ b/resources/views/flux/icon/magnifying-glass-minus.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/magnifying-glass-plus.blade.php b/resources/views/flux/icon/magnifying-glass-plus.blade.php new file mode 100644 index 0000000..d5f13bd --- /dev/null +++ b/resources/views/flux/icon/magnifying-glass-plus.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/magnifying-glass.blade.php b/resources/views/flux/icon/magnifying-glass.blade.php new file mode 100644 index 0000000..50bff8e --- /dev/null +++ b/resources/views/flux/icon/magnifying-glass.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/map-pin.blade.php b/resources/views/flux/icon/map-pin.blade.php new file mode 100644 index 0000000..4c6e72b --- /dev/null +++ b/resources/views/flux/icon/map-pin.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/map.blade.php b/resources/views/flux/icon/map.blade.php new file mode 100644 index 0000000..ce07757 --- /dev/null +++ b/resources/views/flux/icon/map.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/megaphone.blade.php b/resources/views/flux/icon/megaphone.blade.php new file mode 100644 index 0000000..9c2950e --- /dev/null +++ b/resources/views/flux/icon/megaphone.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/microphone.blade.php b/resources/views/flux/icon/microphone.blade.php new file mode 100644 index 0000000..736aed6 --- /dev/null +++ b/resources/views/flux/icon/microphone.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/minus-circle.blade.php b/resources/views/flux/icon/minus-circle.blade.php new file mode 100644 index 0000000..c05b3e7 --- /dev/null +++ b/resources/views/flux/icon/minus-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/minus.blade.php b/resources/views/flux/icon/minus.blade.php new file mode 100644 index 0000000..e32053c --- /dev/null +++ b/resources/views/flux/icon/minus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/moon.blade.php b/resources/views/flux/icon/moon.blade.php new file mode 100644 index 0000000..f9033ab --- /dev/null +++ b/resources/views/flux/icon/moon.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/musical-note.blade.php b/resources/views/flux/icon/musical-note.blade.php new file mode 100644 index 0000000..ce2e5f6 --- /dev/null +++ b/resources/views/flux/icon/musical-note.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/newspaper.blade.php b/resources/views/flux/icon/newspaper.blade.php new file mode 100644 index 0000000..cf28a98 --- /dev/null +++ b/resources/views/flux/icon/newspaper.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/no-symbol.blade.php b/resources/views/flux/icon/no-symbol.blade.php new file mode 100644 index 0000000..8daf54e --- /dev/null +++ b/resources/views/flux/icon/no-symbol.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/numbered-list.blade.php b/resources/views/flux/icon/numbered-list.blade.php new file mode 100644 index 0000000..f732ea6 --- /dev/null +++ b/resources/views/flux/icon/numbered-list.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/paint-brush.blade.php b/resources/views/flux/icon/paint-brush.blade.php new file mode 100644 index 0000000..1bb5ac5 --- /dev/null +++ b/resources/views/flux/icon/paint-brush.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/paper-airplane.blade.php b/resources/views/flux/icon/paper-airplane.blade.php new file mode 100644 index 0000000..12c16db --- /dev/null +++ b/resources/views/flux/icon/paper-airplane.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/paper-clip.blade.php b/resources/views/flux/icon/paper-clip.blade.php new file mode 100644 index 0000000..a014608 --- /dev/null +++ b/resources/views/flux/icon/paper-clip.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/pause-circle.blade.php b/resources/views/flux/icon/pause-circle.blade.php new file mode 100644 index 0000000..5fab7e4 --- /dev/null +++ b/resources/views/flux/icon/pause-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/pause.blade.php b/resources/views/flux/icon/pause.blade.php new file mode 100644 index 0000000..198ee2e --- /dev/null +++ b/resources/views/flux/icon/pause.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/pencil-square.blade.php b/resources/views/flux/icon/pencil-square.blade.php new file mode 100644 index 0000000..b5974a1 --- /dev/null +++ b/resources/views/flux/icon/pencil-square.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/pencil.blade.php b/resources/views/flux/icon/pencil.blade.php new file mode 100644 index 0000000..6012f96 --- /dev/null +++ b/resources/views/flux/icon/pencil.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/percent-badge.blade.php b/resources/views/flux/icon/percent-badge.blade.php new file mode 100644 index 0000000..7fa2bfd --- /dev/null +++ b/resources/views/flux/icon/percent-badge.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/phone-arrow-down-left.blade.php b/resources/views/flux/icon/phone-arrow-down-left.blade.php new file mode 100644 index 0000000..f0d1b6c --- /dev/null +++ b/resources/views/flux/icon/phone-arrow-down-left.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/phone-arrow-up-right.blade.php b/resources/views/flux/icon/phone-arrow-up-right.blade.php new file mode 100644 index 0000000..f8ca56b --- /dev/null +++ b/resources/views/flux/icon/phone-arrow-up-right.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/phone-x-mark.blade.php b/resources/views/flux/icon/phone-x-mark.blade.php new file mode 100644 index 0000000..9100946 --- /dev/null +++ b/resources/views/flux/icon/phone-x-mark.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/phone.blade.php b/resources/views/flux/icon/phone.blade.php new file mode 100644 index 0000000..2c0348f --- /dev/null +++ b/resources/views/flux/icon/phone.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/photo.blade.php b/resources/views/flux/icon/photo.blade.php new file mode 100644 index 0000000..8bb8540 --- /dev/null +++ b/resources/views/flux/icon/photo.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/play-circle.blade.php b/resources/views/flux/icon/play-circle.blade.php new file mode 100644 index 0000000..e987012 --- /dev/null +++ b/resources/views/flux/icon/play-circle.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/play-pause.blade.php b/resources/views/flux/icon/play-pause.blade.php new file mode 100644 index 0000000..d3737ca --- /dev/null +++ b/resources/views/flux/icon/play-pause.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/play.blade.php b/resources/views/flux/icon/play.blade.php new file mode 100644 index 0000000..717ae70 --- /dev/null +++ b/resources/views/flux/icon/play.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/plus-circle.blade.php b/resources/views/flux/icon/plus-circle.blade.php new file mode 100644 index 0000000..fc8d6b1 --- /dev/null +++ b/resources/views/flux/icon/plus-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/plus.blade.php b/resources/views/flux/icon/plus.blade.php new file mode 100644 index 0000000..6d94b09 --- /dev/null +++ b/resources/views/flux/icon/plus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/power.blade.php b/resources/views/flux/icon/power.blade.php new file mode 100644 index 0000000..bfcb4c5 --- /dev/null +++ b/resources/views/flux/icon/power.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/presentation-chart-bar.blade.php b/resources/views/flux/icon/presentation-chart-bar.blade.php new file mode 100644 index 0000000..f44f659 --- /dev/null +++ b/resources/views/flux/icon/presentation-chart-bar.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/presentation-chart-line.blade.php b/resources/views/flux/icon/presentation-chart-line.blade.php new file mode 100644 index 0000000..ce23742 --- /dev/null +++ b/resources/views/flux/icon/presentation-chart-line.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/printer.blade.php b/resources/views/flux/icon/printer.blade.php new file mode 100644 index 0000000..e08de77 --- /dev/null +++ b/resources/views/flux/icon/printer.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/puzzle-piece.blade.php b/resources/views/flux/icon/puzzle-piece.blade.php new file mode 100644 index 0000000..51771c4 --- /dev/null +++ b/resources/views/flux/icon/puzzle-piece.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/qr-code.blade.php b/resources/views/flux/icon/qr-code.blade.php new file mode 100644 index 0000000..901c8c2 --- /dev/null +++ b/resources/views/flux/icon/qr-code.blade.php @@ -0,0 +1,52 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + + + + + diff --git a/resources/views/flux/icon/question-mark-circle.blade.php b/resources/views/flux/icon/question-mark-circle.blade.php new file mode 100644 index 0000000..d3e87a0 --- /dev/null +++ b/resources/views/flux/icon/question-mark-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/queue-list.blade.php b/resources/views/flux/icon/queue-list.blade.php new file mode 100644 index 0000000..310a6a2 --- /dev/null +++ b/resources/views/flux/icon/queue-list.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/radio.blade.php b/resources/views/flux/icon/radio.blade.php new file mode 100644 index 0000000..9ef6dfc --- /dev/null +++ b/resources/views/flux/icon/radio.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/receipt-percent.blade.php b/resources/views/flux/icon/receipt-percent.blade.php new file mode 100644 index 0000000..4b6ee99 --- /dev/null +++ b/resources/views/flux/icon/receipt-percent.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/receipt-refund.blade.php b/resources/views/flux/icon/receipt-refund.blade.php new file mode 100644 index 0000000..eb0e720 --- /dev/null +++ b/resources/views/flux/icon/receipt-refund.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/rectangle-group.blade.php b/resources/views/flux/icon/rectangle-group.blade.php new file mode 100644 index 0000000..02c1d1b --- /dev/null +++ b/resources/views/flux/icon/rectangle-group.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/rectangle-stack.blade.php b/resources/views/flux/icon/rectangle-stack.blade.php new file mode 100644 index 0000000..892cc6c --- /dev/null +++ b/resources/views/flux/icon/rectangle-stack.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/rocket-launch.blade.php b/resources/views/flux/icon/rocket-launch.blade.php new file mode 100644 index 0000000..036a873 --- /dev/null +++ b/resources/views/flux/icon/rocket-launch.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/rss.blade.php b/resources/views/flux/icon/rss.blade.php new file mode 100644 index 0000000..cc78902 --- /dev/null +++ b/resources/views/flux/icon/rss.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/scale.blade.php b/resources/views/flux/icon/scale.blade.php new file mode 100644 index 0000000..0c799e3 --- /dev/null +++ b/resources/views/flux/icon/scale.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/scissors.blade.php b/resources/views/flux/icon/scissors.blade.php new file mode 100644 index 0000000..284c11c --- /dev/null +++ b/resources/views/flux/icon/scissors.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/server-stack.blade.php b/resources/views/flux/icon/server-stack.blade.php new file mode 100644 index 0000000..a947762 --- /dev/null +++ b/resources/views/flux/icon/server-stack.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/server.blade.php b/resources/views/flux/icon/server.blade.php new file mode 100644 index 0000000..6d80c95 --- /dev/null +++ b/resources/views/flux/icon/server.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/share.blade.php b/resources/views/flux/icon/share.blade.php new file mode 100644 index 0000000..955ad19 --- /dev/null +++ b/resources/views/flux/icon/share.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/shield-check.blade.php b/resources/views/flux/icon/shield-check.blade.php new file mode 100644 index 0000000..6d64719 --- /dev/null +++ b/resources/views/flux/icon/shield-check.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/shield-exclamation.blade.php b/resources/views/flux/icon/shield-exclamation.blade.php new file mode 100644 index 0000000..50620de --- /dev/null +++ b/resources/views/flux/icon/shield-exclamation.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/shopping-bag.blade.php b/resources/views/flux/icon/shopping-bag.blade.php new file mode 100644 index 0000000..32a9ec5 --- /dev/null +++ b/resources/views/flux/icon/shopping-bag.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/shopping-cart.blade.php b/resources/views/flux/icon/shopping-cart.blade.php new file mode 100644 index 0000000..d511a6b --- /dev/null +++ b/resources/views/flux/icon/shopping-cart.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/signal-slash.blade.php b/resources/views/flux/icon/signal-slash.blade.php new file mode 100644 index 0000000..0b5dc51 --- /dev/null +++ b/resources/views/flux/icon/signal-slash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/signal.blade.php b/resources/views/flux/icon/signal.blade.php new file mode 100644 index 0000000..b50b36c --- /dev/null +++ b/resources/views/flux/icon/signal.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + diff --git a/resources/views/flux/icon/slash.blade.php b/resources/views/flux/icon/slash.blade.php new file mode 100644 index 0000000..0e32d23 --- /dev/null +++ b/resources/views/flux/icon/slash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/sparkles.blade.php b/resources/views/flux/icon/sparkles.blade.php new file mode 100644 index 0000000..6320975 --- /dev/null +++ b/resources/views/flux/icon/sparkles.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/speaker-wave.blade.php b/resources/views/flux/icon/speaker-wave.blade.php new file mode 100644 index 0000000..e1e6308 --- /dev/null +++ b/resources/views/flux/icon/speaker-wave.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/speaker-x-mark.blade.php b/resources/views/flux/icon/speaker-x-mark.blade.php new file mode 100644 index 0000000..6a8bf93 --- /dev/null +++ b/resources/views/flux/icon/speaker-x-mark.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/square-2-stack.blade.php b/resources/views/flux/icon/square-2-stack.blade.php new file mode 100644 index 0000000..123ad5e --- /dev/null +++ b/resources/views/flux/icon/square-2-stack.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/square-3-stack-3d.blade.php b/resources/views/flux/icon/square-3-stack-3d.blade.php new file mode 100644 index 0000000..36edac9 --- /dev/null +++ b/resources/views/flux/icon/square-3-stack-3d.blade.php @@ -0,0 +1,51 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + diff --git a/resources/views/flux/icon/squares-2x2.blade.php b/resources/views/flux/icon/squares-2x2.blade.php new file mode 100644 index 0000000..71378b7 --- /dev/null +++ b/resources/views/flux/icon/squares-2x2.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/squares-plus.blade.php b/resources/views/flux/icon/squares-plus.blade.php new file mode 100644 index 0000000..3ffb49a --- /dev/null +++ b/resources/views/flux/icon/squares-plus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/star.blade.php b/resources/views/flux/icon/star.blade.php new file mode 100644 index 0000000..f931969 --- /dev/null +++ b/resources/views/flux/icon/star.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/stop-circle.blade.php b/resources/views/flux/icon/stop-circle.blade.php new file mode 100644 index 0000000..7926202 --- /dev/null +++ b/resources/views/flux/icon/stop-circle.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/stop.blade.php b/resources/views/flux/icon/stop.blade.php new file mode 100644 index 0000000..25fa03f --- /dev/null +++ b/resources/views/flux/icon/stop.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/strikethrough.blade.php b/resources/views/flux/icon/strikethrough.blade.php new file mode 100644 index 0000000..6fa1bf0 --- /dev/null +++ b/resources/views/flux/icon/strikethrough.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/sun.blade.php b/resources/views/flux/icon/sun.blade.php new file mode 100644 index 0000000..40cee74 --- /dev/null +++ b/resources/views/flux/icon/sun.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/swatch.blade.php b/resources/views/flux/icon/swatch.blade.php new file mode 100644 index 0000000..8147d96 --- /dev/null +++ b/resources/views/flux/icon/swatch.blade.php @@ -0,0 +1,47 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/table-cells.blade.php b/resources/views/flux/icon/table-cells.blade.php new file mode 100644 index 0000000..7d2bc52 --- /dev/null +++ b/resources/views/flux/icon/table-cells.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/tag.blade.php b/resources/views/flux/icon/tag.blade.php new file mode 100644 index 0000000..7590734 --- /dev/null +++ b/resources/views/flux/icon/tag.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/ticket.blade.php b/resources/views/flux/icon/ticket.blade.php new file mode 100644 index 0000000..41f1f54 --- /dev/null +++ b/resources/views/flux/icon/ticket.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/trash.blade.php b/resources/views/flux/icon/trash.blade.php new file mode 100644 index 0000000..84bccbb --- /dev/null +++ b/resources/views/flux/icon/trash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/trophy.blade.php b/resources/views/flux/icon/trophy.blade.php new file mode 100644 index 0000000..b1c74d4 --- /dev/null +++ b/resources/views/flux/icon/trophy.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/truck.blade.php b/resources/views/flux/icon/truck.blade.php new file mode 100644 index 0000000..b591821 --- /dev/null +++ b/resources/views/flux/icon/truck.blade.php @@ -0,0 +1,50 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + diff --git a/resources/views/flux/icon/tv.blade.php b/resources/views/flux/icon/tv.blade.php new file mode 100644 index 0000000..b325f2b --- /dev/null +++ b/resources/views/flux/icon/tv.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/underline.blade.php b/resources/views/flux/icon/underline.blade.php new file mode 100644 index 0000000..a355a4e --- /dev/null +++ b/resources/views/flux/icon/underline.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/user-circle.blade.php b/resources/views/flux/icon/user-circle.blade.php new file mode 100644 index 0000000..04a6113 --- /dev/null +++ b/resources/views/flux/icon/user-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/user-group.blade.php b/resources/views/flux/icon/user-group.blade.php new file mode 100644 index 0000000..403fda7 --- /dev/null +++ b/resources/views/flux/icon/user-group.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/user-minus.blade.php b/resources/views/flux/icon/user-minus.blade.php new file mode 100644 index 0000000..5560669 --- /dev/null +++ b/resources/views/flux/icon/user-minus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/user-plus.blade.php b/resources/views/flux/icon/user-plus.blade.php new file mode 100644 index 0000000..2f03539 --- /dev/null +++ b/resources/views/flux/icon/user-plus.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/user.blade.php b/resources/views/flux/icon/user.blade.php new file mode 100644 index 0000000..d574276 --- /dev/null +++ b/resources/views/flux/icon/user.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/users.blade.php b/resources/views/flux/icon/users.blade.php new file mode 100644 index 0000000..e9a0976 --- /dev/null +++ b/resources/views/flux/icon/users.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/variable.blade.php b/resources/views/flux/icon/variable.blade.php new file mode 100644 index 0000000..6aec7e8 --- /dev/null +++ b/resources/views/flux/icon/variable.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/video-camera-slash.blade.php b/resources/views/flux/icon/video-camera-slash.blade.php new file mode 100644 index 0000000..39f52e2 --- /dev/null +++ b/resources/views/flux/icon/video-camera-slash.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/video-camera.blade.php b/resources/views/flux/icon/video-camera.blade.php new file mode 100644 index 0000000..2778bcb --- /dev/null +++ b/resources/views/flux/icon/video-camera.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/view-columns.blade.php b/resources/views/flux/icon/view-columns.blade.php new file mode 100644 index 0000000..b2b5e68 --- /dev/null +++ b/resources/views/flux/icon/view-columns.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/viewfinder-circle.blade.php b/resources/views/flux/icon/viewfinder-circle.blade.php new file mode 100644 index 0000000..c8a7062 --- /dev/null +++ b/resources/views/flux/icon/viewfinder-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/wallet.blade.php b/resources/views/flux/icon/wallet.blade.php new file mode 100644 index 0000000..0363dda --- /dev/null +++ b/resources/views/flux/icon/wallet.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/wifi.blade.php b/resources/views/flux/icon/wifi.blade.php new file mode 100644 index 0000000..2d2d73c --- /dev/null +++ b/resources/views/flux/icon/wifi.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/window.blade.php b/resources/views/flux/icon/window.blade.php new file mode 100644 index 0000000..b16505d --- /dev/null +++ b/resources/views/flux/icon/window.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/wrench-screwdriver.blade.php b/resources/views/flux/icon/wrench-screwdriver.blade.php new file mode 100644 index 0000000..d7c6ef7 --- /dev/null +++ b/resources/views/flux/icon/wrench-screwdriver.blade.php @@ -0,0 +1,49 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + diff --git a/resources/views/flux/icon/wrench.blade.php b/resources/views/flux/icon/wrench.blade.php new file mode 100644 index 0000000..bcd35fc --- /dev/null +++ b/resources/views/flux/icon/wrench.blade.php @@ -0,0 +1,46 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/x-circle.blade.php b/resources/views/flux/icon/x-circle.blade.php new file mode 100644 index 0000000..670e845 --- /dev/null +++ b/resources/views/flux/icon/x-circle.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/icon/x-mark.blade.php b/resources/views/flux/icon/x-mark.blade.php new file mode 100644 index 0000000..2b02a21 --- /dev/null +++ b/resources/views/flux/icon/x-mark.blade.php @@ -0,0 +1,45 @@ +{{-- Credit: Heroicons (https://heroicons.com) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); +@endphp + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + +class($classes) }} data-flux-icon xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" data-slot="icon"> + + + + + + diff --git a/resources/views/flux/input/clearable.blade.php b/resources/views/flux/input/clearable.blade.php new file mode 100644 index 0000000..8368b66 --- /dev/null +++ b/resources/views/flux/input/clearable.blade.php @@ -0,0 +1,20 @@ +@php +$attributes = $attributes->merge([ + 'variant' => 'subtle', + 'class' => '-me-1 [[data-flux-input]:has(input:placeholder-shown)_&]:hidden [[data-flux-input]:has(input[disabled])_&]:hidden', + 'square' => true, + 'size' => null, +]); +@endphp + + + + diff --git a/resources/views/flux/input/copyable.blade.php b/resources/views/flux/input/copyable.blade.php new file mode 100644 index 0000000..ef9bfc2 --- /dev/null +++ b/resources/views/flux/input/copyable.blade.php @@ -0,0 +1,20 @@ +@php +$attributes = $attributes->merge([ + 'variant' => 'subtle', + 'class' => '-me-1', + 'square' => true, + 'size' => null, +]); +@endphp + + + diff --git a/resources/views/flux/input/expandable.blade.php b/resources/views/flux/input/expandable.blade.php new file mode 100644 index 0000000..4c3ae1e --- /dev/null +++ b/resources/views/flux/input/expandable.blade.php @@ -0,0 +1,16 @@ +@php +$attributes = $attributes->merge([ + 'variant' => 'subtle', + 'class' => '-me-1', + 'square' => true, + 'size' => null, +]); +@endphp + + + + diff --git a/resources/views/flux/input/file.blade.php b/resources/views/flux/input/file.blade.php new file mode 100644 index 0000000..d970dec --- /dev/null +++ b/resources/views/flux/input/file.blade.php @@ -0,0 +1,68 @@ +@php +extract(Flux::forwardedAttributes($attributes, [ + 'name', + 'multiple', + 'size', +])); +@endphp + +@props([ + 'name' => $attributes->whereStartsWith('wire:model')->first(), + 'multiple' => null, + 'size' => null, +]) + +@php +$classes = Flux::classes() + ->add('w-full flex items-center gap-4') + // NOTE: We need to add relative positioning here to prevent odd overflow behaviors because of + // "sr-only": https://github.com/tailwindlabs/tailwindcss/discussions/12429 + ->add('relative') + ; + +[ $styleAttributes, $attributes ] = Flux::splitAttributes($attributes); +@endphp + +
class($classes) }} + data-flux-input-file + wire:ignore + tabindex="0" + x-data {{-- This is here to "scope" the x-ref references inside this component from interfering with others outside... --}} + x-on:click.prevent.stop="$refs.input.click()" + x-on:keydown.enter.prevent.stop="$refs.input.click()" + x-on:keydown.space.prevent.stop + x-on:keyup.space.prevent.stop="$refs.input.click()" + x-on:change="$refs.name.textContent = $event.target.files[1] ? ($event.target.files.length + ' {!! __('files') !!}') : ($event.target.files[0]?.name || '{!! __('No file chosen') !!}')" +> + + + + + +
diff --git a/resources/views/flux/input/group/affix.blade.php b/resources/views/flux/input/group/affix.blade.php new file mode 100644 index 0000000..92d34a4 --- /dev/null +++ b/resources/views/flux/input/group/affix.blade.php @@ -0,0 +1,13 @@ +@php +$classes = Flux::classes([ + 'flex items-center px-4 text-sm whitespace-nowrap', + 'text-zinc-800 dark:text-zinc-200', + 'bg-zinc-800/5 dark:bg-white/20', + 'border-zinc-200 dark:border-white/10', + 'border border-x-zinc-100 shadow-xs', +]); +@endphp + +
class($classes) }} data-flux-input-group-label> + {{ $slot }} +
diff --git a/resources/views/flux/input/group/index.blade.php b/resources/views/flux/input/group/index.blade.php new file mode 100644 index 0000000..e8bf961 --- /dev/null +++ b/resources/views/flux/input/group/index.blade.php @@ -0,0 +1,52 @@ +@props([ + 'name' => $attributes->whereStartsWith('wire:model')->first(), +]) + +@php +$classes = Flux::classes() + ->add('w-full flex') + ->add('*:data-flux-input:grow') + ->add([ + // With the external borders, let's always make sure the first and last children have outside borders. + // For internal borders, we will ensure that all left borders are removed, but the right borders remain. + // But when there is a input groupsuffix, then there should be no right internal border. + // That way we shouldn't ever have a double border... + + // All inputs borders... + '[&>[data-flux-input]:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>[data-flux-input]:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>[data-flux-input]:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0', + + // Selects and date pickers borders... + '[&>*:last-child:not(:first-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>*:not(:first-child):not(:last-child)>[data-flux-group-target]:not([data-invalid])]:border-s-0', + '[&>*:has(+[data-flux-input-group-suffix])>[data-flux-group-target]:not([data-invalid])]:border-e-0', + + // Buttons borders... + '[&>[data-flux-group-target]:last-child:not(:first-child)]:border-s-0', + '[&>[data-flux-group-target]:not(:first-child):not(:last-child)]:border-s-0', + '[&>[data-flux-group-target]:has(+[data-flux-input-group-suffix])]:border-e-0', + + // "Weld" the borders of inputs together by overriding their border radiuses... + '[&>[data-flux-group-target]:not(:first-child):not(:last-child)]:rounded-none', + '[&>[data-flux-group-target]:first-child:not(:last-child)]:rounded-e-none', + '[&>[data-flux-group-target]:last-child:not(:first-child)]:rounded-s-none', + + // "Weld" borders for sub-children of group targets (button element inside ui-select element, etc.)... + '[&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-group-target]]:rounded-none', + '[&>*:first-child:not(:last-child)>[data-flux-group-target]]:rounded-e-none', + '[&>*:last-child:not(:first-child)>[data-flux-group-target]]:rounded-s-none', + + // "Weld" borders for sub-sub-children of group targets (input element inside div inside ui-select element (combobox))... + '[&>*:not(:first-child):not(:last-child):not(:only-child)>[data-flux-input]>[data-flux-group-target]]:rounded-none', + '[&>*:first-child:not(:last-child)>[data-flux-input]>[data-flux-group-target]]:rounded-e-none', + '[&>*:last-child:not(:first-child)>[data-flux-input]>[data-flux-group-target]]:rounded-s-none', + ]) + ; +@endphp + + +
class($classes) }} data-flux-input-group> + {{ $slot }} +
+
diff --git a/resources/views/flux/input/group/prefix.blade.php b/resources/views/flux/input/group/prefix.blade.php new file mode 100644 index 0000000..a8c1a3e --- /dev/null +++ b/resources/views/flux/input/group/prefix.blade.php @@ -0,0 +1,14 @@ +@php +$classes = Flux::classes([ + 'flex items-center px-4 text-sm whitespace-nowrap', + 'text-zinc-800 dark:text-zinc-200', + 'bg-zinc-800/5 dark:bg-white/20', + 'border-zinc-200 dark:border-white/10', + 'rounded-s-lg', + 'border-s border-t border-b shadow-xs', +]); +@endphp + +
class($classes) }} data-flux-input-group-prefix> + {{ $slot }} +
diff --git a/resources/views/flux/input/group/suffix.blade.php b/resources/views/flux/input/group/suffix.blade.php new file mode 100644 index 0000000..135dd20 --- /dev/null +++ b/resources/views/flux/input/group/suffix.blade.php @@ -0,0 +1,14 @@ +@php +$classes = Flux::classes([ + 'flex items-center px-4 text-sm whitespace-nowrap', + 'text-zinc-800 dark:text-zinc-200', + 'bg-zinc-800/5 dark:bg-white/20', + 'border-zinc-200 dark:border-white/10', + 'rounded-e-lg', + 'border-e border-t border-b shadow-xs', +]); +@endphp + +
class($classes) }} data-flux-input-group-suffix> + {{ $slot }} +
diff --git a/resources/views/flux/input/index.blade.php b/resources/views/flux/input/index.blade.php new file mode 100644 index 0000000..c04966f --- /dev/null +++ b/resources/views/flux/input/index.blade.php @@ -0,0 +1,225 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconLeading = $iconLeading ??= $attributes->pluck('icon:leading'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'name' => $attributes->whereStartsWith('wire:model')->first(), + 'iconVariant' => 'mini', + 'variant' => 'outline', + 'iconTrailing' => null, + 'iconLeading' => null, + 'expandable' => null, + 'clearable' => null, + 'copyable' => null, + 'viewable' => null, + 'invalid' => null, + 'loading' => null, + 'type' => 'text', + 'mask' => null, + 'size' => null, + 'icon' => null, + 'kbd' => null, + 'as' => null, +]) + +@php + +// There are a few loading scenarios that this covers: +// If `:loading="false"` then never show loading. +// If `:loading="true"` then always show loading. +// If `:loading="foo"` then show loading when `foo` request is happening. +// If `wire:model` then never show loading. +// If `wire:model.live` then show loading when the `wire:model` value request is happening. +$wireModel = $attributes->wire('model'); +$wireTarget = null; + +if ($loading !== false) { + if ($loading === true) { + $loading = true; + } elseif ($wireModel?->directive) { + $loading = $wireModel->hasModifier('live'); + $wireTarget = $loading ? $wireModel->value() : null; + } else { + $wireTarget = $loading; + $loading = (bool) $loading; + } +} + +$invalid ??= ($name && $errors->has($name)); + +$iconLeading ??= $icon; + +$hasLeadingIcon = (bool) ($iconLeading); +$countOfTrailingIcons = collect([ + (bool) $iconTrailing, + (bool) $kbd, + (bool) $clearable, + (bool) $copyable, + (bool) $viewable, + (bool) $expandable, +])->filter()->count(); + +$iconClasses = Flux::classes() + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : '') + ; + +$inputLoadingClasses = Flux::classes() + // When loading, we need to add some extra padding to the input to account for the loading icon... + ->add(match ($countOfTrailingIcons) { + 0 => 'pe-10', + 1 => 'pe-16', + 2 => 'pe-23', + 3 => 'pe-30', + 4 => 'pe-37', + 5 => 'pe-44', + 6 => 'pe-51', + }) + ; + +$classes = Flux::classes() + ->add('w-full border rounded-lg block disabled:shadow-none dark:shadow-none') + ->add('appearance-none') // Without this, input[type="date"] on mobile doesn't respect w-full... + ->add(match ($size) { + default => 'text-base sm:text-sm py-2 h-10 leading-[1.375rem]', // This makes the height of the input 40px (same as buttons and such...) + 'sm' => 'text-sm py-1.5 h-8 leading-[1.125rem]', + 'xs' => 'text-xs py-1.5 h-6 leading-[1.125rem]', + }) + ->add(match ($hasLeadingIcon) { + true => 'ps-10', + false => 'ps-3', + }) + ->add(match ($countOfTrailingIcons) { + // Make sure there's enough padding on the right side of the input to account for all the icons... + 0 => 'pe-3', + 1 => 'pe-10', + 2 => 'pe-16', + 3 => 'pe-23', + 4 => 'pe-30', + 5 => 'pe-37', + 6 => 'pe-44', + }) + ->add(match ($variant) { // Background... + 'outline' => 'bg-white dark:bg-white/10 dark:disabled:bg-white/[7%]', + 'filled' => 'bg-zinc-800/5 dark:bg-white/10 dark:disabled:bg-white/[7%]', + }) + ->add(match ($variant) { // Text color + 'outline' => 'text-zinc-700 disabled:text-zinc-500 placeholder-zinc-400 disabled:placeholder-zinc-400/70 dark:text-zinc-300 dark:disabled:text-zinc-400 dark:placeholder-zinc-400 dark:disabled:placeholder-zinc-500', + 'filled' => 'text-zinc-700 placeholder-zinc-500 disabled:placeholder-zinc-400 dark:text-zinc-200 dark:placeholder-white/60 dark:disabled:placeholder-white/40', + }) + ->add(match ($variant) { // Border... + 'outline' => $invalid ? 'border-red-500' : 'shadow-xs border-zinc-200 border-b-zinc-300/80 disabled:border-b-zinc-200 dark:border-white/10 dark:disabled:border-white/5', + 'filled' => $invalid ? 'border-red-500' : 'border-0', + }) + ->add($attributes->pluck('class:input')) + ; +@endphp + + + + + + + +
only('class')->class('w-full relative block group/input') }} data-flux-input> + +
+ +
+ +
attributes->class('absolute top-0 bottom-0 flex items-center justify-center text-xs text-zinc-400/75 ps-3 start-0') }}> + {{ $iconLeading }} +
+ + + except('class')->class($type === 'file' ? '' : $classes) }} + @isset ($name) name="{{ $name }}" @endisset + @if ($mask) x-mask="{{ $mask }}" @endif + @if ($invalid) aria-invalid="true" data-invalid @endif + @if (is_numeric($size)) size="{{ $size }}" @endif + data-flux-control + data-flux-group-target + @if ($loading) wire:loading.class="{{ $inputLoadingClasses }}" @endif + @if ($loading && $wireTarget) wire:target="{{ $wireTarget }}" @endif + > + +
+ {{-- Icon should be text-zinc-400/75 --}} + + + + + + + + + + {{ $kbd }} + + + + + + + + + + + + + + + + add('pointer-events-none text-zinc-400/75'); + ?> + + + {{ $iconTrailing }} + +
+
+
+ + + diff --git a/resources/views/flux/input/viewable.blade.php b/resources/views/flux/input/viewable.blade.php new file mode 100644 index 0000000..e14b586 --- /dev/null +++ b/resources/views/flux/input/viewable.blade.php @@ -0,0 +1,35 @@ +@php +$attributes = $attributes->merge([ + 'variant' => 'subtle', + 'class' => '-me-1', + 'square' => true, + 'size' => null, +]); +@endphp + + + diff --git a/resources/views/flux/label.blade.php b/resources/views/flux/label.blade.php new file mode 100644 index 0000000..7cdde21 --- /dev/null +++ b/resources/views/flux/label.blade.php @@ -0,0 +1,32 @@ +@props([ + 'badge' => null, + 'aside' => null, +]) + +@php + $classes = Flux::classes() + ->add('inline-flex items-center') + ->add('text-sm font-medium') + ->add('[:where(&)]:text-zinc-800 [:where(&)]:dark:text-white') + ; +@endphp + +class($classes) }} data-flux-label> + {{ $slot }} + + + + + + + + + + + diff --git a/resources/views/flux/legend.blade.php b/resources/views/flux/legend.blade.php new file mode 100644 index 0000000..4168b50 --- /dev/null +++ b/resources/views/flux/legend.blade.php @@ -0,0 +1,4 @@ + +class('text-base font-medium text-zinc-800 dark:text-white') }} data-flux-legend> + {{ $slot }} + diff --git a/resources/views/flux/link.blade.php b/resources/views/flux/link.blade.php new file mode 100644 index 0000000..bd470cd --- /dev/null +++ b/resources/views/flux/link.blade.php @@ -0,0 +1,28 @@ +@props([ + 'external' => null, + 'accent' => true, + 'variant' => null, + 'strong' => false, +]) + +@php +$classes = Flux::classes() + ->add('inline font-medium') + ->add('underline-offset-[6px] hover:decoration-current') + ->add(match ($variant) { + 'ghost' => 'no-underline hover:underline', + 'subtle' => 'no-underline', + default => 'underline', + }) + ->add('[[data-color]>&]:text-inherit [[data-color]>&]:decoration-current/20 dark:[[data-color]>&]:decoration-current/50 [[data-color]>&]:hover:decoration-current') + ->add(match ($variant) { + 'subtle' => 'text-zinc-500 dark:text-white/70 hover:text-zinc-800 dark:hover:text-white', + default => match ($accent) { + true => 'text-[var(--color-accent-content)] decoration-[color-mix(in_oklab,var(--color-accent-content),transparent_80%)]', + false => 'text-zinc-800 dark:text-white decoration-zinc-800/20 dark:decoration-white/20', + }, + }) + ; +@endphp +{{-- NOTE: It's important that this file has NO newline at the end of the file. --}} +class($classes) }} data-flux-link target="_blank">{{ $slot }} \ No newline at end of file diff --git a/resources/views/flux/main.blade.php b/resources/views/flux/main.blade.php new file mode 100644 index 0000000..bf5c20c --- /dev/null +++ b/resources/views/flux/main.blade.php @@ -0,0 +1,15 @@ +@props([ + 'container' => null, +]) + +@php +$classes = Flux::classes('[grid-area:main]') + ->add('p-6 lg:p-8') + ->add('[[data-flux-container]_&]:px-0') // If there is a wrapping container, let IT handle the x padding... + ->add($container ? 'mx-auto w-full [:where(&)]:max-w-7xl' : '') + ; +@endphp + +
class($classes) }} data-flux-main> + {{ $slot }} +
diff --git a/resources/views/flux/menu/checkbox/group.blade.php b/resources/views/flux/menu/checkbox/group.blade.php new file mode 100644 index 0000000..6e31197 --- /dev/null +++ b/resources/views/flux/menu/checkbox/group.blade.php @@ -0,0 +1,4 @@ + + + {{ $slot }} + diff --git a/resources/views/flux/menu/checkbox/index.blade.php b/resources/views/flux/menu/checkbox/index.blade.php new file mode 100644 index 0000000..0a2c0bf --- /dev/null +++ b/resources/views/flux/menu/checkbox/index.blade.php @@ -0,0 +1,60 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'iconTrailing' => null, + 'variant' => 'default', + 'indent' => false, + 'suffix' => null, + 'label' => null, + 'kbd' => null, +]) + +@php +if ($kbd) $suffix = $kbd; + +$iconClasses = Flux::classes() + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$iconTrailingClasses = Flux::classes() + ->add('ms-auto') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$classes = Flux::classes() + ->add('group/menu-checkbox flex items-center px-2 py-1.5 w-full focus:outline-hidden') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add('[[disabled]_&]:opacity-50 [&[disabled]]:opacity-50') + ->add([ + 'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600', + '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', + ]) + ; +@endphp + +class($classes) }} data-flux-menu-item-has-icon data-flux-menu-checkbox> +
+ +
+ + {{ $label ?? $slot }} + + +
+ {{ $suffix }} +
+ + + + + + {{ $iconTrailing }} + +
diff --git a/resources/views/flux/menu/group.blade.php b/resources/views/flux/menu/group.blade.php new file mode 100644 index 0000000..e949124 --- /dev/null +++ b/resources/views/flux/menu/group.blade.php @@ -0,0 +1,22 @@ +@props([ + 'heading' => null, +]) + +@php +$classes = Flux::classes() + ->add('-mx-[.3125rem] px-[.3125rem]') + ->add('[&+&>[data-flux-menu-separator-top]]:hidden [&:first-child>[data-flux-menu-separator-top]]:hidden [&:last-child>[data-flux-menu-separator-bottom]]:hidden') + ; +@endphp + +
class($classes) }} role="group" data-flux-menu-group> + + + + {{ $heading }} + + + {{ $slot }} + + +
diff --git a/resources/views/flux/menu/heading.blade.php b/resources/views/flux/menu/heading.blade.php new file mode 100644 index 0000000..f5cb563 --- /dev/null +++ b/resources/views/flux/menu/heading.blade.php @@ -0,0 +1,14 @@ +@php +$classes = Flux::classes([ + 'p-2 pb-1 w-full', + 'flex items-center', + 'text-start text-xs font-medium', + 'text-zinc-500 font-medium dark:text-zinc-300', +]); +@endphp + +
class($classes) }} data-flux-menu-heading> + + +
{{ $slot }}
+
diff --git a/resources/views/flux/menu/index.blade.php b/resources/views/flux/menu/index.blade.php new file mode 100644 index 0000000..f12f45c --- /dev/null +++ b/resources/views/flux/menu/index.blade.php @@ -0,0 +1,17 @@ +@php +$classes = Flux::classes() + ->add('[:where(&)]:min-w-48 p-[.3125rem]') + ->add('rounded-lg shadow-xs') + ->add('border border-zinc-200 dark:border-zinc-600') + ->add('bg-white dark:bg-zinc-700') + ->add('focus:outline-hidden') + ; +@endphp + +class($classes) }} + popover="manual" + data-flux-menu +> + {{ $slot }} + diff --git a/resources/views/flux/menu/item.blade.php b/resources/views/flux/menu/item.blade.php new file mode 100644 index 0000000..a8f8260 --- /dev/null +++ b/resources/views/flux/menu/item.blade.php @@ -0,0 +1,79 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconTrailing' => null, + 'iconVariant' => 'mini', + 'variant' => 'default', + 'suffix' => null, + 'value' => null, + 'icon' => null, + 'kbd' => null, +]) + +@php +if ($kbd) $suffix = $kbd; + +$iconClasses = Flux::classes() + ->add('me-2') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$trailingIconClasses = Flux::classes() + ->add('ms-auto text-zinc-400 [[data-flux-menu-item-icon]:hover_&]:text-current') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$classes = Flux::classes() + ->add('flex items-center px-2 py-1.5 w-full focus:outline-hidden') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add('[&[disabled]]:opacity-50') + ->add(match ($variant) { + 'danger' => [ + 'text-zinc-800 data-active:text-red-600 data-active:bg-red-50 dark:text-white dark:data-active:bg-red-400/20 dark:data-active:text-red-400', + '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', + ], + 'default' => [ + 'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600', + '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', + ] + }) + ; + +$suffixClasses = Flux::classes() + ->add('ms-auto text-xs text-zinc-400') + ; +@endphp + + + + + + {{ $icon }} + + + + + {{ $slot }} + + + +
+ {{ $suffix }} +
+ + {{ $suffix }} + + + + + + + {{ $iconTrailing }} + + + {{ $submenu ?? '' }} +
diff --git a/resources/views/flux/menu/radio/group.blade.php b/resources/views/flux/menu/radio/group.blade.php new file mode 100644 index 0000000..24619dd --- /dev/null +++ b/resources/views/flux/menu/radio/group.blade.php @@ -0,0 +1,4 @@ + + + {{ $slot }} + diff --git a/resources/views/flux/menu/radio/index.blade.php b/resources/views/flux/menu/radio/index.blade.php new file mode 100644 index 0000000..e9a74bb --- /dev/null +++ b/resources/views/flux/menu/radio/index.blade.php @@ -0,0 +1,60 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'iconTrailing' => null, + 'variant' => 'default', + 'indent' => false, + 'suffix' => null, + 'label' => null, + 'kbd' => null, +]) + +@php +if ($kbd) $suffix = $kbd; + +$iconClasses = Flux::classes() + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$iconTrailingClasses = Flux::classes() + ->add('ms-auto') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$classes = Flux::classes() + ->add('group/menu-radio flex items-center px-2 py-1.5 w-full focus:outline-hidden') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add('[[disabled]_&]:opacity-50 [&[disabled]]:opacity-50') + ->add([ + 'text-zinc-800 data-active:bg-zinc-50 dark:text-white dark:data-active:bg-zinc-600', + '**:data-flux-menu-item-icon:text-zinc-400 dark:**:data-flux-menu-item-icon:text-white/60 [&[data-active]_[data-flux-menu-item-icon]]:text-current', + ]) + ; +@endphp + +class($classes) }} data-flux-menu-item-has-icon data-flux-menu-radio> +
+ +
+ + {{ $label ?? $slot }} + + +
+ {{ $suffix }} +
+ + + + + + {{ $iconTrailing }} + +
diff --git a/resources/views/flux/menu/separator.blade.php b/resources/views/flux/menu/separator.blade.php new file mode 100644 index 0000000..9f44388 --- /dev/null +++ b/resources/views/flux/menu/separator.blade.php @@ -0,0 +1,4 @@ + +
+ +
diff --git a/resources/views/flux/menu/submenu.blade.php b/resources/views/flux/menu/submenu.blade.php new file mode 100644 index 0000000..57b7e34 --- /dev/null +++ b/resources/views/flux/menu/submenu.blade.php @@ -0,0 +1,38 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'iconTrailing' => null, + 'heading' => '', + 'icon' => null, + 'keepOpen' => false, +]) + +@php +$iconClasses = Flux::classes() + ->add('ms-auto text-zinc-400 [[data-flux-menu-item]:hover_&]:text-current') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : ''); +@endphp + + + + {{ $heading }} + + + + + + {{ $iconTrailing }} + + + + + + + + + {{ $slot }} + + diff --git a/resources/views/flux/modal/close.blade.php b/resources/views/flux/modal/close.blade.php new file mode 100644 index 0000000..91934b9 --- /dev/null +++ b/resources/views/flux/modal/close.blade.php @@ -0,0 +1,4 @@ + + + {{ $slot }} + diff --git a/resources/views/flux/modal/index.blade.php b/resources/views/flux/modal/index.blade.php new file mode 100644 index 0000000..26ce1da --- /dev/null +++ b/resources/views/flux/modal/index.blade.php @@ -0,0 +1,94 @@ +@props([ + 'dismissible' => null, + 'position' => null, + 'closable' => null, + 'trigger' => null, + 'variant' => null, + 'name' => null, +]) + +@php +$closable ??= $variant === 'bare' ? false : true; + +$classes = Flux::classes() + ->add(match ($variant) { + default => 'p-6 [:where(&)]:max-w-xl shadow-lg rounded-xl', + 'flyout' => match($position) { + 'bottom' => 'fixed m-0 p-8 min-w-[100vw] overflow-y-auto mt-auto [--fx-flyout-translate:translateY(50px)] border-t', + 'left' => 'fixed m-0 p-8 max-h-dvh min-h-dvh md:[:where(&)]:min-w-[25rem] overflow-y-auto mr-auto [--fx-flyout-translate:translateX(-50px)] border-e rtl:mr-0 rtl:ml-auto rtl:[--fx-flyout-translate:translateX(50px)]', + default => 'fixed m-0 p-8 max-h-dvh min-h-dvh md:[:where(&)]:min-w-[25rem] overflow-y-auto ml-auto [--fx-flyout-translate:translateX(50px)] border-s rtl:ml-0 rtl:mr-auto rtl:[--fx-flyout-translate:translateX(-50px)]', + }, + 'bare' => '', + }) + ->add(match ($variant) { + default => 'bg-white dark:bg-zinc-800 border border-transparent dark:border-zinc-700', + 'flyout' => 'bg-white dark:bg-zinc-800 border-transparent dark:border-zinc-700', + 'bare' => 'bg-transparent', + }); + +// Support adding the .self modifier to the wire:model directive... +if (($wireModel = $attributes->wire('model')) && $wireModel->directive && ! $wireModel->hasModifier('self')) { + unset($attributes[$wireModel->directive]); + + $wireModel->directive .= '.self'; + + $attributes = $attributes->merge([$wireModel->directive => $wireModel->value]); +} + +// Support syntax... +if ($attributes['@close'] ?? null) { + $attributes['wire:close'] = $attributes['@close']; + + unset($attributes['@close']); +} + +// Support syntax... +if ($attributes['@cancel'] ?? null) { + $attributes['wire:cancel'] = $attributes['@cancel']; + + unset($attributes['@cancel']); +} + +if ($dismissible === false) { + $attributes = $attributes->merge(['disable-click-outside' => '']); +} + +[ $styleAttributes, $attributes ] = Flux::splitAttributes($attributes, ['autofocus', 'class', 'style', 'wire:close', 'x-on:close', 'wire:cancel', 'x-on:cancel']); +@endphp + + + + {{ $trigger }} + + + class($classes) }} + @if ($name) data-modal="{{ $name }}" @endif + @if ($variant === 'flyout') data-flux-flyout @endif + x-data + @isset($__livewire) + x-on:modal-show.document=" + if ($event.detail.name === @js($name) && ($event.detail.scope === @js($__livewire->getId()))) $el.showModal(); + if ($event.detail.name === @js($name) && (! $event.detail.scope)) $el.showModal(); + " + x-on:modal-close.document=" + if ($event.detail.name === @js($name) && ($event.detail.scope === @js($__livewire->getId()))) $el.close(); + if (! $event.detail.name || ($event.detail.name === @js($name) && (! $event.detail.scope))) $el.close(); + " + @else + x-on:modal-show.document="if ($event.detail.name === @js($name) && (! $event.detail.scope)) $el.showModal()" + x-on:modal-close.document="if (! $event.detail.name || ($event.detail.name === @js($name) && (! $event.detail.scope))) $el.close()" + @endif + > + {{ $slot }} + + +
+ + + +
+ +
+
diff --git a/resources/views/flux/modal/trigger.blade.php b/resources/views/flux/modal/trigger.blade.php new file mode 100644 index 0000000..6374c71 --- /dev/null +++ b/resources/views/flux/modal/trigger.blade.php @@ -0,0 +1,16 @@ +@props([ + 'shortcut' => null, + 'name' => null, +]) + +
class('contents') }} + x-data + x-on:click="$el.querySelector('button[disabled]') || $dispatch('modal-show', { name: '{{ $name }}' })" + @if ($shortcut) + x-on:keydown.{{ $shortcut }}.document="$event.preventDefault(); $dispatch('modal-show', { name: '{{ $name }}' })" + @endif + data-flux-modal-trigger +> + {{ $slot }} +
diff --git a/resources/views/flux/navbar/badge.blade.php b/resources/views/flux/navbar/badge.blade.php new file mode 100644 index 0000000..da2f736 --- /dev/null +++ b/resources/views/flux/navbar/badge.blade.php @@ -0,0 +1,54 @@ +@props([ + 'variant' => null, + 'color' => null, +]) + +@php +$class = Flux::classes() + ->add('text-xs font-medium rounded-sm px-1 py-0.5') + /** + * We can't compile classes for each color because of variants color to color and Tailwind's JIT compiler. + * We instead need to write out each one by hand. Sorry... + */ + ->add($variant === 'solid' ? match ($color) { + default => 'text-white dark:text-white bg-zinc-600 dark:bg-zinc-600', + 'red' => 'text-white dark:text-white bg-red-500 dark:bg-red-600', + 'orange' => 'text-white dark:text-white bg-orange-500 dark:bg-orange-600', + 'amber' => 'text-white dark:text-zinc-950 bg-amber-500 dark:bg-amber-500', + 'yellow' => 'text-white dark:text-zinc-950 bg-yellow-500 dark:bg-yellow-400', + 'lime' => 'text-white dark:text-white bg-lime-500 dark:bg-lime-600', + 'green' => 'text-white dark:text-white bg-green-500 dark:bg-green-600', + 'emerald' => 'text-white dark:text-white bg-emerald-500 dark:bg-emerald-600', + 'teal' => 'text-white dark:text-white bg-teal-500 dark:bg-teal-600', + 'cyan' => 'text-white dark:text-white bg-cyan-500 dark:bg-cyan-600', + 'sky' => 'text-white dark:text-white bg-sky-500 dark:bg-sky-600', + 'blue' => 'text-white dark:text-white bg-blue-500 dark:bg-blue-600', + 'indigo' => 'text-white dark:text-white bg-indigo-500 dark:bg-indigo-600', + 'violet' => 'text-white dark:text-white bg-violet-500 dark:bg-violet-600', + 'purple' => 'text-white dark:text-white bg-purple-500 dark:bg-purple-600', + 'fuchsia' => 'text-white dark:text-white bg-fuchsia-500 dark:bg-fuchsia-600', + 'pink' => 'text-white dark:text-white bg-pink-500 dark:bg-pink-600', + 'rose' => 'text-white dark:text-white bg-rose-500 dark:bg-rose-600', + } : match ($color) { + default => 'text-zinc-700 dark:text-zinc-200 bg-zinc-400/15 dark:bg-zinc-400/40', + 'red' => 'text-red-700 dark:text-red-200 bg-red-400/20 dark:bg-red-400/40', + 'orange' => 'text-orange-700 dark:text-orange-200 bg-orange-400/20 dark:bg-orange-400/40', + 'amber' => 'text-amber-700 dark:text-amber-200 bg-amber-400/25 dark:bg-amber-400/40', + 'yellow' => 'text-yellow-800 dark:text-yellow-200 bg-yellow-400/25 dark:bg-yellow-400/40', + 'lime' => 'text-lime-800 dark:text-lime-200 bg-lime-400/25 dark:bg-lime-400/40', + 'green' => 'text-green-800 dark:text-green-200 bg-green-400/20 dark:bg-green-400/40', + 'emerald' => 'text-emerald-800 dark:text-emerald-200 bg-emerald-400/20 dark:bg-emerald-400/40', + 'teal' => 'text-teal-800 dark:text-teal-200 bg-teal-400/20 dark:bg-teal-400/40', + 'cyan' => 'text-cyan-800 dark:text-cyan-200 bg-cyan-400/20 dark:bg-cyan-400/40', + 'sky' => 'text-sky-800 dark:text-sky-200 bg-sky-400/20 dark:bg-sky-400/40', + 'blue' => 'text-blue-800 dark:text-blue-200 bg-blue-400/20 dark:bg-blue-400/40', + 'indigo' => 'text-indigo-700 dark:text-indigo-200 bg-indigo-400/20 dark:bg-indigo-400/40', + 'violet' => 'text-violet-700 dark:text-violet-200 bg-violet-400/20 dark:bg-violet-400/40', + 'purple' => 'text-purple-700 dark:text-purple-200 bg-purple-400/20 dark:bg-purple-400/40', + 'fuchsia' => 'text-fuchsia-700 dark:text-fuchsia-200 bg-fuchsia-400/20 dark:bg-fuchsia-400/40', + 'pink' => 'text-pink-700 dark:text-pink-200 bg-pink-400/20 dark:bg-pink-400/40', + 'rose' => 'text-rose-700 dark:text-rose-200 bg-rose-400/20 dark:bg-rose-400/40', + }); +@endphp + +class($class) }}>{{ $slot }} diff --git a/resources/views/flux/navbar/index.blade.php b/resources/views/flux/navbar/index.blade.php new file mode 100644 index 0000000..3d5df47 --- /dev/null +++ b/resources/views/flux/navbar/index.blade.php @@ -0,0 +1,15 @@ +@props([ + 'scrollable' => false, + 'variant' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex items-center gap-1 py-3') + ->add($scrollable ? ['overflow-x-auto overflow-y-hidden'] : []) + ; +@endphp + + diff --git a/resources/views/flux/navbar/item.blade.php b/resources/views/flux/navbar/item.blade.php new file mode 100644 index 0000000..262ee6b --- /dev/null +++ b/resources/views/flux/navbar/item.blade.php @@ -0,0 +1,81 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@aware([ 'variant' ]) + +@props([ + 'iconVariant' => 'outline', + 'iconTrailing' => null, + 'badgeColor' => null, + 'variant' => null, + 'iconDot' => null, + 'accent' => true, + 'square' => null, + 'badge' => null, + 'icon' => null, +]) + +@php +// Button should be a square if it has no text contents... +$square ??= $slot->isEmpty(); + +// Size-up icons in square/icon-only buttons... +$iconClasses = Flux::classes($square ? 'size-6' : 'size-5'); + +$classes = Flux::classes() + ->add('px-3 h-8 flex items-center rounded-lg') + ->add('relative') // This is here for the "active" bar at the bottom to be positioned correctly... + ->add($square ? '' : 'px-2.5!') + ->add('text-zinc-500 dark:text-white/80 ') + // Styles for when this link is the "current" one... + ->add('data-current:after:absolute data-current:after:-bottom-3 data-current:after:inset-x-0 data-current:after:h-[2px]') + ->add([ + '[--hover-fill:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)]', + + ]) + ->add(match ($accent) { + true => [ + 'hover:text-zinc-800 dark:hover:text-white', + 'data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content) hover:bg-zinc-800/5 dark:hover:bg-white/10 hover:data-current:bg-(--hover-fill)', + 'data-current:after:bg-(--color-accent-content)', + ], + false => [ + 'hover:text-zinc-800 dark:hover:text-white', + 'data-current:text-zinc-800 dark:data-current:text-zinc-100 hover:bg-zinc-100 dark:hover:bg-white/10', + 'data-current:after:bg-zinc-800 dark:data-current:after:bg-white', + ], + }) + ; +@endphp + + + +
+ + + + {{ $icon }} + + + +
+
+
+ +
+ + + isNotEmpty()): ?> +
{{ $slot }}
+ + + + + + {{ $iconTrailing }} + + + + {{ $badge }} + +
diff --git a/resources/views/flux/navlist/badge.blade.php b/resources/views/flux/navlist/badge.blade.php new file mode 100644 index 0000000..da2f736 --- /dev/null +++ b/resources/views/flux/navlist/badge.blade.php @@ -0,0 +1,54 @@ +@props([ + 'variant' => null, + 'color' => null, +]) + +@php +$class = Flux::classes() + ->add('text-xs font-medium rounded-sm px-1 py-0.5') + /** + * We can't compile classes for each color because of variants color to color and Tailwind's JIT compiler. + * We instead need to write out each one by hand. Sorry... + */ + ->add($variant === 'solid' ? match ($color) { + default => 'text-white dark:text-white bg-zinc-600 dark:bg-zinc-600', + 'red' => 'text-white dark:text-white bg-red-500 dark:bg-red-600', + 'orange' => 'text-white dark:text-white bg-orange-500 dark:bg-orange-600', + 'amber' => 'text-white dark:text-zinc-950 bg-amber-500 dark:bg-amber-500', + 'yellow' => 'text-white dark:text-zinc-950 bg-yellow-500 dark:bg-yellow-400', + 'lime' => 'text-white dark:text-white bg-lime-500 dark:bg-lime-600', + 'green' => 'text-white dark:text-white bg-green-500 dark:bg-green-600', + 'emerald' => 'text-white dark:text-white bg-emerald-500 dark:bg-emerald-600', + 'teal' => 'text-white dark:text-white bg-teal-500 dark:bg-teal-600', + 'cyan' => 'text-white dark:text-white bg-cyan-500 dark:bg-cyan-600', + 'sky' => 'text-white dark:text-white bg-sky-500 dark:bg-sky-600', + 'blue' => 'text-white dark:text-white bg-blue-500 dark:bg-blue-600', + 'indigo' => 'text-white dark:text-white bg-indigo-500 dark:bg-indigo-600', + 'violet' => 'text-white dark:text-white bg-violet-500 dark:bg-violet-600', + 'purple' => 'text-white dark:text-white bg-purple-500 dark:bg-purple-600', + 'fuchsia' => 'text-white dark:text-white bg-fuchsia-500 dark:bg-fuchsia-600', + 'pink' => 'text-white dark:text-white bg-pink-500 dark:bg-pink-600', + 'rose' => 'text-white dark:text-white bg-rose-500 dark:bg-rose-600', + } : match ($color) { + default => 'text-zinc-700 dark:text-zinc-200 bg-zinc-400/15 dark:bg-zinc-400/40', + 'red' => 'text-red-700 dark:text-red-200 bg-red-400/20 dark:bg-red-400/40', + 'orange' => 'text-orange-700 dark:text-orange-200 bg-orange-400/20 dark:bg-orange-400/40', + 'amber' => 'text-amber-700 dark:text-amber-200 bg-amber-400/25 dark:bg-amber-400/40', + 'yellow' => 'text-yellow-800 dark:text-yellow-200 bg-yellow-400/25 dark:bg-yellow-400/40', + 'lime' => 'text-lime-800 dark:text-lime-200 bg-lime-400/25 dark:bg-lime-400/40', + 'green' => 'text-green-800 dark:text-green-200 bg-green-400/20 dark:bg-green-400/40', + 'emerald' => 'text-emerald-800 dark:text-emerald-200 bg-emerald-400/20 dark:bg-emerald-400/40', + 'teal' => 'text-teal-800 dark:text-teal-200 bg-teal-400/20 dark:bg-teal-400/40', + 'cyan' => 'text-cyan-800 dark:text-cyan-200 bg-cyan-400/20 dark:bg-cyan-400/40', + 'sky' => 'text-sky-800 dark:text-sky-200 bg-sky-400/20 dark:bg-sky-400/40', + 'blue' => 'text-blue-800 dark:text-blue-200 bg-blue-400/20 dark:bg-blue-400/40', + 'indigo' => 'text-indigo-700 dark:text-indigo-200 bg-indigo-400/20 dark:bg-indigo-400/40', + 'violet' => 'text-violet-700 dark:text-violet-200 bg-violet-400/20 dark:bg-violet-400/40', + 'purple' => 'text-purple-700 dark:text-purple-200 bg-purple-400/20 dark:bg-purple-400/40', + 'fuchsia' => 'text-fuchsia-700 dark:text-fuchsia-200 bg-fuchsia-400/20 dark:bg-fuchsia-400/40', + 'pink' => 'text-pink-700 dark:text-pink-200 bg-pink-400/20 dark:bg-pink-400/40', + 'rose' => 'text-rose-700 dark:text-rose-200 bg-rose-400/20 dark:bg-rose-400/40', + }); +@endphp + +class($class) }}>{{ $slot }} diff --git a/resources/views/flux/navlist/group.blade.php b/resources/views/flux/navlist/group.blade.php new file mode 100644 index 0000000..038219d --- /dev/null +++ b/resources/views/flux/navlist/group.blade.php @@ -0,0 +1,38 @@ +@props([ + 'expandable' => false, + 'expanded' => true, + 'heading' => null, +]) + + + class('group/disclosure') }} @if ($expanded === true) open @endif data-flux-navlist-group> + + + + + +
class('block space-y-[2px]') }}> +
+
{{ $heading }}
+
+ +
+ {{ $slot }} +
+
+ +
class('block space-y-[2px]') }}> + {{ $slot }} +
+ diff --git a/resources/views/flux/navlist/index.blade.php b/resources/views/flux/navlist/index.blade.php new file mode 100644 index 0000000..8aa99c8 --- /dev/null +++ b/resources/views/flux/navlist/index.blade.php @@ -0,0 +1,14 @@ +@props([ + 'variant' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex flex-col') + ->add('overflow-visible min-h-auto') + ; +@endphp + + diff --git a/resources/views/flux/navlist/item.blade.php b/resources/views/flux/navlist/item.blade.php new file mode 100644 index 0000000..67bc241 --- /dev/null +++ b/resources/views/flux/navlist/item.blade.php @@ -0,0 +1,89 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@aware([ 'variant' ]) + +@props([ + 'iconVariant' => 'outline', + 'iconTrailing' => null, + 'badgeColor' => null, + 'variant' => null, + 'iconDot' => null, + 'accent' => true, + 'badge' => null, + 'icon' => null, +]) + +@php +// Button should be a square if it has no text contents... +$square ??= $slot->isEmpty(); + +// Size-up icons in square/icon-only buttons... +$iconClasses = Flux::classes($square ? 'size-5!' : 'size-4!'); + +$classes = Flux::classes() + ->add('h-10 lg:h-8 relative flex items-center gap-3 rounded-lg') + ->add($square ? 'px-2.5!' : '') + ->add('py-0 text-start w-full px-3 my-px') + ->add('text-zinc-500 dark:text-white/80') + ->add(match ($variant) { + 'outline' => match ($accent) { + true => [ + 'data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content)', + 'data-current:bg-white dark:data-current:bg-white/[7%] data-current:border data-current:border-zinc-200 dark:data-current:border-transparent', + 'hover:text-zinc-800 dark:hover:text-white dark:hover:bg-white/[7%] hover:bg-zinc-800/5 ', + 'border border-transparent', + ], + false => [ + 'data-current:text-zinc-800 dark:data-current:text-zinc-100 data-current:border-zinc-200', + 'data-current:bg-white dark:data-current:bg-white/10 data-current:border data-current:border-zinc-200 dark:data-current:border-white/10 data-current:shadow-xs', + 'hover:text-zinc-800 dark:hover:text-white', + ], + }, + default => match ($accent) { + true => [ + 'data-current:text-(--color-accent-content) hover:data-current:text-(--color-accent-content)', + 'data-current:bg-zinc-800/[4%] dark:data-current:bg-white/[7%]', + 'hover:text-zinc-800 dark:hover:text-white hover:bg-zinc-800/[4%] dark:hover:bg-white/[7%]', + ], + false => [ + 'data-current:text-zinc-800 dark:data-current:text-zinc-100', + 'data-current:bg-zinc-800/[4%] dark:data-current:bg-white/10', + 'hover:text-zinc-800 dark:hover:text-white hover:bg-zinc-800/[4%] dark:hover:bg-white/10', + ], + }, + }) + ; +@endphp + + + +
+ + + + {{ $icon }} + + + +
+
+
+ +
+ + + isNotEmpty()): ?> +
{{ $slot }}
+ + + + + + {{ $iconTrailing }} + + + + {{ $badge }} + +
diff --git a/resources/views/flux/navmenu/index.blade.php b/resources/views/flux/navmenu/index.blade.php new file mode 100644 index 0000000..bfcc400 --- /dev/null +++ b/resources/views/flux/navmenu/index.blade.php @@ -0,0 +1,12 @@ +@php +$classes = Flux::classes() + ->add('[:where(&)]:min-w-48 p-[.3125rem]') + ->add('rounded-lg shadow-xs') + ->add('border border-zinc-200 dark:border-zinc-600') + ->add('bg-white dark:bg-zinc-700') + ; +@endphp + + diff --git a/resources/views/flux/navmenu/item.blade.php b/resources/views/flux/navmenu/item.blade.php new file mode 100644 index 0000000..c96fdd3 --- /dev/null +++ b/resources/views/flux/navmenu/item.blade.php @@ -0,0 +1,77 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@props([ + 'iconVariant' => 'mini', + 'iconTrailing' => null, + 'variant' => 'default', + 'disabled' => false, + 'indent' => false, + 'suffix' => null, + 'value' => null, + 'icon' => null, + 'kbd' => null, +]) + +@php +if ($kbd) $suffix = $kbd; + +$iconClasses = Flux::classes() + ->add('me-2') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$trailingIconClasses = Flux::classes() + ->add('ms-auto') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : null) + ; + +$classes = Flux::classes() + ->add('group flex items-center px-2 py-2 lg:py-1.5 w-full') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add(match ($variant) { + 'danger' => [ + 'text-zinc-800 hover:text-red-600 hover:bg-red-50 dark:text-white dark:hover:bg-red-400/20 dark:hover:text-red-400', + '**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current', + ], + 'default' => [ + 'text-zinc-800 hover:bg-zinc-50 dark:text-white dark:hover:bg-zinc-600', + '**:data-navmenu-icon:text-zinc-400 dark:**:data-navmenu-icon:text-white/60 [&:hover_[data-navmenu-icon]]:text-current', + ] + }) + ->add($disabled ? 'text-zinc-400' : '') + ; +@endphp + + + +
+ + + + + + {{ $icon }} + + + {{ $slot }} + + + +
+ {{ $suffix }} +
+ + {{ $suffix }} + + + + + + + {{ $iconTrailing }} + +
diff --git a/resources/views/flux/navmenu/separator.blade.php b/resources/views/flux/navmenu/separator.blade.php new file mode 100644 index 0000000..b8c0e82 --- /dev/null +++ b/resources/views/flux/navmenu/separator.blade.php @@ -0,0 +1,4 @@ + +
+ +
diff --git a/resources/views/flux/pagination.blade.php b/resources/views/flux/pagination.blade.php new file mode 100644 index 0000000..2742734 --- /dev/null +++ b/resources/views/flux/pagination.blade.php @@ -0,0 +1,137 @@ +@props([ + 'paginator' => null, +]) + +@php +$simple = ! $paginator instanceof \Illuminate\Contracts\Pagination\LengthAwarePaginator; +@endphp + +@if ($simple) +
class('pt-3 border-t border-zinc-100 dark:border-zinc-700 flex justify-between items-center') }} data-flux-pagination> +
+ + @if ($paginator->hasPages()) +
+ @if ($paginator->onFirstPage()) +
+ +
+ @else + @if(method_exists($paginator,'getCursorName')) + + @else + + @endif + @endif + + @if ($paginator->hasMorePages()) + @if(method_exists($paginator,'getCursorName')) + + @else + + @endif + @else +
+ +
+ @endif +
+ @endif +
+@else +
class('@container pt-3 border-t border-zinc-100 dark:border-zinc-700 flex justify-between items-center gap-3') }} data-flux-pagination> + @if ($paginator->total() > 0) +
+ {!! __('Showing') !!} {{ $paginator->firstItem() }} {!! __('to') !!} {{ $paginator->lastItem() }} {!! __('of') !!} {{ $paginator->total() }} {!! __('results') !!} +
+ @else +
+ @endif + + @if ($paginator->hasPages()) + {{-- Mobile pagination --}} +
+ @if ($paginator->onFirstPage()) +
+ +
+ @else + + @endif + + @if ($paginator->hasMorePages()) + + @else +
+ +
+ @endif +
+ + {{-- Desktop pagination --}} + + @endif +
+@endif diff --git a/resources/views/flux/profile.blade.php b/resources/views/flux/profile.blade.php new file mode 100644 index 0000000..9fdd616 --- /dev/null +++ b/resources/views/flux/profile.blade.php @@ -0,0 +1,51 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp + +@props([ + 'iconVariant' => 'micro', + 'iconTrailing' => null, + 'initials' => null, + 'chevron' => true, + 'circle' => null, + 'avatar' => null, + 'name' => null, +]) + +@php +$iconTrailing = $iconTrailing ?? ($chevron ? 'chevron-down' : null); + +// When using the outline icon variant, we need to size it down to match the default icon sizes... +$iconClasses = Flux::classes('text-zinc-400 dark:text-white/80 group-hover:text-zinc-800 dark:group-hover:text-white') + ->add($iconVariant === 'outline' ? 'size-4' : ''); + +$classes = Flux::classes() + ->add('group flex items-center') + ->add('rounded-lg has-data-[circle=true]:rounded-full') + ->add('[ui-dropdown>&]:w-full') // Without this, the "name" won't get truncated in a sidebar dropdown... + ->add('p-1 hover:bg-zinc-800/5 dark:hover:bg-white/10') + ; +@endphp + + diff --git a/resources/views/flux/radio/group/index.blade.php b/resources/views/flux/radio/group/index.blade.php new file mode 100644 index 0000000..97f65e3 --- /dev/null +++ b/resources/views/flux/radio/group/index.blade.php @@ -0,0 +1,5 @@ +@props([ + 'variant' => 'default', +]) + +{{ $slot }} diff --git a/resources/views/flux/radio/group/variants/buttons.blade.php b/resources/views/flux/radio/group/variants/buttons.blade.php new file mode 100644 index 0000000..bc5561d --- /dev/null +++ b/resources/views/flux/radio/group/variants/buttons.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the radio if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex flex-wrap gap-2') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-radio-group-buttons> + {{ $slot }} + + diff --git a/resources/views/flux/radio/group/variants/cards.blade.php b/resources/views/flux/radio/group/variants/cards.blade.php new file mode 100644 index 0000000..f16d468 --- /dev/null +++ b/resources/views/flux/radio/group/variants/cards.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the radio if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex gap-3') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-radio-group-cards> + {{ $slot }} + + diff --git a/resources/views/flux/radio/group/variants/default.blade.php b/resources/views/flux/radio/group/variants/default.blade.php new file mode 100644 index 0000000..7c0713b --- /dev/null +++ b/resources/views/flux/radio/group/variants/default.blade.php @@ -0,0 +1,26 @@ +@props([ + 'name' => null, + 'variant' => null, +]) + +@php +// We only want to show the name attribute it has been set manually +// but not if it has been set from the `wire:model` attribute... +$showName = isset($name); +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + // Adjust spacing between fields... + ->add('*:data-flux-field:mb-3') + ->add('[&>[data-flux-field]:has(>[data-flux-description])]:mb-4') + ->add('[&>[data-flux-field]:last-child]:mb-0!') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-radio-group> + {{ $slot }} + + diff --git a/resources/views/flux/radio/group/variants/pills.blade.php b/resources/views/flux/radio/group/variants/pills.blade.php new file mode 100644 index 0000000..1502494 --- /dev/null +++ b/resources/views/flux/radio/group/variants/pills.blade.php @@ -0,0 +1,25 @@ +@props([ + 'variant' => null, + 'size' => null, + 'name' => null, +]) + +@php +// We only want to show the name attribute on the radio if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('flex flex-wrap gap-3') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-radio-group-pills> + {{ $slot }} + + diff --git a/resources/views/flux/radio/group/variants/segmented.blade.php b/resources/views/flux/radio/group/variants/segmented.blade.php new file mode 100644 index 0000000..18e8fda --- /dev/null +++ b/resources/views/flux/radio/group/variants/segmented.blade.php @@ -0,0 +1,28 @@ +@props([ + 'name' => null, + 'variant' => null, + 'size' => null, +]) + +@php +// We only want to show the name attribute on the checkbox if it has been set +// manually, but not if it has been set from the wire:model attribute... +$showName = isset($name); + +if (! isset($name)) { + $name = $attributes->whereStartsWith('wire:model')->first(); +} + +$classes = Flux::classes() + ->add('block flex p-1') + ->add('rounded-lg bg-zinc-800/5 dark:bg-white/10') + ->add($size === 'sm' ? 'h-8 py-[3px] px-[3px]' : 'h-10 p-1') + ->add($size === 'sm' ? '-my-px h-[calc(2rem+2px)]' : '') + ; +@endphp + + + class($classes) }} @if($showName) name="{{ $name }}" @endif data-flux-radio-group-segmented> + {{ $slot }} + + diff --git a/resources/views/flux/radio/index.blade.php b/resources/views/flux/radio/index.blade.php new file mode 100644 index 0000000..ab425fc --- /dev/null +++ b/resources/views/flux/radio/index.blade.php @@ -0,0 +1,14 @@ +@aware([ 'variant' ]) + +@props([ + 'variant' => 'default', +]) + +@php +// This prevents variants picked up by `@aware()` from other wrapping components like flux::modal from being used here... +$variant = $variant !== 'default' && Flux::componentExists('radio.variants.' . $variant) + ? $variant + : 'default'; +@endphp + +{{ $slot }} diff --git a/resources/views/flux/radio/indicator.blade.php b/resources/views/flux/radio/indicator.blade.php new file mode 100644 index 0000000..a347522 --- /dev/null +++ b/resources/views/flux/radio/indicator.blade.php @@ -0,0 +1,27 @@ + +@php +$classes = Flux::classes() + ->add('shrink-0 size-[1.125rem] rounded-full') + ->add('text-sm text-zinc-700 dark:text-zinc-800') + ->add('shadow-xs [ui-radio[disabled]_&]:opacity-75 [ui-radio[data-checked][disabled]_&]:opacity-50 [ui-radio[disabled]_&]:shadow-none [ui-radio[data-checked]_&]:shadow-none') + ->add('flex justify-center items-center [ui-radio[data-checked]_&>div]:block') + ->add([ + 'border', + 'border-zinc-300 dark:border-white/10', + '[ui-radio[disabled]_&]:border-zinc-200 dark:[ui-radio[disabled]_&]:border-white/5', + '[ui-radio[data-checked]_&]:border-transparent data-indeterminate:border-transparent', + '[ui-radio[data-checked]_&]:[ui-radio[disabled]_&]:border-transparent data-indeterminate:border-transparent', + '[print-color-adjust:exact]', + ]) + ->add([ + 'bg-white dark:bg-white/10', + '[ui-radio[data-checked]_&]:bg-[var(--color-accent)]', + 'hover:[ui-radio[data-checked]_&]:bg-(--color-accent)', + 'focus:[ui-radio[data-checked]_&]:bg-(--color-accent)', + ]) + ; +@endphp + +
class($classes) }} data-flux-radio-indicator> + +
diff --git a/resources/views/flux/radio/variants/buttons.blade.php b/resources/views/flux/radio/variants/buttons.blade.php new file mode 100644 index 0000000..d218e5f --- /dev/null +++ b/resources/views/flux/radio/variants/buttons.blade.php @@ -0,0 +1,65 @@ +@props([ + 'accent' => true, + 'size' => 'base', + 'label' => null, + 'icon' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex relative items-center font-medium justify-center gap-2 whitespace-nowrap') + ->add(match ($size) { + 'base' => 'h-10 text-sm rounded-lg px-4 [&:has(>:not(span):first-child)]:ps-3 [&:has(>:not(span):last-child)]:pe-3', + 'sm' => 'h-8 text-sm rounded-md px-3', + 'xs' => 'h-6 text-xs rounded-md px-2', + }) + ->add(match ($size) { + 'base' => 'shadow-xs', + 'sm' => 'shadow-xs', + 'xs' => 'shadow-none', + }) + ->add('text-zinc-800 dark:text-white') + ->add('bg-white dark:bg-zinc-700') + ->add('after:absolute after:-inset-px after:rounded-lg') + ->add('border border-zinc-200 border-b-zinc-300/80 dark:border-zinc-600') + ->add([ + '[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_97.5%)]', + '[--haze-border:color-mix(in_oklab,_var(--color-accent-content),_transparent_80%)]', + '[--haze-light:color-mix(in_oklab,_var(--color-accent),_transparent_98%)]', + 'dark:[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)]', + ]) + ->add(match ($accent) { + true => [ + 'hover:border-[var(--haze-border)] dark:hover:border-zinc-500', + 'dark:data-checked:bg-white/15 data-checked:border-(--color-accent) hover:data-checked:border-(--color-accent)', + 'hover:after:bg-[var(--haze-light)] dark:hover:after:bg-white/[4%] data-checked:after:bg-(--haze) hover:data-checked:after:bg-(--haze)', + ], + false => [ + 'hover:border-zinc-200 dark:hover:border-zinc-500', + 'data-checked:bg-zinc-50 dark:data-checked:bg-white/15 data-checked:border-zinc-800 dark:data-checked:border-white', + 'hover:bg-zinc-50 dark:hover:bg-zinc-600/75', + ], + }) + ->add('disabled:opacity-75 dark:disabled:opacity-75 disabled:cursor-default disabled:pointer-events-none') + ; + +$iconAttributes = Flux::attributesAfter('icon:', $attributes, [ + 'class' => 'text-zinc-300 dark:text-zinc-400 in-data-checked:text-zinc-800 dark:in-data-checked:text-white', + 'variant' => 'micro', +]); +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-radio-buttons tabindex="-1" data-flux-field> + + + + {{ $icon }} + + + @if ($label || $slot->isNotEmpty()) + {{ $label ?? $slot }} + @endif + diff --git a/resources/views/flux/radio/variants/cards.blade.php b/resources/views/flux/radio/variants/cards.blade.php new file mode 100644 index 0000000..d71d911 --- /dev/null +++ b/resources/views/flux/radio/variants/cards.blade.php @@ -0,0 +1,77 @@ +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@aware([ 'indicator' ]) + +@props([ + 'iconVariant' => 'micro', + 'description' => null, + 'indicator' => true, + 'accent' => true, + 'label' => null, + 'icon' => null, +]) + +@php +$iconClasses = Flux::classes() + ->add('inline-block mt-0.5 text-zinc-400 [ui-radio[data-checked]_&]:text-zinc-800 dark:[ui-radio[data-checked]_&]:text-white') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-4' : '') + ; + +$classes = Flux::classes() + ->add('relative flex justify-between gap-3 flex-1 p-4') + ->add('rounded-lg shadow-xs') + ->add('bg-white dark:bg-white/10 dark:hover:bg-white/15 dark:data-checked:bg-white/15') + ->add('after:absolute after:-inset-px after:rounded-lg') + ->add('border border-zinc-800/15 dark:border-white/10') + ->add([ + '[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_97.5%)]', + '[--haze-border:color-mix(in_oklab,_var(--color-accent-content),_transparent_80%)]', + '[--haze-light:color-mix(in_oklab,_var(--color-accent),_transparent_98%)]', + 'dark:[--haze:color-mix(in_oklab,_var(--color-accent-content),_transparent_90%)]', + ]) + ->add(match ($accent) { + true => [ + '[&:hover_[data-flux-radio-indicator]]:border-[var(--haze-border)] dark:[&:hover_[data-flux-radio-indicator]]:border-white/10', + 'hover:border-[var(--haze-border)] dark:hover:border-white/10', + + 'data-checked:border-(--color-accent) hover:data-checked:border-(--color-accent) dark:data-checked:bg-white/15 ', + 'hover:after:bg-[var(--haze-light)] dark:hover:after:bg-white/[4%] data-checked:after:bg-(--haze) hover:data-checked:after:bg-(--haze)', + ], + false => [ + 'data-checked:bg-zinc-50 dark:data-checked:bg-white/15 data-checked:border-zinc-800 dark:data-checked:border-white', + 'hover:bg-zinc-50 dark:hover:bg-white/15', + ], + }) + ->add('[&[disabled]]:opacity-50 dark:[&[disabled]]:opacity-75 [&[disabled]]:cursor-default [&[disabled]]:pointer-events-none') + ; +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-radio-cards tabindex="-1" data-flux-field> + +
+ + + + {{ $icon }} + + +
+ {{ $label ?? $slot }} + + + {{ $description }} + +
+
+ + + + + + {{ $slot }} + +
diff --git a/resources/views/flux/radio/variants/default.blade.php b/resources/views/flux/radio/variants/default.blade.php new file mode 100644 index 0000000..f2fe592 --- /dev/null +++ b/resources/views/flux/radio/variants/default.blade.php @@ -0,0 +1,12 @@ +@props([ + 'name' => $attributes->whereStartsWith('wire:model')->first(), +]) + + + {{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} + {{-- even with durable attributes for some reason... --}} + {{-- We are redundantly setting the size of this container to 1.125rem so that the focus outline isn't oblong. --}} + class('flex size-[1.125rem] rounded-full mt-px outline-offset-2') }} data-flux-control data-flux-radio tabindex="-1"> + + + diff --git a/resources/views/flux/radio/variants/pills.blade.php b/resources/views/flux/radio/variants/pills.blade.php new file mode 100644 index 0000000..9949fc7 --- /dev/null +++ b/resources/views/flux/radio/variants/pills.blade.php @@ -0,0 +1,27 @@ +@props([ + 'accent' => true, + 'label' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex whitespace-nowrap gap-2 items-center py-1 px-2 rounded-full text-sm font-medium leading-4') + ->add('bg-zinc-800/6 dark:bg-white/10 hover:bg-zinc-800/10 dark:hover:bg-white/15 text-zinc-800 hover:text-zinc-800 dark:text-white/70 dark:hover:text-white') + ->add(match ($accent) { + true => 'data-checked:bg-(--color-accent) hover:data-checked:bg-(--color-accent)', + false => 'data-checked:bg-zinc-800 dark:data-checked:bg-white', + }) + ->add(match ($accent) { + true => 'data-checked:text-(--color-accent-foreground) hover:data-checked:text-(--color-accent-foreground)', + false => 'data-checked:text-white dark:data-checked:text-zinc-800', + }) + ->add('[&[disabled]]:opacity-50 dark:[&[disabled]]:opacity-75 [&[disabled]]:cursor-default [&[disabled]]:pointer-events-none') + ; +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +{{-- We have to put "data-flux-field" so that a single box can be disabled without "disabling" the group field label... --}} +class($classes) }} data-flux-control data-flux-radio-pills tabindex="-1" data-flux-field> + {{ $label ?? $slot }} + diff --git a/resources/views/flux/radio/variants/segmented.blade.php b/resources/views/flux/radio/variants/segmented.blade.php new file mode 100644 index 0000000..c7b100a --- /dev/null +++ b/resources/views/flux/radio/variants/segmented.blade.php @@ -0,0 +1,52 @@ +@php $iconTrailing = $iconTrailing ??= $attributes->pluck('icon:trailing'); @endphp +@php $iconVariant = $iconVariant ??= $attributes->pluck('icon:variant'); @endphp + +@aware([ 'size' ]) + +@props([ + 'iconTrailing' => null, + 'iconVariant' => null, + 'label' => null, + 'icon' => null, + 'size' => null, +]) + +@php +$classes = Flux::classes() + ->add('flex whitespace-nowrap flex-1 justify-center items-center gap-2') + ->add('rounded-md data-checked:shadow-xs') + ->add('text-sm font-medium text-zinc-600 hover:text-zinc-800 dark:hover:text-white dark:text-white/70 data-checked:text-zinc-800 dark:data-checked:text-white') + ->add('data-checked:bg-white dark:data-checked:bg-white/20') + ->add('[&[disabled]]:opacity-50 dark:[&[disabled]]:opacity-75 [&[disabled]]:cursor-default [&[disabled]]:pointer-events-none') + ->add(match ($size) { + 'sm' => 'px-3 text-sm', + default => 'px-4', + }) + ; + +$iconVariant ??= 'mini'; + +$iconClasses = Flux::classes('text-zinc-500 dark:text-zinc-400 [ui-radio[data-checked]_&]:text-zinc-800 dark:[ui-radio[data-checked]_&]:text-white') + // When using the outline icon variant, we need to size it down to match the default icon sizes... + ->add($iconVariant === 'outline' ? 'size-5' : '') + ; + +@endphp + +{{-- We have to put tabindex="-1" here because otherwise, Livewire requests will wipe out tabindex state, --}} +{{-- even with durable attributes for some reason... --}} +class($classes) }} data-flux-control data-flux-radio-segmented tabindex="-1"> + + + + {{ $icon }} + + + {{ $label ?? $slot }} + + + + + {{ $iconTrailing }} + + diff --git a/resources/views/flux/select/button.blade.php b/resources/views/flux/select/button.blade.php new file mode 100644 index 0000000..cd2782d --- /dev/null +++ b/resources/views/flux/select/button.blade.php @@ -0,0 +1,58 @@ +@aware([ 'placeholder' ]) + +@props([ + 'placeholder' => null, + 'clearable' => null, + 'invalid' => false, + 'suffix' => null, + 'size' => null, + 'max' => null, +]) + +@php +// Clearable is not supported on xs size... +if ($size === 'xs') $clearable = null; + +$classes = Flux::classes() + ->add('group/select-button cursor-default py-2') + ->add('overflow-hidden') // Overflow hidden is here to prevent the button from growing when selected text is too long. + ->add('flex items-center') + ->add('shadow-xs') + ->add('bg-white dark:bg-white/10 dark:disabled:bg-white/[7%]') + // Make the placeholder match the text color of standard input placeholders... + ->add('disabled:shadow-none') + ->add(match ($size) { + default => 'h-10 text-base sm:text-sm rounded-lg px-3 block w-full', + 'sm' => 'h-8 text-sm rounded-md ps-3 pe-2 block w-full', + 'xs' => 'h-6 text-xs rounded-md ps-3 pe-2 block w-full', + }) + ->add($invalid + ? 'border border-red-500' + : 'border border-zinc-200 border-b-zinc-300/80 dark:border-white/10' + ) + ; +@endphp + + diff --git a/resources/views/flux/select/empty.blade.php b/resources/views/flux/select/empty.blade.php new file mode 100644 index 0000000..386d958 --- /dev/null +++ b/resources/views/flux/select/empty.blade.php @@ -0,0 +1,12 @@ +@php +$classes = Flux::classes() + ->add('data-hidden:hidden block items-center px-2 py-1.5 w-full') + ->add('rounded-md') + ->add('text-start text-sm font-medium') + ->add('text-zinc-500 data-active:bg-zinc-100 dark:text-zinc-300 dark:data-active:bg-zinc-600') + ; +@endphp + +class($classes) }}> + {{ $slot }} + diff --git a/resources/views/flux/select/index.blade.php b/resources/views/flux/select/index.blade.php new file mode 100644 index 0000000..dcb91b4 --- /dev/null +++ b/resources/views/flux/select/index.blade.php @@ -0,0 +1,7 @@ +@props([ + 'variant' => 'default', +]) + + + {{ $slot }} + diff --git a/resources/views/flux/select/indicator/index.blade.php b/resources/views/flux/select/indicator/index.blade.php new file mode 100644 index 0000000..e18386a --- /dev/null +++ b/resources/views/flux/select/indicator/index.blade.php @@ -0,0 +1,14 @@ +@aware([ 'variant' ]) + +@props([ + 'variant' => 'check', +]) + +@php +// This prevents variants picked up by `@aware()` from other wrapping components like flux::modal from being used here... +$variant = $variant !== 'check' && Flux::componentExists('select.indicator.variants.' . $variant) + ? $variant + : 'check'; +@endphp + +{{ $slot }} diff --git a/resources/views/flux/select/indicator/variants/check.blade.php b/resources/views/flux/select/indicator/variants/check.blade.php new file mode 100644 index 0000000..0e5409f --- /dev/null +++ b/resources/views/flux/select/indicator/variants/check.blade.php @@ -0,0 +1,2 @@ + +

ZyWG0!L;zA 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 z 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�*xJh&o75+l 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 literal 0 HcmV?d00001 diff --git a/resources/views/flux/accent.blade.php b/resources/views/flux/accent.blade.php new file mode 100644 index 0000000..e4e1411 --- /dev/null +++ b/resources/views/flux/accent.blade.php @@ -0,0 +1,36 @@ +@props([ + 'color' => null, +]) + +@php + $classes = Flux::classes() + ->add(match ($color) { + 'slate' => '[--color-accent:var(--color-slate-800)] [--color-accent-content:var(--color-slate-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-slate-800)]', + 'gray' => '[--color-accent:var(--color-gray-800)] [--color-accent-content:var(--color-gray-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-gray-800)]', + 'zinc' => '[--color-accent:var(--color-zinc-800)] [--color-accent-content:var(--color-zinc-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-zinc-800)]', + 'neutral' => '[--color-accent:var(--color-neutral-800)] [--color-accent-content:var(--color-neutral-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-neutral-800)]', + 'stone' => '[--color-accent:var(--color-stone-800)] [--color-accent-content:var(--color-stone-800)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-white)] dark:[--color-accent-content:var(--color-white)] dark:[--color-accent-foreground:var(--color-stone-800)]', + 'red' => '[--color-accent:var(--color-red-500)] [--color-accent-content:var(--color-red-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-red-500)] dark:[--color-accent-content:var(--color-red-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'orange' => '[--color-accent:var(--color-orange-500)] [--color-accent-content:var(--color-orange-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-orange-400)] dark:[--color-accent-content:var(--color-orange-400)] dark:[--color-accent-foreground:var(--color-orange-950)]', + 'amber' => '[--color-accent:var(--color-amber-400)] [--color-accent-content:var(--color-amber-600)] [--color-accent-foreground:var(--color-amber-950)] dark:[--color-accent:var(--color-amber-400)] dark:[--color-accent-content:var(--color-amber-400)] dark:[--color-accent-foreground:var(--color-amber-950)]', + 'yellow' => '[--color-accent:var(--color-yellow-400)] [--color-accent-content:var(--color-yellow-600)] [--color-accent-foreground:var(--color-yellow-950)] dark:[--color-accent:var(--color-yellow-400)] dark:[--color-accent-content:var(--color-yellow-400)] dark:[--color-accent-foreground:var(--color-yellow-950)]', + 'lime' => '[--color-accent:var(--color-lime-400)] [--color-accent-content:var(--color-lime-600)] [--color-accent-foreground:var(--color-lime-900)] dark:[--color-accent:var(--color-lime-400)] dark:[--color-accent-content:var(--color-lime-400)] dark:[--color-accent-foreground:var(--color-lime-950)]', + 'green' => '[--color-accent:var(--color-green-600)] [--color-accent-content:var(--color-green-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-green-600)] dark:[--color-accent-content:var(--color-green-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'emerald' => '[--color-accent:var(--color-emerald-600)] [--color-accent-content:var(--color-emerald-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-emerald-600)] dark:[--color-accent-content:var(--color-emerald-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'teal' => '[--color-accent:var(--color-teal-600)] [--color-accent-content:var(--color-teal-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-teal-600)] dark:[--color-accent-content:var(--color-teal-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'cyan' => '[--color-accent:var(--color-cyan-600)] [--color-accent-content:var(--color-cyan-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-cyan-600)] dark:[--color-accent-content:var(--color-cyan-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'sky' => '[--color-accent:var(--color-sky-600)] [--color-accent-content:var(--color-sky-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-sky-600)] dark:[--color-accent-content:var(--color-sky-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'blue' => '[--color-accent:var(--color-blue-500)] [--color-accent-content:var(--color-blue-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-blue-500)] dark:[--color-accent-content:var(--color-blue-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'indigo' => '[--color-accent:var(--color-indigo-500)] [--color-accent-content:var(--color-indigo-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-indigo-500)] dark:[--color-accent-content:var(--color-indigo-300)] dark:[--color-accent-foreground:var(--color-white)]', + 'violet' => '[--color-accent:var(--color-violet-500)] [--color-accent-content:var(--color-violet-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-violet-500)] dark:[--color-accent-content:var(--color-violet-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'purple' => '[--color-accent:var(--color-purple-500)] [--color-accent-content:var(--color-purple-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-purple-500)] dark:[--color-accent-content:var(--color-purple-300)] dark:[--color-accent-foreground:var(--color-white)]', + 'fuchsia' => '[--color-accent:var(--color-fuchsia-600)] [--color-accent-content:var(--color-fuchsia-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-fuchsia-600)] dark:[--color-accent-content:var(--color-fuchsia-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'pink' => '[--color-accent:var(--color-pink-600)] [--color-accent-content:var(--color-pink-600)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-pink-600)] dark:[--color-accent-content:var(--color-pink-400)] dark:[--color-accent-foreground:var(--color-white)]', + 'rose' => '[--color-accent:var(--color-rose-500)] [--color-accent-content:var(--color-rose-500)] [--color-accent-foreground:var(--color-white)] dark:[--color-accent:var(--color-rose-500)] dark:[--color-accent-content:var(--color-rose-400)] dark:[--color-accent-foreground:var(--color-white)]', + }) + ; +@endphp + +