UNPKG

@devgateway/dvz-ui-react

Version:

A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.

2 lines (1 loc) 1.2 kB
"use strict";const e=require("react/jsx-runtime");require("react");const t=require("semantic-ui-react"),j=require("react-redux"),d=require("../reducers/embeddable.js"),p=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,v=s=>{const r=()=>{const{email:i,list:a,tag:w}=s;s.onSubmit({email:i,list:a,tag:w})},{status:l,editing:c,list:q,placeholder:m="enter your email address",successmessage:u="Thanks",failuremessage:g="Something didn't go well",label:x="Send",tag:C,email:o,onChange:h}=s;let n="";(l==="OK"||c)&&(n=e.jsx(t.Message,{success:!0,children:e.jsx("p",{children:u})})),(l==="ERROR"||c)&&(n=e.jsx(t.Message,{negative:!0,children:e.jsx("p",{children:g})}));const b=p.test(o);return e.jsxs("div",{className:"viz newsLetter",children:[e.jsxs("div",{className:"viz newsLetter form",children:[e.jsx(t.Input,{icon:"envelope",name:"email",value:o,onChange:(i,a)=>h(a.value),iconPosition:"left",placeholder:m}),e.jsx(t.Button,{disabled:!b,primary:!0,onClick:i=>r(),children:x})]}),n]})},R=(s,r)=>({status:s.getIn(["embeddable","newsletter","status"]),email:s.getIn(["embeddable","newsletter","email"])}),S={onSubmit:d.newsletterSubscription,onChange:d.setEmail},f=j.connect(R,S)(v);module.exports=f;