Flux 中的每一个设计决策都是经过深思熟虑、带着明确意图做出的。理解这些设计意图,会让你使用 Flux 的体验更加直观自然。
理想情况下,内化了部分 Flux 的设计哲学之后,你几乎可以“猜到”如何使用一个自己尚不熟悉的组件。
<flux:button variant="primary" x-on:change.prevent="...">
<button type="button" class="bg-zinc-900 ..." x-on:change.prevent="...">
<flux:button class="w-full">
<button type="button" class="w-full border border-zinc-200 ...">
<flux:button class="bg-zinc-800 hover:bg-zinc-700">
<button type="button" class="bg-zinc-800 hover:bg-zinc-700 bg-white hover:bg-zinc-100...">
<flux:button class="bg-zinc-800! hover:bg-zinc-700!">
<div class="..."> <input type="text" class="..."></div>
<flux:input class="w-full" autofocus>
<div class="w-full ..."> <input type="text" class="..." autofocus></div>
<flux:button variant="primary" /><flux:input variant="filled" /><flux:modal variant="flyout" /><flux:badge variant="solid" /><flux:select variant="combobox" /><flux:separator variant="subtle" /><flux:tabs variant="segmented" />
<flux:button icon="magnifying-glass" /><flux:input icon="magnifying-glass" /><flux:tab icon="cog-6-tooth" /><flux:badge icon="user" /><flux:breadcrumbs.item icon="home" /><flux:navlist.item icon="user" /><flux:navbar.item icon="user" /><flux:menu.item icon="plus" />
<flux:button icon:trailing="chevron-down" /><flux:input icon:trailing="credit-card" /><flux:badge icon:trailing="x-mark" /><flux:navbar.item icon:trailing="chevron-down" />
<flux:button size="sm" /><flux:select size="sm" /><flux:input size="sm" /><flux:tabs size="sm" />
<flux:heading size="lg" /><flux:badge size="lg" />
<flux:button kbd="⌘S" /><flux:tooltip kbd="D" /><flux:input kbd="⌘K" /><flux:menu.item kbd="⌘E" /><flux:command.item kbd="⌘N" />
<flux:badge inset="top bottom"><flux:button variant="ghost" inset="left">
<flux:button icon="bell" />
<flux:button> <flux:icon.bell /></flux:button>
<flux:button icon="bell" icon:variant="solid" />
<flux:navbar.item :current="false">
<flux:field> <flux:label>Email</flux:label> <flux:input wire:model="email" type="email" /> <flux:error name="email" /></flux:field>
<flux:input type="email" wire:model="email" label="Email" />
<flux:tooltip content="Settings"> <flux:button icon="cog-6-tooth" /></flux:tooltip>
<flux:button icon="cog-6-tooth" tooltip="Settings" />
<flux:input wire:model="email" /><flux:checkbox wire:model="terms" /><flux:switch wire:model.live="enabled" /><flux:textarea wire:model="content" /><flux:select wire:model="state" />
<flux:checkbox.group wire:model="notifications"><flux:radio.group wire:model="payment"><flux:tabs wire:model="activeTab">
<flux:button.group> <flux:button /></flux:button.group><flux:input.group> <flux:input /></flux:input.group><flux:checkbox.group> <flux:checkbox /></flux:checkbox.group><flux:radio.group> <flux:radio /></flux:radio.group>
<flux:accordion> <flux:accordion.item /></flux:accordion><flux:menu> <flux:menu.item /></flux:menu><flux:breadcrumbs> <flux:breadcrumbs.item /></flux:breadcrumbs><flux:navbar> <flux:navbar.item /></flux:navbar><flux:navlist> <flux:navlist.item /></flux:navlist><flux:navmenu> <flux:navmenu.item /></flux:navmenu><flux:command> <flux:command.item /></flux:command><flux:autocomplete> <flux:autocomplete.item /></flux:autocomplete>
<flux:field> <flux:label></flux:label> <flux:description></flux:description> <flux:error></flux:error></flux:field>
<flux:tab.group> <flux:tabs> <flux:tab> </flux:tabs> <flux:tab.panel></flux:tab.group>
<flux:input icon:trailing="x-mark" />
<flux:input> <x-slot name="iconTrailing"> <flux:button icon="x-mark" size="sm" variant="subtle" wire:click="clear" /> </x-slot></flux:input>
<!-- Conditional attributes: --><input @if ($disabled) disabled @endif><flux:input :disabled="$disabled">