@netlib/widerrufsbutton 2.1.13 → 2.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -239,10 +239,10 @@
239
239
  opacity: 0 !important;
240
240
  pointer-events: none !important;
241
241
  }
242
- `;function r(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function n(e){if(!e.privacyUrl)return"";const a=r(e.privacyLabel??"Datenschutz");return`
242
+ `;function r(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function l(e){if(!e.privacyUrl)return"";const a=r(e.privacyLabel??"Datenschutz");return`
243
243
  <div class="wrb-legal-links">
244
244
  <a href="${r(e.privacyUrl)}" class="wrb-legal-link" rel="noopener noreferrer">${a}</a>
245
- </div>`}function s(e){const a=[];return e.companyName&&a.push(`data-company-name="${r(e.companyName)}"`),e.senderEmail&&a.push(`data-sender-email="${r(e.senderEmail)}"`),e.authToken&&a.push(`data-auth-token="${r(e.authToken)}"`),a.length?" "+a.join(" "):""}function d(e,a="",t=""){const l=r(e.successUrl??a),i=r(e.errorUrl??t);return`
245
+ </div>`}function s(e){const a=[];return e.companyName&&a.push(`data-company-name="${r(e.companyName)}"`),e.senderEmail&&a.push(`data-sender-email="${r(e.senderEmail)}"`),e.authToken&&a.push(`data-auth-token="${r(e.authToken)}"`),a.length?" "+a.join(" "):""}function d(e,a="",t=""){const n=r(e.successUrl??a),i=r(e.errorUrl??t);return`
246
246
  <div class="wrb-field">
247
247
  <label class="wrb-label">
248
248
  Vorname <span class="wrb-required" aria-hidden="true">*</span>
@@ -281,7 +281,7 @@
281
281
  </p>
282
282
  </div>
283
283
  <input type="hidden" name="action" value="${r(e.action)}">
284
- ${l?`<input type="hidden" name="successUrl" value="${l}">`:""}
284
+ ${n?`<input type="hidden" name="successUrl" value="${n}">`:""}
285
285
  ${i?`<input type="hidden" name="errorUrl" value="${i}">`:""}
286
286
  <div class="wrb-hp" aria-hidden="true">
287
287
  <label>Website (leer lassen)</label>
@@ -323,12 +323,12 @@
323
323
  </button>
324
324
  </div>
325
325
  </form>
326
- ${n(e)}
326
+ ${l(e)}
327
327
  </div>
328
328
  </div>
329
329
  </div>
330
330
  </body>
331
- </html>`}function p(e,{inlineStyles:a=!0}={}){const t=e.companyName?`Widerruf – ${r(e.companyName)}`:"Widerrufsformular",l=r(e.formAction??e.apiUrl??"/rest/v1/apiCancellation"),i=`
331
+ </html>`}function p(e,{inlineStyles:a=!0}={}){const t=e.companyName?`Widerruf – ${r(e.companyName)}`:"Widerrufsformular",n=r(e.formAction??e.apiUrl??"/rest/v1/apiCancellation"),i=`
332
332
  #wrb-modal, #wrb-success, #wrb-error { display: none; }
333
333
  #wrb-modal:target, #wrb-success:target, #wrb-error:target { display: flex; }`;return`${a?`<style>${i}
334
334
  ${o}</style>`:`<style>${i}</style>`}
@@ -342,7 +342,7 @@ ${o}</style>`:`<style>${i}</style>`}
342
342
  </div>
343
343
  <div class="wrb-modal-body">
344
344
  ${e.introText?`<p class="wrb-intro">${r(e.introText)}</p>`:""}
345
- <form method="POST" action="${l}"${s(e)}>
345
+ <form method="POST" action="${n}"${s(e)}>
346
346
  ${d(e,"#wrb-success","#wrb-error")}
347
347
  <div class="wrb-actions">
