Update Composer, update everything

This commit is contained in:
Oliver Davies 2018-11-23 12:29:20 +00:00
parent ea3e94409f
commit dda5c284b6
19527 changed files with 1135420 additions and 351004 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

@ -1,9 +1,8 @@
*.patch
interdiff-*.txt
# Ignore all *.features.yml in 'modules' directory.
# NOTE: *.features.yml are not ignored with 'test/modules' directory.
webform.features.yml
modules/webform_examples/webform_examples.features.yml
modules/webform_templates/webform_templates.features.yml
modules/webform_node/webform_node.features.yml
# 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

@ -26,17 +26,9 @@ The primary use case for this module is to:
> [Watch a demo](http://youtu.be/sQGsfQ_LZJ4) of the Webform module.
> Evaluate this project online using [simplytest.me](https://simplytest.me/project/drupal/8.2.x?add[]=webform).
> Evaluate this project online using [simplytest.me](https://simplytest.me/project/webform/8.x-5.x).
### Presentations, Blog Posts, & Articles
- [Webform 8.x-5.x @ NJ DrupalCamp](https://www.drupalcampnj.org/program/sessions/building-webforms-drupal-8)
- [Getting NYU onto Webform](https://www.fourkitchens.com/blog/article/getting-nyu-yaml-form)
- [Webforms for Drupal 8](https://www.gaiaresources.com.au/yaml-forms-drupal-8/)
- [Creating Webform Handlers in Drupal 8](http://fivemilemedia.co.uk/blog/creating-yaml-form-handlers-drupal-8)
- [Les formulaires en Drupal 8](https://makina-corpus.com/blog/metier/2016/les-formulaires-en-drupal-8)
### Installing the Webform Module
1. Copy/upload the webform module to the modules directory of your Drupal
@ -75,7 +67,7 @@ between releases. **APIs can and will be changing** while this module moves
from beta releases to a final release candidate.
Simply put, if you install and use the Webform module out of the box AS-IS,
you _should_ be okay. Once you start extending webforms with plugins, altering
you _should_ be okay. Once you start extending webforms with plugins, altering
hooks, and overriding templates, you will need to read each release's
notes and assume that _things will be changing_.
@ -83,30 +75,12 @@ notes and assume that _things will be changing_.
### Project Status
- [Webform Project Board](https://contribkanban.com/board/webform/8.x-5.x)
- [Webform 4.x features currently missing from the Webform module](https://www.drupal.org/node/2807571)
### 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.
---
- **[Contact](https://www.drupal.org/documentation/modules/contact) +
[Contact Storage](https://www.drupal.org/project/contact_storage)**
The Contact module allows site visitors to send emails to other authenticated
users and to the site administrator. The Contact Storage module provides
storage for Contact messages which are fully-fledged entities in Drupal 8.
Many of its features are likely to be moved into Drupal Core.
- **[Eform](https://www.drupal.org/project/eform)**
The EForm module enables you to create front-end webforms (fieldable entities),
which contain fields that you define! These webforms use the standard Drupal
fields.
[Is this module still needed?](https://www.drupal.org/node/2809179)

View file

@ -10,10 +10,29 @@
"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://drupal.org/project/issues/webform",
"source": "http://cgit.drupalcode.org/webform"
"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/jsonapi": "~2.0",
"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.13.0",
"type": "drupal-library",
"extra": {
"installer-name": "algolia.places"
},
"dist": {
"url": "https://registry.npmjs.org/places.js/-/places.js-1.13.0.tgz",
"type": "tar"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.autogrow": {
"type": "package",
"package": {
"name": "ckeditor/autogrow",
"version": "4.10.0",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.autogrow"
},
"dist": {
"url": "https://download.ckeditor.com/autogrow/releases/autogrow_4.10.0.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.0",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.fakeobjects"
},
"dist": {
"url": "https://download.ckeditor.com/fakeobjects/releases/fakeobjects_4.10.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.image": {
"type": "package",
"package": {
"name": "ckeditor/image",
"version": "4.10.0",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.image"
},
"dist": {
"url": "https://download.ckeditor.com/image/releases/image_4.10.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"ckeditor.link": {
"type": "package",
"package": {
"name": "ckeditor/link",
"version": "4.10.0",
"type": "drupal-library",
"extra": {
"installer-name": "ckeditor.link"
},
"dist": {
"url": "https://download.ckeditor.com/link/releases/link_4.10.0.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"codemirror": {
"type": "package",
"package": {
"name": "codemirror/codemirror",
"version": "5.41.0",
"type": "drupal-library",
"extra": {
"installer-name": "codemirror"
},
"dist": {
"url": "https://github.com/components/codemirror/archive/5.41.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.2",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.inputmask"
},
"dist": {
"url": "https://github.com/RobinHerbots/jquery.inputmask/archive/4.0.2.zip",
"type": "zip"
},
"require": {
"composer/installers": "~1.0"
}
}
},
"jquery.intl-tel-input": {
"type": "package",
"package": {
"name": "jquery/intl-tel-input",
"version": "14.0.4",
"type": "drupal-library",
"extra": {
"installer-name": "jquery.intl-tel-input"
},
"dist": {
"url": "https://github.com/jackocnr/intl-tel-input/archive/v14.0.4.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.13.0",
"ckeditor/autogrow": "4.10.0",
"ckeditor/codemirror": "v1.17.7",
"ckeditor/fakeobjects": "4.10.0",
"ckeditor/image": "4.10.0",
"ckeditor/link": "4.10.0",
"codemirror/codemirror": "5.41.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.2",
"jquery/intl-tel-input": "14.0.4",
"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_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_unlock_action
label: 'Unlock submission'
type: webform_submission
plugin: webform_submission_make_unlock_action
configuration: { }

View file

@ -1,14 +1,23 @@
settings:
default_status: open
default_page_base_path: form
default_form_closed_message: 'Sorry...This form is closed to new submissions.'
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_form_submit_label: Submit
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
@ -19,15 +28,42 @@ settings:
default_wizard_prev_button_label: '< Previous Page'
default_wizard_next_button_label: 'Next Page >'
default_wizard_start_label: Start
default_wizard_complete_label: Complete
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
@ -36,32 +72,52 @@ settings:
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
delimiter: ','
multiple_delimiter: ;
excel: false
file_name: 'submission-[webform_submission:serial]'
header_format: label
header_prefix: true
header_prefix_label_delimiter: ': '
header_prefix_key_delimiter: __
composite_element_item_format: label
options_format: compact
options_single_format: compact
options_multiple_format: compact
options_item_format: label
entity_reference_format: link
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
purge_settings:
default_batch_email_size: 500
purge:
cron_size: 100
elements:
element:
empty_message: '{Empty}'
allowed_tags: admin
wrapper_classes: |
container-inline clearfix
@ -75,26 +131,62 @@ elements:
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: ''
excluded_types: { }
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 svg'
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: |
@ -102,6 +194,7 @@ mail:
<p>Submitted by: [webform_submission:user]</p>
<p>Submitted values are:</p>
[webform_submission:values]
roles: { }
test:
types: |
checkbox:
@ -110,21 +203,6 @@ test:
- '#ffffcc'
- '#ffffcc'
- '#ccffff'
date:
- '1942-06-18'
- '1940-07-07'
- '1943-02-25'
- '1940-10-09'
datetime:
- '1942-06-18'
- '1940-07-07'
- '1943-02-25'
- '1940-10-09'
datelist:
- '1942-06-18'
- '1940-07-07'
- '1943-02-25'
- '1940-10-09'
email:
- 'example@example.com'
- 'test@test.com'
@ -149,18 +227,12 @@ test:
url:
- 'http://example.com'
- 'http://test.com'
webform_creditcard_number:
- '4111111111111111'
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_location:
- value: 'The White House, 1600 Pennsylvania Ave NW, Washington, DC 20500, USA'
- value: 'London SW1A 1AA, United Kingdom'
- value: 'Moscow, Russia, 10307'
webform_time:
- '09:00'
- '17:00'
@ -182,9 +254,16 @@ test:
- '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'
@ -199,10 +278,23 @@ test:
ui:
video_display: dialog
details_save: true
help_disabled: false
dialog_disabled: false
offcanvas_disabled: false
html_editor_disabled: false
library:
cdn: 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

@ -6,22 +6,25 @@ dependencies:
- 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': '[webform-authenticated-user:display-name]'
'#default_value': '[current-user:display-name]'
email:
'#title': 'Your Email'
'#type': email
'#required': true
'#default_value': '[webform-authenticated-user:mail]'
'#default_value': '[current-user:mail]'
subject:
'#title': Subject
'#type': textfield
@ -32,48 +35,87 @@ elements: |
'#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_submit_label: 'Send message'
form_title: source_entity_webform
form_submit_once: false
form_submit_attributes: { }
form_exception_message: ''
form_closed_message: ''
form_open_message: ''
form_close_message: ''
form_previous_submissions: true
form_confidential: false
form_confidential_message: ''
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_next_button_label: ''
wizard_next_button_attributes: { }
wizard_prev_button_label: ''
wizard_prev_button_attributes: { }
wizard_progress_link: false
wizard_start_label: ''
wizard_complete: true
wizard_complete_label: ''
wizard_preview_link: false
wizard_confirmation: true
wizard_confirmation_label: ''
wizard_track: ''
preview: 0
preview_next_button_label: ''
preview_next_button_attributes: { }
preview_prev_button_label: ''
preview_prev_button_attributes: { }
preview_label: ''
preview_title: ''
preview_message: ''
draft: false
preview_attributes: { }
preview_excluded_elements: { }
preview_exclude_empty: true
preview_exclude_empty_checkbox: false
draft: none
draft_multiple: false
draft_auto_save: false
draft_button_label: ''
draft_button_attributes: { }
draft_saved_message: ''
draft_loaded_message: ''
confirmation_type: url_message
@ -84,14 +126,22 @@ settings:
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
entity_limit_total: null
entity_limit_user: null
results_disabled: false
results_disabled_ignore: false
token_update: false
@ -101,61 +151,109 @@ access:
- 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: { }
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: ''
from_mail: default
from_name: default
subject: '[webform_submission:values:subject:value]'
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:
to_mail: default
states:
- completed
to_mail: _default
to_options: { }
cc_mail: ''
cc_options: { }
bcc_mail: ''
bcc_options: { }
from_mail: '[webform_submission:values:email:raw]'
from_name: '[webform_submission:values:name:value]'
subject: '[webform_submission:values:subject:value]'
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

@ -6,4 +6,6 @@ dependencies:
- webform
id: country_codes
label: 'Country codes'
category: Geographic
likert: false
options: ''

View file

@ -6,4 +6,6 @@ dependencies:
- webform
id: country_names
label: 'Country names'
category: Geographic
likert: false
options: ''

View file

@ -1,13 +0,0 @@
langcode: en
status: true
dependencies:
enforced:
module:
- webform
id: creditcard_codes
label: 'Credit card codes'
options: |
VI: 'Visa'
MC: 'Mastercard'
AE: 'American Express'
DC: 'Discover'

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: days
label: Days
category: 'Date and time'
likert: false
options: |
Sunday: Sunday
Monday: Monday

View file

@ -6,9 +6,10 @@ dependencies:
- webform
id: education
label: Education
category: Demographic
likert: false
options: |
High School: High School
Associate Degree: Associate Degree
Associate Degree: Associate Degree
Graduate or Professional Degree: Graduate or Professional Degree
Some College: Some College

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: employment_status
label: 'Employment status'
category: Demographic
likert: false
options: |
'Full Time': 'Full Time'
'Part Time': 'Part Time'

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: ethnicity
label: Ethnicity
category: Demographic
likert: false
options: |
Caucasian: Caucasian
'Latino/Hispanic': 'Latino/Hispanic'

View file

@ -6,7 +6,8 @@ dependencies:
- webform
id: gender
label: Gender
category: Demographic
likert: false
options: |
Male: Male
Female: Female
Transgender: Transgender

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: industry
label: Industry
category: Demographic
likert: false
options: |
Accounting/Finance: Accounting/Finance
Advertising/Public Relations: Advertising/Public Relations

View file

@ -6,4 +6,6 @@ dependencies:
- webform
id: languages
label: Languages
category: Language
likert: false
options: ''

View file

@ -6,9 +6,11 @@ dependencies:
- 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
1: 'Much Worse'
2: 'Somewhat Worse'
3: 'About the Same'
4: 'Somewhat Better'
5: 'Much Better'

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_comparison
label: 'Likert: Comparison'
category: Likert
likert: true
options: |
1: Strongly Disagree
2: Disagree

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_importance
label: 'Likert: Importance'
category: Likert
likert: true
options: |
1: Not at all Important
2: Somewhat Important

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_quality
label: 'Likert: Quality'
category: Likert
likert: true
options: |
1: Poor
2: Fair

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_satisfaction
label: 'Likert: Satisfaction'
category: Likert
likert: true
options: |
1: Very Unsatisfied
2: Unsatisfied

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_ten_scale
label: 'Likert: Ten Scale'
category: Likert
likert: true
options: |
1: 1
2: 2

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: likert_would_you
label: 'Likert: Would You'
category: Likert
likert: true
options: |
1: Definitely Not
2: Probably Not

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: marital_status
label: 'Marital status'
category: Demographic
likert: false
options: |
Single: Single
Married: Married

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: months
label: Months
category: 'Date and time'
likert: false
options: |
January: January
February: February

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: phone_types
label: 'Phone type'
category: Demographic
likert: false
options: |
Home: Home
Office: Office

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: relationship
label: Relationship
category: Demographic
likert: false
options: |
Parent: Parent
'Significant Other': 'Significant Other'

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: size
label: Size
category: General
likert: false
options: |
Extra Small: Extra Small
Small: Small

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: state_codes
label: 'State codes'
category: Geographic
likert: false
options: |
AL: Alabama
AK: Alaska

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: state_names
label: 'State names'
category: Geographic
likert: false
options: |
Alabama: Alabama
Alaska: Alaska

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: state_province_codes
label: 'State/Province codes'
category: Geographic
likert: false
options: |
AL: Alabama
AK: Alaska
@ -20,7 +22,7 @@ options: |
CT: Connecticut
DE: Delaware
DC: 'District of Columbia'
FM: 'Federate States of Micronesia'
FM: 'Federated States of Micronesia'
FL: Florida
GA: Georgia
GU: Guam

View file

@ -6,13 +6,15 @@ dependencies:
- 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 (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
@ -20,7 +22,7 @@ options: |
Connecticut: Connecticut
Delaware: Delaware
'District of Columbia': 'District of Columbia'
'Federate States of Micronesia': 'Federate States of Micronesia'
'Federated States of Micronesia': 'Federated States of Micronesia'
Florida: Florida
Georgia: Georgia
Guam: Guam

View file

@ -6,4 +6,6 @@ dependencies:
- webform
id: time_zones
label: 'Time zones'
category: 'Date and time'
likert: false
options: ''

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: titles
label: Titles
category: Demographic
likert: false
options: |
Miss: Miss
Ms: Ms

View file

@ -6,6 +6,8 @@ dependencies:
- webform
id: yes_no
label: Yes/No
category: General
likert: false
options: |
Yes: Yes
No: No

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,19 @@
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,45 @@
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,470 @@
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'
# Below mapping is copied to: webform.handler.settings
#@see webform.plugin.handler.schema.yml
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_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,81 @@
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,11 @@
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,554 @@
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'
# Below mapping is copied from: webform.webform.*
# @see webform.entity.webform.schema.yml
# NOTE: 'type: boolean' is changed to 'type: string
# NOTE: 'type: integer' is changed to 'type: string
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

@ -1,860 +0,0 @@
# Schema for the configuration files of the Webform module.
webform.settings:
type: config_object
label: 'Webform settings'
mapping:
settings:
type: mapping
label: 'Webform default settings'
mapping:
default_page_base_path:
type: string
label: 'Default base path'
default_form_submit_label:
type: label
label: 'Default webform submit text'
default_form_submit_once:
type: boolean
label: 'Prevent duplicate submissions'
default_form_closed_message:
type: text
label: 'Default webform closed message'
default_form_exception_message:
type: text
label: 'Default webform exception message'
default_form_confidential_message:
type: text
label: 'Default webform confidential message'
default_form_novalidate:
type: boolean
label: 'Disable client-side validation'
default_form_unsaved:
type: boolean
label: 'Warn users about unsaved changes'
default_form_disable_back:
type: boolean
label: 'Disable back button'
default_form_details_toggle:
type: boolean
label: 'Display collapse/expand all details link'
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_complete_label:
type: label
label: 'Default wizard complete 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_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'
form_classes:
type: string
label: 'Webform CSS classes'
button_classes:
type: string
label: 'Button CSS classes'
confirmation_classes:
type: string
label: 'Confirmation CSS classes'
confirmation_back_classes:
type: string
label: 'Confirmation back link CSS classes'
assets:
type: mapping
label: 'Global Assets (CSS/JavaScript)'
mapping:
css:
type: string
label: 'CSS (Cascading Style Sheets)'
javascript:
type: string
label: 'JavaScript'
elements:
type: mapping
label: 'Elements default settings'
mapping:
allowed_tags:
type: string
label: 'Allowed tags'
wrapper_classes:
type: string
label: 'Wrapper CSS classes'
classes:
type: string
label: 'Element CSS classes'
default_description_display:
type: string
label: 'Default title display'
default_google_maps_api_key:
type: string
label: 'Default Google Maps API key'
excluded_types:
type: ignore
label: 'Excluded types'
file:
type: mapping
label: 'File upload default settings'
mapping:
file_public:
type: boolean
label: 'Allow files to be uploaded to public file system.'
default_max_filesize:
type: string
label: 'Default maximum 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'
format:
type: ignore
label: 'Format default settings'
mail:
type: mapping
label: 'Email default settings'
mapping:
default_from_mail:
type: email
label: 'Default email from address'
default_from_name:
type: label
label: 'Default email from 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)'
export:
type: mapping
label: 'Export default settings'
mapping:
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_format:
type: string
label: 'Options format'
options_format:
type: string
label: 'Options item format'
options_item_format:
type: string
label: 'Entity reference 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'
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'
purge_settings:
type: mapping
label: 'Automated 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'
dialog_disabled:
type: boolean
label: 'Disable dialogs'
offcanvas_disabled:
type: boolean
label: 'Disable system tray'
html_editor_disabled:
type: boolean
label: 'Disable HTML editor'
details_save:
type: boolean
label: 'Save details open/close state'
library:
type: mapping
label: 'Library settings'
mapping:
cdn:
type: boolean
label: 'Use CDN'
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: webform.admin_settings.third_party.[%key]
webform.webform.*:
type: config_entity
label: 'Webforms'
mapping:
status:
type: string
label: 'Status'
open:
type: string
label: 'Open date/time'
close:
type: string
label: 'Close date/time'
uid:
type: integer
label: 'Author'
template:
type: boolean
label: 'Template'
id:
type: string
label: 'Machine name'
title:
type: label
label: 'Title'
description:
type: label
label: 'Administrative description'
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:
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_submit_label:
type: label
label: 'Webform submit text'
form_submit_once:
type: boolean
label: 'Prevent duplicate submissions'
form_submit_attributes:
type: ignore
label: 'Webform submit attributes'
form_closed_message:
type: text
label: 'Webform closed message'
form_exception_message:
type: text
label: 'Webform exception message'
form_previous_submissions:
type: boolean
label: 'Webform previous submissions notification'
form_confidential:
type: boolean
label: 'Webform confidential'
form_confidential_message:
type: text
label: 'Webform confidential message'
form_prepopulate:
type: boolean
label: 'Webform prepopulate elements'
form_prepopulate_source_entity:
type: boolean
label: 'Webform prepopulate source entity'
form_unsaved:
type: boolean
label: 'Warn users about unsaved changes'
form_disable_back:
type: boolean
label: 'Disable back button'
form_disable_autocomplete:
type: boolean
label: 'Disable autocompletion'
form_novalidate:
type: boolean
label: 'Disable client-side validation'
form_autofocus:
type: boolean
label: 'Autofocus'
form_details_toggle:
type: boolean
label: 'Display collapse/expand all details link'
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_start_label:
type: label
label: 'Wizard start label'
wizard_start_attributes:
type: ignore
label: 'Wizard start attributes'
wizard_complete:
type: boolean
label: 'Include confirmation page in progress'
wizard_complete_label:
type: label
label: 'Wizard complete label'
wizard_prev_button_label:
type: label
label: 'Wizard previous page button label'
wizard_prev_button_attributes:
type: ignore
label: 'Wizard previous page button attributes'
wizard_next_button_label:
type: label
label: 'Wizard next page button label'
wizard_next_button_attributes:
type: ignore
label: 'Wizard next page button attributes'
preview:
type: integer
label: 'Enable preview page'
preview_next_button_label:
type: label
label: 'Preview button label'
preview_next_button_attributes:
type: ignore
label: 'Preview button attributes'
preview_prev_button_label:
type: label
label: 'Previous page button label'
preview_prev_button_attributes:
type: ignore
label: 'Previous page button attributes'
preview_message:
type: text
label: 'Preview message'
draft:
type: boolean
label: 'Allow your users to save and finish the webform later.'
draft_auto_save:
type: boolean
label: 'Automatically save as draft when previewing and when there are validation errors.'
draft_button_label:
type: label
label: 'Draft button label'
draft_button_attributes:
type: ignore
label: 'Draft button attributes'
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: text
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'
limit_total:
type: integer
label: 'Limit total submissions'
limit_total_message:
type: text
label: 'Limit total message'
limit_user:
type: integer
label: 'Limit user submissions'
limit_user_message:
type: text
label: 'Limit user message'
purge:
type: string
label: 'Default purging'
purge_days:
type: integer
label: 'Default days to retain submissions'
entity_limit_total:
type: integer
label: 'Entity limit total submissions'
entity_limit_user:
type: integer
label: 'Entity limit user 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: mapping
label: 'Access'
mapping:
create:
type: mapping
label: 'Create webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
view_any:
type: mapping
label: 'View any webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
update_any:
type: mapping
label: 'Update any webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
delete_any:
type: mapping
label: 'Delete any webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
purge_any:
type: mapping
label: 'Purge any webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
view_own:
type: mapping
label: 'View own webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
update_own:
type: mapping
label: 'Update own webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
delete_own:
type: mapping
label: 'Delete own webform submissions'
mapping:
roles:
type: sequence
label: 'Roles'
sequence:
type: string
label: 'Role'
users:
type: sequence
label: 'Users'
sequence:
type: integer
label: 'User IDs'
handlers:
type: sequence
label: 'Webform handlers'
sequence:
type: mapping
mapping:
id:
type: string
handler_id:
type: string
label:
type: label
status:
type: boolean
weight:
type: integer
settings:
type: webform.handler.[%parent.id]
third_party_settings:
type: sequence
label: 'Third party settings'
sequence:
type: webform.settings.third_party.[%key]
webform.handler.*:
type: mapping
label: 'Handler settings'
webform.handler.email:
type: mapping
label: 'Email'
mapping:
to_mail:
label: 'Email to address'
type: email
bcc_mail:
label: 'Email Bcc address'
type: email
cc_mail:
label: 'Email Cc address'
type: email
from_mail:
label: 'Email from address'
type: email
from_name:
label: 'Email from name'
type: label
subject:
label: 'Email subject'
type: label
body:
label: 'Email body'
type: text
excluded_elements:
type: sequence
label: 'Exclude elements'
sequence:
type: string
label: 'Element name'
html:
type: boolean
label: 'HTML'
attachments:
type: boolean
label: 'Attachments'
debug:
type: boolean
label: 'Enable debugging'
webform.handler.remote_post:
type: mapping
label: 'Remote Post'
mapping:
type:
label: 'Type'
type: string
insert_url:
label: 'Insert URL'
type: uri
update_url:
label: 'Update URL'
type: uri
delete_url:
label: 'Delete URL'
type: uri
excluded_data:
type: sequence
label: 'Excluded data'
sequence:
type: string
label: 'Data name'
custom_data:
label: 'Custom data'
type: string
insert_custom_data:
label: 'Insert custom data'
type: string
update_custom_data:
label: 'Update custom data'
type: string
delete_custom_data:
label: 'Delete custom data'
type: string
debug:
type: boolean
label: 'Enable debugging'
webform.exporter.*:
type: mapping
label: 'Exporter settings'
webform.exporter.delimited_text:
type: mapping
label: 'Delimiter'
mapping:
delimiter:
type: string
label: 'Delimiter'
webform.webform_options.*:
type: config_entity
label: 'Options'
mapping:
id:
type: string
label: 'Machine name'
label:
type: label
label: 'Label'
options:
type: text
label: 'Options (YAML)'
block.settings.webform_block:
type: block_settings
label: 'Webforms block'
mapping:
webform_id:
type: text
label: 'Webforms'
default_data:
type: text
label: 'Default webform submission data'
# Schema for the configuration of the webform field type.
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: boolean
label: 'Status of the webform'
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'
field.formatter.settings.webform_entity_reference_entity_view:
type: mapping
label: 'Display the referenced webform with default submission data.'
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'
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'
condition.plugin.webform:
type: condition.plugin
mapping:
webforms:
type: sequence
sequence:
type: string

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,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

@ -4,33 +4,33 @@
*/
/**
* Hide throbber which causes layout issue in dropbutton
* Local actions.
*/
.dropbutton-multiple .ajax-progress-throbber {
display: none;
.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/table
* @see /admin/structure/webform/manage/contact/results/submissions
*/
.button.button-webform-setting {
.button.button-webform-table-setting {
margin: 0 0 1em 0;
}
.button.button-webform-setting:before {
content: '';
.button.button-webform-table-setting:before {
content: '';
font-size: 1.2em;
}
/**
* Add light gray background to Add-on details widget.
* @see /admin/structure/webform/addons
*/
.webform-addons details {
background-color: #f8f8f8;
}
/**
* Filter webform and submissions.
* @see /admin/structure/webform
@ -45,62 +45,72 @@
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/results/manage
* @see /admin/structure/webform/submissions/manage
* @see /admin/structure/webform/manage/contact/results/submissions
* @see /admin/structure/webform/manage/contact/results/table
*/
.webform-results__table th,
.webform-results__table td {
.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:last-child {
/* 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__icon,
td.webform-results__icon {
th.webform-results-table__icon,
td.webform-results-table__icon {
padding-left: 0;
padding-right: 0;
}
/* Hide throbber, which breaks icon alignment */
.webform-results__icon .ajax-progress-throbber,
a.webform-results__custom + .ajax-progress-throbber {
.webform-results-table__icon .ajax-progress-throbber {
display: none;
}
/* Entire row is clickable. @see Drupal.behaviors.webformTableRowHref */
.webform-results__table tbody tr {
.webform-results-table tbody tr {
cursor: pointer;
cursor: hand;
}
/**
* Results custom(ize) dialog.
*/
.webform-results__custom .tabledrag-changed-warning,
.webform-results__custom .tabledrag-changed /* Hide table drag warnings. */ {
display: none !important; /* Must use !important because .tabledrag-changed 'display' is set via JavaScript */
/* Limit image height to 60px */
.webform-results-table td img {
max-height: 60px;
width: auto;
}
/**
* Results icons (sticky & notes)
* Results icons (notes, sticky, and locked)
*/
.webform-icon {
display: inline-block;
@ -114,6 +124,8 @@ a.webform-results__custom + .ajax-progress-throbber {
vertical-align: -2px;
}
/* Notes */
.webform-icon-notes--on {
background-image: url(../images/icons/notes-on.svg);
}
@ -133,6 +145,8 @@ 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;
@ -155,19 +169,65 @@ a:focus .webform-icon-notes--off {
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 {
.webform-submission-table th {
width: 33%;
min-width: 100px;
}
.webform-submission__table td {
.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,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,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

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

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

@ -5,6 +5,7 @@
* @see /webform/test_element_codemirror/test
*/
/* Clean up CodeMirror editor */
form .CodeMirror {
border: 1px solid #ccc;
@ -17,11 +18,15 @@ form .CodeMirror-scroll {
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: 3px;
padding: .5em 1em;
margin: 0;
}

View file

@ -1,11 +1,22 @@
/**
* @file
* Composite element styles
*
* @see /webform/example_elements_composite
* Element composite (builder) styles.
*/
/* Remove extra margin are composite element which already contain form elements with margins */
fieldset.form-composite {
margin: 0;
.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

@ -19,3 +19,34 @@
.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

@ -159,8 +159,8 @@
/**
* Radios/checkboxes.
*/
.form-type-checkbox,
.form-type-radio {
.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

@ -39,29 +39,30 @@
/**
* Basic table formatting.
*/
.webform-likert-table th,
.webform-likert-table td {
.webform-likert-table-wrapper th,
.webform-likert-table-wrapper td {
text-align: center;
}
.form-type-webform-likert td label {
display: none;
}
.webform-likert-table th:first-child,
.webform-likert-table td:first-child {
.webform-likert-table-wrapper th:first-child,
.webform-likert-table-wrapper td:first-child {
text-align: inherit;
width: 40%;
}
.form-type-webform-likert td:first-child label {
.webform-likert-table-wrapper td:first-child label {
display: block;
}
/**
* Mobile support to likert webform element table.
* 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;
@ -92,7 +93,29 @@
width: 100%;
}
.form-type-webform-likert td label {
/**
* 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;
}

View file

@ -1,16 +0,0 @@
/**
* @file
* Location element styles.
*
* @see /webform/test_element_location
*/
/**
* 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,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

@ -8,19 +8,13 @@
/**
* Add styles to default (info) message,
*/
.messages {
box-shadow: -8px 0 0 #3b3b3b; /* LTR */
}
[dir="rtl"] .messages {
box-shadow: 8px 0 0 #3b3b3b;
margin-left: 0;
}
.messages.messages--info {
color: #31708f;
background-color: #d9edf7;
background-image: url(../images/icons/info.svg);
border-color: #0074bd #0074bd #0074bd transparent; /* LTR */
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 {
@ -39,6 +33,10 @@
/**
* Webform message close link.
*/
.webform-message--close .messages {
padding-right: 35px;
}
.webform-message--close .webform-message__link {
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

@ -17,34 +17,43 @@
.webform-multiple-table td {
white-space: nowrap;
vertical-align: top;
}
.webform-multiple-table td:first-child {
.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:last-child {
.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:last-child input {
.webform-multiple-table td.webform-multiple-table--operations input {
margin: 0 2px;
}
.webform-multiple-table td:last-child input {
opacity: 0.4;
background: none;
}
.webform-multiple-table td:last-child input:hover,
.webform-multiple-table td:last-child input:focus,
.webform-multiple-table td:last-child input:active {
.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;
}
@ -58,7 +67,8 @@
.webform-multiple-table td .form-type-webform-autocomplete input {
width: 100%;
}
.webform-multiple-table td .form-type-datelist select,
.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,
@ -81,10 +91,17 @@
}
/**
* Hide AJAX throbber.
* Add margin between stacked form items.
*/
.form-type-webform-multiple .ajax-progress-throbber {
display: none;
.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;
}
/**
@ -98,6 +115,70 @@
/**
* Tweak tabledrag toggle weight.
*/
.webform-multiple-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

@ -2,20 +2,54 @@
* @file
* Element range styles.
*
* @see /webform/example_elements#edit-range
* @see http://thenewcode.com/754/input-Antipode-The-HTML5-output-Element
*/
.form-range.form-range-output {
margin-right: 8px;
/**
* Vertical center range input.
*/
.form-type-range input[type="range"] {
display: table-cell;
vertical-align: middle;
}
.form-range-output-container {
/**
* 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-range-output-container input,
.form-range-output-container .field-prefix,
.form-range-output-container .field-suffix {
margin-left: 2px;
.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

@ -1,8 +1,6 @@
/**
* @file
* Rating element styles.
*
* @see /webform/example_elements
*/
html.js .form-webform-rating {

View file

@ -11,4 +11,3 @@
.select2-container--open {
z-index: 1261;
}

View file

@ -2,7 +2,6 @@
* @file
* Signature element styles.
*
* @see /webform/example_elements
* @see https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
*/

View file

@ -9,59 +9,55 @@
white-space: nowrap;
}
.webform-states-table--state {
tr.webform-states-table--state {
border-top: 2px solid #a6a6a6;
}
.webform-states-table--state:first-child {
tr.webform-states-table--state:first-child {
border-top: inherit;
}
.webform-states-table--state td select {
tr.webform-states-table--state td select {
width: inherit;
max-width: inherit;
}
.webform-states-table--state td:first-child select,
.webform-states-table--state td.webform-states-table--state select,
.webform-states-table--condition select,
.webform-states-table--condition input[type="text"] {
width: 100%;
max-width: 100%;
}
.webform-states-table--condition input[type="text"] {
margin-top: 4px;
}
.webform-states-table .image-button {
margin: 0;
}
.webform-states-table th:last-child,
.webform-states-table td:last-child {
.webform-states-table th.webform-states-table--operations,
.webform-states-table td.webform-states-table--operations {
padding: 0 2px;
vertical-align: middle;
text-align: center;
}
.webform-states-table td:last-child input {
.webform-states-table td.webform-states-table--operations input {
margin: 0 2px;
}
.webform-states-table td:last-child input {
.webform-states-table td.webform-states-table--operations input {
opacity: 0.4;
}
.webform-states-table td:last-child input:hover,
.webform-states-table td:last-child input:focus,
.webform-states-table td:last-child input:active {
.webform-states-table td.webform-states-table--operations input:hover,
.webform-states-table td.webform-states-table--operations input:focus,
.webform-states-table td.webform-states-table--operations input:active {
opacity: 1;
background: none;
}
/**
* Hide AJAX throbber.
*/
.form-type-webform-element-states .ajax-progress-throbber {
display: none;
}
/**
* Suppress table drag warnings.
*/

View file

@ -0,0 +1,11 @@
/**
* @file
* Term checkboxes element styles.
*/
.webform-term-checkboxes-scroll .fieldset-wrapper {
max-height: 180px;
border: 1px solid #ccc;
padding: 0 10px;
overflow: auto;
}

View file

@ -0,0 +1,14 @@
/**
* @file
* Terms of service element styles.
*/
.webform-terms-of-service-details {
border: 1px solid #ccc;
padding: .5em 1em;
margin: .5em 0;
}
.webform-terms-of-service-details--title {
font-weight: bold;
}

View file

@ -0,0 +1,12 @@
/**
* @file
* Text form element styles.
*/
/**
* Add more padding to text form tips when they are displayed in a modal.
* @see \Drupal\webform\Plugin\WebformElement\TextFormat::afterBuild
*/
.webform-text-format-help-dialog .ui-dialog-content > div {
padding: 0 1em 1em 1em;
}

View file

@ -1,8 +1,6 @@
/**
* @file
* Toggle element styles.
*
* @see /webform/example_elements
*/
html.js .form-type-webform-toggle .form-checkbox {

View file

@ -19,23 +19,53 @@
}
/**
* Element inline
* Element title inline.
*/
.webform-element--title-inline label {
.webform-element--title-inline > label {
display: inline;
}
.webform-element--title-inline label {
padding-right: 0.5em;
}
.webform-element--title-inline label::after {
content: ':';
/**
* Fieldset title inline.
* Applies to radios, checkboxes, and buttons. (aka .form-composite)
* @see \Drupal\webform\Plugin\WebformElement\OptionsBase::prepare
* @see webform_preprocess_fieldset()
*/
.form-composite.webform-fieldset--title-inline legend {
float: left;
margin: 0.4em 0.5em 0.4em 0;
}
.form-composite.webform-fieldset--title-inline .fieldset-wrapper,
.form-composite.webform-fieldset--title-inline .fieldset-wrapper > div {
display: inline;
}
/**
* Readonly inputs.
* Checkboxes and radios title inline.
*/
.webform-readonly {
background-color: #f0f0f0;
.webform-element--title-inline .form-radios,
.webform-element--title-inline .form-checkboxes {
display: inline;
}
/**
* Readonly inputs. (@see .form-disabled)
* @see https://www.wufoo.com/html5/attributes/21-readonly.html
*/
.webform-readonly input[type="date"],
.webform-readonly input[type="datetime-local"],
.webform-readonly input[type="email"],
.webform-readonly input[type="number"],
.webform-readonly input[type="password"],
.webform-readonly input[type="search"],
.webform-readonly input[type="tel"],
.webform-readonly input[type="text"],
.webform-readonly input[type="time"],
.webform-readonly input[type="url"],
.webform-readonly textarea {
background: #ededed;
border-color: #bbb;
color: #717171;
}

View file

@ -13,6 +13,29 @@
margin: 1em 0;
}
/**
* Help page.
*/
.webform-help h4 {
font-size: 1em;
text-transform: uppercase;
}
.webform-help .button.button--primary {
width: 100%;
max-width: 600px;
margin: 0;
}
.webform-help img {
width: 100%;
height: auto;
}
.webform-help .webform-help-video-youtube {
max-width: 600px;
}
/**
* Help play button.
*/
@ -20,19 +43,11 @@
content: '► ';
font-size: .8em;
}
/**
* Help accordion.
*/
.webform-help-accordion dt {
font-weight: bold;
}
/**
* Help video.
*/
.webform-help-video-youtube {
margin: 1.5em 0;
margin: 1em 0 .2em 0;
max-width: 1024px;
border: 1px solid #000;
}
@ -52,3 +67,10 @@
width: 100%;
height: 100%;
}
/**
* Help links.
*/
.webform-help-links {
margin-left: 0;
}

View file

@ -0,0 +1,109 @@
/**
* @file
* Wizard progress tracker styles.
*
* @see http://nigelotoole.github.io/progress-tracker/
*/
/**
* Reduce top/bottom margins around progress tracker.
*/
.webform-progress-tracker.progress-tracker {
margin-top: 20px;
margin-bottom: 20px;
}
/**
* Update progress text to show completed and active.
*/
.webform-progress-tracker .progress-step .progress-text {
color: #656565;
padding-top: 5px;
padding-bottom: 0;
}
.webform-progress-tracker .progress-step::after {
background-color: #656565;
}
.webform-progress-tracker .progress-step.is-active .progress-text {
color: #333;
}
.webform-progress-tracker .progress-step.is-active .progress-title {
font-weight: bold;
}
.webform-progress-tracker .progress-step.is-complete .progress-text {
color: #333;
}
/**
* Disable hover state because webform wizard progress markers are not clickable.
*/
.webform-progress-tracker .progress-step:not(.is-active) .progress-marker,
.webform-progress-tracker .progress-step:hover .progress-marker {
background-color: #656565;
}
.webform-progress-tracker .progress-step.is-complete:hover .progress-marker {
background-color: #1976f2;
}
.webform-progress-tracker .progress-step.is-active:hover .progress-marker {
background-color: #2196f3;
}
/**
* Make progress text smaller for tablets.
*/
@media screen and (max-width: 800px) {
.webform-progress-tracker .progress-text {
font-size: smaller;
}
}
/**
* Hide progress text smaller for mobile.
*/
@media screen and (max-width: 600px) {
.webform-progress-tracker .progress-text {
display: none;
}
}
/**
* RTL support.
*
* @see https://github.com/NigelOToole/progress-tracker/issues/5
*/
[dir="rtl"] .progress-step:not(:last-child)::after {
display: none;
}
[dir="rtl"] .progress-step:not(:first-child)::after {
content: '';
display: block;
position: absolute;
z-index: -10;
top: 12px;
bottom: 12px;
right: -14px;
width: 100%;
height: 4px;
-webkit-transition: background-color 0.3s;
transition: background-color 0.3s;
}
[dir="rtl"] .progress-tracker--center .progress-step::after {
right: -50%;
}
[dir="rtl"] .webform-progress-tracker .progress-step {
z-index: inherit;
}
[dir="rtl"] .progress-step:not(:first-child)::after {
z-index: 0;
}

View file

@ -0,0 +1,36 @@
/**
* @file
* Promotions styles.
*/
/**
* Drupal Association.
*/
.webform-message .messages.messages--promotion_drupal_association {
color: #333;
background: #e0e0d8 url(../images/promotions/drupal-association-logo.png) 10px 10px no-repeat;
background-size: auto;
border-color: #a6a6a6 #a6a6a6 #a6a6a6 transparent; /* LTR */
box-shadow: -8px 0 0 #a6a6a6; /* LTR */
padding-left: 120px; /* LTR */
min-height: 20px;
}
[dir="rtl"] .webform-message .messages.messages--promotion_drupal_association {
border-color: #333 transparent #333 #333;
box-shadow: 8px 0 0 #333;
margin-left: 0;
padding-right: 45px;
}
@media screen and (max-width: 600px) {
.webform-message .messages.messages--promotion_drupal_association .button {
display: block;
margin-left: 0;
margin-right: 0;
margin-top: 10px;
padding-bottom: 6px;
width: 100%;
}
}

View file

@ -3,7 +3,89 @@
* Bartik theme styles.
*/
/* Add background color to table cells so that very wide off-screen tables look okay. */
/**
* Add background color to table cells so that very wide off-screen tables look okay.
*/
table {
background-color: #fff;
}
/**
* Tweak webform (elements) form.
*/
.webform-form .tableresponsive-toggle-columns,
.webform-form .tabledrag-toggle-weight-wrapper {
display: none;
}
.webform-submission-form .form-type-radio .description,
.webform-submission-form .form-type-checkbox .description {
margin-left: 1.6em;
}
/**
* Tweak webform element form.
*/
.webform-states-table th.webform-states-table--operations,
.webform-states-table td.webform-states-table--operations {
min-width: 65px;
}
.webform-states-table td:last-child input {
margin: 0;
}
.webform-multiple-table td.webform-multiple-table--operations,
.webform-multiple-table td.webform-multiple-table--operations {
min-width: 65px;
}
.webform-multiple-table td.webform-multiple-table--operations input {
margin: 0;
}
/**
* Tweak details toggle state.
*/
.webform-details-toggle-state {
color: #0071b3;
text-decoration: none;
border-bottom: 1px dotted;
}
.webform-details-toggle-state:hover,
.webform-details-toggle-statelink:focus {
color: #018fe2;
text-decoration: none;
border-bottom-style: solid;
}
/**
* Tweak progress tracker.
*
* ISSUE:
* Bartik theme is not displaying line between the markers.
* The #main-wrapper {background: #ffffff) in core/themes/bartik/css/colors.css is causing the problem.
*
* WORKAROUND:
* Define z-index for .progress-step.
*/
.webform-progress-tracker .progress-step {
z-index: 0;
}
/**
* Tweak element help.
* @see css/webform.element.help.css
*/
summary .webform-element-help {
border-color: #999;
background: #999;
}
/**
* Tweak Algolia places.
*/
input.ap-input {
font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;
}

View file

@ -0,0 +1,14 @@
/**
* @file
* Classy theme styles.
*/
/**
* Make sure the date picker is in front of the dialog.
*
* @see core/themes/classy/css/components/dialog.css
* @see core/themes/seven/css/components/dialog.css
*/
.ui-datepicker {
z-index: 1261 !important;
}

View file

@ -8,8 +8,26 @@ table td {
vertical-align: top;
}
td > .form-item:first-of-type,
tr.odd .form-item:first-of-type,
tr.even .form-item:first-of-type {
margin-top: 0;
}
td > .form-item:last-of-type,
tr.odd .form-item:last-of-type,
tr.even .form-item:last-of-type {
margin-bottom: 0;
}
/* Add margin around HR tags */
table hr {
margin: .5em 0;
}
/* Add background to nested details */
details details {
details details /* < 8.5.x */,
details.seven-details details.seven-details /* >= 8.6.x */ {
background-color: #f8f8f8;
}
@ -17,13 +35,64 @@ details details details {
background-color: #fff;
}
/* Add white background to tooltips */
/* Reduce the width of number inputs */
input.form-number {
width: 6em;
}
code {
font-weight: bold;
border: 1px solid #333;
background-color: #f8f8f8;
padding: 2px 4px;
color: #333;
}
/* Add yellow background to tooltips and tabs */
.ui-tooltip.ui-widget {
background: #fff;
background: #fe6;;
border: 1px solid #ed5;
}
.webform-tabs .ui-tabs-active.ui-state-active {
background: #fe6;
border: 1px solid #ed5;
}
.webform-tabs .ui-tabs-active.ui-state-active.ui-state-focus a {
text-decoration: underline;
}
/** Compress tabs for mobile */
@media screen and (max-width: 600px) {
.webform-tabs.ui-tabs .ui-tabs-nav {
padding: 5px 0 4px 0;
}
.webform-tabs.ui-tabs .ui-tabs-nav li {
padding: 0;
}
.webform-tabs.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
padding: .5em .7em;
}
}
/* Accordion icon */
.ui-accordion-icons .ui-icon {
display: inline-block;
}
/* CodeMirror viewer */
pre.webform-codemirror-runmode {
padding: .5em 1.5em;
}
/* Hide tabs and elements from printing. */
@media print {
body {
padding-top: 0 !important; /* Using !import to ensure that <body style="padding-top: *"> set via the toolbar.module is overridden. */
}
.region.region-highlighted,
.shortcut-action,
.dropbutton-wrapper,
.block-system-breadcrumb-block,
@ -36,19 +105,82 @@ details details details {
}
}
/**
* Form action are moved to a dialogs footer and don't need to be visually
* hidden.
* @see Drupal.behaviors.dialog.prepareDialogButtons
*/
.webform-ui-dialog .form-actions input[type=submit],
.webform-ui-dialog .form-actions a.button {
display: none !important;
}
/* System tray divider */
.ui-resizable-w {
.ui-dialog.ui-dialog-off-canvas .ui-resizable-w {
background-color: #bfbfba;
border: 1px solid #6b6b6b;
border-width: 1px 2px;
}
/* System tray title bar */
.ui-dialog.ui-dialog-offcanvas .ui-dialog-titlebar {
.ui-dialog.ui-dialog-off-canvas {
background: #fff;
}
.ui-dialog.ui-dialog-off-canvas .ui-dialog-titlebar {
border-radius: 0;
}
/* System tray actions */
.ui-dialog.ui-dialog-offcanvas .ui-dialog-content .form-actions {
.ui-dialog.ui-dialog-off-canvas .ui-dialog-content .form-actions {
margin: 1em 0;
}
/* jQuery UI button states */
.webform-buttons .ui-button.ui-state-default {
background: #f5f5f2;
border: solid 1px #bfbfba;
}
.webform-buttons .ui-button.ui-state-active {
color: #840;
background: #fe6;
border: solid 1px #ed5;
}
/* jQuery UI tooltip */
.ui-tooltip hr {
background: #666;
margin: .3em 0;
height: 1px;
}
.ui-tooltip code {
font-weight: bold;
white-space: nowrap;
background-color: #f5f5f2;
font-size: .9em;
padding: .2em;
}
/* jQuery UI tabs */
.ui-tabs .ui-tabs-panel {
padding: 0;
}
/* Tweak details toggle state. */
.webform-details-toggle-state {
color: #0074bd;
}
.webform-details-toggle-state:hover,
.webform-details-toggle-statelink:focus {
text-decoration: underline;
}
/* Token tree */
.token-tree ul {
margin: 0;
}

View file

@ -0,0 +1,36 @@
/**
* @file
* Wizard styles.
*/
.webform-wizard-pages-links {
display: none;
}
/**
* Progress link styles.
*/
.webform-progress [role="link"] {
cursor: pointer;
}
.webform-progress .progress-title[role="link"] {
color: #1976d2;
}
.webform-progress .progress-title[role="link"]:hover,
.webform-progress .progress-title[role="link"]:focus {
text-decoration: underline;
color: #2196f3;
}
/**
* Preview link styles.
*/
.webform-wizard-page-edit {
display: none;
}
.webform-wizard-page-edit input {
margin: 0;
}

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