This commit is contained in:
JACS 2026-05-02 23:24:26 -05:00
parent cc0c524337
commit f03b933359
551 changed files with 1230 additions and 0 deletions

View file

@ -0,0 +1,13 @@
{{define "formtabler_checkboxes"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Checkboxes" .Label}}</div>
<div>
{{range .Checkboxes}}
<label class="form-check">
<input class="form-check-input" type="checkbox"{{if .Checked}} checked{{end}}{{if .Disabled}} disabled{{end}}>
{{if .Title}}<span class="form-check-label">{{.Title}}</span>{{end}}
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,13 @@
{{define "formtabler_checkboxesinline"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Inline Checkboxes" .Label}}</div>
<div>
{{range .Checkboxes}}
<label class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"{{if .Checked}} checked{{end}}{{if .Disabled}} disabled{{end}}>
{{if .Title}}<span class="form-check-label">{{.Title}}</span>{{end}}
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,16 @@
{{define "formtabler_checkboxeslist"}}
<div class="divide-y">
{{range .Items}}
<div>
<label class="row">
<span class="col">{{.Title}}</span>
<span class="col-auto">
<label class="form-check form-check-single form-switch">
<input class="form-check-input" type="checkbox"{{if .Checked}} checked{{end}}>
</label>
</span>
</label>
</div>
{{end}}
</div>
{{end}}

View file

@ -0,0 +1,15 @@
{{define "formtabler_colorinput"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Color Input" .Label}}</label>
<div class="row g-2">
{{range .Colors}}
<div class="col-auto">
<label class="form-colorinput{{if eq .Color "white"}} form-colorinput-light{{end}}">
<input name="{{$.Name}}" type="{{$.Type}}" value="{{.Color}}" class="form-colorinput-input"{{if .Checked}} checked{{end}}>
<span class="form-colorinput-color bg-{{.Color}}"></span>
</label>
</div>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,6 @@
{{define "formtabler_colorpicker"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Color picker" .Label}}</label>
<input type="color" class="form-control form-control-color" value="{{defaultVal "#206bc4" .Color}}" title="Choose your color">
</div>
{{end}}

View file

@ -0,0 +1,9 @@
{{define "formtabler_datalist"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Datalist example" .Label}}</label>
<input class="form-control" list="datalistOptions" placeholder="{{defaultVal "Type to search..." .Placeholder}}">
<datalist id="datalistOptions">
{{range .Options}}<option value="{{.}}">{{end}}
</datalist>
</div>
{{end}}

View file

@ -0,0 +1,14 @@
{{define "formtabler_fieldset"}}
<fieldset class="form-fieldset">
{{range .Inputs}}
<div class="mb-3">
<label class="form-label{{if .Required}} required{{end}}">{{.Label}}</label>
<input type="{{.Type}}" class="form-control" autocomplete="off" placeholder="{{defaultVal "" .Placeholder}}">
</div>
{{end}}
<label class="form-check">
<input type="checkbox" class="form-check-input">
<span class="form-check-label required">I agree to the Terms &amp; Conditions</span>
</label>
</fieldset>
{{end}}

View file

@ -0,0 +1,6 @@
{{define "formtabler_fileinput"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Custom File Input" .Label}}</div>
<input type="file" class="form-control">
</div>
{{end}}

View file

@ -0,0 +1,228 @@
{{define "tabler_formelements_content"}}
{{$fe := .}}
{{if hasField $fe "TextInputs"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Text inputs</h3></div>
<div class="card-body">
{{range $fe.TextInputs}}{{template "formtabler_textinput" .}}{{end}}
</div>
</div>
{{end}}
{{if hasField $fe "IconInputs"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Icon inputs</h3></div>
<div class="card-body">
{{range $fe.IconInputs}}{{template "formtabler_iconinput" .}}{{end}}
</div>
</div>
{{end}}
{{if hasField $fe "IconSeparated"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Icon separated</h3></div>
<div class="card-body">
{{template "formtabler_iconseparated" $fe.IconSeparated}}
</div>
</div>
{{end}}
{{if hasField $fe "InputSizing"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Input sizing</h3></div>
<div class="card-body">
{{template "formtabler_inputsizing" $fe.InputSizing}}
</div>
</div>
{{end}}
{{if hasField $fe "FileInput"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">File input</h3></div>
<div class="card-body">
{{template "formtabler_fileinput" $fe.FileInput}}
</div>
</div>
{{end}}
{{if hasField $fe "ColorInput"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Color input</h3></div>
<div class="card-body">
{{template "formtabler_colorinput" $fe.ColorInput}}
</div>
</div>
{{end}}
{{if hasField $fe "ColorPicker"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Color picker</h3></div>
<div class="card-body">
{{template "formtabler_colorpicker" $fe.ColorPicker}}
</div>
</div>
{{end}}
{{if hasField $fe "RangeInput"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Range input</h3></div>
<div class="card-body">
{{template "formtabler_rangeinput" $fe.RangeInput}}
</div>
</div>
{{end}}
{{if hasField $fe "Datalist"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Datalist</h3></div>
<div class="card-body">
{{template "formtabler_datalist" $fe.Datalist}}
</div>
</div>
{{end}}
{{if hasField $fe "ImageCheck"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Image check</h3></div>
<div class="card-body">
{{template "formtabler_imagecheck" $fe.ImageCheck}}
</div>
</div>
{{end}}
{{if hasField $fe "ImageRadio"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Image radio</h3></div>
<div class="card-body">
{{template "formtabler_imageradio" $fe.ImageRadio}}
</div>
</div>
{{end}}
{{if hasField $fe "ImagePerson"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Image person</h3></div>
<div class="card-body">
{{template "formtabler_imageperson" $fe.ImagePerson}}
</div>
</div>
{{end}}
{{if hasField $fe "Checkboxes"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Checkboxes</h3></div>
<div class="card-body">
{{template "formtabler_checkboxes" $fe.Checkboxes}}
</div>
</div>
{{end}}
{{if hasField $fe "CheckboxesInline"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Inline checkboxes</h3></div>
<div class="card-body">
{{template "formtabler_checkboxesinline" $fe.CheckboxesInline}}
</div>
</div>
{{end}}
{{if hasField $fe "Radios"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Radios</h3></div>
<div class="card-body">
{{template "formtabler_radios" $fe.Radios}}
</div>
</div>
{{end}}
{{if hasField $fe "RadiosInline"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Inline radios</h3></div>
<div class="card-body">
{{template "formtabler_radiosinline" $fe.RadiosInline}}
</div>
</div>
{{end}}
{{if hasField $fe "Toggles"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Toggle switches</h3></div>
<div class="card-body">
{{template "formtabler_toggle" $fe.Toggles}}
</div>
</div>
{{end}}
{{if hasField $fe "ToggleSingle"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Single toggle</h3></div>
<div class="card-body">
{{template "formtabler_togglesingle" $fe.ToggleSingle}}
</div>
</div>
{{end}}
{{if hasField $fe "Select"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Select</h3></div>
<div class="card-body">
{{template "formtabler_select" $fe.Select}}
</div>
</div>
{{end}}
{{if hasField $fe "Selectgroups"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Selectgroups</h3></div>
<div class="card-body">
{{range $fe.Selectgroups}}{{template "formtabler_selectgroup" .}}{{end}}
</div>
</div>
{{end}}
{{if hasField $fe "SelectgroupPayments"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Payment methods</h3></div>
<div class="card-body">
{{template "formtabler_selectgroup_payments" $fe.SelectgroupPayments}}
</div>
</div>
{{end}}
{{if hasField $fe "SelectgroupProjectManager"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Project manager</h3></div>
<div class="card-body">
{{template "formtabler_selectgroup_projectmanager" $fe.SelectgroupProjectManager}}
</div>
</div>
{{end}}
{{if hasField $fe "Fieldset"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Fieldset</h3></div>
<div class="card-body">
{{template "formtabler_fieldset" $fe.Fieldset}}
</div>
</div>
{{end}}
{{if hasField $fe "CheckboxesList"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Checkboxes list</h3></div>
<div class="card-body">
{{template "formtabler_checkboxeslist" $fe.CheckboxesList}}
</div>
</div>
{{end}}
{{if hasField $fe "ValidationStates"}}
<div class="card mb-3">
<div class="card-header"><h3 class="card-title">Validation states</h3></div>
<div class="card-body">
{{template "formtabler_validationstates" $fe.ValidationStates}}
</div>
</div>
{{end}}
{{end}}

View file

@ -0,0 +1,22 @@
{{define "formtabler_iconinput"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Icon input" .Label}}</label>
<div class="input-icon{{if .Loader}} input-icon-loading{{end}}">
{{if .Prepend}}<span class="input-icon-addon">
{{if .Loader}}
<div class="spinner-border spinner-border-sm text-secondary" role="status"></div>
{{else}}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon">{{if eq .Icon "user"}}<path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path>{{else}}<path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"></path><path d="M21 21l-6 -6"></path>{{end}}</svg>
{{end}}
</span>{{end}}
<input type="text" class="form-control" placeholder="{{defaultVal "Search for" .Placeholder}}">
{{if not .Prepend}}<span class="input-icon-addon">
{{if .Loader}}
<div class="spinner-border spinner-border-sm text-secondary" role="status"></div>
{{else}}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"></path><path d="M21 21l-6 -6"></path></svg>
{{end}}
</span>{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,15 @@
{{define "formtabler_iconseparated"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Separated inputs" .Label}}</label>
<div class="row g-2">
<div class="col">
<input type="text" class="form-control" placeholder="{{defaultVal "Search for" .Placeholder}}">
</div>
<div class="col-auto">
<a href="#" class="btn btn-icon" aria-label="Search">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path d="M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0"></path><path d="M21 21l-6 -6"></path></svg>
</a>
</div>
</div>
</div>
{{end}}

View file

@ -0,0 +1,17 @@
{{define "formtabler_imagecheck"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Image Check" .Label}}</label>
<div class="row g-2">
{{range .Images}}
<div class="col-6 col-sm-4">
<label class="form-imagecheck mb-2">
<input name="form-imagecheck" type="checkbox" value="{{.Alt}}" class="form-imagecheck-input"{{if .Checked}} checked{{end}}>
<span class="form-imagecheck-figure">
<img src="{{.Src}}" alt="{{.Alt}}" class="form-imagecheck-image">
</span>
</label>
</div>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,19 @@
{{define "formtabler_imageperson"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Person Check" .Label}}</label>
<div class="row g-2">
{{range .People}}
<div class="col-auto">
<label class="form-imagecheck mb-2">
<input name="form-imagecheck" type="checkbox" value="{{.Name}}" class="form-imagecheck-input"{{if .Checked}} checked{{end}}>
<span class="form-imagecheck-figure">
<span class="form-imagecheck-image">
<span class="avatar avatar-md" style="background-image: url({{.Src}})"></span>
</span>
</span>
</label>
</div>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,17 @@
{{define "formtabler_imageradio"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Image Check Radio" .Label}}</label>
<div class="row g-2">
{{range .Images}}
<div class="col-6 col-sm-4">
<label class="form-imagecheck mb-2">
<input name="form-imagecheck-radio" type="radio" value="{{.Alt}}" class="form-imagecheck-input"{{if .Checked}} checked{{end}}>
<span class="form-imagecheck-figure">
<img src="{{.Src}}" alt="{{.Alt}}" class="form-imagecheck-image">
</span>
</label>
</div>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,8 @@
{{define "formtabler_inputsizing"}}
<div class="mb-3">
<label class="form-label">Input sizing</label>
<input class="form-control form-control-lg mb-2" type="text" placeholder=".form-control-lg">
<input class="form-control mb-2" type="text" placeholder="Default input">
<input class="form-control form-control-sm" type="text" placeholder=".form-control-sm">
</div>
{{end}}

View file

@ -0,0 +1,13 @@
{{define "formtabler_radios"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Radios" .Label}}</div>
<div>
{{range .Radios}}
<label class="form-check">
<input class="form-check-input" type="radio" name="{{$.Name}}"{{if .Checked}} checked{{end}}{{if .Disabled}} disabled{{end}}>
{{if .Title}}<span class="form-check-label">{{.Title}}</span>{{end}}
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,13 @@
{{define "formtabler_radiosinline"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Inline Radios" .Label}}</div>
<div>
{{range .Radios}}
<label class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="{{$.Name}}"{{if .Checked}} checked{{end}}{{if .Disabled}} disabled{{end}}>
{{if .Title}}<span class="form-check-label">{{.Title}}</span>{{end}}
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,9 @@
{{define "formtabler_rangeinput"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Range input" .Label}}</label>
<input type="range" class="form-range mb-3" value="40">
<input type="range" class="form-range mb-3" value="20" id="simple">
<input type="range" class="form-range mb-3" value="60,90" id="connect">
<input type="range" class="form-range" value="40" id="color">
</div>
{{end}}

View file

@ -0,0 +1,10 @@
{{define "formtabler_select"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Select" .Label}}</div>
<select class="form-select"{{if .Multiple}} multiple{{end}}>
{{range $i, $opt := .Options}}
<option value="{{$i}}">{{$opt}}</option>
{{end}}
</select>
</div>
{{end}}

View file

@ -0,0 +1,29 @@
{{define "formtabler_selectgroup"}}
{{$group := .}}
<div class="mb-3">
<label class="form-label">{{$group.Title}}</label>
<div class="form-selectgroup{{if $group.Pills}} form-selectgroup-pills{{end}}">
{{range $group.Values}}
<label class="form-selectgroup-item">
<input type="{{defaultVal "checkbox" $group.Type}}" name="{{defaultVal .Value .Value}}" value="{{.Value}}" class="form-selectgroup-input"{{if .Checked}} checked{{end}}>
<span class="form-selectgroup-label">
{{if .Icon}}
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon me-1">
{{if eq .Icon "sun"}}<circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="M4.93 4.93l1.41 1.41"></path><path d="M17.66 17.66l1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="M4.93 19.07l1.41 -1.41"></path><path d="M17.66 6.34l1.41 -1.41"></path>
{{else if eq .Icon "moon"}}<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"></path>
{{else if eq .Icon "cloud-rain"}}<path d="M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7"></path><path d="M11 13v2a1 1 0 0 0 2 0v-2a1 1 0 1 0 -2 0"></path><path d="M8 16v2a1 1 0 1 0 2 0v-2a1 1 0 1 0 -2 0"></path><path d="M14 16v2a1 1 0 1 0 2 0v-2a1 1 0 1 0 -2 0"></path>
{{else if eq .Icon "cloud"}}<path d="M6.5 16.6a4.17 4.17 0 0 1 -.5 -3.8a4.5 4.5 0 0 1 5.02 -2.85a4.01 4.01 0 0 1 4.6 2.96a4.2 4.2 0 0 1 .18 2.84"></path><path d="M7 16.5a4.1 4.1 0 0 1 0 -3.3a4.5 4.5 0 0 1 5.02 -2.85a3.95 3.95 0 0 1 4.34 3.04"></path><path d="M8 16.5a3.71 3.71 0 0 1 -.28 -2.88a4.3 4.3 0 0 1 5.08 -2.59a3.6 3.6 0 0 1 3.7 3.38"></path>
{{else if eq .Icon "home"}}<path d="M5 12l-2 0l9 -9l9 9l-2 0"></path><path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6"></path>
{{else if eq .Icon "user"}}<path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path>
{{else if eq .Icon "circle"}}<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
{{else if eq .Icon "square"}}<path d="M3 3m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z"></path>
{{end}}
</svg>
{{end}}
{{.Label}}
</span>
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,21 @@
{{define "formtabler_selectgroup_payments"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Payment method" .Label}}</label>
<div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
{{range .Items}}
<label class="form-selectgroup-item flex-fill">
<input type="radio" name="form-payment" value="{{.Provider}}" class="form-selectgroup-input"{{if .Checked}} checked{{end}}>
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3">
<span class="form-selectgroup-check"></span>
</div>
<div>
<span class="payment payment-provider-{{.Provider}} payment-xs me-2"></span>
{{if .Ending}}ending in <strong>{{.Ending}}</strong>{{end}}
</div>
</div>
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,24 @@
{{define "formtabler_selectgroup_projectmanager"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Project Manager" .Label}}</label>
<div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
{{range .Managers}}
<label class="form-selectgroup-item flex-fill">
<input type="checkbox" name="form-project-manager[]" value="{{.Name}}" class="form-selectgroup-input"{{if .Checked}} checked{{end}}>
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3">
<span class="form-selectgroup-check"></span>
</div>
<div class="form-selectgroup-label-content d-flex align-items-center">
<span class="avatar avatar-sm me-3" style="background-image: url({{.Src}})"></span>
<div>
<div class="fw-medium">{{.Name}}</div>
<div class="text-secondary">{{.JobTitle}}</div>
</div>
</div>
</div>
</label>
{{end}}
</div>
</div>
{{end}}

View file

@ -0,0 +1,23 @@
{{define "formtabler_textinput"}}
{{if eq .Type "static"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Static" .Label}}</label>
<div class="form-control-plaintext">{{defaultVal "Input value" .Value}}</div>
</div>
{{else if eq .Type "password"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Password" .Label}}</label>
<input type="text" class="form-control" name="{{.Name}}" placeholder="{{defaultVal "Input placeholder" .Placeholder}}">
</div>
{{else if eq .Type "textarea"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Textarea" .Label}}</label>
<textarea class="form-control" name="{{.Name}}" placeholder="{{defaultVal "Textarea placeholder" .Placeholder}}">{{.Value}}</textarea>
</div>
{{else}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Text" .Label}}</label>
<input type="text" class="form-control" name="{{.Name}}" placeholder="{{defaultVal "Input placeholder" .Placeholder}}">
</div>
{{end}}
{{end}}

View file

@ -0,0 +1,11 @@
{{define "formtabler_toggle"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Toggle switches" .Label}}</div>
{{range .Toggles}}
<label class="form-check form-switch">
<input class="form-check-input" type="checkbox"{{if .Checked}} checked{{end}}>
{{if .Title}}<span class="form-check-label">{{.Title}}</span>{{end}}
</label>
{{end}}
</div>
{{end}}

View file

@ -0,0 +1,9 @@
{{define "formtabler_togglesingle"}}
<div class="mb-3">
<div class="form-label">{{defaultVal "Single switch" .Label}}</div>
<label class="form-check form-switch">
<input class="form-check-input" type="checkbox">
<span class="form-check-label">{{defaultVal "I agree with terms and conditions" .Title}}</span>
</label>
</div>
{{end}}

View file

@ -0,0 +1,8 @@
{{define "formtabler_validationstates"}}
<div class="mb-3">
<label class="form-label">{{defaultVal "Validation States" .Label}}{{if .Lite}} (lite){{end}}</label>
<input type="text" class="form-control is-valid{{if .Lite}} is-valid-lite{{end}} mb-2" placeholder="Valid State..">
<input type="text" class="form-control is-invalid{{if .Lite}} is-invalid-lite{{end}}" placeholder="Invalid State..">
{{if not .Lite}}<div class="invalid-feedback">Invalid feedback</div>{{end}}
</div>
{{end}}

View file

@ -30,6 +30,8 @@
{{template "tabler_table" .}}
</div>
{{end}}
{{else if hasField . "FormElements"}}
{{template "tabler_formelements_content" .FormElements}}
{{else}}
{{.Content}}
{{end}}