diff --git a/js/webform.element.telephone.js b/js/webform.element.telephone.js
index 6b9f7ef..319b64f 100644
--- a/js/webform.element.telephone.js
+++ b/js/webform.element.telephone.js
@@ -53,7 +53,22 @@
         const module = await import(drupalSettings.webform.intlTelInput.i18nPath + localization + '/index.js');
         options.i18n = module.default;
 
-        options = $.extend(options, Drupal.webform.intlTelInput.options);
+        const isObjectEmpty = function (obj) {
+          return Object.keys(obj).length === 0 && obj.constructor === Object;
+        };
+
+        let extraOptions = {};
+        if (!isObjectEmpty(Drupal.webform.intlTelInput.options)) {
+          extraOptions = Drupal.webform.intlTelInput.options;
+        } else if (!isObjectEmpty(drupalSettings.webform.intlTelInput.options)) {
+          extraOptions = drupalSettings.webform.intlTelInput.options;
+        }
+
+        if (drupalSettings.webform.intlTelInput.enableHiddenInput) {
+          options.hiddenInput = () => ({ phone: 'full_phone' });
+        }
+
+        options = $.extend(options, extraOptions);
         window.intlTelInput(this, options);
         const iti = intlTelInput.getInstance(this);
 