348
348
  <a href="#" class="wrb-cancel-btn">${r(e.cancelLabel??"Abbrechen")}</a>
@@ -351,7 +351,7 @@ ${o}</style>`:`<style>${i}</style>`}
351
351
  </button>
352
352
  </div>
353
353
  </form>
354
- ${n(e)}
354
+ ${l(e)}
355
355
  </div>
356
356
  </div>
357
357
  </div>
@@ -368,11 +368,13 @@ ${o}</style>`:`<style>${i}</style>`}
368
368
  <span class="wrb-success-icon">✓</span>
369
369
  <h3>Widerruf eingegangen</h3>
370
370
  <p>
371
- Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine
372
- Bestätigung per E-Mail.
371
+ Vielen Dank. Ihr Widerruf wurde erfolgreich an uns übermittelt.
372
+ </p>
373
+ <p>
374
+ Sie erhalten in Kürze eine Bestätigung per E-Mail. Wir werden Ihr Anliegen schnellstmöglich bearbeiten.
373
375
  </p>
374
376
  </div>
375
- ${n(e)}
377
+ ${l(e)}
376
378
  </div>
377
379
  </div>
378
380
  </div>
@@ -393,7 +395,7 @@ ${o}</style>`:`<style>${i}</style>`}
393
395
  <a href="#" class="wrb-cancel-btn">Schließen</a>
394
396
  <a href="#wrb-modal" class="wrb-submit-btn">Erneut versuchen</a>
395
397
  </div>
396
- ${n(e)}
398
+ ${l(e)}
397
399
  </div>
398
400
  </div>
399
401
  </div>`}exports.generateFallbackHtml=b;exports.generateModalHtml=p;
