There is also a polyfill.io url in webform.libraries.yml, under js for the external library webform.choices
This external library is a dependency of the webform.element.choices, which is conditionally attached in prepare() for the Select element plugin class Plugin/WebformElement/Select.php.
// Enhance select element using select2, chosen, or choices.
if (isset($element['#select2']) && $select2_exists) {
$element['#attached']['library'][] = 'webform/webform.element.select2';
$element['#attributes']['class'][] = 'js-webform-select2';
$element['#attributes']['class'][] = 'webform-select2';
}
elseif (isset($element['#choices']) && $choices_exists) {
$element['#attached']['library'][] = 'webform/webform.element.choices';
$element['#attributes']['class'][] = 'js-webform-choices';
$element['#attributes']['class'][] = 'webform-choices';
}
elseif (isset($element['#chosen']) && $chosen_exists) {
$element['#attached']['library'][] = 'webform/webform.element.chosen';
$element['#attributes']['class'][] = 'js-webform-chosen';
$element['#attributes']['class'][] = 'webform-chosen';
}
BUT, It looks like the system will only offer one of the above, and the preferred option is Select2, so Choices is a fallback from that.
// If select2, choices, or chosen is not available,
// see if we can use the alternative.
$select2_exists = $this->librariesManager->isIncluded('jquery.select2');
$choices_exists = $this->librariesManager->isIncluded('choices');
$chosen_exists = $this->librariesManager->isIncluded('jquery.chosen');
$default_select = ($select2_exists ? '#select2' :
($choices_exists ? '#choices' :
($chosen_exists ? '#chosen' : NULL)
)
);
So i think the default setup with Select2 available means this polyfill.io script isn't loaded, but it should be fixed in webform.libraries.yml, or just removed altogether since it's just one of two fallbacks from Select2.
RTBC looks good.
ransomweaver β created an issue.
ransomweaver β created an issue.
Could be that this breaks a site running smart_date on drupal 8/9. Dunno what to do about that if that's the case.
Here is the patch
ransomweaver β created an issue.