login consent app sql
This commit is contained in:
1
vendor/symfony/twig-bridge/Resources/views/Email/default/notification/body.html.twig
vendored
Normal file
1
vendor/symfony/twig-bridge/Resources/views/Email/default/notification/body.html.twig
vendored
Normal file
@ -0,0 +1 @@
|
||||
{% extends "@email/zurb_2/notification/body.html.twig" %}
|
1
vendor/symfony/twig-bridge/Resources/views/Email/default/notification/body.txt.twig
vendored
Normal file
1
vendor/symfony/twig-bridge/Resources/views/Email/default/notification/body.txt.twig
vendored
Normal file
@ -0,0 +1 @@
|
||||
{% extends "@email/zurb_2/notification/body.txt.twig" %}
|
1667
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/main.css
vendored
Normal file
1667
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/main.css
vendored
Normal file
@ -0,0 +1,1667 @@
|
||||
/*
|
||||
* Copyright (c) 2017 ZURB, inc. -- MIT License
|
||||
*
|
||||
* https://raw.githubusercontent.com/foundation/foundation-emails/v2.2.1/dist/foundation-emails.css
|
||||
*/
|
||||
|
||||
.wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100% !important;
|
||||
min-width: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
margin: 0;
|
||||
Margin: 0;
|
||||
padding: 0;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ExternalClass {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ExternalClass,
|
||||
.ExternalClass p,
|
||||
.ExternalClass span,
|
||||
.ExternalClass font,
|
||||
.ExternalClass td,
|
||||
.ExternalClass div {
|
||||
line-height: 100%;
|
||||
}
|
||||
|
||||
#backgroundTable {
|
||||
margin: 0;
|
||||
Margin: 0;
|
||||
padding: 0;
|
||||
width: 100% !important;
|
||||
line-height: 100% !important;
|
||||
}
|
||||
|
||||
img {
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
|
||||
center {
|
||||
width: 100%;
|
||||
min-width: 580px;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 0 10px;
|
||||
Margin: 0 0 0 10px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
td {
|
||||
word-wrap: break-word;
|
||||
-webkit-hyphens: auto;
|
||||
-moz-hyphens: auto;
|
||||
hyphens: auto;
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
|
||||
table,
|
||||
tr,
|
||||
td {
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@media only screen {
|
||||
html {
|
||||
min-height: 100%;
|
||||
background: #f3f3f3;
|
||||
}
|
||||
}
|
||||
|
||||
table.body {
|
||||
background: #f3f3f3;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.container {
|
||||
background: #fefefe;
|
||||
width: 580px;
|
||||
margin: 0 auto;
|
||||
Margin: 0 auto;
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
table.row {
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
table.spacer {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.spacer td {
|
||||
mso-line-height-rule: exactly;
|
||||
}
|
||||
|
||||
table.container table.row {
|
||||
display: table;
|
||||
}
|
||||
|
||||
td.columns,
|
||||
td.column,
|
||||
th.columns,
|
||||
th.column {
|
||||
margin: 0 auto;
|
||||
Margin: 0 auto;
|
||||
padding-left: 16px;
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
td.columns .column,
|
||||
td.columns .columns,
|
||||
td.column .column,
|
||||
td.column .columns,
|
||||
th.columns .column,
|
||||
th.columns .columns,
|
||||
th.column .column,
|
||||
th.column .columns {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
td.columns .column center,
|
||||
td.columns .columns center,
|
||||
td.column .column center,
|
||||
td.column .columns center,
|
||||
th.columns .column center,
|
||||
th.columns .columns center,
|
||||
th.column .column center,
|
||||
th.column .columns center {
|
||||
min-width: none !important;
|
||||
}
|
||||
|
||||
td.columns.last,
|
||||
td.column.last,
|
||||
th.columns.last,
|
||||
th.column.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
td.columns table:not(.button),
|
||||
td.column table:not(.button),
|
||||
th.columns table:not(.button),
|
||||
th.column table:not(.button) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td.large-1,
|
||||
th.large-1 {
|
||||
width: 32.33333px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-1.first,
|
||||
th.large-1.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-1.last,
|
||||
th.large-1.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-1,
|
||||
.collapse>tbody>tr>th.large-1 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 48.33333px;
|
||||
}
|
||||
|
||||
.collapse td.large-1.first,
|
||||
.collapse th.large-1.first,
|
||||
.collapse td.large-1.last,
|
||||
.collapse th.large-1.last {
|
||||
width: 56.33333px;
|
||||
}
|
||||
|
||||
td.large-1 center,
|
||||
th.large-1 center {
|
||||
min-width: 0.33333px;
|
||||
}
|
||||
|
||||
.body .columns td.large-1,
|
||||
.body .column td.large-1,
|
||||
.body .columns th.large-1,
|
||||
.body .column th.large-1 {
|
||||
width: 8.33333%;
|
||||
}
|
||||
|
||||
td.large-2,
|
||||
th.large-2 {
|
||||
width: 80.66667px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-2.first,
|
||||
th.large-2.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-2.last,
|
||||
th.large-2.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-2,
|
||||
.collapse>tbody>tr>th.large-2 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 96.66667px;
|
||||
}
|
||||
|
||||
.collapse td.large-2.first,
|
||||
.collapse th.large-2.first,
|
||||
.collapse td.large-2.last,
|
||||
.collapse th.large-2.last {
|
||||
width: 104.66667px;
|
||||
}
|
||||
|
||||
td.large-2 center,
|
||||
th.large-2 center {
|
||||
min-width: 48.66667px;
|
||||
}
|
||||
|
||||
.body .columns td.large-2,
|
||||
.body .column td.large-2,
|
||||
.body .columns th.large-2,
|
||||
.body .column th.large-2 {
|
||||
width: 16.66667%;
|
||||
}
|
||||
|
||||
td.large-3,
|
||||
th.large-3 {
|
||||
width: 129px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-3.first,
|
||||
th.large-3.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-3.last,
|
||||
th.large-3.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-3,
|
||||
.collapse>tbody>tr>th.large-3 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 145px;
|
||||
}
|
||||
|
||||
.collapse td.large-3.first,
|
||||
.collapse th.large-3.first,
|
||||
.collapse td.large-3.last,
|
||||
.collapse th.large-3.last {
|
||||
width: 153px;
|
||||
}
|
||||
|
||||
td.large-3 center,
|
||||
th.large-3 center {
|
||||
min-width: 97px;
|
||||
}
|
||||
|
||||
.body .columns td.large-3,
|
||||
.body .column td.large-3,
|
||||
.body .columns th.large-3,
|
||||
.body .column th.large-3 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
td.large-4,
|
||||
th.large-4 {
|
||||
width: 177.33333px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-4.first,
|
||||
th.large-4.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-4.last,
|
||||
th.large-4.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-4,
|
||||
.collapse>tbody>tr>th.large-4 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 193.33333px;
|
||||
}
|
||||
|
||||
.collapse td.large-4.first,
|
||||
.collapse th.large-4.first,
|
||||
.collapse td.large-4.last,
|
||||
.collapse th.large-4.last {
|
||||
width: 201.33333px;
|
||||
}
|
||||
|
||||
td.large-4 center,
|
||||
th.large-4 center {
|
||||
min-width: 145.33333px;
|
||||
}
|
||||
|
||||
.body .columns td.large-4,
|
||||
.body .column td.large-4,
|
||||
.body .columns th.large-4,
|
||||
.body .column th.large-4 {
|
||||
width: 33.33333%;
|
||||
}
|
||||
|
||||
td.large-5,
|
||||
th.large-5 {
|
||||
width: 225.66667px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-5.first,
|
||||
th.large-5.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-5.last,
|
||||
th.large-5.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-5,
|
||||
.collapse>tbody>tr>th.large-5 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 241.66667px;
|
||||
}
|
||||
|
||||
.collapse td.large-5.first,
|
||||
.collapse th.large-5.first,
|
||||
.collapse td.large-5.last,
|
||||
.collapse th.large-5.last {
|
||||
width: 249.66667px;
|
||||
}
|
||||
|
||||
td.large-5 center,
|
||||
th.large-5 center {
|
||||
min-width: 193.66667px;
|
||||
}
|
||||
|
||||
.body .columns td.large-5,
|
||||
.body .column td.large-5,
|
||||
.body .columns th.large-5,
|
||||
.body .column th.large-5 {
|
||||
width: 41.66667%;
|
||||
}
|
||||
|
||||
td.large-6,
|
||||
th.large-6 {
|
||||
width: 274px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-6.first,
|
||||
th.large-6.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-6.last,
|
||||
th.large-6.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-6,
|
||||
.collapse>tbody>tr>th.large-6 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 290px;
|
||||
}
|
||||
|
||||
.collapse td.large-6.first,
|
||||
.collapse th.large-6.first,
|
||||
.collapse td.large-6.last,
|
||||
.collapse th.large-6.last {
|
||||
width: 298px;
|
||||
}
|
||||
|
||||
td.large-6 center,
|
||||
th.large-6 center {
|
||||
min-width: 242px;
|
||||
}
|
||||
|
||||
.body .columns td.large-6,
|
||||
.body .column td.large-6,
|
||||
.body .columns th.large-6,
|
||||
.body .column th.large-6 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
td.large-7,
|
||||
th.large-7 {
|
||||
width: 322.33333px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-7.first,
|
||||
th.large-7.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-7.last,
|
||||
th.large-7.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-7,
|
||||
.collapse>tbody>tr>th.large-7 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 338.33333px;
|
||||
}
|
||||
|
||||
.collapse td.large-7.first,
|
||||
.collapse th.large-7.first,
|
||||
.collapse td.large-7.last,
|
||||
.collapse th.large-7.last {
|
||||
width: 346.33333px;
|
||||
}
|
||||
|
||||
td.large-7 center,
|
||||
th.large-7 center {
|
||||
min-width: 290.33333px;
|
||||
}
|
||||
|
||||
.body .columns td.large-7,
|
||||
.body .column td.large-7,
|
||||
.body .columns th.large-7,
|
||||
.body .column th.large-7 {
|
||||
width: 58.33333%;
|
||||
}
|
||||
|
||||
td.large-8,
|
||||
th.large-8 {
|
||||
width: 370.66667px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-8.first,
|
||||
th.large-8.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-8.last,
|
||||
th.large-8.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-8,
|
||||
.collapse>tbody>tr>th.large-8 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 386.66667px;
|
||||
}
|
||||
|
||||
.collapse td.large-8.first,
|
||||
.collapse th.large-8.first,
|
||||
.collapse td.large-8.last,
|
||||
.collapse th.large-8.last {
|
||||
width: 394.66667px;
|
||||
}
|
||||
|
||||
td.large-8 center,
|
||||
th.large-8 center {
|
||||
min-width: 338.66667px;
|
||||
}
|
||||
|
||||
.body .columns td.large-8,
|
||||
.body .column td.large-8,
|
||||
.body .columns th.large-8,
|
||||
.body .column th.large-8 {
|
||||
width: 66.66667%;
|
||||
}
|
||||
|
||||
td.large-9,
|
||||
th.large-9 {
|
||||
width: 419px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-9.first,
|
||||
th.large-9.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-9.last,
|
||||
th.large-9.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-9,
|
||||
.collapse>tbody>tr>th.large-9 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 435px;
|
||||
}
|
||||
|
||||
.collapse td.large-9.first,
|
||||
.collapse th.large-9.first,
|
||||
.collapse td.large-9.last,
|
||||
.collapse th.large-9.last {
|
||||
width: 443px;
|
||||
}
|
||||
|
||||
td.large-9 center,
|
||||
th.large-9 center {
|
||||
min-width: 387px;
|
||||
}
|
||||
|
||||
.body .columns td.large-9,
|
||||
.body .column td.large-9,
|
||||
.body .columns th.large-9,
|
||||
.body .column th.large-9 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
td.large-10,
|
||||
th.large-10 {
|
||||
width: 467.33333px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-10.first,
|
||||
th.large-10.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-10.last,
|
||||
th.large-10.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-10,
|
||||
.collapse>tbody>tr>th.large-10 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 483.33333px;
|
||||
}
|
||||
|
||||
.collapse td.large-10.first,
|
||||
.collapse th.large-10.first,
|
||||
.collapse td.large-10.last,
|
||||
.collapse th.large-10.last {
|
||||
width: 491.33333px;
|
||||
}
|
||||
|
||||
td.large-10 center,
|
||||
th.large-10 center {
|
||||
min-width: 435.33333px;
|
||||
}
|
||||
|
||||
.body .columns td.large-10,
|
||||
.body .column td.large-10,
|
||||
.body .columns th.large-10,
|
||||
.body .column th.large-10 {
|
||||
width: 83.33333%;
|
||||
}
|
||||
|
||||
td.large-11,
|
||||
th.large-11 {
|
||||
width: 515.66667px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-11.first,
|
||||
th.large-11.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-11.last,
|
||||
th.large-11.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-11,
|
||||
.collapse>tbody>tr>th.large-11 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 531.66667px;
|
||||
}
|
||||
|
||||
.collapse td.large-11.first,
|
||||
.collapse th.large-11.first,
|
||||
.collapse td.large-11.last,
|
||||
.collapse th.large-11.last {
|
||||
width: 539.66667px;
|
||||
}
|
||||
|
||||
td.large-11 center,
|
||||
th.large-11 center {
|
||||
min-width: 483.66667px;
|
||||
}
|
||||
|
||||
.body .columns td.large-11,
|
||||
.body .column td.large-11,
|
||||
.body .columns th.large-11,
|
||||
.body .column th.large-11 {
|
||||
width: 91.66667%;
|
||||
}
|
||||
|
||||
td.large-12,
|
||||
th.large-12 {
|
||||
width: 564px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
td.large-12.first,
|
||||
th.large-12.first {
|
||||
padding-left: 16px;
|
||||
}
|
||||
|
||||
td.large-12.last,
|
||||
th.large-12.last {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.collapse>tbody>tr>td.large-12,
|
||||
.collapse>tbody>tr>th.large-12 {
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
width: 580px;
|
||||
}
|
||||
|
||||
.collapse td.large-12.first,
|
||||
.collapse th.large-12.first,
|
||||
.collapse td.large-12.last,
|
||||
.collapse th.large-12.last {
|
||||
width: 588px;
|
||||
}
|
||||
|
||||
td.large-12 center,
|
||||
th.large-12 center {
|
||||
min-width: 532px;
|
||||
}
|
||||
|
||||
.body .columns td.large-12,
|
||||
.body .column td.large-12,
|
||||
.body .columns th.large-12,
|
||||
.body .column th.large-12 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td.large-offset-1,
|
||||
td.large-offset-1.first,
|
||||
td.large-offset-1.last,
|
||||
th.large-offset-1,
|
||||
th.large-offset-1.first,
|
||||
th.large-offset-1.last {
|
||||
padding-left: 64.33333px;
|
||||
}
|
||||
|
||||
td.large-offset-2,
|
||||
td.large-offset-2.first,
|
||||
td.large-offset-2.last,
|
||||
th.large-offset-2,
|
||||
th.large-offset-2.first,
|
||||
th.large-offset-2.last {
|
||||
padding-left: 112.66667px;
|
||||
}
|
||||
|
||||
td.large-offset-3,
|
||||
td.large-offset-3.first,
|
||||
td.large-offset-3.last,
|
||||
th.large-offset-3,
|
||||
th.large-offset-3.first,
|
||||
th.large-offset-3.last {
|
||||
padding-left: 161px;
|
||||
}
|
||||
|
||||
td.large-offset-4,
|
||||
td.large-offset-4.first,
|
||||
td.large-offset-4.last,
|
||||
th.large-offset-4,
|
||||
th.large-offset-4.first,
|
||||
th.large-offset-4.last {
|
||||
padding-left: 209.33333px;
|
||||
}
|
||||
|
||||
td.large-offset-5,
|
||||
td.large-offset-5.first,
|
||||
td.large-offset-5.last,
|
||||
th.large-offset-5,
|
||||
th.large-offset-5.first,
|
||||
th.large-offset-5.last {
|
||||
padding-left: 257.66667px;
|
||||
}
|
||||
|
||||
td.large-offset-6,
|
||||
td.large-offset-6.first,
|
||||
td.large-offset-6.last,
|
||||
th.large-offset-6,
|
||||
th.large-offset-6.first,
|
||||
th.large-offset-6.last {
|
||||
padding-left: 306px;
|
||||
}
|
||||
|
||||
td.large-offset-7,
|
||||
td.large-offset-7.first,
|
||||
td.large-offset-7.last,
|
||||
th.large-offset-7,
|
||||
th.large-offset-7.first,
|
||||
th.large-offset-7.last {
|
||||
padding-left: 354.33333px;
|
||||
}
|
||||
|
||||
td.large-offset-8,
|
||||
td.large-offset-8.first,
|
||||
td.large-offset-8.last,
|
||||
th.large-offset-8,
|
||||
th.large-offset-8.first,
|
||||
th.large-offset-8.last {
|
||||
padding-left: 402.66667px;
|
||||
}
|
||||
|
||||
td.large-offset-9,
|
||||
td.large-offset-9.first,
|
||||
td.large-offset-9.last,
|
||||
th.large-offset-9,
|
||||
th.large-offset-9.first,
|
||||
th.large-offset-9.last {
|
||||
padding-left: 451px;
|
||||
}
|
||||
|
||||
td.large-offset-10,
|
||||
td.large-offset-10.first,
|
||||
td.large-offset-10.last,
|
||||
th.large-offset-10,
|
||||
th.large-offset-10.first,
|
||||
th.large-offset-10.last {
|
||||
padding-left: 499.33333px;
|
||||
}
|
||||
|
||||
td.large-offset-11,
|
||||
td.large-offset-11.first,
|
||||
td.large-offset-11.last,
|
||||
th.large-offset-11,
|
||||
th.large-offset-11.first,
|
||||
th.large-offset-11.last {
|
||||
padding-left: 547.66667px;
|
||||
}
|
||||
|
||||
td.expander,
|
||||
th.expander {
|
||||
visibility: hidden;
|
||||
width: 0;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
table.container.radius {
|
||||
border-radius: 0;
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
.block-grid {
|
||||
width: 100%;
|
||||
max-width: 580px;
|
||||
}
|
||||
|
||||
.block-grid td {
|
||||
display: inline-block;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.up-2 td {
|
||||
width: 274px !important;
|
||||
}
|
||||
|
||||
.up-3 td {
|
||||
width: 177px !important;
|
||||
}
|
||||
|
||||
.up-4 td {
|
||||
width: 129px !important;
|
||||
}
|
||||
|
||||
.up-5 td {
|
||||
width: 100px !important;
|
||||
}
|
||||
|
||||
.up-6 td {
|
||||
width: 80px !important;
|
||||
}
|
||||
|
||||
.up-7 td {
|
||||
width: 66px !important;
|
||||
}
|
||||
|
||||
.up-8 td {
|
||||
width: 56px !important;
|
||||
}
|
||||
|
||||
table.text-center,
|
||||
th.text-center,
|
||||
td.text-center,
|
||||
h1.text-center,
|
||||
h2.text-center,
|
||||
h3.text-center,
|
||||
h4.text-center,
|
||||
h5.text-center,
|
||||
h6.text-center,
|
||||
p.text-center,
|
||||
span.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.text-left,
|
||||
th.text-left,
|
||||
td.text-left,
|
||||
h1.text-left,
|
||||
h2.text-left,
|
||||
h3.text-left,
|
||||
h4.text-left,
|
||||
h5.text-left,
|
||||
h6.text-left,
|
||||
p.text-left,
|
||||
span.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.text-right,
|
||||
th.text-right,
|
||||
td.text-right,
|
||||
h1.text-right,
|
||||
h2.text-right,
|
||||
h3.text-right,
|
||||
h4.text-right,
|
||||
h5.text-right,
|
||||
h6.text-right,
|
||||
p.text-right,
|
||||
span.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
span.text-center {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
.small-float-center {
|
||||
margin: 0 auto !important;
|
||||
float: none !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
.small-text-center {
|
||||
text-align: center !important;
|
||||
}
|
||||
.small-text-left {
|
||||
text-align: left !important;
|
||||
}
|
||||
.small-text-right {
|
||||
text-align: right !important;
|
||||
}
|
||||
}
|
||||
|
||||
img.float-left {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
img.float-right {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
img.float-center,
|
||||
img.text-center {
|
||||
margin: 0 auto;
|
||||
Margin: 0 auto;
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.float-center,
|
||||
td.float-center,
|
||||
th.float-center {
|
||||
margin: 0 auto;
|
||||
Margin: 0 auto;
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hide-for-large {
|
||||
display: none !important;
|
||||
mso-hide: all;
|
||||
overflow: hidden;
|
||||
max-height: 0;
|
||||
font-size: 0;
|
||||
width: 0;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
.hide-for-large {
|
||||
display: block !important;
|
||||
width: auto !important;
|
||||
overflow: visible !important;
|
||||
max-height: none !important;
|
||||
font-size: inherit !important;
|
||||
line-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
table.body table.container .hide-for-large * {
|
||||
mso-hide: all;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
table.body table.container .hide-for-large,
|
||||
table.body table.container .row.hide-for-large {
|
||||
display: table !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
table.body table.container .callout-inner.hide-for-large {
|
||||
display: table-cell !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
table.body table.container .show-for-large {
|
||||
display: none !important;
|
||||
width: 0;
|
||||
mso-hide: all;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
body,
|
||||
table.body,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
td,
|
||||
th,
|
||||
a {
|
||||
color: #0a0a0a;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
Margin: 0;
|
||||
text-align: left;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: inherit;
|
||||
word-wrap: normal;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
margin-bottom: 10px;
|
||||
Margin-bottom: 10px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 34px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
body,
|
||||
table.body,
|
||||
p,
|
||||
td,
|
||||
th {
|
||||
font-size: 16px;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 10px;
|
||||
Margin-bottom: 10px;
|
||||
}
|
||||
|
||||
p.lead {
|
||||
font-size: 20px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
p.subheader {
|
||||
margin-top: 4px;
|
||||
margin-bottom: 8px;
|
||||
Margin-top: 4px;
|
||||
Margin-bottom: 8px;
|
||||
font-weight: normal;
|
||||
line-height: 1.4;
|
||||
color: #8a8a8a;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
color: #cacaca;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2199e8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #147dc2;
|
||||
}
|
||||
|
||||
a:active {
|
||||
color: #147dc2;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #2199e8;
|
||||
}
|
||||
|
||||
h1 a,
|
||||
h1 a:visited,
|
||||
h2 a,
|
||||
h2 a:visited,
|
||||
h3 a,
|
||||
h3 a:visited,
|
||||
h4 a,
|
||||
h4 a:visited,
|
||||
h5 a,
|
||||
h5 a:visited,
|
||||
h6 a,
|
||||
h6 a:visited {
|
||||
color: #2199e8;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: #f3f3f3;
|
||||
margin: 30px 0;
|
||||
Margin: 30px 0;
|
||||
}
|
||||
|
||||
pre code {
|
||||
color: #cacaca;
|
||||
}
|
||||
|
||||
pre code span.callout {
|
||||
color: #8a8a8a;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
pre code span.callout-strong {
|
||||
color: #ff6908;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.hr {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.hr th {
|
||||
height: 0;
|
||||
max-width: 580px;
|
||||
border-top: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 1px solid #0a0a0a;
|
||||
border-left: 0;
|
||||
margin: 20px auto;
|
||||
Margin: 20px auto;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.stat {
|
||||
font-size: 40px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
p+.stat {
|
||||
margin-top: -16px;
|
||||
Margin-top: -16px;
|
||||
}
|
||||
|
||||
span.preheader {
|
||||
display: none !important;
|
||||
visibility: hidden;
|
||||
mso-hide: all !important;
|
||||
font-size: 1px;
|
||||
color: #f3f3f3;
|
||||
line-height: 1px;
|
||||
max-height: 0px;
|
||||
max-width: 0px;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
table.button {
|
||||
width: auto;
|
||||
margin: 0 0 16px 0;
|
||||
Margin: 0 0 16px 0;
|
||||
}
|
||||
|
||||
table.button table td {
|
||||
text-align: left;
|
||||
color: #fefefe;
|
||||
background: #2199e8;
|
||||
border: 2px solid #2199e8;
|
||||
}
|
||||
|
||||
table.button table td a {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #fefefe;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
padding: 8px 16px 8px 16px;
|
||||
border: 0 solid #2199e8;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
table.button.radius table td {
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
table.button.rounded table td {
|
||||
border-radius: 500px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
table.button:hover table tr td a,
|
||||
table.button:active table tr td a,
|
||||
table.button table tr td a:visited,
|
||||
table.button.tiny:hover table tr td a,
|
||||
table.button.tiny:active table tr td a,
|
||||
table.button.tiny table tr td a:visited,
|
||||
table.button.small:hover table tr td a,
|
||||
table.button.small:active table tr td a,
|
||||
table.button.small table tr td a:visited,
|
||||
table.button.large:hover table tr td a,
|
||||
table.button.large:active table tr td a,
|
||||
table.button.large table tr td a:visited {
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button.tiny table td,
|
||||
table.button.tiny table a {
|
||||
padding: 4px 8px 4px 8px;
|
||||
}
|
||||
|
||||
table.button.tiny table a {
|
||||
font-size: 10px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
table.button.small table td,
|
||||
table.button.small table a {
|
||||
padding: 5px 10px 5px 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
table.button.large table a {
|
||||
padding: 10px 20px 10px 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
table.button.expand,
|
||||
table.button.expanded {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
table.button.expand table,
|
||||
table.button.expanded table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.button.expand table a,
|
||||
table.button.expanded table a {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
table.button.expand center,
|
||||
table.button.expanded center {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
table.button:hover table td,
|
||||
table.button:visited table td,
|
||||
table.button:active table td {
|
||||
background: #147dc2;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button:hover table a,
|
||||
table.button:visited table a,
|
||||
table.button:active table a {
|
||||
border: 0 solid #147dc2;
|
||||
}
|
||||
|
||||
table.button.secondary table td {
|
||||
background: #777777;
|
||||
color: #fefefe;
|
||||
border: 0px solid #777777;
|
||||
}
|
||||
|
||||
table.button.secondary table a {
|
||||
color: #fefefe;
|
||||
border: 0 solid #777777;
|
||||
}
|
||||
|
||||
table.button.secondary:hover table td {
|
||||
background: #919191;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button.secondary:hover table a {
|
||||
border: 0 solid #919191;
|
||||
}
|
||||
|
||||
table.button.secondary:hover table td a {
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button.secondary:active table td a {
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button.secondary table td a:visited {
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
table.button.success table td {
|
||||
background: #3adb76;
|
||||
border: 0px solid #3adb76;
|
||||
}
|
||||
|
||||
table.button.success table a {
|
||||
border: 0 solid #3adb76;
|
||||
}
|
||||
|
||||
table.button.success:hover table td {
|
||||
background: #23bf5d;
|
||||
}
|
||||
|
||||
table.button.success:hover table a {
|
||||
border: 0 solid #23bf5d;
|
||||
}
|
||||
|
||||
table.button.alert table td {
|
||||
background: #ec5840;
|
||||
border: 0px solid #ec5840;
|
||||
}
|
||||
|
||||
table.button.alert table a {
|
||||
border: 0 solid #ec5840;
|
||||
}
|
||||
|
||||
table.button.alert:hover table td {
|
||||
background: #e23317;
|
||||
}
|
||||
|
||||
table.button.alert:hover table a {
|
||||
border: 0 solid #e23317;
|
||||
}
|
||||
|
||||
table.button.warning table td {
|
||||
background: #ffae00;
|
||||
border: 0px solid #ffae00;
|
||||
}
|
||||
|
||||
table.button.warning table a {
|
||||
border: 0px solid #ffae00;
|
||||
}
|
||||
|
||||
table.button.warning:hover table td {
|
||||
background: #cc8b00;
|
||||
}
|
||||
|
||||
table.button.warning:hover table a {
|
||||
border: 0px solid #cc8b00;
|
||||
}
|
||||
|
||||
table.callout {
|
||||
margin-bottom: 16px;
|
||||
Margin-bottom: 16px;
|
||||
}
|
||||
|
||||
th.callout-inner {
|
||||
width: 100%;
|
||||
border: 1px solid #cbcbcb;
|
||||
padding: 10px;
|
||||
background: #fefefe;
|
||||
}
|
||||
|
||||
th.callout-inner.primary {
|
||||
background: #def0fc;
|
||||
border: 1px solid #444444;
|
||||
color: #0a0a0a;
|
||||
}
|
||||
|
||||
th.callout-inner.secondary {
|
||||
background: #ebebeb;
|
||||
border: 1px solid #444444;
|
||||
color: #0a0a0a;
|
||||
}
|
||||
|
||||
th.callout-inner.success {
|
||||
background: #e1faea;
|
||||
border: 1px solid #1b9448;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
th.callout-inner.warning {
|
||||
background: #fff3d9;
|
||||
border: 1px solid #996800;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
th.callout-inner.alert {
|
||||
background: #fce6e2;
|
||||
border: 1px solid #b42912;
|
||||
color: #fefefe;
|
||||
}
|
||||
|
||||
.thumbnail {
|
||||
border: solid 4px #fefefe;
|
||||
box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
max-width: 100%;
|
||||
transition: box-shadow 200ms ease-out;
|
||||
border-radius: 3px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.thumbnail:hover,
|
||||
.thumbnail:focus {
|
||||
box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
|
||||
}
|
||||
|
||||
table.menu {
|
||||
width: 580px;
|
||||
}
|
||||
|
||||
table.menu td.menu-item,
|
||||
table.menu th.menu-item {
|
||||
padding: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
table.menu td.menu-item a,
|
||||
table.menu th.menu-item a {
|
||||
color: #2199e8;
|
||||
}
|
||||
|
||||
table.menu.vertical td.menu-item,
|
||||
table.menu.vertical th.menu-item {
|
||||
padding: 10px;
|
||||
padding-right: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.menu.vertical td.menu-item a,
|
||||
table.menu.vertical th.menu-item a {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.menu.vertical td.menu-item table.menu.vertical td.menu-item,
|
||||
table.menu.vertical td.menu-item table.menu.vertical th.menu-item,
|
||||
table.menu.vertical th.menu-item table.menu.vertical td.menu-item,
|
||||
table.menu.vertical th.menu-item table.menu.vertical th.menu-item {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
table.menu.text-center a {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.menu[align="center"] {
|
||||
width: auto !important;
|
||||
}
|
||||
|
||||
body.outlook p {
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 596px) {
|
||||
table.body img {
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
table.body center {
|
||||
min-width: 0 !important;
|
||||
}
|
||||
table.body .container {
|
||||
width: 95% !important;
|
||||
}
|
||||
table.body .columns,
|
||||
table.body .column {
|
||||
height: auto !important;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding-left: 16px !important;
|
||||
padding-right: 16px !important;
|
||||
}
|
||||
table.body .columns .column,
|
||||
table.body .columns .columns,
|
||||
table.body .column .column,
|
||||
table.body .column .columns {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
table.body .collapse .columns,
|
||||
table.body .collapse .column {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
td.small-1,
|
||||
th.small-1 {
|
||||
display: inline-block !important;
|
||||
width: 8.33333% !important;
|
||||
}
|
||||
td.small-2,
|
||||
th.small-2 {
|
||||
display: inline-block !important;
|
||||
width: 16.66667% !important;
|
||||
}
|
||||
td.small-3,
|
||||
th.small-3 {
|
||||
display: inline-block !important;
|
||||
width: 25% !important;
|
||||
}
|
||||
td.small-4,
|
||||
th.small-4 {
|
||||
display: inline-block !important;
|
||||
width: 33.33333% !important;
|
||||
}
|
||||
td.small-5,
|
||||
th.small-5 {
|
||||
display: inline-block !important;
|
||||
width: 41.66667% !important;
|
||||
}
|
||||
td.small-6,
|
||||
th.small-6 {
|
||||
display: inline-block !important;
|
||||
width: 50% !important;
|
||||
}
|
||||
td.small-7,
|
||||
th.small-7 {
|
||||
display: inline-block !important;
|
||||
width: 58.33333% !important;
|
||||
}
|
||||
td.small-8,
|
||||
th.small-8 {
|
||||
display: inline-block !important;
|
||||
width: 66.66667% !important;
|
||||
}
|
||||
td.small-9,
|
||||
th.small-9 {
|
||||
display: inline-block !important;
|
||||
width: 75% !important;
|
||||
}
|
||||
td.small-10,
|
||||
th.small-10 {
|
||||
display: inline-block !important;
|
||||
width: 83.33333% !important;
|
||||
}
|
||||
td.small-11,
|
||||
th.small-11 {
|
||||
display: inline-block !important;
|
||||
width: 91.66667% !important;
|
||||
}
|
||||
td.small-12,
|
||||
th.small-12 {
|
||||
display: inline-block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.columns td.small-12,
|
||||
.column td.small-12,
|
||||
.columns th.small-12,
|
||||
.column th.small-12 {
|
||||
display: block !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
table.body td.small-offset-1,
|
||||
table.body th.small-offset-1 {
|
||||
margin-left: 8.33333% !important;
|
||||
Margin-left: 8.33333% !important;
|
||||
}
|
||||
table.body td.small-offset-2,
|
||||
table.body th.small-offset-2 {
|
||||
margin-left: 16.66667% !important;
|
||||
Margin-left: 16.66667% !important;
|
||||
}
|
||||
table.body td.small-offset-3,
|
||||
table.body th.small-offset-3 {
|
||||
margin-left: 25% !important;
|
||||
Margin-left: 25% !important;
|
||||
}
|
||||
table.body td.small-offset-4,
|
||||
table.body th.small-offset-4 {
|
||||
margin-left: 33.33333% !important;
|
||||
Margin-left: 33.33333% !important;
|
||||
}
|
||||
table.body td.small-offset-5,
|
||||
table.body th.small-offset-5 {
|
||||
margin-left: 41.66667% !important;
|
||||
Margin-left: 41.66667% !important;
|
||||
}
|
||||
table.body td.small-offset-6,
|
||||
table.body th.small-offset-6 {
|
||||
margin-left: 50% !important;
|
||||
Margin-left: 50% !important;
|
||||
}
|
||||
table.body td.small-offset-7,
|
||||
table.body th.small-offset-7 {
|
||||
margin-left: 58.33333% !important;
|
||||
Margin-left: 58.33333% !important;
|
||||
}
|
||||
table.body td.small-offset-8,
|
||||
table.body th.small-offset-8 {
|
||||
margin-left: 66.66667% !important;
|
||||
Margin-left: 66.66667% !important;
|
||||
}
|
||||
table.body td.small-offset-9,
|
||||
table.body th.small-offset-9 {
|
||||
margin-left: 75% !important;
|
||||
Margin-left: 75% !important;
|
||||
}
|
||||
table.body td.small-offset-10,
|
||||
table.body th.small-offset-10 {
|
||||
margin-left: 83.33333% !important;
|
||||
Margin-left: 83.33333% !important;
|
||||
}
|
||||
table.body td.small-offset-11,
|
||||
table.body th.small-offset-11 {
|
||||
margin-left: 91.66667% !important;
|
||||
Margin-left: 91.66667% !important;
|
||||
}
|
||||
table.body table.columns td.expander,
|
||||
table.body table.columns th.expander {
|
||||
display: none !important;
|
||||
}
|
||||
table.body .right-text-pad,
|
||||
table.body .text-pad-right {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
table.body .left-text-pad,
|
||||
table.body .text-pad-left {
|
||||
padding-right: 10px !important;
|
||||
}
|
||||
table.menu {
|
||||
width: 100% !important;
|
||||
}
|
||||
table.menu td,
|
||||
table.menu th {
|
||||
width: auto !important;
|
||||
display: inline-block !important;
|
||||
}
|
||||
table.menu.vertical td,
|
||||
table.menu.vertical th,
|
||||
table.menu.small-vertical td,
|
||||
table.menu.small-vertical th {
|
||||
display: block !important;
|
||||
}
|
||||
table.menu[align="center"] {
|
||||
width: auto !important;
|
||||
}
|
||||
table.button.small-expand,
|
||||
table.button.small-expanded {
|
||||
width: 100% !important;
|
||||
}
|
||||
table.button.small-expand table,
|
||||
table.button.small-expanded table {
|
||||
width: 100%;
|
||||
}
|
||||
table.button.small-expand table a,
|
||||
table.button.small-expanded table a {
|
||||
text-align: center !important;
|
||||
width: 100% !important;
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
table.button.small-expand center,
|
||||
table.button.small-expanded center {
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
67
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/body.html.twig
vendored
Normal file
67
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/body.html.twig
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
{% apply inky_to_html|inline_css %}
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
{% block style %}
|
||||
{{ source("@email/zurb_2/main.css") }}
|
||||
{{ source("@email/zurb_2/notification/local.css") }}
|
||||
{% endblock %}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<spacer size="32"></spacer>
|
||||
<wrapper class="body">
|
||||
<container class="body_{{ ("urgent" == importance ? "alert" : ("high" == importance ? "warning" : "default")) }}">
|
||||
<spacer size="16"></spacer>
|
||||
<row>
|
||||
<columns large="12" small="12">
|
||||
{% block lead %}
|
||||
{% if importance is not null %}<small><strong>{{ importance|upper }}</strong></small>{% endif %}
|
||||
<p class="lead">
|
||||
{{ email.subject }}
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% if markdown %}
|
||||
{{ include('@email/zurb_2/notification/content_markdown.html.twig') }}
|
||||
{% else %}
|
||||
{{ (raw ? content|raw : content)|nl2br }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block action %}
|
||||
{% if action_url %}
|
||||
<spacer size="16"></spacer>
|
||||
<button href="{{ action_url }}">{{ action_text }}</button>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block exception %}
|
||||
{% if exception %}
|
||||
<spacer size="16"></spacer>
|
||||
<p><em>Exception stack trace attached.</em></p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</columns>
|
||||
</row>
|
||||
|
||||
<wrapper class="secondary">
|
||||
<spacer size="16"></spacer>
|
||||
{% block footer %}
|
||||
{% if footer_text is defined and footer_text is not null %}
|
||||
<row>
|
||||
<columns small="12" large="6">
|
||||
{% block footer_content %}
|
||||
<p><small>{{ footer_text }}</small></p>
|
||||
{% endblock %}
|
||||
</columns>
|
||||
</row>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</wrapper>
|
||||
</container>
|
||||
</wrapper>
|
||||
</body>
|
||||
</html>
|
||||
{% endapply %}
|
20
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/body.txt.twig
vendored
Normal file
20
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/body.txt.twig
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
{% block lead %}
|
||||
{{ email.subject }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
|
||||
{% block action %}
|
||||
{% if action_url %}
|
||||
{{ action_text }}: {{ action_url }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block exception %}
|
||||
{% if exception %}
|
||||
Exception stack trace attached.
|
||||
{{ exception }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
@ -0,0 +1 @@
|
||||
{{ content|markdown_to_html }}
|
19
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/local.css
vendored
Normal file
19
vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/local.css
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
body {
|
||||
background: #f3f3f3;
|
||||
}
|
||||
|
||||
.wrapper.secondary {
|
||||
background: #f3f3f3;
|
||||
}
|
||||
|
||||
.container.body_alert {
|
||||
border-top: 8px solid #ec5840;
|
||||
}
|
||||
|
||||
.container.body_warning {
|
||||
border-top: 8px solid #ffae00;
|
||||
}
|
||||
|
||||
.container.body_default {
|
||||
border-top: 8px solid #aaaaaa;
|
||||
}
|
71
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig
vendored
Normal file
71
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
{% use "bootstrap_3_layout.html.twig" %}
|
||||
|
||||
{% block form_start -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-horizontal')|trim}) %}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_start %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{%- if label is same as(false) -%}
|
||||
<div class="{{ block('form_label_class') }}"></div>
|
||||
{%- else -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' ' ~ block('form_label_class'))|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endif -%}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block form_label_class -%}
|
||||
col-sm-2
|
||||
{%- endblock form_label_class %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group' ~ ((not compound or force_error|default(false)) and not valid ? ' has-error'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_label(form) -}}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{##}</div>
|
||||
{%- endblock form_row %}
|
||||
|
||||
{% block submit_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock submit_row %}
|
||||
|
||||
{% block reset_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock reset_row %}
|
||||
|
||||
{% block form_group_class -%}
|
||||
col-sm-10
|
||||
{%- endblock form_group_class %}
|
||||
|
||||
{% block checkbox_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group' ~ (not valid ? ' has-error'))|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock checkbox_row %}
|
216
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_3_layout.html.twig
vendored
Normal file
216
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_3_layout.html.twig
vendored
Normal file
@ -0,0 +1,216 @@
|
||||
{% use "bootstrap_base_layout.html.twig" %}
|
||||
|
||||
{# Widgets #}
|
||||
|
||||
{% block form_widget_simple -%}
|
||||
{% if type is not defined or type not in ['file', 'hidden'] %}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) -%}
|
||||
{% endif %}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_widget_simple %}
|
||||
|
||||
{% block button_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('btn-default') ~ ' btn')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock button_widget %}
|
||||
|
||||
{% block money_widget -%}
|
||||
{% set prepend = not (money_pattern starts with '{{') %}
|
||||
{% set append = not (money_pattern ends with '}}') %}
|
||||
{% if prepend or append %}
|
||||
<div class="input-group">
|
||||
{% if prepend %}
|
||||
<span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% if append %}
|
||||
<span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% endif %}
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block checkbox_widget -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{% if 'checkbox-inline' in parent_label_class %}
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
{% else -%}
|
||||
<div class="checkbox">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_widget %}
|
||||
|
||||
{% block radio_widget -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- if 'radio-inline' in parent_label_class -%}
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
{%- else -%}
|
||||
<div class="radio">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock radio_widget %}
|
||||
|
||||
{% block choice_widget_collapsed -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock choice_widget_collapsed %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' control-label')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block choice_label -%}
|
||||
{# remove the checkbox-inline and radio-inline class, it's only useful for embed labels #}
|
||||
{%- set label_attr = label_attr|merge({class: label_attr.class|default('')|replace({'checkbox-inline': '', 'radio-inline': ''})|trim}) -%}
|
||||
{{- block('form_label') -}}
|
||||
{% endblock %}
|
||||
|
||||
{% block checkbox_label -%}
|
||||
{%- set label_attr = label_attr|merge({'for': id}) -%}
|
||||
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock checkbox_label %}
|
||||
|
||||
{% block radio_label -%}
|
||||
{%- set label_attr = label_attr|merge({'for': id}) -%}
|
||||
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock radio_label %}
|
||||
|
||||
{% block checkbox_radio_label -%}
|
||||
{# Do not display the label if widget is not defined in order to prevent double label rendering #}
|
||||
{%- if widget is defined -%}
|
||||
{%- if required -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- if label is not same as(false) and label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{%- set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) -%}
|
||||
{%- else -%}
|
||||
{% set label = name|humanize %}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{#- if statement must be kept on the same line, to force the space between widget and label -#}
|
||||
{{- widget|raw }} {% if label is not same as(false) -%}
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{ label -}}
|
||||
{%- else -%}
|
||||
{{ label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{ label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{ label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</label>
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_radio_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group' ~ ((not compound or force_error|default(false)) and not valid ? ' has-error'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_label(form) }} {# -#}
|
||||
{{ form_widget(form, widget_attr) }} {# -#}
|
||||
{{- form_help(form) -}}
|
||||
{{ form_errors(form) }} {# -#}
|
||||
</div> {# -#}
|
||||
{%- endblock form_row %}
|
||||
|
||||
{% block button_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
</div>
|
||||
{%- endblock button_row %}
|
||||
|
||||
{% block choice_row -%}
|
||||
{% set force_error = true %}
|
||||
{{- block('form_row') }}
|
||||
{%- endblock choice_row %}
|
||||
|
||||
{% block date_row -%}
|
||||
{% set force_error = true %}
|
||||
{{- block('form_row') }}
|
||||
{%- endblock date_row %}
|
||||
|
||||
{% block time_row -%}
|
||||
{% set force_error = true %}
|
||||
{{- block('form_row') }}
|
||||
{%- endblock time_row %}
|
||||
|
||||
{% block datetime_row -%}
|
||||
{% set force_error = true %}
|
||||
{{- block('form_row') }}
|
||||
{%- endblock datetime_row %}
|
||||
|
||||
{% block checkbox_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group' ~ (not valid ? ' has-error'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{%- endblock checkbox_row %}
|
||||
|
||||
{% block radio_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group' ~ (not valid ? ' has-error'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{%- endblock radio_row %}
|
||||
|
||||
{# Errors #}
|
||||
|
||||
{% block form_errors -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% if form is not rootform %}<span class="help-block">{% else %}<div class="alert alert-danger">{% endif %}
|
||||
<ul class="list-unstyled">
|
||||
{%- for error in errors -%}
|
||||
<li><span class="glyphicon glyphicon-exclamation-sign"></span> {{ error.message }}</li>
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
{% if form is not rootform %}</span>{% else %}</div>{% endif %}
|
||||
{%- endif %}
|
||||
{%- endblock form_errors %}
|
||||
|
||||
{# Help #}
|
||||
|
||||
{% block form_help -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ ' help-block')|trim}) -%}
|
||||
<span id="{{ id }}_help"{% with { attr: help_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help -}}
|
||||
{%- else -%}
|
||||
{{- help|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</span>
|
||||
{%- endif -%}
|
||||
{%- endblock form_help %}
|
87
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig
vendored
Normal file
87
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig
vendored
Normal file
@ -0,0 +1,87 @@
|
||||
{% use "bootstrap_4_layout.html.twig" %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{%- if label is same as(false) -%}
|
||||
<div class="{{ block('form_label_class') }}"></div>
|
||||
{%- else -%}
|
||||
{%- if expanded is not defined or not expanded -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' ' ~ block('form_label_class'))|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endif -%}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block form_label_class -%}
|
||||
col-sm-2
|
||||
{%- endblock form_label_class %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- if expanded is defined and expanded -%}
|
||||
{{ block('fieldset_form_row') }}
|
||||
{%- else -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group row' ~ ((not compound or force_error|default(false)) and not valid ? ' is-invalid'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_label(form) -}}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
</div>
|
||||
{##}</div>
|
||||
{%- endif -%}
|
||||
{%- endblock form_row %}
|
||||
|
||||
{% block fieldset_form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<fieldset{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<div class="row{% if (not compound or force_error|default(false)) and not valid %} is-invalid{% endif %}">
|
||||
{{- form_label(form) -}}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
</div>
|
||||
</div>
|
||||
{##}</fieldset>
|
||||
{%- endblock fieldset_form_row %}
|
||||
|
||||
{% block submit_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock submit_row %}
|
||||
|
||||
{% block reset_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock reset_row %}
|
||||
|
||||
{% block form_group_class -%}
|
||||
col-sm-10
|
||||
{%- endblock form_group_class %}
|
||||
|
||||
{% block checkbox_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
{{- form_help(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock checkbox_row %}
|
371
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_4_layout.html.twig
vendored
Normal file
371
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_4_layout.html.twig
vendored
Normal file
@ -0,0 +1,371 @@
|
||||
{% use "bootstrap_base_layout.html.twig" %}
|
||||
|
||||
{# Widgets #}
|
||||
|
||||
{% block money_widget -%}
|
||||
{%- set prepend = not (money_pattern starts with '{{') -%}
|
||||
{%- set append = not (money_pattern ends with '}}') -%}
|
||||
{%- if prepend or append -%}
|
||||
<div class="input-group{{ group_class|default('') }}">
|
||||
{%- if prepend -%}
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">{{ money_pattern|form_encode_currency }}</span>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- if append -%}
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text">{{ money_pattern|form_encode_currency }}</span>
|
||||
</div>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block datetime_widget -%}
|
||||
{%- if widget != 'single_text' and not valid -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock datetime_widget %}
|
||||
|
||||
{% block date_widget -%}
|
||||
{%- if widget != 'single_text' and not valid -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock date_widget %}
|
||||
|
||||
{% block time_widget -%}
|
||||
{%- if widget != 'single_text' and not valid -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock time_widget %}
|
||||
|
||||
{% block dateinterval_widget -%}
|
||||
{%- if widget != 'single_text' and not valid -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{%- endif -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- if with_years -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.years) }}
|
||||
{{ form_widget(form.years) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_months -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.months) }}
|
||||
{{ form_widget(form.months) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_weeks -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.weeks) }}
|
||||
{{ form_widget(form.weeks) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_days -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.days) }}
|
||||
{{ form_widget(form.days) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_hours -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.hours) }}
|
||||
{{ form_widget(form.hours) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_minutes -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.minutes) }}
|
||||
{{ form_widget(form.minutes) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_seconds -%}
|
||||
<div class="col-auto">
|
||||
{{ form_label(form.seconds) }}
|
||||
{{ form_widget(form.seconds) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_invert %}{{ form_widget(form.invert) }}{% endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock dateinterval_widget %}
|
||||
|
||||
{% block percent_widget -%}
|
||||
{%- if symbol -%}
|
||||
<div class="input-group">
|
||||
{{- block('form_widget_simple') -}}
|
||||
<div class="input-group-append">
|
||||
<span class="input-group-text">{{ symbol|default('%') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock percent_widget %}
|
||||
|
||||
{% block file_widget -%}
|
||||
<{{ element|default('div') }} class="custom-file">
|
||||
{%- set type = type|default('file') -%}
|
||||
{%- set input_lang = 'en' -%}
|
||||
{% if app is defined and app.request is defined %}{%- set input_lang = app.request.locale -%}{%- endif -%}
|
||||
{%- set attr = {lang: input_lang} | merge(attr) -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- set label_attr = label_attr|merge({ class: (label_attr.class|default('') ~ ' custom-file-label')|trim })|filter((value, key) => key != 'id') -%}
|
||||
<label for="{{ form.vars.id }}" {% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if attr.placeholder is defined and attr.placeholder is not none -%}
|
||||
{{- translation_domain is same as(false) ? attr.placeholder : attr.placeholder|trans({}, translation_domain) -}}
|
||||
{%- endif -%}
|
||||
</label>
|
||||
</{{ element|default('div') }}>
|
||||
{% endblock %}
|
||||
|
||||
{% block form_widget_simple -%}
|
||||
{%- if type is not defined or type != 'hidden' -%}
|
||||
{%- set className = ' form-control' -%}
|
||||
{%- if type|default('') == 'file' -%}
|
||||
{%- set className = ' custom-file-input' -%}
|
||||
{%- elseif type|default('') == 'range' -%}
|
||||
{%- set className = ' form-control-range' -%}
|
||||
{%- endif -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ className)|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- if type is defined and (type == 'range' or type == 'color') %}
|
||||
{# Attribute "required" is not supported #}
|
||||
{%- set required = false -%}
|
||||
{% endif %}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_widget_simple %}
|
||||
|
||||
{% block widget_attributes -%}
|
||||
{%- if not valid -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) %}
|
||||
{%- endif -%}
|
||||
{{ parent() }}
|
||||
{%- endblock widget_attributes %}
|
||||
|
||||
{% block button_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('btn-secondary') ~ ' btn')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock button_widget %}
|
||||
|
||||
{% block submit_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('btn-primary'))|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock submit_widget %}
|
||||
|
||||
{% block checkbox_widget -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- if 'checkbox-custom' in parent_label_class -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' custom-control-input')|trim}) -%}
|
||||
<div class="custom-control custom-checkbox{{ 'checkbox-inline' in parent_label_class ? ' custom-control-inline' }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- elseif 'switch-custom' in parent_label_class -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' custom-control-input')|trim}) -%}
|
||||
<div class="custom-control custom-switch{{ 'switch-inline' in parent_label_class ? ' custom-control-inline' }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
|
||||
<div class="form-check{{ 'checkbox-inline' in parent_label_class ? ' form-check-inline' }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_widget %}
|
||||
|
||||
{% block radio_widget -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- if 'radio-custom' in parent_label_class -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' custom-control-input')|trim}) -%}
|
||||
<div class="custom-control custom-radio{{ 'radio-inline' in parent_label_class ? ' custom-control-inline' }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
|
||||
<div class="form-check{{ 'radio-inline' in parent_label_class ? ' form-check-inline' }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock radio_widget %}
|
||||
|
||||
{% block choice_widget_collapsed -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock choice_widget_collapsed %}
|
||||
|
||||
{% block choice_widget_expanded -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- for child in form %}
|
||||
{{- form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
translation_domain: choice_translation_domain,
|
||||
valid: valid,
|
||||
}) -}}
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{%- endblock choice_widget_expanded %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{% if label is not same as(false) -%}
|
||||
{%- if compound is defined and compound -%}
|
||||
{%- set element = 'legend' -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label')|trim}) -%}
|
||||
{%- else -%}
|
||||
{%- set label_attr = label_attr|merge({for: id}) -%}
|
||||
{%- endif -%}
|
||||
{% if required -%}
|
||||
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %}
|
||||
{%- endif -%}
|
||||
{% if label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{% set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) %}
|
||||
{%- else -%}
|
||||
{% set label = name|humanize %}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
<{{ element|default('label') }}{% if label_attr %}{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}{% endif %}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label -}}
|
||||
{%- else -%}
|
||||
{{- label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{% block form_label_errors %}{{- form_errors(form) -}}{% endblock form_label_errors %}</{{ element|default('label') }}>
|
||||
{%- else -%}
|
||||
{%- if errors|length > 0 -%}
|
||||
<div id="{{ id }}_errors" class="mb-2">
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block checkbox_radio_label -%}
|
||||
{#- Do not display the label if widget is not defined in order to prevent double label rendering -#}
|
||||
{%- if widget is defined -%}
|
||||
{% set is_parent_custom = parent_label_class is defined and ('checkbox-custom' in parent_label_class or 'radio-custom' in parent_label_class or 'switch-custom' in parent_label_class) %}
|
||||
{% set is_custom = label_attr.class is defined and ('checkbox-custom' in label_attr.class or 'radio-custom' in label_attr.class or 'switch-custom' in label_attr.class) %}
|
||||
{%- if is_parent_custom or is_custom -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' custom-control-label')|trim}) -%}
|
||||
{%- else %}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' form-check-label')|trim}) -%}
|
||||
{%- endif %}
|
||||
{%- if not compound -%}
|
||||
{% set label_attr = label_attr|merge({'for': id}) %}
|
||||
{%- endif -%}
|
||||
{%- if required -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- if label is not same as(false) and label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{%- set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) -%}
|
||||
{%- else -%}
|
||||
{%- set label = name|humanize -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
|
||||
{{ widget|raw }}
|
||||
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if label is not same as(false) -%}
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label -}}
|
||||
{%- else -%}
|
||||
{{- label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{{- form_errors(form) -}}
|
||||
</label>
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_radio_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- if compound is defined and compound -%}
|
||||
{%- set element = 'fieldset' -%}
|
||||
{%- endif -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<{{ element|default('div') }}{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_label(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
</{{ element|default('div') }}>
|
||||
{%- endblock form_row %}
|
||||
|
||||
{# Errors #}
|
||||
|
||||
{% block form_errors -%}
|
||||
{%- if errors|length > 0 -%}
|
||||
<span class="{% if form is not rootform %}invalid-feedback{% else %}alert alert-danger{% endif %} d-block">
|
||||
{%- for error in errors -%}
|
||||
<span class="d-block">
|
||||
<span class="form-error-icon badge badge-danger text-uppercase">{{ 'Error'|trans({}, 'validators') }}</span> <span class="form-error-message">{{ error.message }}</span>
|
||||
</span>
|
||||
{%- endfor -%}
|
||||
</span>
|
||||
{%- endif %}
|
||||
{%- endblock form_errors %}
|
||||
|
||||
{# Help #}
|
||||
|
||||
{% block form_help -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ ' form-text text-muted')|trim}) -%}
|
||||
<small id="{{ id }}_help"{% with { attr: help_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help -}}
|
||||
{%- else -%}
|
||||
{{- help|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</small>
|
||||
{%- endif -%}
|
||||
{%- endblock form_help %}
|
130
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_5_horizontal_layout.html.twig
vendored
Normal file
130
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_5_horizontal_layout.html.twig
vendored
Normal file
@ -0,0 +1,130 @@
|
||||
{% use "bootstrap_5_layout.html.twig" %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{%- if label is same as(false) -%}
|
||||
<div class="{{ block('form_label_class') }}"></div>
|
||||
{%- else -%}
|
||||
{%- set row_class = row_class|default(row_attr.class|default('')) -%}
|
||||
{%- if 'form-floating' not in row_class and 'input-group' not in row_class -%}
|
||||
{%- if expanded is not defined or not expanded -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' ' ~ block('form_label_class'))|trim}) -%}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endif -%}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block form_label_class -%}
|
||||
col-sm-2
|
||||
{%- endblock form_label_class %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- if expanded is defined and expanded -%}
|
||||
{{ block('fieldset_form_row') }}
|
||||
{%- else -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
{%- set row_class = row_class|default(row_attr.class|default('mb-3')) -%}
|
||||
{%- set is_form_floating = is_form_floating|default('form-floating' in row_class) -%}
|
||||
{%- set is_input_group = is_input_group|default('input-group' in row_class) -%}
|
||||
{#- Remove behavior class from the main container -#}
|
||||
{%- set row_class = row_class|replace({'form-floating': '', 'input-group': ''}) -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_class ~ ' row' ~ ((not compound or force_error|default(false)) and not valid ? ' is-invalid'))|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if is_form_floating or is_input_group -%}
|
||||
<div class="{{ block('form_label_class') }}"></div>
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{%- if is_form_floating -%}
|
||||
<div class="form-floating">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_label(form) -}}
|
||||
</div>
|
||||
{%- elseif is_input_group -%}
|
||||
<div class="input-group">
|
||||
{{- form_label(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{#- Hack to properly display help with input group -#}
|
||||
{{- form_help(form) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if not is_input_group -%}
|
||||
{{- form_help(form) -}}
|
||||
{%- endif -%}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- form_label(form) -}}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{##}</div>
|
||||
{%- endif -%}
|
||||
{%- endblock form_row %}
|
||||
|
||||
{% block fieldset_form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<fieldset{% with {attr: row_attr|merge({class: row_attr.class|default('mb-3')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<div class="row{% if (not compound or force_error|default(false)) and not valid %} is-invalid{% endif %}">
|
||||
{{- form_label(form) -}}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{%- endblock fieldset_form_row %}
|
||||
|
||||
{% block submit_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('mb-3') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock submit_row %}
|
||||
|
||||
{% block reset_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('mb-3') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock reset_row %}
|
||||
|
||||
{% block button_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('mb-3') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock button_row %}
|
||||
|
||||
{% block checkbox_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('mb-3') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>{#--#}
|
||||
<div class="{{ block('form_label_class') }}"></div>{#--#}
|
||||
<div class="{{ block('form_group_class') }}">
|
||||
{{- form_widget(form) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>{#--#}
|
||||
</div>
|
||||
{%- endblock checkbox_row %}
|
||||
|
||||
{% block form_group_class -%}
|
||||
col-sm-10
|
||||
{%- endblock form_group_class %}
|
374
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_5_layout.html.twig
vendored
Normal file
374
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_5_layout.html.twig
vendored
Normal file
@ -0,0 +1,374 @@
|
||||
{% use "bootstrap_base_layout.html.twig" %}
|
||||
|
||||
{# Widgets #}
|
||||
|
||||
{% block money_widget -%}
|
||||
{%- set prepend = not (money_pattern starts with '{{') -%}
|
||||
{%- set append = not (money_pattern ends with '}}') -%}
|
||||
{%- if prepend or append -%}
|
||||
<div class="input-group{{ group_class|default('') }}">
|
||||
{%- if prepend -%}
|
||||
<span class="input-group-text">{{ money_pattern|form_encode_currency }}</span>
|
||||
{%- endif -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- if append -%}
|
||||
<span class="input-group-text">{{ money_pattern|form_encode_currency }}</span>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block date_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{% if not valid %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{% endif %}
|
||||
{%- if datetime is not defined or not datetime -%}
|
||||
<div {{ block('widget_container_attributes') -}}>
|
||||
{%- endif %}
|
||||
{%- if label is not same as(false) -%}
|
||||
<div class="visually-hidden">
|
||||
{{- form_label(form.year) -}}
|
||||
{{- form_label(form.month) -}}
|
||||
{{- form_label(form.day) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
<div class="input-group">
|
||||
{{- date_pattern|replace({
|
||||
'{{ year }}': form_widget(form.year),
|
||||
'{{ month }}': form_widget(form.month),
|
||||
'{{ day }}': form_widget(form.day),
|
||||
})|raw -}}
|
||||
</div>
|
||||
{%- if datetime is not defined or not datetime -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock date_widget %}
|
||||
|
||||
{% block time_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{% if not valid %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{% endif %}
|
||||
{%- if datetime is not defined or false == datetime -%}
|
||||
<div {{ block('widget_container_attributes') -}}>
|
||||
{%- endif -%}
|
||||
{%- if label is not same as(false) -%}
|
||||
<div class="visually-hidden">
|
||||
{{- form_label(form.hour) -}}
|
||||
{%- if with_minutes -%}{{ form_label(form.minute) }}{%- endif -%}
|
||||
{%- if with_seconds -%}{{ form_label(form.second) }}{%- endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{% if with_minutes or with_seconds %}
|
||||
<div class="input-group">
|
||||
{% endif %}
|
||||
{{- form_widget(form.hour) -}}
|
||||
{%- if with_minutes -%}
|
||||
<span class="input-group-text">:</span>
|
||||
{{- form_widget(form.minute) -}}
|
||||
{%- endif -%}
|
||||
{%- if with_seconds -%}
|
||||
<span class="input-group-text">:</span>
|
||||
{{- form_widget(form.second) -}}
|
||||
{%- endif -%}
|
||||
{% if with_minutes or with_seconds %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- if datetime is not defined or false == datetime -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock time_widget %}
|
||||
|
||||
{% block datetime_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{% if not valid %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{% endif %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- form_widget(form.date, { datetime: true } ) -}}
|
||||
{{- form_errors(form.date) -}}
|
||||
{{- form_widget(form.time, { datetime: true } ) -}}
|
||||
{{- form_errors(form.time) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock datetime_widget %}
|
||||
|
||||
{% block dateinterval_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{% if not valid %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) -%}
|
||||
{% set valid = true %}
|
||||
{% endif %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- if with_years -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.years) }}
|
||||
{{ form_widget(form.years) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_months -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.months) }}
|
||||
{{ form_widget(form.months) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_weeks -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.weeks) }}
|
||||
{{ form_widget(form.weeks) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_days -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.days) }}
|
||||
{{ form_widget(form.days) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_hours -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.hours) }}
|
||||
{{ form_widget(form.hours) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_minutes -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.minutes) }}
|
||||
{{ form_widget(form.minutes) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_seconds -%}
|
||||
<div class="col-auto mb-3">
|
||||
{{ form_label(form.seconds) }}
|
||||
{{ form_widget(form.seconds) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if with_invert %}{{ form_widget(form.invert) }}{% endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock dateinterval_widget %}
|
||||
|
||||
{% block percent_widget -%}
|
||||
{%- if symbol -%}
|
||||
<div class="input-group">
|
||||
{{- block('form_widget_simple') -}}
|
||||
<span class="input-group-text">{{ symbol|default('%') }}</span>
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock percent_widget %}
|
||||
|
||||
{% block form_widget_simple -%}
|
||||
{%- if type is not defined or type != 'hidden' %}
|
||||
{%- set widget_class = ' form-control' %}
|
||||
{%- if type|default('') == 'color' -%}
|
||||
{%- set widget_class = widget_class ~ ' form-control-color' -%}
|
||||
{%- elseif type|default('') == 'range' -%}
|
||||
{%- set widget_class = ' form-range' -%}
|
||||
{%- endif -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ widget_class)|trim}) -%}
|
||||
{% endif -%}
|
||||
{%- if type is defined and type in ['range', 'color'] %}
|
||||
{# Attribute "required" is not supported #}
|
||||
{% set required = false %}
|
||||
{% endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_widget_simple %}
|
||||
|
||||
{%- block widget_attributes -%}
|
||||
{%- if not valid %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' is-invalid')|trim}) %}
|
||||
{% endif -%}
|
||||
{{ parent() }}
|
||||
{%- endblock widget_attributes -%}
|
||||
|
||||
{%- block button_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('btn-secondary') ~ ' btn')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock button_widget %}
|
||||
|
||||
{%- block submit_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('btn-primary'))|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock submit_widget %}
|
||||
|
||||
{%- block checkbox_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- set row_class = 'form-check' -%}
|
||||
{%- if 'checkbox-inline' in parent_label_class %}
|
||||
{% set row_class = row_class ~ ' form-check-inline' %}
|
||||
{% endif -%}
|
||||
{%- if 'checkbox-switch' in parent_label_class %}
|
||||
{% set row_class = row_class ~ ' form-switch' %}
|
||||
{% endif -%}
|
||||
<div class="{{ row_class }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endblock checkbox_widget %}
|
||||
|
||||
{%- block radio_widget -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-check-input')|trim}) -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- set row_class = 'form-check' -%}
|
||||
{%- if 'radio-inline' in parent_label_class -%}
|
||||
{%- set row_class = row_class ~ ' form-check-inline' -%}
|
||||
{%- endif -%}
|
||||
<div class="{{ row_class }}">
|
||||
{{- form_label(form, null, { widget: parent() }) -}}
|
||||
</div>
|
||||
{%- endblock radio_widget %}
|
||||
|
||||
{%- block choice_widget_collapsed -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-select')|trim}) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock choice_widget_collapsed -%}
|
||||
|
||||
{%- block choice_widget_expanded -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- for child in form %}
|
||||
{{- form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
translation_domain: choice_translation_domain,
|
||||
valid: valid,
|
||||
}) -}}
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{%- endblock choice_widget_expanded %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{%- block form_label -%}
|
||||
{% if label is not same as(false) -%}
|
||||
{%- set parent_label_class = parent_label_class|default(label_attr.class|default('')) -%}
|
||||
{%- if compound is defined and compound -%}
|
||||
{%- set element = 'legend' -%}
|
||||
{%- if 'col-form-label' not in parent_label_class -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' col-form-label' )|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- set row_class = row_class|default(row_attr.class|default('')) -%}
|
||||
{%- set label_attr = label_attr|merge({for: id}) -%}
|
||||
{%- if 'col-form-label' not in parent_label_class -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ('input-group' in row_class ? ' input-group-text' : ' form-label') )|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{%- block checkbox_radio_label -%}
|
||||
{#- Do not display the label if widget is not defined in order to prevent double label rendering -#}
|
||||
{%- if widget is defined -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' form-check-label')|trim}) -%}
|
||||
{%- if not compound -%}
|
||||
{% set label_attr = label_attr|merge({'for': id}) %}
|
||||
{%- endif -%}
|
||||
{%- if required -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- if parent_label_class is defined -%}
|
||||
{%- set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' ' ~ parent_label_class)|replace({'checkbox-inline': '', 'radio-inline': ''})|trim}) -%}
|
||||
{%- endif -%}
|
||||
{%- if label is not same as(false) and label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{%- set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) -%}
|
||||
{%- else -%}
|
||||
{%- set label = name|humanize -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
|
||||
{{ widget|raw }}
|
||||
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if label is not same as(false) -%}
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label -}}
|
||||
{%- else -%}
|
||||
{{- label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</label>
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_radio_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{%- block form_row -%}
|
||||
{%- if compound is defined and compound -%}
|
||||
{%- set element = 'fieldset' -%}
|
||||
{%- endif -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
{%- set row_class = row_class|default(row_attr.class|default('mb-3')|trim) -%}
|
||||
<{{ element|default('div') }}{% with {attr: row_attr|merge({class: row_class})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if 'form-floating' in row_class -%}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_label(form) -}}
|
||||
{%- else -%}
|
||||
{{- form_label(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{%- endif -%}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</{{ element|default('div') }}>
|
||||
{%- endblock form_row %}
|
||||
|
||||
{%- block button_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: row_attr.class|default('mb-3')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
</div>
|
||||
{%- endblock button_row %}
|
||||
|
||||
{# Errors #}
|
||||
|
||||
{%- block form_errors -%}
|
||||
{%- if errors|length > 0 -%}
|
||||
{%- for error in errors -%}
|
||||
<div class="invalid-feedback d-block">{{ error.message }}</div>
|
||||
{%- endfor -%}
|
||||
{%- endif %}
|
||||
{%- endblock form_errors %}
|
||||
|
||||
{# Help #}
|
||||
|
||||
{%- block form_help -%}
|
||||
{% set row_class = row_attr.class|default('') %}
|
||||
{% set help_class = ' form-text' %}
|
||||
{% if 'input-group' in row_class %}
|
||||
{#- Hack to properly display help with input group -#}
|
||||
{% set help_class = ' input-group-text' %}
|
||||
{% endif %}
|
||||
{%- if help is not empty -%}
|
||||
{%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ help_class ~ ' mb-0')|trim}) -%}
|
||||
{%- endif -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_help %}
|
208
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_base_layout.html.twig
vendored
Normal file
208
vendor/symfony/twig-bridge/Resources/views/Form/bootstrap_base_layout.html.twig
vendored
Normal file
@ -0,0 +1,208 @@
|
||||
{% use "form_div_layout.html.twig" %}
|
||||
|
||||
{# Widgets #}
|
||||
|
||||
{% block textarea_widget -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-control')|trim}) %}
|
||||
{{- parent() -}}
|
||||
{%- endblock textarea_widget %}
|
||||
|
||||
{% block money_widget -%}
|
||||
{% set prepend = not (money_pattern starts with '{{') %}
|
||||
{% set append = not (money_pattern ends with '}}') %}
|
||||
{% if prepend or append %}
|
||||
<div class="input-group{{ group_class|default('') }}">
|
||||
{% if prepend %}
|
||||
<span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% if append %}
|
||||
<span class="input-group-addon">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% endif %}
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block percent_widget -%}
|
||||
{%- if symbol -%}
|
||||
<div class="input-group">
|
||||
{{- block('form_widget_simple') -}}
|
||||
<span class="input-group-addon">{{ symbol|default('%') }}</span>
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock percent_widget %}
|
||||
|
||||
{% block datetime_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- form_errors(form.date) -}}
|
||||
{{- form_errors(form.time) -}}
|
||||
|
||||
<div class="sr-only">
|
||||
{%- if form.date.year is defined %}{{ form_label(form.date.year) }}{% endif -%}
|
||||
{%- if form.date.month is defined %}{{ form_label(form.date.month) }}{% endif -%}
|
||||
{%- if form.date.day is defined %}{{ form_label(form.date.day) }}{% endif -%}
|
||||
{%- if form.time.hour is defined %}{{ form_label(form.time.hour) }}{% endif -%}
|
||||
{%- if form.time.minute is defined %}{{ form_label(form.time.minute) }}{% endif -%}
|
||||
{%- if form.time.second is defined %}{{ form_label(form.time.second) }}{% endif -%}
|
||||
</div>
|
||||
|
||||
{{- form_widget(form.date, { datetime: true } ) -}}
|
||||
{{- form_widget(form.time, { datetime: true } ) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock datetime_widget %}
|
||||
|
||||
{% block date_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
|
||||
{%- if datetime is not defined or not datetime -%}
|
||||
<div {{ block('widget_container_attributes') -}}>
|
||||
{%- endif %}
|
||||
{%- if label is not same as(false) -%}
|
||||
<div class="sr-only">
|
||||
{{ form_label(form.year) }}
|
||||
{{ form_label(form.month) }}
|
||||
{{ form_label(form.day) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
|
||||
{{- date_pattern|replace({
|
||||
'{{ year }}': form_widget(form.year),
|
||||
'{{ month }}': form_widget(form.month),
|
||||
'{{ day }}': form_widget(form.day),
|
||||
})|raw -}}
|
||||
{%- if datetime is not defined or not datetime -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock date_widget %}
|
||||
|
||||
{% block time_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
|
||||
{%- if datetime is not defined or false == datetime -%}
|
||||
<div {{ block('widget_container_attributes') -}}>
|
||||
{%- endif -%}
|
||||
{%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.hour) }}</div>{%- endif -%}
|
||||
{{- form_widget(form.hour) -}}
|
||||
{%- if with_minutes -%}:{%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.minute) }}</div>{%- endif -%}{{ form_widget(form.minute) }}{%- endif -%}
|
||||
{%- if with_seconds -%}:{%- if label is not same as(false) -%}<div class="sr-only">{{ form_label(form.second) }}</div>{%- endif -%}{{ form_widget(form.second) }}{%- endif -%}
|
||||
{%- if datetime is not defined or false == datetime -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock time_widget %}
|
||||
|
||||
{%- block dateinterval_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' form-inline')|trim}) -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- form_errors(form) -}}
|
||||
<div class="table-responsive">
|
||||
<table class="table {{ table_class|default('table-bordered table-condensed table-striped') }}" role="presentation">
|
||||
<thead>
|
||||
<tr>
|
||||
{%- if with_years %}<th>{{ form_label(form.years) }}</th>{% endif -%}
|
||||
{%- if with_months %}<th>{{ form_label(form.months) }}</th>{% endif -%}
|
||||
{%- if with_weeks %}<th>{{ form_label(form.weeks) }}</th>{% endif -%}
|
||||
{%- if with_days %}<th>{{ form_label(form.days) }}</th>{% endif -%}
|
||||
{%- if with_hours %}<th>{{ form_label(form.hours) }}</th>{% endif -%}
|
||||
{%- if with_minutes %}<th>{{ form_label(form.minutes) }}</th>{% endif -%}
|
||||
{%- if with_seconds %}<th>{{ form_label(form.seconds) }}</th>{% endif -%}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
{%- if with_years %}<td>{{ form_widget(form.years) }}</td>{% endif -%}
|
||||
{%- if with_months %}<td>{{ form_widget(form.months) }}</td>{% endif -%}
|
||||
{%- if with_weeks %}<td>{{ form_widget(form.weeks) }}</td>{% endif -%}
|
||||
{%- if with_days %}<td>{{ form_widget(form.days) }}</td>{% endif -%}
|
||||
{%- if with_hours %}<td>{{ form_widget(form.hours) }}</td>{% endif -%}
|
||||
{%- if with_minutes %}<td>{{ form_widget(form.minutes) }}</td>{% endif -%}
|
||||
{%- if with_seconds %}<td>{{ form_widget(form.seconds) }}</td>{% endif -%}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{%- if with_invert %}{{ form_widget(form.invert) }}{% endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock dateinterval_widget -%}
|
||||
|
||||
{% block choice_widget_expanded -%}
|
||||
{%- if '-inline' in label_attr.class|default('') -%}
|
||||
{%- for child in form %}
|
||||
{{- form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
translation_domain: choice_translation_domain,
|
||||
}) -}}
|
||||
{% endfor -%}
|
||||
{%- else -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- for child in form %}
|
||||
{{- form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
translation_domain: choice_translation_domain,
|
||||
}) -}}
|
||||
{%- endfor -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock choice_widget_expanded %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block choice_label -%}
|
||||
{# remove the checkbox-inline and radio-inline class, it's only useful for embed labels #}
|
||||
{%- set label_attr = label_attr|merge({class: label_attr.class|default('')|replace({'checkbox-inline': '', 'radio-inline': '', 'checkbox-custom': '', 'radio-custom': '', 'switch-custom': ''})|trim}) -%}
|
||||
{{- block('form_label') -}}
|
||||
{% endblock choice_label %}
|
||||
|
||||
{% block checkbox_label -%}
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock checkbox_label %}
|
||||
|
||||
{% block radio_label -%}
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock radio_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block button_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' form-group')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
</div>
|
||||
{%- endblock button_row %}
|
||||
|
||||
{% block choice_row -%}
|
||||
{%- set force_error = true -%}
|
||||
{{- block('form_row') -}}
|
||||
{%- endblock choice_row %}
|
||||
|
||||
{% block date_row -%}
|
||||
{%- set force_error = true -%}
|
||||
{{- block('form_row') -}}
|
||||
{%- endblock date_row %}
|
||||
|
||||
{% block time_row -%}
|
||||
{%- set force_error = true -%}
|
||||
{{- block('form_row') -}}
|
||||
{%- endblock time_row %}
|
||||
|
||||
{% block datetime_row -%}
|
||||
{%- set force_error = true -%}
|
||||
{{- block('form_row') -}}
|
||||
{%- endblock datetime_row %}
|
476
vendor/symfony/twig-bridge/Resources/views/Form/form_div_layout.html.twig
vendored
Normal file
476
vendor/symfony/twig-bridge/Resources/views/Form/form_div_layout.html.twig
vendored
Normal file
@ -0,0 +1,476 @@
|
||||
{# Widgets #}
|
||||
|
||||
{%- block form_widget -%}
|
||||
{% if compound %}
|
||||
{{- block('form_widget_compound') -}}
|
||||
{% else %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% endif %}
|
||||
{%- endblock form_widget -%}
|
||||
|
||||
{%- block form_widget_simple -%}
|
||||
{%- set type = type|default('text') -%}
|
||||
{%- if type == 'range' or type == 'color' -%}
|
||||
{# Attribute "required" is not supported #}
|
||||
{%- set required = false -%}
|
||||
{%- endif -%}
|
||||
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
|
||||
{%- endblock form_widget_simple -%}
|
||||
|
||||
{%- block form_widget_compound -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- if form is rootform -%}
|
||||
{{ form_errors(form) }}
|
||||
{%- endif -%}
|
||||
{{- block('form_rows') -}}
|
||||
{{- form_rest(form) -}}
|
||||
</div>
|
||||
{%- endblock form_widget_compound -%}
|
||||
|
||||
{%- block collection_widget -%}
|
||||
{% if prototype is defined and not prototype.rendered %}
|
||||
{%- set attr = attr|merge({'data-prototype': form_row(prototype) }) -%}
|
||||
{% endif %}
|
||||
{{- block('form_widget') -}}
|
||||
{%- endblock collection_widget -%}
|
||||
|
||||
{%- block textarea_widget -%}
|
||||
<textarea {{ block('widget_attributes') }}>{{ value }}</textarea>
|
||||
{%- endblock textarea_widget -%}
|
||||
|
||||
{%- block choice_widget -%}
|
||||
{% if expanded %}
|
||||
{{- block('choice_widget_expanded') -}}
|
||||
{% else %}
|
||||
{{- block('choice_widget_collapsed') -}}
|
||||
{% endif %}
|
||||
{%- endblock choice_widget -%}
|
||||
|
||||
{%- block choice_widget_expanded -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- for child in form %}
|
||||
{{- form_widget(child) -}}
|
||||
{{- form_label(child, null, {translation_domain: choice_translation_domain}) -}}
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{%- endblock choice_widget_expanded -%}
|
||||
|
||||
{%- block choice_widget_collapsed -%}
|
||||
{%- if required and placeholder is none and not placeholder_in_choices and not multiple and (attr.size is not defined or attr.size <= 1) -%}
|
||||
{% set required = false %}
|
||||
{%- endif -%}
|
||||
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
|
||||
{%- if placeholder is not none -%}
|
||||
<option value=""{% if required and value is empty %} selected="selected"{% endif %}>{{ placeholder != '' ? (translation_domain is same as(false) ? placeholder : placeholder|trans({}, translation_domain)) }}</option>
|
||||
{%- endif -%}
|
||||
{%- if preferred_choices|length > 0 -%}
|
||||
{% set options = preferred_choices %}
|
||||
{% set render_preferred_choices = true %}
|
||||
{{- block('choice_widget_options') -}}
|
||||
{%- if choices|length > 0 and separator is not none -%}
|
||||
<option disabled="disabled">{{ separator }}</option>
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- set options = choices -%}
|
||||
{%- set render_preferred_choices = false -%}
|
||||
{{- block('choice_widget_options') -}}
|
||||
</select>
|
||||
{%- endblock choice_widget_collapsed -%}
|
||||
|
||||
{%- block choice_widget_options -%}
|
||||
{% for group_label, choice in options %}
|
||||
{%- if choice is iterable -%}
|
||||
<optgroup label="{{ choice_translation_domain is same as(false) ? group_label : group_label|trans({}, choice_translation_domain) }}">
|
||||
{% set options = choice %}
|
||||
{{- block('choice_widget_options') -}}
|
||||
</optgroup>
|
||||
{%- else -%}
|
||||
<option value="{{ choice.value }}"{% if choice.attr %}{% with { attr: choice.attr } %}{{ block('attributes') }}{% endwith %}{% endif %}{% if not render_preferred_choices|default(false) and choice is selectedchoice(value) %} selected="selected"{% endif %}>{{ choice_translation_domain is same as(false) ? choice.label : choice.label|trans(choice.labelTranslationParameters, choice_translation_domain) }}</option>
|
||||
{%- endif -%}
|
||||
{% endfor %}
|
||||
{%- endblock choice_widget_options -%}
|
||||
|
||||
{%- block checkbox_widget -%}
|
||||
<input type="checkbox" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
|
||||
{%- endblock checkbox_widget -%}
|
||||
|
||||
{%- block radio_widget -%}
|
||||
<input type="radio" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
|
||||
{%- endblock radio_widget -%}
|
||||
|
||||
{%- block datetime_widget -%}
|
||||
{% if widget == 'single_text' %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- form_errors(form.date) -}}
|
||||
{{- form_errors(form.time) -}}
|
||||
{{- form_widget(form.date) -}}
|
||||
{{- form_widget(form.time) -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock datetime_widget -%}
|
||||
|
||||
{%- block date_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- else -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- date_pattern|replace({
|
||||
'{{ year }}': form_widget(form.year),
|
||||
'{{ month }}': form_widget(form.month),
|
||||
'{{ day }}': form_widget(form.day),
|
||||
})|raw -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock date_widget -%}
|
||||
|
||||
{%- block time_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- else -%}
|
||||
{%- set vars = widget == 'text' ? { 'attr': { 'size': 1 }} : {} -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{ form_widget(form.hour, vars) }}{% if with_minutes %}:{{ form_widget(form.minute, vars) }}{% endif %}{% if with_seconds %}:{{ form_widget(form.second, vars) }}{% endif %}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock time_widget -%}
|
||||
|
||||
{%- block dateinterval_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- else -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{- form_errors(form) -}}
|
||||
<table class="{{ table_class|default('') }}" role="presentation">
|
||||
<thead>
|
||||
<tr>
|
||||
{%- if with_years %}<th>{{ form_label(form.years) }}</th>{% endif -%}
|
||||
{%- if with_months %}<th>{{ form_label(form.months) }}</th>{% endif -%}
|
||||
{%- if with_weeks %}<th>{{ form_label(form.weeks) }}</th>{% endif -%}
|
||||
{%- if with_days %}<th>{{ form_label(form.days) }}</th>{% endif -%}
|
||||
{%- if with_hours %}<th>{{ form_label(form.hours) }}</th>{% endif -%}
|
||||
{%- if with_minutes %}<th>{{ form_label(form.minutes) }}</th>{% endif -%}
|
||||
{%- if with_seconds %}<th>{{ form_label(form.seconds) }}</th>{% endif -%}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
{%- if with_years %}<td>{{ form_widget(form.years) }}</td>{% endif -%}
|
||||
{%- if with_months %}<td>{{ form_widget(form.months) }}</td>{% endif -%}
|
||||
{%- if with_weeks %}<td>{{ form_widget(form.weeks) }}</td>{% endif -%}
|
||||
{%- if with_days %}<td>{{ form_widget(form.days) }}</td>{% endif -%}
|
||||
{%- if with_hours %}<td>{{ form_widget(form.hours) }}</td>{% endif -%}
|
||||
{%- if with_minutes %}<td>{{ form_widget(form.minutes) }}</td>{% endif -%}
|
||||
{%- if with_seconds %}<td>{{ form_widget(form.seconds) }}</td>{% endif -%}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{%- if with_invert %}{{ form_widget(form.invert) }}{% endif -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock dateinterval_widget -%}
|
||||
|
||||
{%- block number_widget -%}
|
||||
{# type="number" doesn't work with floats in localized formats #}
|
||||
{%- set type = type|default('text') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock number_widget -%}
|
||||
|
||||
{%- block integer_widget -%}
|
||||
{%- set type = type|default('number') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock integer_widget -%}
|
||||
|
||||
{%- block money_widget -%}
|
||||
{{ money_pattern|form_encode_currency(block('form_widget_simple')) }}
|
||||
{%- endblock money_widget -%}
|
||||
|
||||
{%- block url_widget -%}
|
||||
{%- set type = type|default('url') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock url_widget -%}
|
||||
|
||||
{%- block search_widget -%}
|
||||
{%- set type = type|default('search') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock search_widget -%}
|
||||
|
||||
{%- block percent_widget -%}
|
||||
{%- set type = type|default('text') -%}
|
||||
{{ block('form_widget_simple') }}{% if symbol %} {{ symbol|default('%') }}{% endif %}
|
||||
{%- endblock percent_widget -%}
|
||||
|
||||
{%- block password_widget -%}
|
||||
{%- set type = type|default('password') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock password_widget -%}
|
||||
|
||||
{%- block hidden_widget -%}
|
||||
{%- set type = type|default('hidden') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock hidden_widget -%}
|
||||
|
||||
{%- block email_widget -%}
|
||||
{%- set type = type|default('email') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock email_widget -%}
|
||||
|
||||
{%- block range_widget -%}
|
||||
{% set type = type|default('range') %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endblock range_widget %}
|
||||
|
||||
{%- block button_widget -%}
|
||||
{%- if label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{% set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) %}
|
||||
{%- elseif label is not same as(false) -%}
|
||||
{% set label = name|humanize %}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
<button type="{{ type|default('button') }}" {{ block('button_attributes') }}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label -}}
|
||||
{%- else -%}
|
||||
{{- label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</button>
|
||||
{%- endblock button_widget -%}
|
||||
|
||||
{%- block submit_widget -%}
|
||||
{%- set type = type|default('submit') -%}
|
||||
{{ block('button_widget') }}
|
||||
{%- endblock submit_widget -%}
|
||||
|
||||
{%- block reset_widget -%}
|
||||
{%- set type = type|default('reset') -%}
|
||||
{{ block('button_widget') }}
|
||||
{%- endblock reset_widget -%}
|
||||
|
||||
{%- block tel_widget -%}
|
||||
{%- set type = type|default('tel') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock tel_widget -%}
|
||||
|
||||
{%- block color_widget -%}
|
||||
{%- set type = type|default('color') -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- endblock color_widget -%}
|
||||
|
||||
{%- block week_widget -%}
|
||||
{%- if widget == 'single_text' -%}
|
||||
{{ block('form_widget_simple') }}
|
||||
{%- else -%}
|
||||
{%- set vars = widget == 'text' ? { 'attr': { 'size': 1 }} : {} -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{ form_widget(form.year, vars) }}-{{ form_widget(form.week, vars) }}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- endblock week_widget -%}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{%- block form_label -%}
|
||||
{% if label is not same as(false) -%}
|
||||
{% if not compound -%}
|
||||
{% set label_attr = label_attr|merge({'for': id}) %}
|
||||
{%- endif -%}
|
||||
{% if required -%}
|
||||
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
|
||||
{%- endif -%}
|
||||
{% if label is empty -%}
|
||||
{%- if label_format is not empty -%}
|
||||
{% set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) %}
|
||||
{%- else -%}
|
||||
{% set label = name|humanize %}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
<{{ element|default('label') }}{% if label_attr %}{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}{% endif %}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label -}}
|
||||
{%- else -%}
|
||||
{{- label|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if label_html is same as(false) -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- label|trans(label_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</{{ element|default('label') }}>
|
||||
{%- endif -%}
|
||||
{%- endblock form_label -%}
|
||||
|
||||
{%- block button_label -%}{%- endblock -%}
|
||||
|
||||
{# Help #}
|
||||
|
||||
{% block form_help -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set help_attr = help_attr|merge({class: (help_attr.class|default('') ~ ' help-text')|trim}) -%}
|
||||
<p id="{{ id }}_help"{% with { attr: help_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{%- if translation_domain is same as(false) -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help -}}
|
||||
{%- else -%}
|
||||
{{- help|raw -}}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if help_html is same as(false) -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain) -}}
|
||||
{%- else -%}
|
||||
{{- help|trans(help_translation_parameters, translation_domain)|raw -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</p>
|
||||
{%- endif -%}
|
||||
{%- endblock form_help %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{%- block repeated_row -%}
|
||||
{#
|
||||
No need to render the errors here, as all errors are mapped
|
||||
to the first child (see RepeatedTypeValidatorExtension).
|
||||
#}
|
||||
{{- block('form_rows') -}}
|
||||
{%- endblock repeated_row -%}
|
||||
|
||||
{%- block form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_label(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
</div>
|
||||
{%- endblock form_row -%}
|
||||
|
||||
{%- block button_row -%}
|
||||
<div{% with {attr: row_attr} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_widget(form) -}}
|
||||
</div>
|
||||
{%- endblock button_row -%}
|
||||
|
||||
{%- block hidden_row -%}
|
||||
{{ form_widget(form) }}
|
||||
{%- endblock hidden_row -%}
|
||||
|
||||
{# Misc #}
|
||||
|
||||
{%- block form -%}
|
||||
{{ form_start(form) }}
|
||||
{{- form_widget(form) -}}
|
||||
{{ form_end(form) }}
|
||||
{%- endblock form -%}
|
||||
|
||||
{%- block form_start -%}
|
||||
{%- do form.setMethodRendered() -%}
|
||||
{% set method = method|upper %}
|
||||
{%- if method in ["GET", "POST"] -%}
|
||||
{% set form_method = method %}
|
||||
{%- else -%}
|
||||
{% set form_method = "POST" %}
|
||||
{%- endif -%}
|
||||
<form{% if name != '' %} name="{{ name }}"{% endif %} method="{{ form_method|lower }}"{% if action != '' %} action="{{ action }}"{% endif %}{{ block('attributes') }}{% if multipart %} enctype="multipart/form-data"{% endif %}>
|
||||
{%- if form_method != method -%}
|
||||
<input type="hidden" name="_method" value="{{ method }}" />
|
||||
{%- endif -%}
|
||||
{%- endblock form_start -%}
|
||||
|
||||
{%- block form_end -%}
|
||||
{%- if not render_rest is defined or render_rest -%}
|
||||
{{ form_rest(form) }}
|
||||
{%- endif -%}
|
||||
</form>
|
||||
{%- endblock form_end -%}
|
||||
|
||||
{%- block form_errors -%}
|
||||
{%- if errors|length > 0 -%}
|
||||
<ul>
|
||||
{%- for error in errors -%}
|
||||
<li>{{ error.message }}</li>
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
{%- endif -%}
|
||||
{%- endblock form_errors -%}
|
||||
|
||||
{%- block form_rest -%}
|
||||
{% for child in form -%}
|
||||
{% if not child.rendered %}
|
||||
{{- form_row(child) -}}
|
||||
{% endif %}
|
||||
{%- endfor -%}
|
||||
|
||||
{% if not form.methodRendered and form is rootform %}
|
||||
{%- do form.setMethodRendered() -%}
|
||||
{% set method = method|upper %}
|
||||
{%- if method in ["GET", "POST"] -%}
|
||||
{% set form_method = method %}
|
||||
{%- else -%}
|
||||
{% set form_method = "POST" %}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if form_method != method -%}
|
||||
<input type="hidden" name="_method" value="{{ method }}" />
|
||||
{%- endif -%}
|
||||
{% endif -%}
|
||||
{% endblock form_rest %}
|
||||
|
||||
{# Support #}
|
||||
|
||||
{%- block form_rows -%}
|
||||
{% for child in form|filter(child => not child.rendered) %}
|
||||
{{- form_row(child) -}}
|
||||
{% endfor %}
|
||||
{%- endblock form_rows -%}
|
||||
|
||||
{%- block widget_attributes -%}
|
||||
id="{{ id }}" name="{{ full_name }}"
|
||||
{%- if disabled %} disabled="disabled"{% endif -%}
|
||||
{%- if required %} required="required"{% endif -%}
|
||||
{{ block('attributes') }}
|
||||
{%- endblock widget_attributes -%}
|
||||
|
||||
{%- block widget_container_attributes -%}
|
||||
{%- if id is not empty %}id="{{ id }}"{% endif -%}
|
||||
{{ block('attributes') }}
|
||||
{%- endblock widget_container_attributes -%}
|
||||
|
||||
{%- block button_attributes -%}
|
||||
id="{{ id }}" name="{{ full_name }}"{% if disabled %} disabled="disabled"{% endif -%}
|
||||
{{ block('attributes') }}
|
||||
{%- endblock button_attributes -%}
|
||||
|
||||
{% block attributes -%}
|
||||
{%- for attrname, attrvalue in attr -%}
|
||||
{{- " " -}}
|
||||
{%- if attrname in ['placeholder', 'title'] -%}
|
||||
{{- attrname }}="{{ translation_domain is same as(false) or attrvalue is null ? attrvalue : attrvalue|trans(attr_translation_parameters, translation_domain) }}"
|
||||
{%- elseif attrvalue is same as(true) -%}
|
||||
{{- attrname }}="{{ attrname }}"
|
||||
{%- elseif attrvalue is not same as(false) -%}
|
||||
{{- attrname }}="{{ attrvalue }}"
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endblock attributes -%}
|
50
vendor/symfony/twig-bridge/Resources/views/Form/form_table_layout.html.twig
vendored
Normal file
50
vendor/symfony/twig-bridge/Resources/views/Form/form_table_layout.html.twig
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
{% use "form_div_layout.html.twig" %}
|
||||
|
||||
{%- block form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<tr{% with {attr: row_attr} %}{{ block('attributes') }}{% endwith %}>
|
||||
<td>
|
||||
{{- form_label(form) -}}
|
||||
</td>
|
||||
<td>
|
||||
{{- form_errors(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
</td>
|
||||
</tr>
|
||||
{%- endblock form_row -%}
|
||||
|
||||
{%- block button_row -%}
|
||||
<tr{% with {attr: row_attr} %}{{ block('attributes') }}{% endwith %}>
|
||||
<td></td>
|
||||
<td>
|
||||
{{- form_widget(form) -}}
|
||||
</td>
|
||||
</tr>
|
||||
{%- endblock button_row -%}
|
||||
|
||||
{%- block hidden_row -%}
|
||||
{%- set style = row_attr.style is defined ? (row_attr.style ~ (row_attr.style|trim|last != ';' ? '; ')) -%}
|
||||
<tr{% with {attr: row_attr|merge({style: (style ~ ' display: none')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<td colspan="2">
|
||||
{{- form_widget(form) -}}
|
||||
</td>
|
||||
</tr>
|
||||
{%- endblock hidden_row -%}
|
||||
|
||||
{%- block form_widget_compound -%}
|
||||
<table {{ block('widget_container_attributes') }}>
|
||||
{%- if form is rootform and errors|length > 0 -%}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{{- form_errors(form) -}}
|
||||
</td>
|
||||
</tr>
|
||||
{%- endif -%}
|
||||
{{- block('form_rows') -}}
|
||||
{{- form_rest(form) -}}
|
||||
</table>
|
||||
{%- endblock form_widget_compound -%}
|
340
vendor/symfony/twig-bridge/Resources/views/Form/foundation_5_layout.html.twig
vendored
Normal file
340
vendor/symfony/twig-bridge/Resources/views/Form/foundation_5_layout.html.twig
vendored
Normal file
@ -0,0 +1,340 @@
|
||||
{% extends "form_div_layout.html.twig" %}
|
||||
|
||||
{# Based on Foundation 5 Doc #}
|
||||
{# Widgets #}
|
||||
|
||||
{% block form_widget_simple -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_widget_simple %}
|
||||
|
||||
{% block textarea_widget -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{{- parent() -}}
|
||||
{%- endblock textarea_widget %}
|
||||
|
||||
{% block button_widget -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' button')|trim}) %}
|
||||
{{- parent() -}}
|
||||
{%- endblock button_widget %}
|
||||
|
||||
{% block money_widget -%}
|
||||
<div class="row collapse">
|
||||
{% set prepend = '{{' == money_pattern[0:2] %}
|
||||
{% if not prepend %}
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="prefix">{{ money_pattern|form_encode_currency }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="small-9 large-10 columns">
|
||||
{{- block('form_widget_simple') -}}
|
||||
</div>
|
||||
{% if prepend %}
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="postfix">{{ money_pattern|form_encode_currency }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block percent_widget -%}
|
||||
<div class="row collapse">
|
||||
{%- if symbol -%}
|
||||
<div class="small-9 large-10 columns">
|
||||
{{- block('form_widget_simple') -}}
|
||||
</div>
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="postfix">{{ symbol|default('%') }}</span>
|
||||
</div>
|
||||
{%- else -%}
|
||||
<div class="small-12 large-12 columns">
|
||||
{{- block('form_widget_simple') -}}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{%- endblock percent_widget %}
|
||||
|
||||
{% block datetime_widget -%}
|
||||
{% if widget == 'single_text' %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% else %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' row')|trim}) %}
|
||||
<div class="row">
|
||||
<div class="large-7 columns">{{ form_errors(form.date) }}</div>
|
||||
<div class="large-5 columns">{{ form_errors(form.time) }}</div>
|
||||
</div>
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
<div class="large-7 columns">{{ form_widget(form.date, { datetime: true } ) }}</div>
|
||||
<div class="large-5 columns">{{ form_widget(form.time, { datetime: true } ) }}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- endblock datetime_widget %}
|
||||
|
||||
{% block date_widget -%}
|
||||
{% if widget == 'single_text' %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% else %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' row')|trim}) %}
|
||||
{% if datetime is not defined or not datetime %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{% endif %}
|
||||
{{- date_pattern|replace({
|
||||
'{{ year }}': '<div class="large-4 columns">' ~ form_widget(form.year) ~ '</div>',
|
||||
'{{ month }}': '<div class="large-4 columns">' ~ form_widget(form.month) ~ '</div>',
|
||||
'{{ day }}': '<div class="large-4 columns">' ~ form_widget(form.day) ~ '</div>',
|
||||
})|raw -}}
|
||||
{% if datetime is not defined or not datetime %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endblock date_widget %}
|
||||
|
||||
{% block time_widget -%}
|
||||
{% if widget == 'single_text' %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% else %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' row')|trim}) %}
|
||||
{% if datetime is not defined or false == datetime %}
|
||||
<div {{ block('widget_container_attributes') -}}>
|
||||
{% endif %}
|
||||
{% if with_seconds %}
|
||||
<div class="large-4 columns">{{ form_widget(form.hour) }}</div>
|
||||
<div class="large-4 columns">
|
||||
<div class="row collapse">
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="prefix">:</span>
|
||||
</div>
|
||||
<div class="small-9 large-10 columns">
|
||||
{{ form_widget(form.minute) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="large-4 columns">
|
||||
<div class="row collapse">
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="prefix">:</span>
|
||||
</div>
|
||||
<div class="small-9 large-10 columns">
|
||||
{{ form_widget(form.second) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="large-6 columns">{{ form_widget(form.hour) }}</div>
|
||||
<div class="large-6 columns">
|
||||
<div class="row collapse">
|
||||
<div class="small-3 large-2 columns">
|
||||
<span class="prefix">:</span>
|
||||
</div>
|
||||
<div class="small-9 large-10 columns">
|
||||
{{ form_widget(form.minute) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if datetime is not defined or false == datetime %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{%- endblock time_widget %}
|
||||
|
||||
{% block choice_widget_collapsed -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
|
||||
{% if multiple -%}
|
||||
{% set attr = attr|merge({style: (attr.style|default('') ~ ' height: auto; background-image: none;')|trim}) %}
|
||||
{% endif %}
|
||||
|
||||
{% if required and placeholder is none and not placeholder_in_choices and not multiple -%}
|
||||
{% set required = false %}
|
||||
{%- endif -%}
|
||||
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple" data-customforms="disabled"{% endif %}>
|
||||
{% if placeholder is not none -%}
|
||||
<option value=""{% if required and value is empty %} selected="selected"{% endif %}>{{ translation_domain is same as(false) ? placeholder : placeholder|trans({}, translation_domain) }}</option>
|
||||
{%- endif %}
|
||||
{%- if preferred_choices|length > 0 -%}
|
||||
{% set options = preferred_choices %}
|
||||
{% set render_preferred_choices = true %}
|
||||
{{- block('choice_widget_options') -}}
|
||||
{% if choices|length > 0 and separator is not none -%}
|
||||
<option disabled="disabled">{{ separator }}</option>
|
||||
{%- endif %}
|
||||
{%- endif -%}
|
||||
{% set options = choices -%}
|
||||
{%- set render_preferred_choices = false -%}
|
||||
{{- block('choice_widget_options') -}}
|
||||
</select>
|
||||
{%- endblock choice_widget_collapsed %}
|
||||
|
||||
{% block choice_widget_expanded -%}
|
||||
{% if '-inline' in label_attr.class|default('') %}
|
||||
<ul class="inline-list">
|
||||
{% for child in form %}
|
||||
<li>{{ form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
}) }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{% for child in form %}
|
||||
{{ form_widget(child, {
|
||||
parent_label_class: label_attr.class|default(''),
|
||||
}) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- endblock choice_widget_expanded %}
|
||||
|
||||
{% block checkbox_widget -%}
|
||||
{% set parent_label_class = parent_label_class|default('') %}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{% if 'checkbox-inline' in parent_label_class %}
|
||||
{{ form_label(form, null, { widget: parent() }) }}
|
||||
{% else %}
|
||||
<div class="checkbox">
|
||||
{{ form_label(form, null, { widget: parent() }) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- endblock checkbox_widget %}
|
||||
|
||||
{% block radio_widget -%}
|
||||
{% set parent_label_class = parent_label_class|default('') %}
|
||||
{% if 'radio-inline' in parent_label_class %}
|
||||
{{ form_label(form, null, { widget: parent() }) }}
|
||||
{% else %}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
<div class="radio">
|
||||
{{ form_label(form, null, { widget: parent() }) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{%- endblock radio_widget %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_label %}
|
||||
|
||||
{% block choice_label -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{# remove the checkbox-inline and radio-inline class, it's only useful for embed labels #}
|
||||
{% set label_attr = label_attr|merge({class: label_attr.class|default('')|replace({'checkbox-inline': '', 'radio-inline': ''})|trim}) %}
|
||||
{{- block('form_label') -}}
|
||||
{%- endblock choice_label %}
|
||||
|
||||
{% block checkbox_label -%}
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock checkbox_label %}
|
||||
|
||||
{% block radio_label -%}
|
||||
{{- block('checkbox_radio_label') -}}
|
||||
{%- endblock radio_label %}
|
||||
|
||||
{% block checkbox_radio_label -%}
|
||||
{% if required %}
|
||||
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' required')|trim}) %}
|
||||
{% endif %}
|
||||
{% if errors|length > 0 -%}
|
||||
{% set label_attr = label_attr|merge({class: (label_attr.class|default('') ~ ' error')|trim}) %}
|
||||
{% endif %}
|
||||
{% if label is empty %}
|
||||
{%- if label_format is not empty -%}
|
||||
{% set label = label_format|replace({
|
||||
'%name%': name,
|
||||
'%id%': id,
|
||||
}) %}
|
||||
{%- else -%}
|
||||
{% set label = name|humanize %}
|
||||
{%- endif -%}
|
||||
{% endif %}
|
||||
<label{% with { attr: label_attr } %}{{ block('attributes') }}{% endwith %}>
|
||||
{{ widget|raw }}
|
||||
{{ translation_domain is same as(false) ? label : label|trans(label_translation_parameters, translation_domain) }}
|
||||
</label>
|
||||
{%- endblock checkbox_radio_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block form_row -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<div class="large-12 columns{% if (not compound or force_error|default(false)) and not valid %} error{% endif %}">
|
||||
{{- form_label(form) -}}
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_help(form) -}}
|
||||
{{- form_errors(form) -}}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock form_row %}
|
||||
|
||||
{% block choice_row -%}
|
||||
{% set force_error = true %}
|
||||
{{ block('form_row') }}
|
||||
{%- endblock choice_row %}
|
||||
|
||||
{% block date_row -%}
|
||||
{% set force_error = true %}
|
||||
{{ block('form_row') }}
|
||||
{%- endblock date_row %}
|
||||
|
||||
{% block time_row -%}
|
||||
{% set force_error = true %}
|
||||
{{ block('form_row') }}
|
||||
{%- endblock time_row %}
|
||||
|
||||
{% block datetime_row -%}
|
||||
{% set force_error = true %}
|
||||
{{ block('form_row') }}
|
||||
{%- endblock datetime_row %}
|
||||
|
||||
{% block checkbox_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<div class="large-12 columns{% if not valid %} error{% endif %}">
|
||||
{{ form_widget(form) }}
|
||||
{{- form_help(form) -}}
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock checkbox_row %}
|
||||
|
||||
{% block radio_row -%}
|
||||
<div{% with {attr: row_attr|merge({class: (row_attr.class|default('') ~ ' row')|trim})} %}{{ block('attributes') }}{% endwith %}>
|
||||
<div class="large-12 columns{% if not valid %} error{% endif %}">
|
||||
{{ form_widget(form) }}
|
||||
{{- form_help(form) -}}
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock radio_row %}
|
||||
|
||||
{# Errors #}
|
||||
|
||||
{% block form_errors -%}
|
||||
{% if errors|length > 0 -%}
|
||||
{% if form is not rootform %}<small class="error">{% else %}<div data-alert class="alert-box alert">{% endif %}
|
||||
{%- for error in errors -%}
|
||||
{{ error.message }}
|
||||
{% if not loop.last %}, {% endif %}
|
||||
{%- endfor -%}
|
||||
{% if form is not rootform %}</small>{% else %}</div>{% endif %}
|
||||
{%- endif %}
|
||||
{%- endblock form_errors %}
|
50
vendor/symfony/twig-bridge/Resources/views/Form/foundation_6_layout.html.twig
vendored
Normal file
50
vendor/symfony/twig-bridge/Resources/views/Form/foundation_6_layout.html.twig
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
{% extends "form_div_layout.html.twig" %}
|
||||
|
||||
{%- block checkbox_row -%}
|
||||
{%- set parent_class = parent_class|default(attr.class|default('')) -%}
|
||||
{%- if 'switch-input' in parent_class -%}
|
||||
{{- form_label(form) -}}
|
||||
{%- set attr = attr|merge({class: (attr.class|default('') ~ ' switch-input')|trim}) -%}
|
||||
{{- form_widget(form) -}}
|
||||
<label class="switch-paddle" for="{{ form.vars.id }}"></label>
|
||||
{{- form_errors(form) -}}
|
||||
{%- else -%}
|
||||
{{- block('form_row') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock checkbox_row -%}
|
||||
|
||||
{% block money_widget -%}
|
||||
{% set prepend = not (money_pattern starts with '{{') %}
|
||||
{% set append = not (money_pattern ends with '}}') %}
|
||||
{% if prepend or append %}
|
||||
<div class="input-group">
|
||||
{% if prepend %}
|
||||
<span class="input-group-label">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' input-group-field')|trim}) %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% if append %}
|
||||
<span class="input-group-label">{{ money_pattern|form_encode_currency }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{% endif %}
|
||||
{%- endblock money_widget %}
|
||||
|
||||
{% block percent_widget -%}
|
||||
{%- if symbol -%}
|
||||
<div class="input-group">
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' input-group-field')|trim}) %}
|
||||
{{- block('form_widget_simple') -}}
|
||||
<span class="input-group-label">{{ symbol|default('%') }}</span>
|
||||
</div>
|
||||
{%- else -%}
|
||||
{{- block('form_widget_simple') -}}
|
||||
{%- endif -%}
|
||||
{%- endblock percent_widget %}
|
||||
|
||||
{% block button_widget -%}
|
||||
{% set attr = attr|merge({class: (attr.class|default('') ~ ' button')|trim}) %}
|
||||
{{- parent() -}}
|
||||
{%- endblock button_widget %}
|
69
vendor/symfony/twig-bridge/Resources/views/Form/tailwind_2_layout.html.twig
vendored
Normal file
69
vendor/symfony/twig-bridge/Resources/views/Form/tailwind_2_layout.html.twig
vendored
Normal file
@ -0,0 +1,69 @@
|
||||
{% use 'form_div_layout.html.twig' %}
|
||||
|
||||
{%- block form_row -%}
|
||||
{%- set row_attr = row_attr|merge({ class: row_attr.class|default(row_class|default('mb-6')) }) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_row -%}
|
||||
|
||||
{%- block widget_attributes -%}
|
||||
{%- set attr = attr|merge({ class: attr.class|default(widget_class|default('mt-1 w-full')) ~ (disabled ? ' ' ~ widget_disabled_class|default('border-gray-300 text-gray-500')) ~ (errors|length ? ' ' ~ widget_errors_class|default('border-red-700')) }) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock widget_attributes -%}
|
||||
|
||||
{%- block form_label -%}
|
||||
{%- set label_attr = label_attr|merge({ class: label_attr.class|default(label_class|default('block text-gray-800')) }) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_label -%}
|
||||
|
||||
{%- block form_help -%}
|
||||
{%- set help_attr = help_attr|merge({ class: help_attr.class|default(help_class|default('mt-1 text-gray-600')) }) -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock form_help -%}
|
||||
|
||||
{%- block form_errors -%}
|
||||
{%- if errors|length > 0 -%}
|
||||
<ul>
|
||||
{%- for error in errors -%}
|
||||
<li class="{{ error_item_class|default('text-red-700') }}">{{ error.message }}</li>
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
{%- endif -%}
|
||||
{%- endblock form_errors -%}
|
||||
|
||||
{%- block choice_widget_expanded -%}
|
||||
{%- set attr = attr|merge({ class: attr.class|default('mt-2') }) -%}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{%- for child in form %}
|
||||
<div class="flex items-center">
|
||||
{{- form_widget(child) -}}
|
||||
{{- form_label(child, null, { translation_domain: choice_translation_domain }) -}}
|
||||
</div>
|
||||
{% endfor -%}
|
||||
</div>
|
||||
{%- endblock choice_widget_expanded -%}
|
||||
|
||||
{%- block checkbox_row -%}
|
||||
{%- set row_attr = row_attr|merge({ class: row_attr.class|default(row_class|default('mb-6')) }) -%}
|
||||
{%- set widget_attr = {} -%}
|
||||
{%- if help is not empty -%}
|
||||
{%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%}
|
||||
{%- endif -%}
|
||||
<div{% with {attr: row_attr} %}{{ block('attributes') }}{% endwith %}>
|
||||
{{- form_errors(form) -}}
|
||||
<div class="inline-flex items-center">
|
||||
{{- form_widget(form, widget_attr) -}}
|
||||
{{- form_label(form) -}}
|
||||
</div>
|
||||
{{- form_help(form) -}}
|
||||
</div>
|
||||
{%- endblock checkbox_row -%}
|
||||
|
||||
{%- block checkbox_widget -%}
|
||||
{%- set widget_class = widget_class|default('mr-2') -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock checkbox_widget -%}
|
||||
|
||||
{%- block radio_widget -%}
|
||||
{%- set widget_class = widget_class|default('mr-2') -%}
|
||||
{{- parent() -}}
|
||||
{%- endblock radio_widget -%}
|
Reference in New Issue
Block a user