@@ -391,8 +391,10 @@ ${o}</style>` : `<style>${i}</style>`}
391
391
  <span class="wrb-success-icon">✓</span>
392
392
  <h3>Widerruf eingegangen</h3>
393
393
  <p>
394
- Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine
395
- Bestätigung per E-Mail.
394
+ Vielen Dank. Ihr Widerruf wurde erfolgreich an uns übermittelt.
395
+ </p>
396
+ <p>
397
+ Sie erhalten in Kürze eine Bestätigung per E-Mail. Wir werden Ihr Anliegen schnellstmöglich bearbeiten.
396
398
  </p>
397
399
  </div>
398
400
  ${l(e)}
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),m=require("react"),O=require("react-dom");async function R(e,t){const a={"Content-Type":"application/json"};e.authToken&&(a.Authorization=`Bearer ${e.authToken}`);const o={action:e.action,payload:{...t,...e.companyName?{companyName:e.companyName}:{},...e.senderEmail?{senderEmail:e.senderEmail}:{}}},n=await fetch(e.apiUrl,{method:"PATCH",headers:a,body:JSON.stringify(o)});let c;try{c=await n.json()}catch{if(!n.ok)throw new Error(`Server antwortete mit Status ${n.status}`);return}if(c!==null&&typeof c=="object"&&"ok"in c&&c.ok===!1){const i=c.message;throw new Error(typeof i=="string"&&i?i:`Server antwortete mit Status ${n.status}`)}if(!n.ok)throw new Error(`Server antwortete mit Status ${n.status}`)}const I={firstName:"",lastName:"",email:"",orderNumber:"",reason:""};function $(e){const t={};return e.firstName.trim()||(t.firstName="Bitte geben Sie Ihren Vornamen an."),e.lastName.trim()||(t.lastName="Bitte geben Sie Ihren Nachnamen an."),e.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.email)||(t.email="Bitte geben Sie eine gültige E-Mail-Adresse an."):t.email="Bitte geben Sie Ihre E-Mail-Adresse an.",e.orderNumber.trim()||(t.orderNumber="Bitte geben Sie die Rechnungs-, Lieferschein- oder Auftragsnummer an."),t}function T({config:e,onClose:t}){const[a,o]=m.useState(I),[n,c]=m.useState({}),[i,f]=m.useState({}),[h,b]=m.useState("idle"),[d,w]=m.useState(""),y=m.useRef(null),W=m.useRef(null);m.useEffect(()=>{var p;(p=y.current)==null||p.focus();const s=u=>u.key==="Escape"&&t();return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[t]);function x(s,p){const u={...a,[s]:p};if(o(u),i[s]){const N=$(u);c(k=>({...k,[s]:N[s]}))}}function v(s){f(u=>({...u,[s]:!0}));const p=$(a);c(u=>({...u,[s]:p[s]}))}async function L(s){var N,k,A;if(s.preventDefault(),(((N=W.current)==null?void 0:N.value)??"").trim()!==""){b("success");return}const p=Object.fromEntries(Object.keys(a).map(j=>[j,!0]));f(p);const u=$(a);if(c(u),!(Object.keys(u).length>0)){b("loading"),w("");try{await R(e,a),b("success"),(k=e.onSuccess)==null||k.call(e)}catch(j){const z=j instanceof Error?j:new Error("Ein unbekannter Fehler ist aufgetreten.");w(z.message),b("error"),(A=e.onError)==null||A.call(e,z)}}}const U=e.companyName?`Widerruf – ${e.companyName}`:"Widerrufsformular";return r.jsx("div",{className:"wrb-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"wrb-title",onClick:s=>s.target===s.currentTarget&&t(),children:r.jsxs("div",{className:"wrb-modal",children:[r.jsxs("div",{className:"wrb-modal-header",children:[r.jsx("h2",{className:"wrb-modal-title",id:"wrb-title",children:U}),r.jsx("button",{className:"wrb-close-btn",onClick:t,"aria-label":"Schließen",type:"button",children:"✕"})]}),h==="success"?r.jsxs("div",{className:"wrb-modal-body",children:[r.jsxs("div",{className:"wrb-success",children:[r.jsx("span",{className:"wrb-success-icon",children:"✓"}),r.jsx("h3",{children:"Widerruf eingegangen"}),r.jsxs("p",{children:["Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine Bestätigung an ",r.jsx("strong",{children:a.email}),"."]})]}),r.jsx(C,{config:e})]}):r.jsxs("div",{className:"wrb-modal-body",children:[e.introText&&r.jsx("p",{className:"wrb-intro",children:e.introText}),h==="error"&&d&&r.jsx("div",{className:"wrb-alert wrb-alert-error",role:"alert",children:d}),r.jsxs("form",{onSubmit:L,noValidate:!0,children:[r.jsx(g,{label:"Vorname",required:!0,error:i.firstName?n.firstName:void 0,children:r.jsx("input",{ref:y,className:`wrb-input${i.firstName&&n.firstName?" wrb-error":""}`,type:"text",autoComplete:"given-name",value:a.firstName,onChange:s=>x("firstName",s.target.value),onBlur:()=>v("firstName"),placeholder:"Max"})}),r.jsx(g,{label:"Nachname",required:!0,error:i.lastName?n.lastName:void 0,children:r.jsx("input",{className:`wrb-input${i.lastName&&n.lastName?" wrb-error":""}`,type:"text",autoComplete:"family-name",value:a.lastName,onChange:s=>x("lastName",s.target.value),onBlur:()=>v("lastName"),placeholder:"Mustermann"})}),r.jsx(g,{label:"E-Mail-Adresse",required:!0,hint:"An diese Adresse senden wir Ihnen die Eingangsbestätigung.",error:i.email?n.email:void 0,children:r.jsx("input",{className:`wrb-input${i.email&&n.email?" wrb-error":""}`,type:"email",autoComplete:"email",value:a.email,onChange:s=>x("email",s.target.value),onBlur:()=>v("email"),placeholder:"name@beispiel.de"})}),r.jsx(g,{label:"Rechnungs- / Lieferschein- / Auftragsnummer",required:!0,error:i.orderNumber?n.orderNumber:void 0,children:r.jsx("input",{className:`wrb-input${i.orderNumber&&n.orderNumber?" wrb-error":""}`,type:"text",value:a.orderNumber,onChange:s=>x("orderNumber",s.target.value),onBlur:()=>v("orderNumber"),placeholder:"z.B. RE123456"})}),r.jsx(g,{label:"Widerrufsgrund",hint:"Freiwillige Angabe – ein Widerruf ist ohne Angabe von Gründen möglich.",children:r.jsx("textarea",{className:"wrb-textarea",value:a.reason,onChange:s=>x("reason",s.target.value),placeholder:"Optional",rows:2})}),r.jsxs("div",{className:"wrb-hp","aria-hidden":"true",children:[r.jsx("label",{children:"Website (leer lassen)"}),r.jsx("input",{ref:W,type:"text",name:"wrbWebsite",tabIndex:-1,autoComplete:"off",defaultValue:""})]}),r.jsxs("div",{className:"wrb-actions",children:[r.jsx("button",{type:"button",className:"wrb-cancel-btn",onClick:t,children:e.cancelLabel??"Abbrechen"}),r.jsx("button",{type:"submit",className:"wrb-submit-btn",disabled:h==="loading",children:h==="loading"?"Wird gesendet…":e.submitLabel??"Absenden"})]})]}),r.jsx(C,{config:e})]})]})})}function g({label:e,required:t,hint:a,error:o,children:n}){return r.jsxs("div",{className:"wrb-field",children:[r.jsxs("label",{className:"wrb-label",children:[e,t&&r.jsx("span",{className:"wrb-required","aria-hidden":"true",children:"*"})]}),n,a&&!o&&r.jsx("p",{className:"wrb-hint",children:a}),o&&r.jsx("p",{className:"wrb-field-error",role:"alert",children:o})]})}function C({config:e}){return e.privacyUrl?r.jsx("div",{className:"wrb-legal-links",children:r.jsx("a",{href:e.privacyUrl,className:"wrb-legal-link",target:"_blank",rel:"noopener noreferrer",children:e.privacyLabel??"Datenschutz"})}):null}const E=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),m=require("react"),O=require("react-dom");async function I(e,t){const a={"Content-Type":"application/json"};e.authToken&&(a.Authorization=`Bearer ${e.authToken}`);const o={action:e.action,payload:{...t,...e.companyName?{companyName:e.companyName}:{},...e.senderEmail?{senderEmail:e.senderEmail}:{}}},n=await fetch(e.apiUrl,{method:"PATCH",headers:a,body:JSON.stringify(o)});let c;try{c=await n.json()}catch{if(!n.ok)throw new Error(`Server antwortete mit Status ${n.status}`);return}if(c!==null&&typeof c=="object"&&"ok"in c&&c.ok===!1){const i=c.message;throw new Error(typeof i=="string"&&i?i:`Server antwortete mit Status ${n.status}`)}if(!n.ok)throw new Error(`Server antwortete mit Status ${n.status}`)}const R={firstName:"",lastName:"",email:"",orderNumber:"",reason:""};function $(e){const t={};return e.firstName.trim()||(t.firstName="Bitte geben Sie Ihren Vornamen an."),e.lastName.trim()||(t.lastName="Bitte geben Sie Ihren Nachnamen an."),e.email.trim()?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.email)||(t.email="Bitte geben Sie eine gültige E-Mail-Adresse an."):t.email="Bitte geben Sie Ihre E-Mail-Adresse an.",e.orderNumber.trim()||(t.orderNumber="Bitte geben Sie die Rechnungs-, Lieferschein- oder Auftragsnummer an."),t}function T({config:e,onClose:t}){const[a,o]=m.useState(R),[n,c]=m.useState({}),[i,f]=m.useState({}),[h,b]=m.useState("idle"),[d,w]=m.useState(""),y=m.useRef(null),W=m.useRef(null);m.useEffect(()=>{var p;(p=y.current)==null||p.focus();const s=u=>u.key==="Escape"&&t();return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[t]);function x(s,p){const u={...a,[s]:p};if(o(u),i[s]){const N=$(u);c(k=>({...k,[s]:N[s]}))}}function v(s){f(u=>({...u,[s]:!0}));const p=$(a);c(u=>({...u,[s]:p[s]}))}async function L(s){var N,k,A;if(s.preventDefault(),(((N=W.current)==null?void 0:N.value)??"").trim()!==""){b("success");return}const p=Object.fromEntries(Object.keys(a).map(j=>[j,!0]));f(p);const u=$(a);if(c(u),!(Object.keys(u).length>0)){b("loading"),w("");try{await I(e,a),b("success"),(k=e.onSuccess)==null||k.call(e)}catch(j){const z=j instanceof Error?j:new Error("Ein unbekannter Fehler ist aufgetreten.");w(z.message),b("error"),(A=e.onError)==null||A.call(e,z)}}}const U=e.companyName?`Widerruf – ${e.companyName}`:"Widerrufsformular";return r.jsx("div",{className:"wrb-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"wrb-title",onClick:s=>s.target===s.currentTarget&&t(),children:r.jsxs("div",{className:"wrb-modal",children:[r.jsxs("div",{className:"wrb-modal-header",children:[r.jsx("h2",{className:"wrb-modal-title",id:"wrb-title",children:U}),r.jsx("button",{className:"wrb-close-btn",onClick:t,"aria-label":"Schließen",type:"button",children:"✕"})]}),h==="success"?r.jsxs("div",{className:"wrb-modal-body",children:[r.jsxs("div",{className:"wrb-success",children:[r.jsx("span",{className:"wrb-success-icon",children:"✓"}),r.jsx("h3",{children:"Widerruf eingegangen"}),r.jsxs("p",{children:["Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine Bestätigung an ",r.jsx("strong",{children:a.email}),"."]})]}),r.jsx(C,{config:e})]}):r.jsxs("div",{className:"wrb-modal-body",children:[e.introText&&r.jsx("p",{className:"wrb-intro",children:e.introText}),h==="error"&&d&&r.jsx("div",{className:"wrb-alert wrb-alert-error",role:"alert",children:d}),r.jsxs("form",{onSubmit:L,noValidate:!0,children:[r.jsx(g,{label:"Vorname",required:!0,error:i.firstName?n.firstName:void 0,children:r.jsx("input",{ref:y,className:`wrb-input${i.firstName&&n.firstName?" wrb-error":""}`,type:"text",autoComplete:"given-name",value:a.firstName,onChange:s=>x("firstName",s.target.value),onBlur:()=>v("firstName"),placeholder:"Max"})}),r.jsx(g,{label:"Nachname",required:!0,error:i.lastName?n.lastName:void 0,children:r.jsx("input",{className:`wrb-input${i.lastName&&n.lastName?" wrb-error":""}`,type:"text",autoComplete:"family-name",value:a.lastName,onChange:s=>x("lastName",s.target.value),onBlur:()=>v("lastName"),placeholder:"Mustermann"})}),r.jsx(g,{label:"E-Mail-Adresse",required:!0,hint:"An diese Adresse senden wir Ihnen die Eingangsbestätigung.",error:i.email?n.email:void 0,children:r.jsx("input",{className:`wrb-input${i.email&&n.email?" wrb-error":""}`,type:"email",autoComplete:"email",value:a.email,onChange:s=>x("email",s.target.value),onBlur:()=>v("email"),placeholder:"name@beispiel.de"})}),r.jsx(g,{label:"Rechnungs- / Lieferschein- / Auftragsnummer",required:!0,error:i.orderNumber?n.orderNumber:void 0,children:r.jsx("input",{className:`wrb-input${i.orderNumber&&n.orderNumber?" wrb-error":""}`,type:"text",value:a.orderNumber,onChange:s=>x("orderNumber",s.target.value),onBlur:()=>v("orderNumber"),placeholder:"z.B. RE123456"})}),r.jsx(g,{label:"Widerrufsgrund",hint:"Freiwillige Angabe – ein Widerruf ist ohne Angabe von Gründen möglich.",children:r.jsx("textarea",{className:"wrb-textarea",value:a.reason,onChange:s=>x("reason",s.target.value),placeholder:"Optional",rows:2})}),r.jsxs("div",{className:"wrb-hp","aria-hidden":"true",children:[r.jsx("label",{children:"Website (leer lassen)"}),r.jsx("input",{ref:W,type:"text",name:"wrbWebsite",tabIndex:-1,autoComplete:"off",defaultValue:""})]}),r.jsxs("div",{className:"wrb-actions",children:[r.jsx("button",{type:"button",className:"wrb-cancel-btn",onClick:t,children:e.cancelLabel??"Abbrechen"}),r.jsx("button",{type:"submit",className:"wrb-submit-btn",disabled:h==="loading",children:h==="loading"?"Wird gesendet…":e.submitLabel??"Absenden"})]})]}),r.jsx(C,{config:e})]})]})})}function g({label:e,required:t,hint:a,error:o,children:n}){return r.jsxs("div",{className:"wrb-field",children:[r.jsxs("label",{className:"wrb-label",children:[e,t&&r.jsx("span",{className:"wrb-required","aria-hidden":"true",children:"*"})]}),n,a&&!o&&r.jsx("p",{className:"wrb-hint",children:a}),o&&r.jsx("p",{className:"wrb-field-error",role:"alert",children:o})]})}function C({config:e}){return e.privacyUrl?r.jsx("div",{className:"wrb-legal-links",children:r.jsx("a",{href:e.privacyUrl,className:"wrb-legal-link",target:"_blank",rel:"noopener noreferrer",children:e.privacyLabel??"Datenschutz"})}):null}const E=`
2
2
  /* Widerrufsbutton widget — prefix: wrb- */
