|
|
|
@ -1,5 +1,5 @@ |
|
|
|
<script> |
|
|
|
import "@spectrum-css/checkbox/dist/index-vars.css" |
|
|
|
import { CoreCheckbox } from "@budibase/bbui" |
|
|
|
import Field from "./Field.svelte" |
|
|
|
|
|
|
|
export let field |
|
|
|
@ -9,10 +9,6 @@ |
|
|
|
|
|
|
|
let fieldState |
|
|
|
let fieldApi |
|
|
|
|
|
|
|
const onChange = event => { |
|
|
|
fieldApi.setValue(event.target.checked) |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<Field |
|
|
|
@ -24,37 +20,12 @@ |
|
|
|
bind:fieldApi |
|
|
|
defaultValue={false}> |
|
|
|
{#if fieldState} |
|
|
|
<div class="spectrum-FieldGroup spectrum-FieldGroup--horizontal"> |
|
|
|
<label class="spectrum-Checkbox" class:is-invalid={!$fieldState.valid}> |
|
|
|
<input |
|
|
|
checked={$fieldState.value} |
|
|
|
disabled={$fieldState.disabled} |
|
|
|
on:change={onChange} |
|
|
|
type="checkbox" |
|
|
|
class="spectrum-Checkbox-input" |
|
|
|
id={$fieldState.fieldId} /> |
|
|
|
<span class="spectrum-Checkbox-box"> |
|
|
|
<svg |
|
|
|
class="spectrum-Icon spectrum-UIIcon-Checkmark75 spectrum-Checkbox-checkmark" |
|
|
|
focusable="false" |
|
|
|
aria-hidden="true"> |
|
|
|
<use xlink:href="#spectrum-css-icon-Checkmark75" /> |
|
|
|
</svg> |
|
|
|
<svg |
|
|
|
class="spectrum-Icon spectrum-UIIcon-Dash75 spectrum-Checkbox-partialCheckmark" |
|
|
|
focusable="false" |
|
|
|
aria-hidden="true"> |
|
|
|
<use xlink:href="#spectrum-css-icon-Dash75" /> |
|
|
|
</svg> |
|
|
|
</span> |
|
|
|
<span class="spectrum-Checkbox-label">{text || 'Checkbox'}</span> |
|
|
|
</label> |
|
|
|
</div> |
|
|
|
<CoreCheckbox |
|
|
|
value={$fieldState.value} |
|
|
|
disabled={$fieldState.disabled} |
|
|
|
error={$fieldState.error} |
|
|
|
fieldId={$fieldState.fieldId} |
|
|
|
on:change={e => fieldApi.setValue(e.detail)} |
|
|
|
{text} /> |
|
|
|
{/if} |
|
|
|
</Field> |
|
|
|
|
|
|
|
<style> |
|
|
|
.spectrum-Checkbox { |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|