Move all files to 2017/

This commit is contained in:
Oliver Davies 2025-09-29 22:25:17 +01:00
parent ac7370f67f
commit 2875863330
15717 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,94 @@
{
"extends": "eslint:recommended",
"root": true,
"env": {
"browser": true
},
"globals": {
"Drupal": true,
"drupalSettings": true,
"drupalTranslations": true,
"domready": true,
"jQuery": true,
"_": true,
"matchMedia": true,
"Backbone": true,
"Modernizr": true,
"CKEDITOR": true
},
"rules": {
"array-bracket-spacing": ["error", "never"],
"block-scoped-var": "error",
"brace-style": ["error", "stroustrup", {"allowSingleLine": true}],
"comma-dangle": ["error", "never"],
"comma-spacing": "error",
"comma-style": ["error", "last"],
"computed-property-spacing": ["error", "never"],
"curly": ["error", "all"],
"eol-last": "error",
"eqeqeq": ["error", "smart"],
"guard-for-in": "error",
"indent": ["error", 2, {"SwitchCase": 1}],
"key-spacing": ["error", {"beforeColon": false, "afterColon": true}],
"keyword-spacing": ["error", {"before": true, "after": true}],
"linebreak-style": ["error", "unix"],
"lines-around-comment": ["error", {"beforeBlockComment": true, "afterBlockComment": false}],
"new-parens": "error",
"no-array-constructor": "error",
"no-caller": "error",
"no-catch-shadow": "error",
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-parens": ["error", "functions"],
"no-implied-eval": "error",
"no-iterator": "error",
"no-label-var": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-loop-func": "error",
"no-multi-spaces": "error",
"no-multi-str": "error",
"no-native-reassign": "error",
"no-nested-ternary": "error",
"no-new-func": "error",
"no-new-object": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-process-exit": "error",
"no-proto": "error",
"no-return-assign": "error",
"no-script-url": "error",
"no-sequences": "error",
"no-shadow-restricted-names": "error",
"no-spaced-func": "error",
"no-trailing-spaces": "error",
"no-undef-init": "error",
"no-undefined": "error",
"no-unused-expressions": "error",
"no-unused-vars": ["error", {"vars": "all", "args": "none"}],
"no-with": "error",
"object-curly-spacing": ["error", "never"],
"one-var": ["error", "never"],
"quote-props": ["error", "consistent-as-needed"],
"quotes": ["error", "single", "avoid-escape"],
"semi": ["error", "always"],
"semi-spacing": ["error", {"before": false, "after": true}],
"space-before-blocks": ["error", "always"],
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never"}],
"space-in-parens": ["error", "never"],
"space-infix-ops": "error",
"space-unary-ops": ["error", { "words": true, "nonwords": false }],
"spaced-comment": ["error", "always"],
"strict": ["error", "function"],
"yoda": ["error", "never"],
"max-nested-callbacks": ["warn", 3],
"valid-jsdoc": ["warn", {
"prefer": {
"returns": "return",
"property": "prop"
},
"requireReturn": false
}]
}
}

View file

@ -0,0 +1,8 @@
*.patch
interdiff-*.txt
# Ignore the HTML directory used for generate Webform documentation.
html
# Ignore all *.features.yml files.
*.features.yml

View file

@ -0,0 +1,9 @@
New releases of the Webform module for Drupal 8 with bugs fixes
and new features are released every month.
* For a full list of fixes in the latest release, visit:
https://www.drupal.org/project/webform/releases?api_version%5B%5D=7234
* Read the Webform's API and feature change records which describe changes
and its impact on site users, site builders, themers, and module developers
https://www.drupal.org/list-changes/webform/published?to_branch=8.x-5.x

View file