3
3
  .wrb-btn {
4
4
  display: inline-flex;
@@ -368,8 +368,10 @@ ${E}</style>`:`<style>${n}</style>`}
368
368
  <span class="wrb-success-icon">✓</span>
369
369
  <h3>Widerruf eingegangen</h3>
370
370
  <p>
371
- Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine
372
- Bestätigung per E-Mail.
371
+ Vielen Dank. Ihr Widerruf wurde erfolgreich an uns übermittelt.
372
+ </p>
373
+ <p>
374
+ Sie erhalten in Kürze eine Bestätigung per E-Mail. Wir werden Ihr Anliegen schnellstmöglich bearbeiten.
373
375
  </p>
374
376
  </div>
375
377
  ${S(e)}
package/dist/index.es.js CHANGED
@@ -751,8 +751,10 @@ ${W}</style>` : `<style>${a}</style>`}
751
751
  <span class="wrb-success-icon">✓</span>
752
752
  <h3>Widerruf eingegangen</h3>
753
753
  <p>
754
- Ihr Widerruf wurde erfolgreich übermittelt. Sie erhalten in Kürze eine
755
- Bestätigung per E-Mail.
754
+ Vielen Dank. Ihr Widerruf wurde erfolgreich an uns übermittelt.
755
+ </p>
756
+ <p>
757
+ Sie erhalten in Kürze eine Bestätigung per E-Mail. Wir werden Ihr Anliegen schnellstmöglich bearbeiten.
756
758
  </p>
757
759
  </div>
758
760
  ${E(e)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netlib/widerrufsbutton",
3
- "version": "2.1.13",
3
+ "version": "2.1.14",
4
4
  "description": "Embeddable Widerrufsbutton widget for German e-commerce compliance",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",