@ -0,0 +1,27 @@
Please read: https://www.drupal.org/issue-queue/how-to
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
(Explain why this new feature or functionality is important or useful.)
SUGGESTIONS
* Search for any existing open/closed issues.
https://www.drupal.org/project/issues/webform?status=All&version=8.x
* Check the Webform Roadmap.
https://www.drupal.org/docs/8/modules/webform/webform-roadmap
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
(Description of the proposed solution, the rationale behind it, and workarounds for people who cannot use the patch.)
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
(OPTIONAL: Reviews needed, tests to be written or run, documentation to be written, etc.)
<h3 id="summary-ui-changes">User interface changes</h3>
(OPTIONAL: New or changed features/functionality in the user interface, modules added or removed, changes to URL paths, changes to user interface text.)
<h3 id="summary-api-changes">API changes</h3>
(OPTIONAL: API changes/additions that would affect module, install profile, and theme developers, including examples of before/after code if appropriate.)
<h3 id="summary-data-model-changes">Data model changes</h3>
(OPTIONAL: Database or configuration data changes that would make stored data on an existing site incompatible with the site's updated codebase, including changes to hook_schema(), configuration schema or keys, or the expected format of stored data, etc.)

View file

@ -0,0 +1,33 @@
Please read: https://www.drupal.org/issue-queue/how-to
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
(Why the issue was filed, steps to reproduce the problem, etc.)
SUGGESTIONS
* Search for any existing open/closed issues.
https://www.drupal.org/project/issues/webform?status=All&version=8.x
* Document the steps needed to reproduce the bug/issue.
* Try replicating the bug using https://simplytest.me/project/webform
* Export and attach a webform that isolates and replicates the issue.
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
(Description of the proposed solution, the rationale behind it, and workarounds for people who cannot use the patch.)
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
(OPTIONAL: Reviews needed, tests to be written or run, documentation to be written, etc.)
<h3 id="summary-ui-changes">User interface changes</h3>
(OPTIONAL: New or changed features/functionality in the user interface, modules added or removed, changes to URL paths, changes to user interface text.)
<h3 id="summary-api-changes">API changes</h3>
(OPTIONAL: API changes/additions that would affect module, install profile, and theme developers, including examples of before/after code if appropriate.)
<h3 id="summary-data-model-changes">Data model changes</h3>
(OPTIONAL: Database or configuration data changes that would make stored data on an existing site incompatible with the site's updated codebase, including changes to hook_schema(), configuration schema or keys, or the expected format of stored data, etc.)
<h3 id="summary-additional-information">Additional information</h3>
(OPTIONAL: Include any additional information about your specific environment that could be helpful, including Drupal version, Browser version, etc…)

View file

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -0,0 +1,85 @@
Webform 8.x-5.x
---------------
### About this Module
The Webform module is a form builder and submission manager for Drupal 8.
The primary use case for this module is to:
- **Build** a new webform or duplicate an existing template
- **Publish** the webform as a page, node, or block
- **Collect** submissions
- **Send** confirmations and notifications
- **Review** submissions online
- **Download** submissions as a CSV
### Goals
- A comprehensive form and survey building solution for Drupal 8.
- A stable, maintainable, and tested API for building forms and handling submission.
- A pluggable/extensible API for custom form elements and submission handling.
### Demo
> [Watch a demo](http://youtu.be/sQGsfQ_LZJ4) of the Webform module.
> Evaluate this project online using [simplytest.me](https://simplytest.me/project/webform/8.x-5.x).
### Installing the Webform Module
1. Copy/upload the webform module to the modules directory of your Drupal
installation.
2. Enable the 'Webform' module and desired sub-modules in 'Extend'.
(/admin/modules)
3. Set up user permissions. (/admin/people/permissions#module-webform)
4. Build a new webform (/admin/structure/webform)
or duplicate an existing template (/admin/structure/webform/templates).
5. Publish your webform as a:
- **Page:** By linking to the published webform.
(/webform/contact)
- **Node:** By creating a new node that references the webform.
(/node/add/webform)
- **Block:** By placing a Webform block on your site.
(/admin/structure/block)
6. (optional) Install third party libraries(/admin/help/webform).
7. (optional) Install add-on contrib modules](/admin/structure/webform/addons).
### Upgrading from pre-release versions
All existing configuration and submission data was maintained and updated
through the beta and rc release cycles.
**APIs have changed** during these release cycles.
Simply put, if you installed and used the Webform module out of the box AS-IS,
and now you want to upgrade to a full release, then
you _should_ be okay. If you extended webforms with plugins, altered
hooks, and overrode templates, you will need to read each release's
notes and assume that _things have changed_.
### Project Status
- [Webform Project Board](https://contribkanban.com/board/webform/8.x-5.x)
### Similar Modules
- **[Comparison of Webform Building Modules](https://www.drupal.org/node/2083353)**
Drupal has a lot of modules aimed at helping site builders and users add webforms
to their sites. The [Comparison of Webform Building Modules](https://www.drupal.org/node/2083353)
page includes rough comparisons of three of them for Drupal 8 and five of them
for Drupal 7.

View file

@ -0,0 +1,40 @@
{
"name": "drupal/webform",
"description": "Enables the creation of webforms and questionnaires.",
"type": "drupal-module",
"license": "GPL-2.0+",
"minimum-stability": "dev",
"homepage": "https://drupal.org/project/webform",
"authors": [
{
"name": "Jacob Rockowitz (jrockowitz)",
"homepage": "https://www.drupal.org/u/jrockowitz",
"role": "Maintainer"
},
{
"name": "Alexander Trotsenko (bucefal91)",
"homepage": "https://www.drupal.org/u/bucefal91",
"role": "Co-maintainer"
}
],
"support": {
"issues": "https://www.drupal.org/project/issues/webform?version=8.x",
"source": "http://cgit.drupalcode.org/webform",
"docs": "https://www.drupal.org/docs/8/modules/webform",
"forum": "https://drupal.stackexchange.com/questions/tagged/webform"
},
"extra": {
"drush": {
"services": {
"drush.services.yml": "^9"
}
}
},
"require-dev": {
"drupal/address": "~1.4",
"drupal/chosen": "~2.6",
"drupal/jsonapi": "~2.0",
"drupal/select2": "~1.1",
"drupal/token": "~1.3"
}
}

View file

@ -0,0 +1,429 @@
{
"name": "drupal/webform",
"description": "Enables the creation of webforms and questionnaires.",
"type": "drupal-module",
"license": "GPL-2.0+",
"minimum-stability": "dev",
"homepage": "https://drupal.org/project/webform",
"authors": [
{
"name": "Jacob Rockowitz (jrockowitz)",
"homepage": "https://www.drupal.org/u/jrockowitz",
"role": "Maintainer"
},
{
"name": "Alexander Trotsenko (bucefal91)",
"homepage": "https://www.drupal.org/u/bucefal91",
"role": "Co-maintainer"
}
],
"support": {
"issues": "https://www.drupal.org/project/issues/webform?version=8.x",
"source": "http://cgit.drupalcode.org/webform",
"docs": "https://www.drupal.org/docs/8/modules/webform",
"forum": "https://drupal.stackexchange.com/questions/tagged/webform"
},
"repositories": {
"algolia.places": {
"type": "package",
"package": {
"name": "algolia/places",
"version": "1.15.0",
"type": "drupal-library",
"extra": {
"installer-name": "algolia.places"
},
"dist": {
"url": "https://registry.npmjs.org/places.js/-/places.js-1.15.0.tgz",
"type": "tar"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.autogrow": {
"type": "package",
"package": {
"name": "ckeditor/autogrow",
"version": "4.10.1",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.autogrow"
},
"dist": {
"url": "https://download.ckeditor.com/autogrow/releases/autogrow_4.10.1.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.codemirror": {
"type": "package",
"package": {
"name": "ckeditor/codemirror",
"version": "v1.17.7",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.codemirror"
},
"dist": {
"url": "https://github.com/w8tcha/CKEditor-CodeMirror-Plugin/releases/download/v1.17.7/CKEditor-CodeMirror-Plugin.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.fakeobjects": {
"type": "package",
"package": {
"name": "ckeditor/fakeobjects",
"version": "4.10.1",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.fakeobjects"
},
"dist": {
"url": "https://download.ckeditor.com/fakeobjects/releases/fakeobjects_4.10.1.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.image": {
"type": "package",
"package": {
"name": "ckeditor/image",
"version": "4.10.1",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.image"
},
"dist": {
"url": "https://download.ckeditor.com/image/releases/image_4.10.1.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.link": {
"type": "package",
"package": {
"name": "ckeditor/link",
"version": "4.10.1",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.link"
},
"dist": {
"url": "https://download.ckeditor.com/link/releases/link_4.10.1.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"codemirror": {
"type": "package",
"package": {
"name": "codemirror/codemirror",
"version": "5.42.0",
"type": "drupal-library",
"extra": {
"installer-name": "codemirror"
},
"dist": {
"url": "https://github.com/components/codemirror/archive/5.42.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.chosen": {
"type": "package",
"package": {
"name": "jquery/chosen",
"version": "1.8.7",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.chosen"
},
"dist": {
"url": "https://github.com/harvesthq/chosen/releases/download/v1.8.7/chosen_v1.8.7.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.geocomplete": {
"type": "package",
"package": {
"name": "jquery/geocomplete",
"version": "1.7.0",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.geocomplete"
},
"dist": {
"url": "https://github.com/ubilabs/geocomplete/archive/1.7.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.hotkeys": {
"type": "package",
"package": {
"name": "jquery/hotkeys",
"version": "0.2.0",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.hotkeys"
},
"dist": {
"url": "https://github.com/jeresig/jquery.hotkeys/archive/0.2.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.icheck": {
"type": "package",
"package": {
"name": "jquery/icheck",
"version": "1.0.2 ",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.icheck"
},
"dist": {
"url": "https://github.com/fronteed/icheck/archive/1.0.2.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.image-picker": {
"type": "package",
"package": {
"name": "jquery/image-picker",
"version": "0.3.0",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.image-picker"
},
"dist": {
"url": "https://github.com/rvera/image-picker/archive/0.3.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.inputmask": {
"type": "package",
"package": {
"name": "jquery/inputmask",
"version": "4.0.4",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.inputmask"
},
"dist": {
"url": "https://github.com/RobinHerbots/jquery.inputmask/archive/4.0.4.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.intl-tel-input": {
"type": "package",
"package": {
"name": "jquery/intl-tel-input",
"version": "14.0.6",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.intl-tel-input"
},
"dist": {
"url": "https://github.com/jackocnr/intl-tel-input/archive/v14.0.6.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.rateit": {
"type": "package",
"package": {
"name": "jquery/rateit",
"version": "1.1.1",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.rateit"
},
"dist": {
"url": "https://github.com/gjunge/rateit.js/archive/1.1.1.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.select2": {
"type": "package",
"package": {
"name": "jquery/select2",
"version": "4.0.5",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.select2"
},
"dist": {
"url": "https://github.com/select2/select2/archive/4.0.5.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.textcounter": {
"type": "package",
"package": {
"name": "jquery/textcounter",
"version": "0.8.0",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.textcounter"
},
"dist": {
"url": "https://github.com/ractoon/jQuery-Text-Counter/archive/0.8.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.timepicker": {
"type": "package",
"package": {
"name": "jquery/timepicker",
"version": "1.11.14",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.timepicker"
},
"dist": {
"url": "https://github.com/jonthornton/jquery-timepicker/archive/1.11.14.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.toggles": {
"type": "package",
"package": {
"name": "jquery/toggles",
"version": "4.0.0",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.toggles"
},
"dist": {
"url": "https://github.com/simontabor/jquery-toggles/archive/v4.0.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"progress-tracker": {
"type": "package",
"package": {
"name": "progress-tracker/progress-tracker",
"version": "1.4.0",
"type": "drupal-library",
"extra": {
"installer-name": "progress-tracker"
},
"dist": {
"url": "https://github.com/NigelOToole/progress-tracker/archive/v1.4.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"signature_pad": {
"type": "package",
"package": {
"name": "signature_pad/signature_pad",
"version": "2.3.0",
"type": "drupal-library",
"extra": {
"installer-name": "signature_pad"
},
"dist": {
"url": "https://github.com/szimek/signature_pad/archive/v2.3.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
}
},
"require": {
"algolia/places": "1.15.0",
"ckeditor/autogrow": "4.10.1",
"ckeditor/codemirror": "v1.17.7",
"ckeditor/fakeobjects": "4.10.1",
"ckeditor/image": "4.10.1",
"ckeditor/link": "4.10.1",
"codemirror/codemirror": "5.42.0",
"jquery/chosen": "1.8.7",
"jquery/geocomplete": "1.7.0",
"jquery/hotkeys": "0.2.0",
"jquery/icheck": "1.0.2 ",
"jquery/image-picker": "0.3.0",
"jquery/inputmask": "4.0.4",
"jquery/intl-tel-input": "14.0.6",
"jquery/rateit": "1.1.1",
"jquery/select2": "4.0.5",
"jquery/textcounter": "0.8.0",
"jquery/timepicker": "1.11.14",
"jquery/toggles": "4.0.0",
"progress-tracker/progress-tracker": "1.4.0",
"signature_pad/signature_pad": "2.3.0"
}
}

View file

@ -0,0 +1,10 @@
langcode: en
status: true
dependencies:
module:
- webform
id: webform_submission_delete_action
label: 'Delete submission'
type: webform_submission
plugin: webform_submission_delete_action
configuration: { }

View file

@ -0,0 +1,10 @@
langcode: en
status: true
dependencies:
module:
- webform
id: webform_submission_make_lock_action
label: 'Lock submission'
type: webform_submission
plugin: webform_submission_make_lock_action
configuration: { }

View file

@ -0,0 +1,10 @@
langcode: en
status: true
dependencies:
module:
- webform
id: webform_submission_make_sticky_action
label: 'Star/Flag submission'
type: webform_submission
plugin: webform_submission_make_sticky_action
configuration: { }

View file

@ -0,0 +1,10 @@
langcode: en
status: true
dependencies:
module:
- webform
id: webform_submission_make_unlock_action
label: 'Unlock submission'
type: webform_submission
plugin: webform_submission_make_unlock_action
configuration: { }

View file

@ -0,0 +1,10 @@
langcode: en
status: true
dependencies:
module:
- webform
id: webform_submission_make_unsticky_action
label: 'Unstar/unflag submission'
type: webform_submission
plugin: webform_submission_make_unsticky_action
configuration: { }

View file

@ -0,0 +1,311 @@
settings:
default_status: open
default_page_base_path: form
default_form_open_message: 'This form has not yet been opened to submissions.'
default_form_close_message: 'Sorry…This form is closed to new submissions.'
default_form_exception_message: 'Unable to display this webform. Please contact the site administrator.'
default_submit_button_label: Submit
default_reset_button_label: Reset
default_form_submit_once: false
default_form_confidential_message: 'This form is confidential. You must <a href="[site:login-url]/logout?destination=[current-page:url:relative]">Log out</a> to submit it.'
default_form_access_denied_message: 'Please login to access this form.'
default_form_disable_back: false
default_form_submit_back: false
default_form_unsaved: false
default_form_novalidate: false
default_form_disable_inline_errors: false
default_form_required: false
default_form_required_label: 'Indicates required field'
default_form_details_toggle: true
default_form_file_limit: ''
form_classes: |
container-inline clearfix
form--inline clearfix
messages messages--error
messages messages--warning
messages messages--status
button_classes: ''
default_wizard_prev_button_label: '< Previous Page'
default_wizard_next_button_label: 'Next Page >'
default_wizard_start_label: Start
default_wizard_confirmation_label: Complete
default_preview_next_button_label: Preview
default_preview_prev_button_label: '< Previous'
default_preview_label: Preview
default_preview_title: '[webform:title]: Preview'
default_preview_message: 'Please review your submission. Your submission is not complete until you press the "Submit" button!'
default_draft_button_label: 'Save Draft'
default_draft_saved_message: 'Submission saved. You may return to this form later and it will restore the current values.'
default_draft_loaded_message: 'A partially-completed form was found. Please complete the remaining portions.'
default_confirmation_message: 'New submission added to [webform:title].'
default_confirmation_back_label: 'Back to form'
default_submission_label: '[webform_submission:submitted-to]: Submission #[webform_submission:serial]'
default_submission_access_denied_message: 'Please login to access this submission.'
default_submission_exception_message: 'Unable to process this submission. Please contact the site administrator.'
default_submission_locked_message: 'This submission has been locked.'
default_submission_log: false
default_submission_views: { }
default_submission_views_replace:
global_routes:
- entity.webform_submission.collection
- entity.webform_submission.user
webform_routes:
- entity.webform.results_submissions
- entity.webform.user.drafts
- entity.webform.user.submissions
node_routes:
- entity.node.webform.results_submissions
- entity.node.webform.user.drafts
- entity.node.webform.user.submissions
default_previous_submission_message: 'You have already submitted this webform. <a href="#">View your previous submission</a>.'
default_previous_submissions_message: 'You have already submitted this webform. <a href="#">View your previous submissions</a>.'
default_autofill_message: 'This submission has been autofilled with your previous submission.'
preview_classes: |
messages messages--error
messages messages--warning
messages messages--status
confirmation_classes: |
messages messages--error
messages messages--warning
messages messages--status
confirmation_back_classes: |
button
default_limit_total_message: 'No more submissions are permitted.'
default_limit_user_message: 'No more submissions are permitted.'
dialog: false
dialog_options:
narrow:
title: Narrow
width: 600
normal:
title: Normal
width: 800
wide:
title: Wide
width: 1000
assets:
css: ''
javascript: ''
handler:
excluded_handlers: { }
export:
temp_directory: ''
exporter: delimited
multiple_delimiter: ;
header_format: label
header_prefix: true
header_prefix_label_delimiter: ': '
header_prefix_key_delimiter: __
composite_element_item_format: label
options_single_format: compact
options_multiple_format: compact
options_item_format: label
entity_reference_items:
- id
- title
- url
likert_answers_format: label
signature_format: status
delimiter: ','
excel: false
excluded_exporters: { }
batch:
default_batch_export_size: 500
default_batch_update_size: 500
default_batch_delete_size: 500
default_batch_email_size: 500
purge:
cron_size: 100
element:
empty_message: '{Empty}'
allowed_tags: admin
wrapper_classes: |
container-inline clearfix
form--inline clearfix
messages messages--error
messages messages--warning
messages messages--status
classes: |
container-inline clearfix
form--inline clearfix
messages messages--error
messages messages--warning
messages messages--status
horizontal_rule_classes: |
webform-horizontal-rule--solid
webform-horizontal-rule--dashed
webform-horizontal-rule--dotted
webform-horizontal-rule--gradient
webform-horizontal-rule--thin
webform-horizontal-rule--medium
webform-horizontal-rule--thick
webform-horizontal-rule--flaired
webform-horizontal-rule--glyph
default_description_display: ''
default_more_title: More
default_section_title_tag: h2
default_empty_option: true
default_empty_option_required: ''
default_empty_option_optional: ''
default_icheck: ''
default_google_maps_api_key: ''
default_algolia_places_app_id: ''
default_algolia_places_api_key: ''
excluded_elements:
password: password
password_confirm: password_confirm
webform_location_geocomplete: webform_location_geocomplete
html_editor:
disabled: false
element_format: ''
mail_format: ''
tidy: true
make_unused_managed_files_temporary: true
file:
file_public: false
file_private_redirect: true
file_private_redirect_message: 'Please login to access the uploaded file.'
default_max_filesize: ''
default_managed_file_extensions: 'gif jpg png bmp eps tif pict psd txt rtf html odf pdf doc docx ppt pptx xls xlsx xml avi mov mp3 ogg wav bz2 dmg gz jar rar sit svg tar zip'
default_audio_file_extensions: 'mp3 ogg wav'
default_document_file_extensions: 'txt rtf pdf doc docx odt ppt pptx odp xls xlsx ods'
default_image_file_extensions: 'gif jpg png'
default_video_file_extensions: 'avi mov mp4 ogg wav webm'
make_unused_managed_files_temporary: true
delete_temporary_managed_files: true
format: { }
mail:
default_to_mail: '[site:mail]'
default_from_mail: '[site:mail]'
default_from_name: '[site:name]'
default_reply_to: ''
default_return_path: ''
default_sender_mail: ''
default_sender_name: ''
default_subject: 'Webform submission from: [webform_submission:source-entity]'
default_body_text: |
Submitted on [webform_submission:created]
Submitted by: [webform_submission:user]
Submitted values are:
[webform_submission:values]
default_body_html: |
<p>Submitted on [webform_submission:created]</p>
<p>Submitted by: [webform_submission:user]</p>
<p>Submitted values are:</p>
[webform_submission:values]
roles: { }
test:
types: |
checkbox:
- true
color:
- '#ffffcc'
- '#ffffcc'
- '#ccffff'
email:
- 'example@example.com'
- 'test@test.com'
- 'random@random.com'
language_select:
- en
machine_name:
- 'loremipsum'
- 'oratione'
- 'dixisset'
tel:
- '123-456-7890'
- '098-765-4321'
textarea:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Negat esse eam, inquit, propter se expetendam. Primum Theophrasti, Strato, physicum se voluit; Id mihi magnum videtur. Itaque mihi non satis videmini considerare quod iter sit naturae quaeque progressio. Quare hoc videndum est, possitne nobis hoc ratio philosophorum dare. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere.'
- 'Huius, Lyco, oratione locuples, rebus ipsis ielunior. Duo Reges: constructio interrete. Sed haec in pueris; Sed utrum hortandus es nobis, Luci, inquit, an etiam tua sponte propensus es? Sapiens autem semper beatus est et est aliquando in dolore; Immo videri fortasse. Paulum, cum regem Persem captum adduceret, eodem flumine invectio? Et ille ridens: Video, inquit, quid agas;'
- 'Quae cum dixisset, finem ille. Quamquam non negatis nos intellegere quid sit voluptas, sed quid ille dicat. Progredientibus autem aetatibus sensim tardeve potius quasi nosmet ipsos cognoscimus. Gloriosa ostentatio in constituendo summo bono. Qui-vere falsone, quaerere mittimus-dicitur oculis se privasse; Duarum enim vitarum nobis erunt instituta capienda. Comprehensum, quod cognitum non habet? Qui enim existimabit posse se miserum esse beatus non erit. Causa autem fuit huc veniendi ut quosdam hinc libros promerem. Nunc omni virtuti vitium contrario nomine opponitur.'
text_format:
- value: '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Negat esse eam, inquit, propter se expetendam. Primum Theophrasti, Strato, physicum se voluit; Id mihi magnum videtur. Itaque mihi non satis videmini considerare quod iter sit naturae quaeque progressio. Quare hoc videndum est, possitne nobis hoc ratio philosophorum dare. Est enim tanti philosophi tamque nobilis audacter sua decreta defendere.</p>'
- value: '<p>Huius, Lyco, oratione locuples, rebus ipsis ielunior. Duo Reges: constructio interrete. Sed haec in pueris; Sed utrum hortandus es nobis, Luci, inquit, an etiam tua sponte propensus es? Sapiens autem semper beatus est et est aliquando in dolore; Immo videri fortasse. Paulum, cum regem Persem captum adduceret, eodem flumine invectio? Et ille ridens: Video, inquit, quid agas;</p>'
- value: '<p>Quae cum dixisset, finem ille. Quamquam non negatis nos intellegere quid sit voluptas, sed quid ille dicat. Progredientibus autem aetatibus sensim tardeve potius quasi nosmet ipsos cognoscimus. Gloriosa ostentatio in constituendo summo bono. Qui-vere falsone, quaerere mittimus-dicitur oculis se privasse; Duarum enim vitarum nobis erunt instituta capienda. Comprehensum, quod cognitum non habet? Qui enim existimabit posse se miserum esse beatus non erit. Causa autem fuit huc veniendi ut quosdam hinc libros promerem. Nunc omni virtuti vitium contrario nomine opponitur.</p>'
url:
- 'http://example.com'
- 'http://test.com'
webform_email_confirm:
- 'example@example.com'
- 'test@test.com'
- 'random@random.com'
webform_email_multiple:
- 'example@example.com, test@test.com, random@random.com'
webform_time:
- '09:00'
- '17:00'
names: |
first_name:
- 'John'
- 'Paul'
- 'Ringo'
- 'George'
last_name:
- 'Lennon'
- 'McCartney'
- 'Starr'
- 'Harrison'
address:
- '10 Main Street'
- '11 Brook Alley Road. APT 1'
zip:
- '11111'
- '12345'
- '12345-6789'
postal_code:
- '11111'
- '12345'
- '12345-6789'
phone:
- '123-456-7890'
- '098-765-4321'
fax:
- '123-456-7890'
- '098-765-4321'
city:
- 'Springfield'
- 'Pleasantville'
- 'Hill Valley'
url:
- 'http://example.com'
- 'http://test.com'
default:
- 'Loremipsum'
- 'Oratione'
- 'Dixisset'
ui:
video_display: dialog
details_save: true
help_disabled: false
dialog_disabled: false
offcanvas_disabled: false
contribute_disabled: false
promotions_disabled: false
description_help: true
libraries:
excluded_libraries:
- jquery.chosen
- jquery.icheck
- jquery.toggles
requirements:
cdn: true
bootstrap: true
spam: true
contribute:
account_type: user
account_id: null
langcode: en
third_party_settings: { }

View file

@ -0,0 +1,264 @@
langcode: en
status: open
dependencies:
enforced:
module:
- webform
open: null
close: null
weight: 0
uid: null
template: false
archive: false
id: contact
title: Contact
description: 'Basic email contact webform.'
category: ''
elements: |
name:
'#title': 'Your Name'
'#type': textfield
'#required': true
'#default_value': '[current-user:display-name]'
email:
'#title': 'Your Email'
'#type': email
'#required': true
'#default_value': '[current-user:mail]'
subject:
'#title': Subject
'#type': textfield
'#required': true
'#test': 'Testing contact webform from [site:name]'
message:
'#title': Message
'#type': textarea
'#required': true
'#test': 'Please ignore this email.'
actions:
'#type': webform_actions
'#title': 'Submit button(s)'
'#submit__label': 'Send message'
css: ''
javascript: ''
settings:
ajax: false
ajax_scroll_top: form
page: true
page_submit_path: ''
page_confirm_path: ''
form_title: source_entity_webform
form_submit_once: false
form_exception_message: ''
form_open_message: ''
form_close_message: ''
form_previous_submissions: true
form_confidential: false
form_confidential_message: ''
form_remote_addr: true
form_convert_anonymous: false
form_prepopulate: false
form_prepopulate_source_entity: false
form_prepopulate_source_entity_required: false
form_prepopulate_source_entity_type: ''
form_reset: false
form_disable_autocomplete: false
form_novalidate: false
form_disable_inline_errors: false
form_required: false
form_unsaved: false
form_disable_back: false
form_submit_back: false
form_autofocus: false
form_details_toggle: false
form_access_denied: default
form_access_denied_title: ''
form_access_denied_message: ''
form_access_denied_attributes: { }
form_file_limit: ''
submission_label: ''
submission_log: false
submission_views: { }
submission_views_replace: { }
submission_user_columns: { }
submission_user_duplicate: false
submission_access_denied: default
submission_access_denied_title: ''
submission_access_denied_message: ''
submission_access_denied_attributes: { }
submission_exception_message: ''
submission_locked_message: ''
submission_excluded_elements: { }
submission_exclude_empty: false
submission_exclude_empty_checkbox: false
previous_submission_message: ''
previous_submissions_message: ''
autofill: false
autofill_message: ''
autofill_excluded_elements: { }
wizard_progress_bar: true
wizard_progress_pages: false
wizard_progress_percentage: false
wizard_progress_link: false
wizard_start_label: ''
wizard_preview_link: false
wizard_confirmation: true
wizard_confirmation_label: ''
wizard_track: ''
preview: 0
preview_label: ''
preview_title: ''
preview_message: ''
preview_attributes: { }
preview_excluded_elements: { }
preview_exclude_empty: true
preview_exclude_empty_checkbox: false
draft: none
draft_multiple: false
draft_auto_save: false
draft_saved_message: ''
draft_loaded_message: ''
confirmation_type: url_message
confirmation_title: ''
confirmation_message: 'Your message has been sent.'
confirmation_url: '<front>'
confirmation_attributes: { }
confirmation_back: true
confirmation_back_label: ''
confirmation_back_attributes: { }
confirmation_exclude_query: false
confirmation_exclude_token: false
limit_total: null
limit_total_interval: null
limit_total_message: ''
limit_total_unique: false
limit_user: null
limit_user_interval: null
limit_user_message: ''
limit_user_unique: false
entity_limit_total: null
entity_limit_total_interval: null
entity_limit_user: null
entity_limit_user_interval: null
purge: none
purge_days: null
results_disabled: false
results_disabled_ignore: false
token_update: false
access:
create:
roles:
- anonymous
- authenticated
users: { }
permissions: { }
view_any:
roles: { }
users: { }
permissions: { }
update_any:
roles: { }
users: { }
permissions: { }
delete_any:
roles: { }
users: { }
permissions: { }
purge_any:
roles: { }
users: { }
permissions: { }
view_own:
roles: { }
users: { }
permissions: { }
update_own:
roles: { }
users: { }
permissions: { }
delete_own:
roles: { }
users: { }
permissions: { }
administer:
roles: { }
users: { }
permissions: { }
test:
roles: { }
users: { }
permissions: { }
configuration:
roles: { }
users: { }
permissions: { }
handlers:
email_confirmation:
id: email
label: 'Email confirmation'
handler_id: email_confirmation
status: true
conditions: { }
weight: 1
settings:
states:
- completed
to_mail: '[webform_submission:values:email:raw]'
to_options: { }
cc_mail: ''
cc_options: { }
bcc_mail: ''
bcc_options: { }
from_mail: _default
from_options: { }
from_name: _default
subject: '[webform_submission:values:subject:raw]'
body: '[webform_submission:values:message:value]'
excluded_elements: { }
ignore_access: false
exclude_empty: true
exclude_empty_checkbox: false
html: true
attachments: false
twig: false
theme_name: ''
debug: false
reply_to: ''
return_path: ''
sender_mail: ''
sender_name: ''
email_notification:
id: email
label: 'Email notification'
handler_id: email_notification
status: true
conditions: { }
weight: 1
settings:
states:
- completed
to_mail: _default
to_options: { }
cc_mail: ''
cc_options: { }
bcc_mail: ''
bcc_options: { }
from_mail: '[webform_submission:values:email:raw]'
from_options: { }
from_name: '[webform_submission:values:name:raw]'
subject: '[webform_submission:values:subject:raw]'
body: '[webform_submission:values:message:value]'
excluded_elements: { }
ignore_access: false
exclude_empty: true
exclude_empty_checkbox: false
html: true
attachments: false
twig: false
theme_name: ''
debug: false
reply_to: ''
return_path: ''
sender_mail: ''
sender_name: ''

View file

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: country_codes
label: 'Country codes'
category: Geographic
likert: false
options: ''

View file

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: country_names
label: 'Country names'
category: Geographic
likert: false
options: ''

View file

@ -0,0 +1,18 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: days
label: Days
category: 'Date and time'
likert: false
options: |
Sunday: Sunday
Monday: Monday
Tuesday: Tuesday
Wednesday: Wednesday
Thursday: Thursday
Friday: Friday
Saturday: Saturday

View file

@ -0,0 +1,15 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: education
label: Education
category: Demographic
likert: false
options: |
High School: High School
Associate Degree: Associate Degree
Graduate or Professional Degree: Graduate or Professional Degree
Some College: Some College

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: employment_status
label: 'Employment status'
category: Demographic
likert: false
options: |
'Full Time': 'Full Time'
'Part Time': 'Part Time'
'Military': 'Military'
Unemployed: Unemployed
Retired: Retired

View file

@ -0,0 +1,19 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: ethnicity
label: Ethnicity
category: Demographic
likert: false
options: |
Caucasian: Caucasian
'Latino/Hispanic': 'Latino/Hispanic'
'Middle Eastern': 'Middle Eastern'
African: African
Caribbean: Caribbean
'South Asian': 'South Asian'
'East Asian': 'East Asian'
Mixed: Mixed

View file

@ -0,0 +1,13 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: gender
label: Gender
category: Demographic
likert: false
options: |
Male: Male
Female: Female

View file

@ -0,0 +1,50 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: industry
label: Industry
category: Demographic
likert: false
options: |
Accounting/Finance: Accounting/Finance
Advertising/Public Relations: Advertising/Public Relations
Aerospace/Aviation: Aerospace/Aviation
Arts/Entertainment/Publishing: Arts/Entertainment/Publishing
Automotive: Automotive
Banking/Mortgage: Banking/Mortgage
Business Development: Business Development
Business Opportunity: Business Opportunity
Clerical/Administrative: Clerical/Administrative
Construction/Facilities: Construction/Facilities
Consumer Goods: Consumer Goods
Customer Service: Customer Service
Education/Training: Education/Training
Energy/Utilities: Energy/Utilities
Engineering: Engineering
Government/Military: Government/Military
Healthcare: Healthcare
Hospitality/Travel: Hospitality/Travel
Human Resources: Human Resources
Installation/Maintenance: Installation/Maintenance
Insurance: Insurance
Internet: Internet
Law Enforcement/Security: Law Enforcement/Security
Legal: Legal
Management/Executive: Management/Executive
Manufacturing/Operations: Manufacturing/Operations
Marketing: Marketing
Non-Profit/Volunteer: Non-Profit/Volunteer
Pharmaceutical/Biotech: Pharmaceutical/Biotech
Professional Services: Professional Services
Real Estate: Real Estate
Restaurant/Food Service: Restaurant/Food Service
Retail: Retail
Sales: Sales
Science/Research: Science/Research
Skilled Labor: Skilled Labor
Technology: Technology
Telecommunications: Telecommunications
Transportation/Logistics: Transportation/Logistics

View file

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: languages
label: Languages
category: Language
likert: false
options: ''

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_agreement
label: 'Likert: Agreement'
category: Likert
likert: true
options: |
1: 'Much Worse'
2: 'Somewhat Worse'
3: 'About the Same'
4: 'Somewhat Better'
5: 'Much Better'

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_comparison
label: 'Likert: Comparison'
category: Likert
likert: true
options: |
1: Strongly Disagree
2: Disagree
3: Neutral
4: Agree
5: Strongly Agree

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_importance
label: 'Likert: Importance'
category: Likert
likert: true
options: |
1: Not at all Important
2: Somewhat Important
3: Neutral
4: Important
5: Very Important

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_quality
label: 'Likert: Quality'
category: Likert
likert: true
options: |
1: Poor
2: Fair
3: Good
4: Very good
5: Excellent

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_satisfaction
label: 'Likert: Satisfaction'
category: Likert
likert: true
options: |
1: Very Unsatisfied
2: Unsatisfied
3: Neutral
4: Satisfied
5: Very Satisfied

View file

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_ten_scale
label: 'Likert: Ten Scale'
category: Likert
likert: true
options: |
1: 1
2: 2
3: 3
4: 4
5: 5
6: 6
7: 7
8: 8
9: 9
10: 10

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: likert_would_you
label: 'Likert: Would You'
category: Likert
likert: true
options: |
1: Definitely Not
2: Probably Not
3: Not Sure
4: Probably
5: Definitely

View file

@ -0,0 +1,15 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: marital_status
label: 'Marital status'
category: Demographic
likert: false
options: |
Single: Single
Married: Married
Divorced: Divorced
Widowed: Widowed

View file

@ -0,0 +1,23 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: months
label: Months
category: 'Date and time'
likert: false
options: |
January: January
February: February
March: March
April: April
May: May
June: June
July: July
August: August
September: September
October: October
November: November
December: December

View file

@ -0,0 +1,14 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: phone_types
label: 'Phone type'
category: Demographic
likert: false
options: |
Home: Home
Office: Office
Cell: Cell

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: relationship
label: Relationship
category: Demographic
likert: false
options: |
Parent: Parent
'Significant Other': 'Significant Other'
Sibling: Sibling
Child: Child
Friend: Friend

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: size
label: Size
category: General
likert: false
options: |
Extra Small: Extra Small
Small: Small
Medium: Medium
Large: Large
Extra Large: Extra Large

View file

@ -0,0 +1,63 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: state_codes
label: 'State codes'
category: Geographic
likert: false
options: |
AL: Alabama
AK: Alaska
AZ: Arizona
AR: Arkansas
CA: California
CO: Colorado
CT: Connecticut
DE: Delaware
DC: 'District of Columbia'
FL: Florida
GA: Georgia
GU: Guam
HI: Hawaii
ID: Idaho
IL: Illinois
IN: Indiana
IA: Iowa
KS: Kansas
KY: Kentucky
LA: Louisiana
ME: Maine
MD: Maryland
MA: Massachusetts
MI: Michigan
MN: Minnesota
MS: Mississippi
MO: Missouri
MT: Montana
NE: Nebraska
NV: Nevada
NH: 'New Hampshire'
NJ: 'New Jersey'
NM: 'New Mexico'
NY: 'New York'
NC: 'North Carolina'
ND: 'North Dakota'
OH: Ohio
OK: Oklahoma
OR: Oregon
PA: Pennsylvania
RI: 'Rhode Island'
SC: 'South Carolina'
SD: 'South Dakota'
TN: Tennessee
TX: Texas
UT: Utah
VT: Vermont
VA: Virginia
WA: Washington
WV: 'West Virginia'
WI: Wisconsin
WY: Wyoming

View file

@ -0,0 +1,62 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: state_names
label: 'State names'
category: Geographic
likert: false
options: |
Alabama: Alabama
Alaska: Alaska
Arizona: Arizona
Arkansas: Arkansas
California: California
Colorado: Colorado
Connecticut: Connecticut
Delaware: Delaware
'District of Columbia': 'District of Columbia'
Florida: Florida
Georgia: Georgia
Hawaii: Hawaii
Idaho: Idaho
Illinois: Illinois
Indiana: Indiana
Iowa: Iowa
Kansas: Kansas
Kentucky: Kentucky
Louisiana: Louisiana
Maine: Maine
Maryland: Maryland
Massachusetts: Massachusetts
Michigan: Michigan
Minnesota: Minnesota
Mississippi: Mississippi
Missouri: Missouri
Montana: Montana
Nebraska: Nebraska
Nevada: Nevada
'New Hampshire': 'New Hampshire'
'New Jersey': 'New Jersey'
'New Mexico': 'New Mexico'
'New York': 'New York'
'North Carolina': 'North Carolina'
'North Dakota': 'North Dakota'
Ohio: Ohio
Oklahoma: Oklahoma
Oregon: Oregon
Pennsylvania: Pennsylvania
'Rhode Island': 'Rhode Island'
'South Carolina': 'South Carolina'
'South Dakota': 'South Dakota'
Tennessee: Tennessee
Texas: Texas
Utah: Utah
Vermont: Vermont
Virginia: Virginia
Washington: Washington
'West Virginia': 'West Virginia'
Wisconsin: Wisconsin
Wyoming: Wyoming

View file

@ -0,0 +1,73 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: state_province_codes
label: 'State/Province codes'
category: Geographic
likert: false
options: |
AL: Alabama
AK: Alaska
AS: 'American Samoa'
AZ: Arizona
AR: Arkansas
AE: 'Armed Forces (Canada, Europe, Africa, or Middle East'
AA: 'Armed Forces Americas'
AP: 'Armed Forces Pacific'
CA: California
CO: Colorado
CT: Connecticut
DE: Delaware
DC: 'District of Columbia'
FM: 'Federated States of Micronesia'
FL: Florida
GA: Georgia
GU: Guam
HI: Hawaii
ID: Idaho
IL: Illinois
IN: Indiana
IA: Iowa
KS: Kansas
KY: Kentucky
LA: Louisiana
ME: Maine
MH: 'Marshall Islands'
MD: Maryland
MA: Massachusetts
MI: Michigan
MN: Minnesota
MS: Mississippi
MO: Missouri
MT: Montana
NE: Nebraska
NV: Nevada
NH: 'New Hampshire'
NJ: 'New Jersey'
NM: 'New Mexico'
NY: 'New York'
NC: 'North Carolina'
ND: 'North Dakota'
MP: 'Northern Mariana Islands'
OH: Ohio
OK: Oklahoma
OR: Oregon
PW: Palau
PA: Pennsylvania
PR: 'Puerto Rico'
RI: 'Rhode Island'
SC: 'South Carolina'
SD: 'South Dakota'
TN: Tennessee
TX: Texas
UT: Utah
VT: Vermont
VI: 'Virgin Islands'
VA: Virginia
WA: Washington
WV: 'West Virginia'
WI: Wisconsin
WY: Wyoming

View file

@ -0,0 +1,73 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: state_province_names
label: 'State/Province names'
category: Geographic
likert: false
options: |
Alabama: Alabama
Alaska: Alaska
'American Samoa': 'American Samoa'
Arizona: Arizona
Arkansas: Arkansas
'Armed Forces (Canada, Europe, Africa, or Middle East)': 'Armed Forces (Canada, Europe, Africa, or Middle East)'
'Armed Forces Americas': 'Armed Forces Americas'
'Armed Forces Pacific': 'Armed Forces Pacific'
California: California
Colorado: Colorado
Connecticut: Connecticut
Delaware: Delaware
'District of Columbia': 'District of Columbia'
'Federated States of Micronesia': 'Federated States of Micronesia'
Florida: Florida
Georgia: Georgia
Guam: Guam
Hawaii: Hawaii
Idaho: Idaho
Illinois: Illinois
Indiana: Indiana
Iowa: Iowa
Kansas: Kansas
Kentucky: Kentucky
Louisiana: Louisiana
Maine: Maine
'Marshall Islands': 'Marshall Islands'
Maryland: Maryland
Massachusetts: Massachusetts
Michigan: Michigan
Minnesota: Minnesota
Mississippi: Mississippi
Missouri: Missouri
Montana: Montana
Nebraska: Nebraska
Nevada: Nevada
'New Hampshire': 'New Hampshire'
'New Jersey': 'New Jersey'
'New Mexico': 'New Mexico'
'New York': 'New York'
'North Carolina': 'North Carolina'
'North Dakota': 'North Dakota'
'Northern Mariana Islands': 'Northern Mariana Islands'
Ohio: Ohio
Oklahoma: Oklahoma
Oregon: Oregon
Palau: Palau
Pennsylvania: Pennsylvania
'Puerto Rico': 'Puerto Rico'
'Rhode Island': 'Rhode Island'
'South Carolina': 'South Carolina'
'South Dakota': 'South Dakota'
Tennessee: Tennessee
Texas: Texas
Utah: Utah
Vermont: Vermont
'Virgin Islands': 'Virgin Islands'
Virginia: Virginia
Washington: Washington
'West Virginia': 'West Virginia'
Wisconsin: Wisconsin
Wyoming: Wyoming

View file

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: time_zones
label: 'Time zones'
category: 'Date and time'
likert: false
options: ''

View file

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: titles
label: Titles
category: Demographic
likert: false
options: |
Miss: Miss
Ms: Ms
Mr: Mr
Mrs: Mrs
Dr: Dr

View file

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: translations
label: Translations
category: Language
likert: false
options: ''

View file

@ -0,0 +1,13 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: yes_no
label: Yes/No
category: General
likert: false
options: |
Yes: Yes
No: No

View file

@ -0,0 +1,15 @@
action.configuration.webform_submission_delete_action:
type: action_configuration_default
label: 'Delete submission configuration'
action.configuration.webform_submission_make_sticky_action:
type: action_configuration_default
label: 'Star/Flag selected submission configuration'
action.configuration.webform_submission_make_unsticky_action:
type: action_configuration_default
label: 'Unstar/Unflag selected submission configuration'
action.configuration.webform_submission_make_lock_action:
type: action_configuration_default
label: 'Lock selected submission configuration'
action.configuration.webform_submission_make_unlock_action:
type: action_configuration_default
label: 'Unlock selected submission configuration'

View file

@ -0,0 +1,44 @@
block.settings.webform_block:
type: block_settings
label: 'Webforms block'
mapping:
webform_id:
type: string
label: Webform
default_data:
type: text
label: 'Default webform submission data'
redirect:
type: boolean
label: 'Redirect to the webform'
block.settings.webform_submission_limit_block:
type: block_settings
label: 'Webform submission limits block'
mapping:
type:
type: text
label: Type
source_entity:
type: boolean
label: 'Source entity'
content:
label: Content
type: text
progress_bar:
type: boolean
label: 'Progress bar'
progress_bar_label:
type: label
label: 'Progress bar label'
progress_bar_message:
type: label
label: 'Progress bar message'
webform_id:
type: string
label: Webform
entity_type:
type: string
label: 'Source entity type'
entity_id:
type: string
label: 'Source entity id'

View file

@ -0,0 +1,471 @@
'webform.webform.*':
type: config_entity
label: Webforms
mapping:
status:
type: string
label: Status
weight:
type: integer
label: Weight
open:
type: string
label: 'Open date/time'
close:
type: string
label: 'Close date/time'
uid:
type: integer
label: Author
template:
type: boolean
label: Template
archive:
type: boolean
label: Archive
id:
type: string
label: 'Machine name'
title:
type: label
label: Title
description:
type: label
label: 'Administrative description'
category:
type: label
label: Category
elements:
type: text
label: 'Elements (YAML)'
css:
type: string
label: 'CSS (Cascading Style Sheets)'
javascript:
type: string
label: JavaScript
settings:
type: mapping
label: Settings
mapping:
ajax:
type: boolean
label: 'Use Ajax'
ajax_scroll_top:
type: string
label: 'Ajax scroll top'
page:
type: boolean
label: 'Enable page'
page_submit_path:
type: string
label: 'Page submit URL alias'
page_confirm_path:
type: string
label: 'Page confirm URL alias'
form_title:
type: string
label: 'Form title display'
form_submit_once:
type: boolean
label: 'Prevent duplicate submissions'
form_open_message:
type: text
label: 'Form open message'
form_close_message:
type: text
label: 'Form closed message'
form_exception_message:
type: text
label: 'Form exception message'
form_previous_submissions:
type: boolean
label: 'Form previous submissions notification'
form_confidential:
type: boolean
label: 'Form confidential'
form_confidential_message:
type: text
label: 'Form confidential message'
form_remote_addr:
type: boolean
label: 'Track user IP address'
form_convert_anonymous:
type: boolean
label: 'Convert anonymous drafts and submissions to authenticated'
form_prepopulate:
type: boolean
label: 'Form prepopulate elements'
form_prepopulate_source_entity:
type: boolean
label: 'Form prepopulate source entity'
form_prepopulate_source_entity_required:
type: boolean
label: 'Form prepopulate source entity required'
form_prepopulate_source_entity_type:
type: string
label: 'Form prepopulate source entity type'
form_unsaved:
type: boolean
label: 'Warn users about unsaved changes'
form_disable_back:
type: boolean
label: 'Disable back button'
form_submit_back:
type: boolean
label: 'Submit previous wizard page when browser back button is clicked'
form_disable_autocomplete:
type: boolean
label: 'Disable autocompletion'
form_novalidate:
type: boolean
label: 'Disable client-side validation'
form_disable_inline_errors:
type: boolean
label: 'Disable inline form errors'
form_required:
type: boolean
label: 'Display required indicator'
form_autofocus:
type: boolean
label: Autofocus
form_details_toggle:
type: boolean
label: 'Display collapse/expand all details link'
form_reset:
type: boolean
label: 'Display reset button'
form_access_denied:
type: string
label: 'Form access denied action'
form_access_denied_title:
type: label
label: 'Form access denied title'
form_access_denied_message:
type: text
label: 'Form access denied message'
form_access_denied_attributes:
type: ignore
label: 'Form access denied message attributes'
form_file_limit:
type: string
label: 'Form file upload limit'
submission_label:
type: label
label: 'Default submission label'
submission_exception_message:
type: text
label: 'Submission exception message'
submission_locked_message:
type: text
label: 'Submission locked message'
submission_log:
type: boolean
label: 'Submission logging'
submission_excluded_elements:
type: sequence
label: 'Submission excluded elements'
sequence:
type: string
label: 'Element key'
submission_exclude_empty:
type: boolean
label: 'Submission exclude empty elements'
submission_exclude_empty_checkbox:
type: boolean
label: 'Submission exclude unselected checkboxes'
submission_views:
type: sequence
label: 'Submission views'
sequence:
type: mapping
label: 'Submission view'
mapping:
title:
type: text
label: Title
view:
type: string
label: 'View name / Display ID'
webform_routes:
type: sequence
label: 'Apply to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Apply to node'
sequence:
type: string
label: Route
submission_views_replace:
type: mapping
label: 'Submission view replace'
mapping:
global_routes:
type: sequence
label: 'Replace to global'
sequence:
type: string
label: Route
webform_routes:
type: sequence
label: 'Replace to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Replace to node'
sequence:
type: string
label: Route
submission_user_columns:
type: sequence
label: 'Submission user columns'
sequence:
type: string
label: 'Column name'
submission_user_duplicate:
type: boolean
label: 'Submission user duplicate'
submission_access_denied:
type: string
label: 'Submission access denied action'
submission_access_denied_title:
type: label
label: 'Submission access denied title'
submission_access_denied_message:
type: text
label: 'Submission access denied message'
submission_access_denied_attributes:
type: ignore
label: 'Submission access denied message attributes'
previous_submission_message:
type: text
label: 'Previous submission message'
previous_submissions_message:
type: text
label: 'Previous submissions message'
autofill:
type: boolean
label: 'Autofill with previous submission'
autofill_message:
type: text
label: 'Autofill with previous submission message'
autofill_excluded_elements:
type: sequence
label: 'Autofill excluded elements'
sequence:
type: string
label: 'Element key'
wizard_progress_bar:
type: boolean
label: 'Show wizard progress bar'
wizard_progress_pages:
type: boolean
label: 'Show wizard progress pages'
wizard_progress_percentage:
type: boolean
label: 'Show wizard progress pages'
wizard_progress_link:
type: boolean
label: 'Link to previous pages in progress bar'
wizard_start_label:
type: label
label: 'Wizard start label'
wizard_start_attributes:
type: ignore
label: 'Wizard start attributes'
wizard_preview_link:
type: boolean
label: 'Link to previous pages in preview'
wizard_confirmation:
type: boolean
label: 'Include confirmation page in progress'
wizard_confirmation_label:
type: label
label: 'Wizard confirmation label'
wizard_track:
type: text
label: 'Track wizard progress in the URL'
preview:
type: integer
label: 'Enable preview page'
preview_label:
type: text
label: 'Preview label'
preview_title:
type: text
label: 'Preview page title'
preview_message:
type: text
label: 'Preview message'
preview_attributes:
type: ignore
label: 'Preview attributes'
preview_excluded_elements:
type: sequence
label: 'Preview excluded elements'
sequence:
type: string
label: 'Element key'
preview_exclude_empty:
type: boolean
label: 'Preview exclude empty elements'
preview_exclude_empty_checkbox:
type: boolean
label: 'Preview exclude unselected checkboxes'
draft:
type: string
label: 'Allow users to save and finish the webform later.'
draft_multiple:
type: boolean
label: 'Allow users to save multiple drafts'
draft_auto_save:
type: boolean
label: 'Automatically save as draft when previewing and when there are validation errors.'
draft_saved_message:
type: text
label: 'Draft saved message'
draft_loaded_message:
type: text
label: 'Draft loaded message'
confirmation_type:
type: string
label: 'Confirmation type'
confirmation_url:
type: string
label: 'Confirmation URL'
confirmation_title:
type: label
label: 'Confirmation title'
confirmation_message:
type: text
label: 'Confirmation message'
confirmation_attributes:
type: ignore
label: 'Confirmation attributes'
confirmation_back:
type: boolean
label: 'Display back to webform link.'
confirmation_back_label:
type: text
label: 'Confirmation back link label'
confirmation_back_attributes:
type: ignore
label: 'Confirmation back link attributes'
confirmation_exclude_query:
type: boolean
label: 'Exclude query string from confirmation URL'
confirmation_exclude_token:
type: boolean
label: 'Exclude token from confirmation URL'
limit_total:
type: integer
label: 'Limit total submissions'
limit_total_interval:
type: integer
label: 'Limit total interval'
limit_total_message:
type: text
label: 'Limit total message'
limit_total_unique:
type: boolean
label: 'Limit total to one submission per source entity'
limit_user:
type: integer
label: 'Limit user submissions'
limit_user_interval:
type: integer
label: 'Limit user interval'
limit_user_message:
type: text
label: 'Limit user message'
limit_user_unique:
type: boolean
label: 'Limit user to one submission per source entity'
entity_limit_total:
type: integer
label: 'Entity limit total submissions'
entity_limit_total_interval:
type: integer
label: 'Entity limit total interval'
entity_limit_user:
type: integer
label: 'Entity limit user submissions'
entity_limit_user_interval:
type: integer
label: 'Entity limit user interval'
purge:
type: string
label: 'Default purging'
purge_days:
type: integer
label: 'Default days to retain submissions'
results_disabled:
type: boolean
label: 'Results disabled'
results_disabled_ignore:
type: boolean
label: 'Ignore disabled results warning'
token_update:
type: boolean
label: 'Allow updates using token'
access:
type: sequence
label: 'Access Rules'
sequence:
type: mapping
label: 'Access Rule'
mapping:
roles:
type: sequence
label: Roles
sequence:
type: string
label: Role
users:
type: sequence
label: Users
sequence:
type: integer
label: 'User IDs'
permissions:
type: sequence
label: Permissions
sequence:
type: string
label: Permission
handlers:
type: sequence
label: 'Webform handlers'
sequence:
type: mapping
mapping:
id:
type: string
label: 'Handle plugin ID'
handler_id:
type: string
label: 'Handler instance ID'
label:
type: label
label: Label
status:
type: boolean
label: Status
conditions:
type: ignore
label: 'Conditional logic'
weight:
type: integer
label: Weight
settings:
type: 'webform.handler.[%parent.id]'
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: 'webform.settings.third_party.[%key]'

View file

@ -0,0 +1,19 @@
'webform.webform_options.*':
type: config_entity
label: Options
mapping:
id:
type: string
label: 'Machine name'
label:
type: label
label: Label
category:
type: label
label: Category
likert:
type: boolean
label: 'Use as Likert'
options:
type: text
label: 'Options (YAML)'

View file

@ -0,0 +1,75 @@
field.storage_settings.webform:
type: mapping
label: 'Webform field storage settings'
mapping:
target_type:
type: string
label: 'Type of item to reference'
base_webform_field_field_settings:
type: mapping
mapping:
handler:
type: string
label: 'Reference method'
handler_settings:
type: 'entity_reference_selection.[%parent.handler]'
label: 'Entity reference selection settings'
field.field_settings.webform:
type: base_webform_field_field_settings
label: 'Webform settings'
mapping:
default_data:
type: string
label: 'Default webform submission data'
status:
type: string
label: 'Webform status'
open:
type: string
label: 'Webform open date/time'
close:
type: string
label: 'Webform close date/time'
field.widget.settings.webform_entity_reference_autocomplete:
type: mapping
label: 'Webform autocomplete display format settings'
mapping:
match_operator:
type: string
label: 'Autocomplete matching'
size:
type: integer
label: 'Size of textfield'
placeholder:
type: label
label: Placeholder
default_data:
type: boolean
label: 'Default submission data'
field.widget.settings.webform_entity_reference_select:
type: mapping
label: 'Webform select display format settings'
mapping:
default_data:
type: boolean
label: 'Default submission data'
field.formatter.settings.webform_entity_reference_entity_view:
type: mapping
label: 'Display the referenced webform with default submission data.'
mapping:
source_entity:
type: boolean
label: 'Source entity'
field.formatter.settings.webform_entity_reference_link:
type: mapping
label: 'Display the referenced webform as a link.'
mapping:
label:
type: label
label: 'Link label to the referenced webform'
dialog:
type: string
label: 'Open referenced webform in modal dialog'
attributes:
type: ignore
label: 'Link attributes'

View file

@ -0,0 +1,7 @@
condition.plugin.webform:
type: condition.plugin
mapping:
webforms:
type: sequence
sequence:
type: string

View file

@ -0,0 +1,10 @@
'webform.exporter.*':
type: mapping
label: 'Exporter settings'
webform.exporter.delimited_text:
type: mapping
label: Delimiter
mapping:
delimiter:
type: string
label: Delimiter

View file

@ -0,0 +1,545 @@
'webform.handler.*':
type: mapping
label: 'Handler settings'
webform.handler.action:
type: mapping
label: Action
mapping:
states:
type: sequence
label: States
sequence:
type: string
label: State
notes:
label: Notes
type: text
sticky:
label: Flag
type: boolean
locked:
label: Locked
type: boolean
data:
label: Data
type: text
message:
label: Message
type: text
message_type:
label: 'Message type'
type: string
debug:
type: boolean
label: 'Enable debugging'
webform.handler.log:
type: mapping
label: Log
mapping: { }
webform.handler.email:
type: mapping
label: Email
mapping:
states:
type: sequence
label: States
sequence:
type: string
label: State
to_mail:
label: 'Email to address'
type: email
to_options:
label: 'Email to address options'
type: ignore
bcc_mail:
label: 'Email BCC address'
type: email
bcc_options:
label: 'Email BCC address options'
type: ignore
cc_mail:
label: 'Email CC address'
type: email
cc_options:
label: 'Email CC address options'
type: ignore
from_mail:
label: 'Email from address'
type: email
from_options:
label: 'Email from address options'
type: ignore
from_name:
label: 'Email from name'
type: label
reply_to:
type: label
label: 'Reply to email'
return_path:
type: label
label: 'Return path email'
sender_mail:
type: email
label: 'Sender email'
sender_name:
type: label
label: 'Sender name'
subject:
label: 'Email subject'
type: label
body:
label: 'Email body'
type: text
excluded_elements:
type: sequence
label: 'Exclude elements'
sequence:
type: string
label: 'Element key'
ignore_access:
type: boolean
label: 'Always include private and restricted access elements.'
exclude_empty:
type: boolean
label: 'Exclude empty elements'
exclude_empty_checkbox:
type: boolean
label: 'Exclude unselected checkboxes'
html:
type: boolean
label: HTML
attachments:
type: boolean
label: Attachments
twig:
type: boolean
label: Twig
theme_name:
type: string
label: 'Theme name'
debug:
type: boolean
label: 'Enable debugging'
webform.handler.remote_post:
type: mapping
label: 'Remote Post'
mapping:
method:
label: Method
type: string
type:
label: Type
type: string
excluded_data:
type: sequence
label: 'Excluded data'
sequence:
type: string
label: 'Data name'
custom_data:
label: 'Custom data'
type: string
custom_options:
label: 'Custom options'
type: string
debug:
type: boolean
label: 'Enable debugging'
completed_url:
label: 'Completed URL'
type: uri
completed_custom_data:
label: 'Completed custom data'
type: string
updated_url:
label: 'Updated URL'
type: uri
updated_custom_data:
label: 'Updated custom data'
type: string
deleted_url:
label: 'Deleted URL'
type: uri
deleted_custom_data:
label: 'Deleted custom data'
type: string
draft_url:
label: 'Draft URL'
type: uri
draft_custom_data:
label: 'Draft custom data'
type: string
converted_url:
label: 'Converted URL'
type: uri
converted_custom_data:
label: 'Converted custom data'
type: string
message:
type: text
label: 'Error response message'
messages:
label: 'Error response messages'
type: sequence
sequence:
type: mapping
label: Message
mapping:
code:
type: integer
label: 'Response status code'
message:
type: text
label: 'Response message'
webform.handler.settings:
type: mapping
label: Settings
mapping:
debug:
type: string
label: 'Enable debugging'
ajax:
type: string
label: 'Use Ajax'
ajax_scroll_top:
type: string
label: 'Ajax scroll top'
page:
type: string
label: 'Enable page'
page_submit_path:
type: string
label: 'Page submit URL alias'
page_confirm_path:
type: string
label: 'Page confirm URL alias'
form_submit_once:
type: string
label: 'Prevent duplicate submissions'
form_open_message:
type: text
label: 'Form open message'
form_close_message:
type: text
label: 'Form closed message'
form_exception_message:
type: text
label: 'Form exception message'
form_previous_submissions:
type: string
label: 'Form previous submissions notification'
form_confidential:
type: string
label: 'Form confidential'
form_confidential_message:
type: text
label: 'Form confidential message'
form_convert_anonymous:
type: string
label: 'Convert anonymous drafts and submissions to authenticated'
form_prepopulate:
type: string
label: 'Form prepopulate elements'
form_prepopulate_source_entity:
type: string
label: 'Form prepopulate source entity'
form_prepopulate_source_entity_required:
type: string
label: 'Form prepopulate source entity required'
form_prepopulate_source_entity_type:
type: string
label: 'Form prepopulate source entity type'
form_unsaved:
type: string
label: 'Warn users about unsaved changes'
form_disable_back:
type: string
label: 'Disable back button'
form_submit_back:
type: string
label: 'Submit previous wizard page when browser back button is clicked'
form_disable_autocomplete:
type: string
label: 'Disable autocompletion'
form_novalidate:
type: string
label: 'Disable client-side validation'
form_disable_inline_errors:
type: string
label: 'Disable inline form errors'
form_required:
type: string
label: 'Display required indicator'
form_autofocus:
type: string
label: Autofocus
form_details_toggle:
type: string
label: 'Display collapse/expand all details link'
form_reset:
type: string
label: 'Display reset button'
form_access_denied:
type: string
label: 'Form access denied action'
form_access_denied_title:
type: label
label: 'Form access denied title'
form_access_denied_message:
type: text
label: 'Form access denied message'
form_access_denied_attributes:
type: ignore
label: 'Form access denied message attributes'
submission_label:
type: label
label: 'Default submission label'
submission_exception_message:
type: text
label: 'Submission exception message'
submission_locked_message:
type: text
label: 'Submission locked message'
submission_log:
type: string
label: 'Submission logging'
submission_views:
type: sequence
label: 'Submission views'
sequence:
type: mapping
label: 'Submission view'
mapping:
title:
type: text
label: Title
view:
type: string
label: 'View name / Display ID'
webform_routes:
type: sequence
label: 'Apply to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Apply to node'
sequence:
type: string
label: Route
submission_views_replace:
type: mapping
label: 'Submission view replace'
mapping:
global_routes:
type: sequence
label: 'Replace to global'
sequence:
type: string
label: Route
webform_routes:
type: sequence
label: 'Replace to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Replace to node'
sequence:
type: string
label: Route
submission_user_columns:
type: sequence
label: 'Submission user columns'
sequence:
type: string
label: 'Column name'
submission_user_duplicate:
type: string
label: 'Submission user duplicate'
submission_access_denied:
type: string
label: 'Submission access denied action'
submission_access_denied_title:
type: label
label: 'Submission access denied title'
submission_access_denied_message:
type: text
label: 'Submission access denied message'
submission_access_denied_attributes:
type: ignore
label: 'Submission access denied message attributes'
previous_submission_message:
type: text
label: 'Previous submission message'
previous_submissions_message:
type: text
label: 'Previous submissions message'
autofill:
type: string
label: 'Autofill with previous submission'
autofill_message:
type: text
label: 'Autofill with previous submission message'
autofill_excluded_elements:
type: sequence
label: 'Autofill excluded elements'
sequence:
type: string
label: 'Element key'
wizard_progress_bar:
type: string
label: 'Show wizard progress bar'
wizard_progress_pages:
type: string
label: 'Show wizard progress pages'
wizard_progress_percentage:
type: string
label: 'Show wizard progress pages'
wizard_progress_link:
type: string
label: 'Link to previous pages in progress bar'
wizard_start_label:
type: label
label: 'Wizard start label'
wizard_start_attributes:
type: ignore
label: 'Wizard start attributes'
wizard_preview_link:
type: string
label: 'Link to previous pages in preview'
wizard_confirmation:
type: string
label: 'Include confirmation page in progress'
wizard_confirmation_label:
type: label
label: 'Wizard confirmation label'
wizard_track:
type: text
label: 'Track wizard progress in the URL'
preview:
type: string
label: 'Enable preview page'
preview_label:
type: text
label: 'Preview label'
preview_title:
type: text
label: 'Preview page title'
preview_message:
type: text
label: 'Preview message'
preview_attributes:
type: ignore
label: 'Preview attributes'
preview_excluded_elements:
type: sequence
label: 'Preview excluded elements'
sequence:
type: string
label: 'Element key'
preview_exclude_empty:
type: string
label: 'Preview exclude empty elements'
preview_exclude_empty_checkbox:
type: string
label: 'Preview exclude unselected checkboxes'
draft:
type: string
label: 'Allow users to save and finish the webform later.'
draft_multiple:
type: string
label: 'Allow users to save multiple drafts'
draft_auto_save:
type: string
label: 'Automatically save as draft when previewing and when there are validation errors.'
draft_saved_message:
type: text
label: 'Draft saved message'
draft_loaded_message:
type: text
label: 'Draft loaded message'
confirmation_type:
type: string
label: 'Confirmation type'
confirmation_url:
type: string
label: 'Confirmation URL'
confirmation_title:
type: label
label: 'Confirmation title'
confirmation_message:
type: text
label: 'Confirmation message'
confirmation_attributes:
type: ignore
label: 'Confirmation attributes'
confirmation_back:
type: string
label: 'Display back to webform link.'
confirmation_back_label:
type: text
label: 'Confirmation back link label'
confirmation_back_attributes:
type: ignore
label: 'Confirmation back link attributes'
confirmation_exclude_query:
type: string
label: 'Exclude query string from confirmation URL'
confirmation_exclude_token:
type: string
label: 'Exclude token from confirmation URL'
limit_total:
type: string
label: 'Limit total submissions'
limit_total_interval:
type: string
label: 'Limit total interval'
limit_total_message:
type: text
label: 'Limit total message'
limit_total_unique:
type: string
label: 'Limit total to one submission per source entity'
limit_user:
type: string
label: 'Limit user submissions'
limit_user_interval:
type: string
label: 'Limit user interval'
limit_user_message:
type: text
label: 'Limit user message'
limit_user_unique:
type: string
label: 'Limit user to one submission per source entity'
entity_limit_total:
type: string
label: 'Entity limit total submissions'
entity_limit_total_interval:
type: string
label: 'Entity limit total interval'
entity_limit_user:
type: string
label: 'Entity limit user submissions'
entity_limit_user_interval:
type: string
label: 'Entity limit user interval'
purge:
type: string
label: 'Default purging'
purge_days:
type: string
label: 'Default days to retain submissions'
results_disabled:
type: string
label: 'Results disabled'
results_disabled_ignore:
type: string
label: 'Ignore disabled results warning'
token_update:
type: string
label: 'Allow updates using token'

View file

@ -0,0 +1,555 @@
webform.settings:
type: config_object
label: 'Webform settings'
mapping:
settings:
type: mapping
label: 'Webform default settings'
mapping:
default_status:
type: string
label: 'Default status'
default_page_base_path:
type: string
label: 'Default base path'
default_submit_button_label:
type: label
label: 'Default submit button label'
default_reset_button_label:
type: label
label: 'Default reset button label'
default_form_submit_once:
type: boolean
label: 'Prevent duplicate submissions'
default_form_open_message:
type: text
label: 'Default form open message'
default_form_close_message:
type: text
label: 'Default form close message'
default_form_exception_message:
type: text
label: 'Default form exception message'
default_form_confidential_message:
type: text
label: 'Default form confidential message'
default_form_access_denied_message:
type: text
label: 'Default form access denied message'
default_form_novalidate:
type: boolean
label: 'Disable client-side validation'
default_form_disable_inline_errors:
type: boolean
label: 'Disable inline form errors'
default_form_required:
type: boolean
label: 'Display required indicator'
default_form_required_label:
type: label
label: 'Display required indicator label'
default_form_unsaved:
type: boolean
label: 'Warn users about unsaved changes'
default_form_disable_back:
type: boolean
label: 'Disable back button'
default_form_submit_back:
type: boolean
label: 'Submit previous wizard page when browser back button is clicked'
default_form_details_toggle:
type: boolean
label: 'Display collapse/expand all details link'
default_form_file_limit:
type: string
label: 'Default file upload limit per form'
default_wizard_prev_button_label:
type: label
label: 'Default wizard previous page button label'
default_wizard_next_button_label:
type: label
label: 'Default wizard next page button label'
default_wizard_start_label:
type: label
label: 'Default wizard start label'
default_wizard_confirmation_label:
type: label
label: 'Default wizard confirmation label'
default_preview_next_button_label:
type: label
label: 'Default preview button label'
default_preview_prev_button_label:
type: label
label: 'Default preview previous page button label'
default_preview_label:
type: text
label: 'Default preview label'
default_preview_title:
type: text
label: 'Default preview page title'
default_preview_message:
type: text
label: 'Default preview message'
default_draft_button_label:
type: label
label: 'Default draft button label'
default_draft_saved_message:
type: text
label: 'Default draft save message'
default_draft_loaded_message:
type: text
label: 'Default draft load message'
default_confirmation_message:
type: text
label: 'Default confirmation message'
default_confirmation_back_label:
type: text
label: 'Default confirmation back label'
default_limit_total_message:
type: text
label: 'Default limit total message'
default_limit_user_message:
type: text
label: 'Default limit user message'
default_submission_label:
type: label
label: 'Default submission label'
default_submission_log:
type: boolean
label: 'Default submission logging'
default_submission_views:
type: sequence
label: 'Default submission views'
sequence:
type: mapping
label: 'Submission view'
mapping:
title:
type: text
label: Title
view:
type: string
label: 'View name / Display ID'
global_routes:
type: sequence
label: 'Apply to global'
sequence:
type: string
label: Route
webform_routes:
type: sequence
label: 'Apply to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Apply to node'
sequence:
type: string
label: Route
default_submission_views_replace:
type: mapping
label: 'Default submission view replace'
mapping:
global_routes:
type: sequence
label: 'Replace to global'
sequence:
type: string
label: Route
webform_routes:
type: sequence
label: 'Replace to webform'
sequence:
type: string
label: Route
node_routes:
type: sequence
label: 'Replace to node'
sequence:
type: string
label: Route
default_submission_access_denied_message:
type: text
label: 'Default submission access denied message'
default_submission_exception_message:
type: text
label: 'Default submission exception message'
default_submission_locked_message:
type: text
label: 'Default submission locked message'
default_previous_submission_message:
type: text
label: 'Default previous submission message'
default_previous_submissions_message:
type: text
label: 'Default previous submissions message'
default_autofill_message:
type: text
label: 'Default submission autofill message'
form_classes:
type: string
label: 'Form CSS classes '
button_classes:
type: string
label: 'Button CSS classes'
preview_classes:
type: string
label: 'Preview CSS classes'
confirmation_classes:
type: string
label: 'Confirmation CSS classes'
confirmation_back_classes:
type: string
label: 'Confirmation back link CSS classes'
dialog:
type: boolean
label: 'Enable webform dialog support'
dialog_options:
type: sequence
label: 'Preset dialog options'
sequence:
type: mapping
label: 'Dialog options'
mapping:
name:
type: string
label: 'Dialog name'
title:
type: label
label: 'Dialog title'
width:
type: integer
label: 'Dialog width'
height:
type: integer
label: 'Dialog height'
assets:
type: mapping
label: 'Global Assets (CSS/JavaScript)'
mapping:
css:
type: string
label: 'CSS (Cascading Style Sheets)'
javascript:
type: string
label: JavaScript
element:
type: mapping
label: 'Element default settings'
mapping:
empty_message:
type: label
label: 'Empty element message/placeholder'
allowed_tags:
type: string
label: 'Allowed tags'
wrapper_classes:
type: string
label: 'Wrapper CSS classes'
classes:
type: string
label: 'Element CSS classes'
horizontal_rule_classes:
type: string
label: 'Horizontal rule CSS classes'
default_icheck:
type: string
label: 'Default iCheck style'
default_description_display:
type: string
label: 'Default title display'
default_more_title:
type: label
label: 'Default more title'
default_section_title_tag:
type: label
label: 'Default section title tag'
default_empty_option:
type: boolean
label: 'Default empty option'
default_empty_option_required:
type: label
label: 'Default empty option required label'
default_empty_option_optional:
type: label
label: 'Default empty option optional label'
default_google_maps_api_key:
type: string
label: 'Default Google Maps API key'
default_algolia_places_app_id:
type: string
label: 'Default Algolia application id'
default_algolia_places_api_key:
type: string
label: 'Default Algolia API key'
excluded_elements:
type: ignore
label: 'Excluded types'
html_editor:
type: mapping
label: 'HTML editor settings'
mapping:
disabled:
type: boolean
label: 'Disable HTML editor'
element_format:
type: string
label: 'Element text format'
mail_format:
type: string
label: 'Mail text format'
tidy:
type: boolean
label: 'Tidy HTML markup'
make_unused_managed_files_temporary:
type: boolean
label: 'Controls if unused HTML editor files should be marked temporary'
file:
type: mapping
label: 'File upload default settings'
mapping:
file_public:
type: boolean
label: 'Allow files to be uploaded to public file system.'
file_private_redirect:
type: boolean
label: 'Redirect anonymous users to login when attempting to access private file uploads.'
file_private_redirect_message:
type: text
label: 'Login message when access denied to private file uploads.'
default_max_filesize:
type: string
label: 'Default maximum file upload size'
default_managed_file_extensions:
type: string
label: 'Default allowed managed file extensions'
default_image_file_extensions:
type: string
label: 'Default allowed image file extensions'
default_video_file_extensions:
type: string
label: 'Default allowed video file extensions'
default_audio_file_extensions:
type: string
label: 'Default allowed audio file extensions'
default_document_file_extensions:
type: string
label: 'Default allowed document file extensions'
make_unused_managed_files_temporary:
type: boolean
label: 'Controls if unused webform submission files should be marked temporary'
delete_temporary_managed_files:
type: boolean
label: 'Immediately deleted temporary managed webform submission files'
format:
type: ignore
label: 'Format default settings'
mail:
type: mapping
label: 'Email default settings'
mapping:
default_to_mail:
type: email
label: 'Default to email'
default_from_mail:
type: email
label: 'Default from email'
default_from_name:
type: label
label: 'Default from name'
default_reply_to:
type: label
label: 'Default reply to email'
default_return_path:
type: label
label: 'Default return path email'
default_sender_mail:
type: email
label: 'Default sender email'
default_sender_name:
type: label
label: 'Default sender name'
default_subject:
type: label
label: 'Default email subject'
default_body_text:
type: text
label: 'Default email body (Plain text)'
default_body_html:
type: text
label: 'Default email body (HTML)'
roles:
type: sequence
label: Roles
sequence:
type: string
label: Role
export:
type: mapping
label: 'Export default settings'
mapping:
temp_directory:
type: string
label: 'Export temporary directory'
exporter:
type: string
label: 'Results exporter'
delimiter:
type: string
label: 'Delimiter text format'
multiple_delimiter:
type: string
label: 'Element multiple values delimiter'
excel:
type: boolean
label: 'Open HTML table in Excel'
file_name:
type: string
label: 'File name'
header_format:
type: string
label: 'Column header format'
header_prefix:
type: boolean
label: 'Column header prefix'
header_prefix_key_delimiter:
type: string
label: 'Column header prefix key delimiter'
header_prefix_label_delimiter:
type: string
label: 'Column header prefix label delimiter'
entity_reference_items:
type: sequence
label: 'Entity reference format items'
sequence:
type: string
label: 'Entity reference format item'
options_single_format:
type: string
label: 'Options single value format'
options_multiple_format:
type: string
label: 'Options multiple values format'
options_item_format:
type: string
label: 'Options item format'
likert_answers_format:
type: string
label: 'Likert answers format'
signature_format:
type: string
label: 'Signature format'
composite_element_item_format:
type: string
label: 'Composite element item format'
excluded_exporters:
type: ignore
label: 'Excluded submission exporters'
handler:
type: mapping
label: 'Handler settings'
mapping:
excluded_handlers:
type: ignore
label: 'Excluded submission handlers'
batch:
type: mapping
label: 'Batch settings'
mapping:
default_batch_export_size:
type: integer
label: 'Batch export size'
default_batch_update_size:
type: integer
label: 'Batch update size'
default_batch_delete_size:
type: integer
label: 'Batch delete size'
default_batch_email_size:
type: integer
label: 'Batch email size'
purge:
type: mapping
label: 'Purging settings'
mapping:
cron_size:
type: integer
label: 'Amount of submissions to process'
test:
type: mapping
label: 'Test settings'
mapping:
types:
type: text
label: 'Test types'
names:
type: text
label: 'Test names'
ui:
type: mapping
label: 'User interface settings'
mapping:
video_display:
type: string
label: 'Video display'
help_disabled:
type: boolean
label: 'Disable help'
dialog_disabled:
type: boolean
label: 'Disable dialogs'
contribute_disabled:
type: boolean
label: 'Disable contribute'
offcanvas_disabled:
type: boolean
label: 'Disable system tray'
promotions_disabled:
type: boolean
label: 'Disable promotions'
details_save:
type: boolean
label: 'Save details open/close state'
description_help:
type: boolean
label: 'Display element description as help text (tooltip)'
libraries:
type: mapping
label: 'Library settings'
mapping:
excluded_libraries:
type: ignore
label: 'Excluded libraries'
cdn:
type: boolean
label: 'Use CDN'
requirements:
type: mapping
label: Requirements
mapping:
cdn:
type: boolean
label: 'Check if CDN is being used for external libraries'
bootstrap:
type: boolean
label: 'Check if Webform Bootstrap Integration module is installed when using the Bootstrap theme'
spam:
type: boolean
label: 'Check if SPAM protection module is installed'
contribute:
type: mapping
label: Contribute
mapping:
account_type:
type: string
label: 'Account type'
account_id:
type: string
label: 'Account ID'
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: 'webform.admin_settings.third_party.[%key]'

View file

@ -0,0 +1,20 @@
webform.admin_settings.third_party.honeypot:
type: mapping
label: 'Webform test third party settings'
mapping:
honeypot:
type: boolean
label: 'Protect all webforms with Honeypot'
time_restriction:
type: boolean
label: 'Add time limit to all webforms'
webform.settings.third_party.honeypot:
type: mapping
label: 'Webform test third party settings'
mapping:
honeypot:
type: boolean
label: 'Protect all webforms with Honeypot'
time_restriction:
type: boolean
label: 'Add time limit to all webforms'

View file

@ -0,0 +1,3 @@
views.field.webform_submission_bulk_form:
type: views_field_bulk_form
label: 'Webform submission bulk form'

View file

@ -0,0 +1,16 @@
/**
* @file
* Addons styles
*/
.webform-addons-summary {
float: left;
margin: 0 0 0.5em 0;
}
/**
* Projects.
*/
.webform-addons-projects details {
background-color: #f8f8f8;
}

View file

@ -0,0 +1,18 @@
/**
* @file
* Admin composite element styles.
*/
.webform-admin-composite-elements table tr .form-item {
margin-bottom: 5px;
}
.webform-admin-composite-elements table .form-text,
.webform-admin-composite-elements table .form-textarea,
.webform-admin-composite-elements table .form-select {
width: 100%;
}
.webform-admin-composite-elements table .form-type-checkbox.form-no-label {
text-align: center;
}

View file

@ -0,0 +1,233 @@
/**
* @file
* Admin styles
*/
/**
* Local actions.
*/
.webform-form .action-links {
margin-bottom: 0;
}
/**
* Submission.
*/
.webform-submission-information .button {
font-size: 1em;
}
/**
* Webform setting button displays a gear icon.
* @see /admin/structure/webform/manage/contact/results/submissions
*/
.button.button-webform-table-setting {
margin: 0 0 1em 0;
}
.button.button-webform-table-setting:before {
content: '☷';
font-size: 1.2em;
}
/**
* Filter webform and submissions.
* @see /admin/structure/webform
* @see /admin/structure/webform/templates
*/
.webform-filter-form .form-submit {
margin-left: 0;
margin-right: 5px;
}
.webform-filter-form .form-item {
margin-right: 5px;
}
.webform-filter-form .form-item input {
max-width: 300px;
}
.webform-filter-form .form-item select {
max-width: 200px;
}
@media screen and (max-width: 600px) {
.webform-filter-form .form-item {
display: block;
margin-right: 0;
}
.webform-filter-form .form-item input,
.webform-filter-form .form-item select {
max-width: initial;
}
}
/**
* Results table.
* @see /admin/structure/webform/submissions/manage
* @see /admin/structure/webform/manage/contact/results/submissions
*/
.webform-results-table th,
.webform-results-table td {
max-width: 400px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* Make sure 'Operations' is never cut-off. */
.webform-results-table td.webform-dropbutton-wrapper {
overflow: visible;
max-width: inherit;
white-space: normal;
}
th.webform-results-table__icon,
td.webform-results-table__icon {
padding-left: 0;
padding-right: 0;
}
/* Hide throbber, which breaks icon alignment */
.webform-results-table__icon .ajax-progress-throbber {
display: none;
}
/* Entire row is clickable. @see Drupal.behaviors.webformTableRowHref */
.webform-results-table tbody tr {
cursor: pointer;
cursor: hand;
}
/* Limit image height to 60px */
.webform-results-table td img {
max-height: 60px;
width: auto;
}
/**
* Results icons (notes, sticky, and locked)
*/
.webform-icon {
display: inline-block;
height: 16px;
width: 16px;
text-align: center;
background-color: transparent;
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
vertical-align: -2px;
}
/* Notes */
.webform-icon-notes--on {
background-image: url(../images/icons/notes-on.svg);
}
.webform-icon-notes--off {
background-image: url(../images/icons/notes-off.svg);
}
.webform-icon-notes--link {
background-image: url(../images/icons/notes-link.svg);
}
a:hover .webform-icon-notes--on,
a:focus .webform-icon-notes--on,
a:hover .webform-icon-notes--off,
a:focus .webform-icon-notes--off {
background-image: url(../images/icons/notes-link.svg);
}
/* Sticky */
.webform-icon-sticky {
background: transparent url(../images/icons/sticky.svg) no-repeat left top;
display: inline-block;
background-size: 64px 16px;
}
.webform-icon-sticky--off:hover,
.webform-icon-sticky--off:focus {
background-position: -16px top;
}
.webform-icon-sticky--on {
background-position: -32px top;
}
.webform-icon-sticky--on:focus,
.webform-icon-sticky--on:hover {
background-position: -48px top;
}
.webform-icon-sticky--link {
background: transparent url(../images/icons/sticky-link.svg) no-repeat left top;
}
/* Locked */
.webform-icon-locked--on {
background-image: url(../images/icons/locked-on.svg);
}
.webform-icon-locked--off {
background-image: url(../images/icons/locked-off.svg);
}
.webform-icon-locked--link {
background-image: url(../images/icons/locked-on-link.svg);
}
a:hover .webform-icon-locked--on,
a:focus .webform-icon-locked--on {
background-image: url(../images/icons/locked-off-link.svg);
}
a:hover .webform-icon-locked--off,
a:focus .webform-icon-locked--off {
background-image: url(../images/icons/locked-on-link.svg);
}
/**
* Submission view table.
* @see /admin/structure/webform/manage/{webform_id}/submission/{webform_submission_id}/table
*/
.webform-submission-table th {
width: 33%;
min-width: 100px;
}
.webform-submission-table td {
width: 66%;
}
.webform-horizontal-rule {
margin: .5em 0;
}
/**
* Handlers table.
* @see /admin/structure/webform/manage/{webform_id}/handlers
*/
.webform-handlers-table .ajax-progress-throbber {
display: none;
}
@media screen and (max-width: 1280px) {
.js-off-canvas-dialog-open .webform-handlers-table th,
.js-off-canvas-dialog-open .webform-handlers-table td {
display: none;
}
.js-off-canvas-dialog-open .webform-handlers-table th:first-child,
.js-off-canvas-dialog-open .webform-handlers-table th:last-child,
.js-off-canvas-dialog-open .webform-handlers-table td:first-child,
.js-off-canvas-dialog-open .webform-handlers-table td:last-child {
display: table-cell;
}
}

View file

@ -0,0 +1,34 @@
/**
* @file
* Dropbutton styles.
*
* @see /admin/structure/webform
* @see /admin/structure/webform/manage/{webform}/results/submissions
* @see /admin/structure/webform/manage/{webform}
* @see /admin/structure/webform/manage/{webform}/handlers
*/
/**
* Fix webform submission views dropdown display.
*/
.js .webform-submission-views-dropbutton .dropbutton-wrapper {
display: block;
position: relative;
min-height: 2em;
}
.js .webform-submission-views-dropbutton .dropbutton-widget {
position: absolute;
}
/**
* Hide dropbutton to prevent FOUC (flash of unstyled content).
*/
.webform-dropbutton .dropbutton-wrapper {
visibility: hidden;
min-width: 100px;
}
.webform-dropbutton .dropbutton-wrapper .dropbutton-widget {
background-color: transparent;
}

View file

@ -0,0 +1,13 @@
/**
* @file
* Admin settings styles
*/
/**
* Dialog test button.
* @see /admin/structure/webform/manage/{webform}/settings
*/
.webform-settings-form .webform-dialog.button {
width: 100%;
white-space: nowrap;
}

View file

@ -0,0 +1,29 @@
/**
* @file
* Tabledrag styles.
*/
.tabledrag-toggle-weight-wrapper {
position: relative;
}
.tabledrag-toggle-weight-wrapper button {
position: absolute;
top: -2.5em;
right: 0;
}
@media screen and (max-width: 960px) {
.tabledrag-toggle-weight-wrapper {
float: right;
}
.tabledrag-toggle-weight-wrapper button {
position: static;
top: inherit;
right: inherit;
}
}
.webform-tabledrag-hide {
display: none; !important;
}

View file

@ -0,0 +1,12 @@
/**
* @file
* Translation styles.
*/
/**
* Remove margin in left column in translate tab to ensure form items line up.
* @see /admin/structure/webform/manage/contact/translate/es/add
*/
.webform-translation-source .form-item {
margin: 0;
}

View file

@ -0,0 +1,55 @@
/**
* @file
* Ajax styles
*/
/**
* Make sure full screen progress indicator is in front of .ui-dialog.
*
* @see core/themes/seven/css/components/dialog.css
*/
.ajax-progress.ajax-progress-fullscreen {
z-index: 1261;
}
/**
* Floating Ajax message container.
*
* Display status message in a floating container at the bottom of the page.
* NOTE: It is disiplay to display message floating at top because of the floating
* admin toolbar.
*
* @see Drupal.AjaxCommands.prototype.webformInsert
*/
.webform-ajax-messages {
position: fixed;
bottom: 0;
width: 100%;
}
.webform-ajax-messages .messages {
border-width: 10px 0 0 0;
margin: 0;
font-weight: bold;
}
.webform-ajax-messages .messages + .messages {
margin: 0;
}
/**
* Always position webform modal dialog at the top of the page.
*
* This prevents the dialogs position from jumping as its content is refreshed
* and when the window is resized.
*
* @see core/misc/dialog/dialog.position.js
* @see \Drupal\webform\Utility\WebformDialogHelper::getModalDialogAttributes
*/
.webform-ui-dialog {
top: 50px !important;
}
.toolbar-tray-open.toolbar-horizontal .webform-ui-dialog {
top: 90px !important;
}

View file

@ -0,0 +1,8 @@
/**
* @file
* This an empty placeholder file that is replaced with custom CSS.
*
* @see webform_css_alter()
* @see _webform_asset_alter()
* @see \Drupal\webform\WebformSubmissionForm::form
*/

View file

@ -0,0 +1,13 @@
/**
* @file
* Submission limit block styles.
*/
/**
* Disable progress bar animation.
*/
.block-webform-submission-limit-block .progress__bar {
-webkit-animation: none;
-moz-animation: none;
-webkit-transition: none;
}

View file

@ -0,0 +1,24 @@
/**
* @file
* Composite element styles.
*/
/**
* Remove extra margin are composite element which already contain form elements with margins
*/
fieldset.webform-composite-hidden-title {
margin-top: 1em;
margin-bottom: 1em;
}
fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-item:first-child,
fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-wrapper > .form-item:first-child,
fieldset.webform-composite-hidden-title .fieldset-wrapper > .webform-flexbox:first-child {
margin-top: 0;
}
fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-item:last-child,
fieldset.webform-composite-hidden-title .fieldset-wrapper > .form-wrapper > .form-item:last-child,
fieldset.webform-composite-hidden-title .fieldset-wrapper > .webform-flexbox:last-child {
margin-bottom: 0;
}

View file

@ -0,0 +1,22 @@
/**
* @file
* Composite telephone element styles.
*/
.form-type-webform-telephone:after {
content: "";
display: table;
clear: both;
}
.form-type-webform-telephone .form-item,
.form-type-webform-telephone .form-item label {
float: left;
margin: 0 10px 0 0;
vertical-align: middle;
}
.form-type-webform-telephone .form-item label {
line-height: 2em;
height: 2em;
}

View file

@ -0,0 +1,11 @@
/**
* @file
* Confirmation styles.
*
* @see /webform/contact/confirmation
*/
.webform-confirmation__message,
.webform-confirmation__back {
margin: 0 0 1em 0;
}

View file

@ -0,0 +1,148 @@
/**
* @file
* Contribute styles.
*/
/**
* Content.
*/
.webform-contribute-content {
max-width: 1000px;
}
/**
* Image.
*/
img.webform-contribute-image {
width: 100%;
}
/**
* Quote.
*/
blockquote.webform-contribute-quote {
margin: 2em 40px;
font-size: 1.385em;
font-weight: bold;
}
blockquote.webform-contribute-quote:before {
color: rgb(6, 120, 190);
content: "“";
float: left;
font-size: 3em;
margin: 0.2em 0 0 -0.6em;
}
/**
* Community Information.
* @see core/themes/seven/css/components/system-status-report-general-info.css
*/
.webform-contribute-community-info {
border: 1px solid #ccc;
border-radius: 3px;
margin-bottom: 25px;
}
.webform-contribute-community-info__header {
background-color: #f5f5f2;
padding: 10px;
margin: 0;
overflow: hidden;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
font-size: 14px;
text-transform: uppercase;
}
.webform-contribute-community-info__item {
background: #fcfcfa;
border-top: 1px solid #ccc;
padding: 10px 10px 20px;
box-sizing: border-box;
overflow-x: auto;
}
.webform-contribute-community-info__item-icon {
display: inline-block;
height: 55px;
width: 55px;
vertical-align: top;
}
.webform-contribute-community-info__item-icon:before {
content: "";
background-size: 45px;
background-position: 50% center;
background-repeat: no-repeat;
width: 100%;
height: 100%;
display: block;
}
.webform-contribute-community-info__item-icon--account:before {
background-image: url(../images/contribute/icons/cccccc/account.svg);
}
.webform-contribute-community-info__item-icon--membership:before {
background-image: url(../images/contribute/icons/cccccc/membership.svg);
}
.webform-contribute-community-info__item-icon--contribution:before {
background-image: url(../images/contribute/icons/cccccc/contribution.svg);
}
.webform-contribute-community-info__item-details {
box-sizing: border-box;
display: inline-block;
width: calc(100% - 60px);
padding-left: 10px; /* LTR */
position: relative;
}
[dir="rtl"] .webform-contribute-community-info__item-details {
padding-right: 10px;
padding-left: 0;
}
.webform-contribute-community-info__item-details .button {
margin: 1em 0 0 0;
}
@media screen and (min-width: 48em) {
.webform-contribute-community-info__items {
display: flex;
flex-wrap: wrap;
overflow-x: hidden;
}
.webform-contribute-community-info__item {
flex: 1;
flex-basis: 33%;
width: 33%;
}
.webform-contribute-community-info__item:nth-child(2),
.webform-contribute-community-info__item:nth-child(3) {
border-left: 1px solid #ccc; /* LTR */
}
[dir="rtl"] .webform-contribute-community-info__item:nth-child(1),
[dir="rtl"] .webform-contribute-community-info__item:nth-child(2) {
border-left: 1px solid #ccc;
}
}
@media screen and (min-width: 60em) {
.webform-contribute-community-info__item-icon {
width: 55px;
height: 55px;
}
.webform-contribute-community-info__item-icon:before {
background-size: 45px;
}
}
@media screen and (max-width: 48em) {
.webform-contribute-community-info__header {
display: none;
}
.webform-contribute-community-info {
border-top: 0;
margin-top: 25px;
}
}

View file

@ -0,0 +1,10 @@
/**
* @file
* Checkbox value element styles.
*
* @see /webform/test_element_checkbox_value
*/
.form-item.form-type-webform-checkbox-value {
margin: 0;
}

View file

@ -0,0 +1,32 @@
/**
* @file
* CodeMirror styles.
*
* @see /webform/test_element_codemirror/test
*/
/* Clean up CodeMirror editor */
form .CodeMirror {
border: 1px solid #ccc;
font-size: 13px;
height: auto;
}
form .CodeMirror-scroll {
overflow-y: hidden;
overflow-x: auto;
}
form .CodeMirror .CodeMirror-placeholder {
color: #999;
}
/* Clean up CodeMirror viewer */
pre.webform-codemirror-runmode {
border: 1px solid #ccc;
font-size: 13px;
overflow: auto;
padding: .5em 1em;
margin: 0;
}

View file

@ -0,0 +1,44 @@
/**
* @file
* Element color styles
*
* @see \Drupal\webform\Plugin\WebformElement\Color
* @see webform-element-color-value-swatch.html.twig
* @see http://stackoverflow.com/questions/11167281/webkit-css-to-control-the-box-around-the-color-in-an-elementtype-color
*/
.webform-submission-form input.form-color {
margin: inherit;
padding: 0;
border: 1px solid #ccc;
}
.webform-submission-form input.form-color::-webkit-color-swatch-wrapper {
padding: 0;
}
.webform-submission-form input.form-color::-webkit-color-swatch {
border: none;
}
input.form-color.form-color-small {
width: 16px;
height: 16px;
font-size: smaller;
}
input.form-color.form-color-medium {
width: 24px;
height: 24px;
}
input.form-color.form-color-large {
width: 36px;
height: 36px;
}
input.form-color.form-color-output {
width: 6em;
padding: 0 .5em;
border-left: 0;
}

View file

@ -0,0 +1,22 @@
/**
* @file
* Element composite (builder) styles.
*/
.form-type-webform-element-composite table tr .form-item {
margin-bottom: 5px;
}
.form-type-webform-element-composite table .form-text,
.form-type-webform-element-composite table .form-textarea,
.form-type-webform-element-composite table .form-select {
width: 100%;
}
.form-type-webform-element-composite table .form-type-checkbox.form-no-label {
text-align: center;
}
.form-type-webform-element-composite .description /* Hide options description */ {
display: none;
}

View file

@ -0,0 +1,8 @@
/**
* @file
* Element computed styles.
*/
.webform-computed-loading {
background-color: #ffffaa;
}

View file

@ -0,0 +1,17 @@
/**
* @file
* Element counter styles.
*/
input.webform-counter-warning,
input.form-text.webform-counter-warning,
textarea.webform-counter-warning,
textarea.form-textarea.webform-counter-warning {
border-color: #e09600;
background: #fdf8ed;
}
.text-count-wrapper.webform-counter-warning {
color: #734c00;
font-weight: bold;
}

View file

@ -0,0 +1,8 @@
/**
* @file
* Element date styles.
*/
.ui-datepicker-trigger {
margin: 0 2px;
}

View file

@ -0,0 +1,8 @@
/**
* @file
* Element datelist styles.
*/
.form-type-datelist input[type="text"] {
max-width: 5em;
}

View file

@ -0,0 +1,52 @@
/**
* @file
* Element details toggle all styles.
*
* @see /webform/test_form_details_toggle
*/
.webform-details-toggle-state-wrapper {
text-align: right; /* LTR */
}
[dir="rtl"] .webform-details-toggle-state-wrapper {
text-align: left;
}
.webform-details-toggle-state-wrapper {
margin-top: 1em;
}
.webform-details-toggle-state-wrapper + details {
margin-top: 0;
}
.webform-details-toggle-state {
background: transparent;
border: 0;
cursor: pointer;
margin-top: 0;
padding: 0;
font-size: 1em;
}
/* Tweak details toggle state. */
.webform-details-toggle-state {
color: #337ab7;
text-decoration: none;
}
.webform-details-toggle-state:hover,
.webform-details-toggle-statelink:focus {
text-decoration: underline;
}
/* Float toogle to the right of webform tabs */
.webform-tabs .webform-details-toggle-state-wrapper {
float: right;
}
@media screen and (max-width: 600px) {
.webform-tabs .webform-details-toggle-state-wrapper {
float: none;
}
}

View file

@ -0,0 +1,10 @@
/**
* @file
* File upload button styles.
*
* @see https://stackoverflow.com/questions/21842274/cross-browser-custom-styling-for-file-upload-button
*/
.webform-file-button-input {
position: fixed;
top: -1000px;
}

View file

@ -0,0 +1,167 @@
/**
* @file
* Flexbox styles.
*
* @see /webform/example_layout_flexbox
* @see /webform/test_element_flexbox_flex
*/
@media (min-width: 768px) {
.webform-flexbox {
display: -webkit-flex;
display: flex;
margin: 1em -.5em;
}
.webform-flexbox .webform-flexbox {
margin: 1em 0;
}
.webform-flexbox--flex-start {
-webkit-align-items: flex-start;
align-items: flex-start;
}
.webform-flexbox--flex-end {
-webkit-align-items: flex-end;
align-items: flex-end;
}
.webform-flexbox--center {
-webkit-align-items: center;
align-items: center;
}
.webform-flex {
min-width: 0;
}
.webform-flex--container {
margin: 0 .5em;
}
.webform-flex--container > .form-item {
margin: 0;
}
.webform-flex--container > .form-item > input,
.webform-flex--container > .form-item > select {
width: 100%;
}
.container-inline .webform-flex--container > .form-item > input,
.container-inline .webform-flex--container > .form-item > select {
width: inherit;
}
.webform-flex--container > .webform-has-field-prefix > input,
.webform-flex--container > .webform-has-field-suffix > input,
.webform-flex--container > .webform-has-field-prefix > select,
.webform-flex--container > .webform-has-field-suffix > select {
width: 85%;
}
.webform-flex--container > .webform-has-field-prefix.webform-flex.webform-has-field-suffix > input,
.webform-flex--container > .webform-has-field-prefix.webform-flex.webform-has-field-suffix > select {
width: 70%;
}
.webform-flex--1 {
-webkit-flex: 1;
flex: 1;
}
.webform-flex--2 {
-webkit-flex: 2;
flex: 2;
}
.webform-flex--3 {
-webkit-flex: 3;
flex: 3;
}
.webform-flex--4 {
-webkit-flex: 4;
flex: 4;
}
.webform-flex--5 {
-webkit-flex: 5;
flex: 5;
}
.webform-flex--6 {
-webkit-flex: 6;
flex: 6;
}
.webform-flex--7 {
-webkit-flex: 7;
flex: 7;
}
.webform-flex--8 {
-webkit-flex: 8;
flex: 8;
}
.webform-flex--9 {
-webkit-flex: 9;
flex: 9;
}
.webform-flex--10 {
-webkit-flex: 10;
flex: 10;
}
.webform-flex--11 {
-webkit-flex: 11;
flex: 11;
}
.webform-flex--12 {
-webkit-flex: 12;
flex: 12;
}
/**
* Select other.
*/
.webform-flex--container > .form-type-webform-select-other select {
width: 100%;
}
.webform-flex--container > .form-type-webform-select-other .form-item {
margin: 0;
}
.webform-flex--container > .form-type-webform-select-other .form-item + .form-item {
margin-top: .5em;
}
/**
* Range.
*/
.webform-flex--container > .form-type-range-output > .form-range-output {
width: 66%;
}
/**
* Composite.
*/
.form-composite > .webform-flexbox {
margin: 1em -.5em;
}
/**
* Radios/checkboxes.
*/
.webform-flex--container .form-type-checkbox,
.webform-flex--container .form-type-radio {
white-space: nowrap;
}
}

View file

@ -0,0 +1,40 @@
/**
* @file
* Element help styles.
*/
.webform-element-help {
display: inline-block;
box-sizing: content-box;
border: 2px solid #bbb;
background: #bbb;
line-height: 14px;
height: 14px;
width: 14px;
font-size: 12px;
color: #fff;
border-radius: 50%;
font-weight: bold;
text-align: center;
vertical-align: baseline;
margin: 0 .3em;
}
.webform-element-help:focus,
.webform-element-help:active,
.webform-element-help:hover {
border: 2px solid #0074bd;
background: #0074bd;
color: #fff;
cursor: help;
}
.ui-tooltip.webform-element-help--tooltip {
max-width: 400px;
}
.webform-element-help--title {
font-weight: bold;
font-size: 1.1em;
margin: 0 0 .2em 0;
}

View file

@ -0,0 +1,116 @@
/**
* @file
* Element horizontal rule styles.
*
* @see https://css-tricks.com/examples/hrs/
*/
hr.webform-horizontal-rule {
margin: 1em 0;
}
/* Dashed */
hr.webform-horizontal-rule--dashed {
border: 0;
border-bottom: 1px dashed #666;
background-color: transparent;
}
hr.webform-horizontal-rule--dashed.webform-horizontal-rule--medium {
border-width: 3px;
}
hr.webform-horizontal-rule--dashed.webform-horizontal-rule--thick {
border-width: 6px;
}
/* Dotted */
hr.webform-horizontal-rule--dotted {
border: 0;
border-bottom: 1px dotted #666;
background-color: transparent;
}
hr.webform-horizontal-rule--dotted.webform-horizontal-rule--medium {
border-width: 5px;
}
hr.webform-horizontal-rule--dotted.webform-horizontal-rule--thick {
border-width: 10px;
}
/* Flaired (by Tomas Theunissen) */
hr.webform-horizontal-rule--flaired {
overflow: visible; /* For IE */
height: 30px;
border-style: solid;
border-color: #666;
border-width: 1px 0 0 0;
border-radius: 20px;
}
hr.webform-horizontal-rule--flaired:before { /* Not really supposed to work, but does */
display: block;
content: "";
height: 30px;
margin-top: -31px;
border-style: solid;
border-color: #666;
border-width: 0 0 1px 0;
border-radius: 20px;
}
/* Glyph (by Harry Roberts) */
hr.webform-horizontal-rule--glyph {
overflow: visible; /* For IE */
padding: 0;
border: none;
border-top: medium double #666;
color: #666;
text-align: center;
}
hr.webform-horizontal-rule--glyph:after {
content: "§";
display: inline-block;
position: relative;
top: -0.7em;
font-size: 1.5em;
padding: 0 0.25em;
background: white;
}
/* Gradient */
hr.webform-horizontal-rule--gradient {
border: 0;
height: 1px;
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}
hr.webform-horizontal-rule--gradient.webform-horizontal-rule--medium {
height: 3px;
}
hr.webform-horizontal-rule--gradient.webform-horizontal-rule--thick {
height: 6px;
}
/* Dashed */
hr.webform-horizontal-rule--solid {
border: 0;
border-bottom: 1px solid #666;
}
hr.webform-horizontal-rule--solid.webform-horizontal-rule--medium {
border-width: 5px;
}
hr.webform-horizontal-rule--solid.webform-horizontal-rule--thick {
border-width: 10px;
}

View file

@ -0,0 +1,12 @@
/**
* @file
* HTML editor styles.
*
* @see /webform/test_element_html_editor
*/
/* Add html tag to make this selector more specific */
html .cke_reset_all .cke_dialog_body {
background-color: #f5f5f2;
border-radius: 5px;
}

View file

@ -0,0 +1,12 @@
/**
* @file
* iCheck element styles.
*/
/**
* Hide checkbox/radio as the page loads
*/
[data-webform-icheck] input[type="checkbox"],
[data-webform-icheck] input[type="radio"] {
opacity: 0;
}

View file

@ -0,0 +1,15 @@
/**
* @file
* Image file styles.
*
* @see /webform/test_element_media_file
*/
img.webform-image-file {
max-width: 100%;
height: auto;
}
.webform-image-file-modal img {
display: block;
}

View file

@ -0,0 +1,125 @@
/**
* @file
* Likert element styles.
*
* @see /webform/test_element_likert
*/
/**
* Answer column widths.
*/
[data-likert-answers-count="2"] th {
width: 30%;
}
[data-likert-answers-count="3"] th {
width: 20%;
}
[data-likert-answers-count="4"] th {
width: 15%;
}
[data-likert-answers-count="5"] th {
width: 12%;
}
[data-likert-answers-count="6"] th {
width: 10%;
}
[data-likert-answers-count="7"] th {
width: 8.57%;
}
[data-likert-answers-count="8"] th {
width: 7.5%;
}
[data-likert-answers-count="9"] th {
width: 6.66%;
}
[data-likert-answers-count="10"] th {
width: 6%;
}
/**
* Basic table formatting.
*/
.webform-likert-table-wrapper th,
.webform-likert-table-wrapper td {
text-align: center;
}
.webform-likert-table-wrapper th:first-child,
.webform-likert-table-wrapper td:first-child {
text-align: inherit;
width: 40%;
}
.webform-likert-table-wrapper td:first-child label {
display: block;
}
/**
* Mobile support to likert webform element that converts radios in table
* grid to inline vertical radios.
*/
@media (max-width: 768px) {
.form-type-webform-likert table.sticky-header {
display: none;
}
.form-type-webform-likert table {
border-collapse: collapse;
font-size: inherit;
}
.form-type-webform-likert thead {
display: none;
}
.form-type-webform-likert tr,
.form-type-webform-likert tr.odd {
border: 0;
background: transparent;
}
.form-type-webform-likert td {
display: block;
border: 0;
background: transparent;
padding: 0;
text-align: inherit;
}
.webform-likert-table[data-likert-answers-count] th,
.webform-likert-table[data-likert-answers-count] th:first-child,
.webform-likert-table td,
.webform-likert-table td:first-child {
width: 100%;
}
/**
* Show visually hidden radio title and description
* when Likert is displayed inline on mobile.
* @see \Drupal\webform\Element\WebformLikert::processWebformLikert
* @see core/modules/system/css/components/hidden.module.css
*/
.webform-likert-table .visually-hidden {
position: inherit !important;
clip: inherit;
overflow: inherit;
height: inherit;
width: inherit;
}
.webform-likert-label.visually-hidden {
display: inline;
}
.webform-likert-description.hidden {
display: block;
}
.webform-likert-help.hidden {
display: inline;
}
.form-type-webform-likert td:last-child {
margin-bottom: 1em;
}
}

View file

@ -0,0 +1,42 @@
/**
* @file
* Location geocomplete element styles.
*
* @see /webform/test_element_loc_geocomplete
*/
/**
* Map styles.
*/
.webform-location-geocomplete-map {
margin-top: 5px;
border: 1px solid #ccc;
width: 100%;
max-width: 600px;
display: block;
position: relative;
}
.webform-location-geocomplete-map:after {
padding-top: 56.25%; /* 16:9 ratio */
display: block;
content: '';
}
.webform-location-geocomplete-map--container {
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
}
/**
* Remove power by Google.
*
* @see http://stackoverflow.com/questions/12327651/how-to-remove-the-powered-by-google-logo-in-the-google-map-autocomplete-dropdo
*/
.pac-container:after {
background-image: none;
height: 0;
}

View file

@ -0,0 +1,16 @@
/**
* @file
* Location Algolia places element styles.
*
* @see https://community.algolia.com/places/documentation.html#css-classes
* @see /webform/test_element_loc_places
*/
.ap-input {
padding-left: 4px;
padding-top: 4px;
padding-bottom: 4px;
line-height: 2em;
height: 2em;
border-radius: unset;
}

View file

@ -0,0 +1,30 @@
/**
* @file
* Managed file styles.
*/
.webform-managed-file-preview-wrapper + input[type="submit"],
.webform-managed-file-preview-wrapper + button,
.webform-managed-file-preview + input[type="submit"],
.webform-managed-file-preview + button {
margin: .5em 0;
}
.webform-managed-file-preview-wrapper,
.webform-managed-file-preview-wrapper.form-item {
display: table;
border: 1px solid #ccc;
padding: .5em;
}
.webform-managed-file-preview,
label.webform-managed-file-preview,
label.option.webform-managed-file-preview {
display: block;
}
.webform-managed-file-placeholder,
.webform-managed-file-preview,
.webform-file-button {
margin: .5em 0;
}

View file

@ -0,0 +1,74 @@
/**
* @file
* Messages element styles.
*
* @see /webform/test_element_message
*/
/**
* Add styles to default (info) message,
*/
.messages.messages--info {
color: #31708f;
background-color: #d9edf7;
background-image: url(../images/icons/info.svg);
background-repeat: no-repeat;
background-position: 10px 17px;
border-color: #0074bd #0074bd #0074bd transparent; /* LTR */
box-shadow: -8px 0 0 #0074bd; /* LTR */
}
[dir="rtl"] .messages.messages--info {
border-color: #0074bd transparent #0074bd #0074bd;
box-shadow: 8px 0 0 #0074bd;
margin-left: 0;
}
/**
* Webform message close container.
*/
.webform-message--close .messages {
position: relative;
}
/**
* Webform message close link.
*/
.webform-message--close .messages {
padding-right: 35px;
}
.webform-message--close .webform-message__link {
display: none;
}
html.js .webform-message--close .webform-message__link {
display: block;
position: absolute;
top: 11px;
right: 10px;
line-height: 24px;
font-size: 24px;
}
.webform-message__link {
color: inherit;
opacity: 0.33;
}
.webform-message__link:link {
border-bottom: none;
text-decoration: none;
}
.webform-message__link:hover,
.webform-message__link:focus,
.webform-message__link:active {
border-bottom: none;
text-decoration: none;
color: inherit;
opacity: 1;
}
html.js .js-webform-message--close-storage {
display: none;
}

View file

@ -0,0 +1,25 @@
/**
* @file
* Element more styles.
*/
.webform-element-more--link {
display: none;
}
.webform-element-more--link:before {
content: '► ';
font-size: .8em;
}
.webform-element-more.is-open .webform-element-more--link:before {
content: '▼ ';
}
html.js .webform-element-more--link {
display: block;
}
html.js .webform-element-more--content {
display: none;
}

View file

@ -0,0 +1,184 @@
/**
* @file
* Multiple element styles.
*
* @see /webform/test_element_multiple
*/
.form-type-webform-multiple:after {
content: " ";
display: table;
clear: both;
}
.webform-multiple-table table {
margin-bottom: 2px;
}
.webform-multiple-table td {
white-space: nowrap;
vertical-align: top;
}
.webform-multiple-table td .description {
white-space: normal;
}
.webform-multiple-table td.webform-multiple-table--handle {
padding: 0 0 0 1em;
width: 26px;
vertical-align: middle;
text-align: center;
}
.webform-multiple-table td.webform-multiple-table--weight {
width: 20px;
}
.webform-multiple-table td.webform-multiple-table--operations {
padding: 0 2px;
vertical-align: middle;
text-align: center;
width: 30px;
}
.webform-multiple-table td.webform-multiple-table--operations-two {
width: 60px;
}
.webform-multiple-table td.webform-multiple-table--operations input {
margin: 0 2px;
opacity: 0.4;
background: none;
}
.webform-multiple-table td.webform-multiple-table--operations input:hover,
.webform-multiple-table td.webform-multiple-table--operations input:focus,
.webform-multiple-table td.webform-multiple-table--operations input:active {
opacity: 1;
background: none;
}
.webform-multiple-table td select,
.webform-multiple-table td .form-type-textfield input,
.webform-multiple-table td .form-type-email input,
.webform-multiple-table td .form-type-url input,
.webform-multiple-table td .form-type-tel input,
.webform-multiple-table td .form-type-entity-autocomplete input,
.webform-multiple-table td .form-type-webform-autocomplete input {
width: 100%;
}
.webform-multiple-table td .container-inline select,
.form-type-webform-multiple.webform-has-field-prefix td select,
.form-type-webform-multiple.webform-has-field-suffix td select,
.form-type-webform-multiple.webform-has-field-prefix td input,
.form-type-webform-multiple.webform-has-field-suffix td input {
width: auto;
}
.webform-multiple-table .webform-multiple-sort-weight {
width: 4em;
}
.webform-multiple-table td input[type="image"] {
padding: 0;
width: 16px;
height: 16px;
}
.webform-multiple-table .container-inline input[type="submit"] {
width: inherit;
}
/**
* Add margin between stacked form items.
*/
.webform-multiple-table .form-item + .form-item {
margin-top: .2em;
}
/**
* Remove margin from no messages.
*/
.webform-multiple-table--no-items-message .messages__wrapper {
padding: 0;
}
/**
* Suppress table drag warnings.
*/
.webform-multiple-table .tabledrag-changed-warning,
.webform-multiple-table .tabledrag-changed {
display: none !important; /* Must use !important because .tabledrag-changed 'display' is set via JavaScript */
}
/**
* Tweak tabledrag toggle weight.
*/
.tabledrag-toggle-weight-wrapper.webform-multiple-tabledrag-toggle-weight {
float: right;
display: inherit;
position: inherit;
}
.tabledrag-toggle-weight-wrapper.webform-multiple-tabledrag-toggle-weight button {
position: inherit;
top: inherit;
right: inherit;
}
/**
* IMCE tweaks
*/
.webform-multiple-table .imce-url-button {
display: block;
}
/**
* Mobile support to multiple table.
*/
@media (max-width: 768px) {
.webform-multiple-table-responsive thead {
display: none;
}
.webform-multiple-table-responsive tr {
display: block;
padding: .5em 0;
}
.webform-multiple-table-responsive td {
display: block;
border: 0;
background: transparent;
text-align: inherit;
width: inherit;
padding: .5em 1em;
}
.webform-multiple-table-responsive td:after {
content: "";
display: table;
clear: both;
}
.webform-multiple-table-responsive td.webform-multiple-table--handle,
.webform-multiple-table-responsive td.webform-multiple-table--operations {
display: none;
}
.webform-multiple-table-responsive td.webform-multiple-table--weight {
width: 100%;
}
.webform-multiple-table-responsive td > div > label.visually-hidden {
display: block;
position: inherit !important;
clip: inherit;
overflow: inherit;
height: inherit;
width: inherit;
margin: .2em 0;
}
}

View file

@ -0,0 +1,38 @@
/**
* @file
* Element options display styles.
*
* @see /webform/example_layout_basic
*/
.webform-options-display-side-by-side > div {
display: inline-block;
margin-right: .5em;
}
/**
* Display columns for devices that are more than 400px wide.
*/
@media (min-width: 400px) {
.webform-options-display-two-columns {
display: inline-block;
margin-top: .4em;
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
}
.webform-options-display-three-columns {
display: inline-block;
margin-top: .4em;
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;
}
.webform-options-display-two-columns div.form-item,
.webform-options-display-three-columns div.form-item {
margin-top: 0;
margin-bottom: 0;
}
}

View file

@ -0,0 +1,13 @@
/**
* @file
* Other element styles.
*
* @see /webform/test_element_other
*/
html.js .webform-select-other .webform-select-other-input,
html.js .webform-checkboxes-other .webform-checkboxes-other-input,
html.js .webform-radios-other .webform-radios-other-input,
html.js .webform-buttons-other .webform-buttons-other-input {
display: none;
}

View file

@ -0,0 +1,55 @@
/**
* @file
* Element range styles.
*
* @see http://thenewcode.com/754/input-Antipode-The-HTML5-output-Element
*/
/**
* Vertical center range input.
*/
.form-type-range input[type="range"] {
display: table-cell;
vertical-align: middle;
}
/**
* Left or right output (via '#type': number).
*/
.form-type-range .form-type-number {
display: none;
}
html.js .form-type-range .form-type-number {
display: inline;
white-space: nowrap;
}
.form-type-range .webform-range-output-delimiter {
display: inline-block;
width: 10px;
}
.form-type-range input[type="number"] {
text-align: right;
}
/**
* Bubble output (via <output>).
*/
.form-type-range output {
display: none;
}
html.js .form-type-range output {
display: block;
}
.form-type-range output {
opacity: 0.3;
position: absolute;
background: #ededed;
border: 1px solid #bbb;
padding: 2px 5px;
text-align: center;
}

View file

@ -0,0 +1,92 @@
/**
* @file
* Rating element styles.
*/
html.js .form-webform-rating {
display: none;
}
div.svg div.rateit-range {
background: url(../images/rating/star-normal.svg);
}
div.svg div.rateit-hover {
background: url(../images/rating/star-hover.svg);
}
div.svg div.rateit-selected {
background: url(../images/rating/star-selected.svg);
}
div.svg div.rateit-preset {
background: url(../images/rating/star-preset.svg);
}
div.svg button.rateit-reset {
background: url(../images/rating/reset-normal.svg);
}
div.svg button.rateit-reset:hover {
background: url(../images/rating/reset-hover.svg);
}
/**
* Small
*/
div.svg.rateit-small {
height: 16px;
}
div.svg.rateit-small div.rateit-range,
div.svg.rateit-small div.rateit-hover,
div.svg.rateit-small div.rateit-selected,
div.svg.rateit-small div.rateit-preset {
background-size: 16px 16px;
}
div.svg.rateit-small button.rateit-reset {
height: 16px;
width: 16px;
background-size: 16px 16px;
}
/**
* Medium
*/
div.svg.rateit-medium {
height: 24px;
}
div.svg.rateit-medium div.rateit-range,
div.svg.rateit-medium div.rateit-hover,
div.svg.rateit-medium div.rateit-selected,
div.svg.rateit-medium div.rateit-preset {
background-size: 24px 24px;
}
div.svg.rateit-medium button.rateit-reset {
height: 24px;
width: 24px;
background-size: 24px 24px;
}
/**
* Large
*/
div.svg.rateit-large {
height: 36px;
}
div.svg.rateit-large div.rateit-range,
div.svg.rateit-large div.rateit-hover,
div.svg.rateit-large div.rateit-selected,
div.svg.rateit-large div.rateit-preset {
background-size: 32px 32px;
}
div.svg.rateit-large button.rateit-reset {
height: 32px;
width: 32px;
background-size: 32px 32px;
}

View file

@ -0,0 +1,13 @@
/**
* @file
* Select2 styles.
*/
/*
* Make sure container is visible.
* - Fixes Select2 not working with dialog or system tray.
* .ui-dialog z-index is 1260. @see core/themes/seven/css/components/dialog.css
*/
.select2-container--open {
z-index: 1261;
}

View file

@ -0,0 +1,44 @@
/**
* @file
* Signature element styles.
*
* @see https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
*/
.webform-signature-pad {
position: relative;
background-color: #f0f0f0;
}
.webform-signature-pad:before {
display: block;
content: "";
width: 100%;
padding-top: 33%;
}
.webform-signature-pad canvas {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: block;
cursor: crosshair;
}
/* Position 'Reset' button in right hand corner of the canvas */
.webform-signature-pad .button {
z-index: 100;
position: absolute;
top: 2px;
right: 2px;
}
/* Add border around signature image */
.webform-signature-pad-image {
display: block;
width: 100%;
max-width: 600px; /* Max width is used to prevent signature pad from getting too wide and tall */
border: 1px solid #ccc;
}

Some files were not shown because too many files have changed in this diff Show more