@net-advantage/nabs-ui-signature 0.75.0 → 0.77.0

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");function n(e,t){let n=t.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}function r(e,t){if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n+=1)e.lineTo(t[n].x,t[n].y);e.stroke()}}function i(e,t,n){e.fillStyle=n,e.fillRect(0,0,t.width,t.height)}function a(e,t){return e||`nabs-ui-signature-${t.replace(/:/g,``)}`}function o({disabled:e,className:t,labelClassName:n,helperTextClassName:r,padClassName:i,canvasClassName:a}){return{classes:[`nabs-ui-signature`,e?`nabs-ui-signature--disabled`:``,t??``].filter(Boolean).join(` `),labelClasses:[`nabs-ui-signature__label`,n??``].filter(Boolean).join(` `),helperClasses:[`nabs-ui-signature__helper`,r??``].filter(Boolean).join(` `),padClasses:[`nabs-ui-signature__pad`,i??``].filter(Boolean).join(` `),canvasClasses:[`nabs-ui-signature__canvas`,a??``].filter(Boolean).join(` `)}}function s({label:s=`Signature`,helperText:c=`Use your mouse to draw your signature.`,value:l=``,disabled:u=!1,className:d=``,labelClassName:f=``,helperTextClassName:p=``,padClassName:m=``,canvasClassName:h=``,id:g,width:_=720,height:v=240,backgroundColor:y=`#ffffff`,penColor:b=`#0f172a`,penWidth:x=2.5,onChange:S,onBeginStroke:C,onEndStroke:w,onClear:T}){let E=a(g,(0,e.useId)()),D=(0,e.useRef)(null),O=(0,e.useRef)(null),k=(0,e.useRef)(!1),A=(0,e.useRef)([]),[j,M]=(0,e.useState)(!l),{classes:N,labelClasses:P,helperClasses:F,padClasses:I,canvasClasses:L}=o({disabled:u,className:d,labelClassName:f,helperTextClassName:p,padClassName:m,canvasClassName:h});(0,e.useEffect)(()=>{let e=D.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=window.devicePixelRatio||1,r=Math.round(_),a=Math.round(v);if(e.width=Math.round(r*n),e.height=Math.round(a*n),e.style.width=`${r}px`,e.style.height=`${a}px`,O.current=t,t.lineCap=`round`,t.lineJoin=`round`,t.lineWidth=x*n,t.strokeStyle=b,t.scale(n,n),i(t,e,y),l){let e=new Image;e.onload=()=>{t.clearRect(0,0,r,a),t.fillStyle=y,t.fillRect(0,0,r,a),t.drawImage(e,0,0,r,a),M(!1)},e.src=l}return()=>{O.current=null}},[y,b,x,l,_,v]);let R=e=>{S?.(e.toDataURL(`image/png`))},z=e=>{if(u||k.current)return;let t=D.current,r=O.current;!t||!r||(`pointerId`in e&&typeof e.pointerId==`number`&&t.setPointerCapture&&t.setPointerCapture(e.pointerId),k.current=!0,A.current=[n(e,t)],r.beginPath(),r.moveTo(A.current[0].x,A.current[0].y),C?.())},B=e=>{if(u||!k.current)return;let t=D.current,r=O.current;if(!t||!r)return;let i=n(e,t);A.current.push(i),r.lineTo(i.x,i.y),r.stroke(),M(!1)},V=e=>{let t=D.current,n=O.current;if(!(!t||!n||!k.current)){if(e&&`pointerId`in e&&typeof e.pointerId==`number`&&t.releasePointerCapture)try{t.releasePointerCapture(e.pointerId)}catch{}k.current=!1,r(n,A.current),A.current=[],R(t),w?.()}};return(0,t.jsxs)(`div`,{className:N,children:[(0,t.jsx)(`div`,{className:P,id:`${E}-label`,children:s}),c?(0,t.jsx)(`div`,{className:F,children:c}):null,(0,t.jsxs)(`div`,{className:I,children:[(0,t.jsx)(`canvas`,{id:E,ref:D,className:L,role:`img`,"aria-labelledby":`${E}-label`,"aria-label":s,onPointerDown:z,onPointerMove:B,onPointerUp:V,onPointerCancel:V,onPointerLeave:V,onMouseDown:z,onMouseMove:B,onMouseUp:V,onMouseLeave:V}),(0,t.jsx)(`div`,{className:`nabs-ui-signature__placeholder`,"aria-hidden":`true`,children:j?`Draw here`:null})]}),(0,t.jsx)(`div`,{className:`nabs-ui-signature__actions`,children:(0,t.jsx)(`button`,{type:`button`,className:`nabs-ui-signature__clearButton`,onClick:()=>{let e=D.current,t=O.current;!e||!t||(t.clearRect(0,0,e.width,e.height),i(t,e,y),M(!0),S?.(``),T?.())},disabled:u||j,children:`Clear`})})]})}exports.Signature=s;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");function n(e,t){let n=t.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}function r(e,t){if(t.length!==0){e.beginPath(),e.moveTo(t[0].x,t[0].y);for(let n=1;n<t.length;n+=1)e.lineTo(t[n].x,t[n].y);e.stroke()}}function i(e,t,n){e.fillStyle=n,e.fillRect(0,0,t.width,t.height)}function a(e,t){return e||`nabs-ui-signature-${t.replace(/:/g,``)}`}function o({disabled:e,className:t,labelClassName:n,helperTextClassName:r,padClassName:i,canvasClassName:a}){return{classes:[`nabs-ui-signature`,e?`nabs-ui-signature--disabled`:``,t??``].filter(Boolean).join(` `),labelClasses:[`nabs-ui-signature__label`,n??``].filter(Boolean).join(` `),helperClasses:[`nabs-ui-signature__helper`,r??``].filter(Boolean).join(` `),padClasses:[`nabs-ui-signature__pad`,i??``].filter(Boolean).join(` `),canvasClasses:[`nabs-ui-signature__canvas`,a??``].filter(Boolean).join(` `)}}function s({label:s=`Signature`,helperText:c=`Use your mouse to draw your signature.`,value:l=``,disabled:u=!1,className:d=``,labelClassName:f=``,helperTextClassName:p=``,padClassName:m=``,canvasClassName:h=``,id:g,width:_=720,height:v=240,backgroundColor:y=`#ffffff`,penColor:b=`#0f172a`,penWidth:x=2.5,onChange:S,onBeginStroke:C,onEndStroke:w,onClear:T}){let E=a(g,(0,e.useId)()),D=(0,e.useRef)(null),O=(0,e.useRef)(null),k=(0,e.useRef)(!1),A=(0,e.useRef)([]),[j,M]=(0,e.useState)(!l),{classes:N,labelClasses:P,helperClasses:F,padClasses:I,canvasClasses:L}=o({disabled:u,className:d,labelClassName:f,helperTextClassName:p,padClassName:m,canvasClassName:h});(0,e.useEffect)(()=>{let e=D.current,t=e.getContext(`2d`);if(!t)return;let n=window.devicePixelRatio||1,r=Math.round(_),a=Math.round(v);if(e.width=Math.round(r*n),e.height=Math.round(a*n),e.style.width=`${r}px`,e.style.height=`${a}px`,O.current=t,t.lineCap=`round`,t.lineJoin=`round`,t.lineWidth=x*n,t.strokeStyle=b,t.scale(n,n),i(t,e,y),l){let e=new Image;e.onload=()=>{t.clearRect(0,0,r,a),t.fillStyle=y,t.fillRect(0,0,r,a),t.drawImage(e,0,0,r,a),M(!1)},e.src=l}return()=>{O.current=null}},[y,b,x,l,_,v]);let R=e=>{S?.(e.toDataURL(`image/png`))},z=e=>{if(u||k.current)return;let t=D.current,r=O.current;r&&(`pointerId`in e&&typeof e.pointerId==`number`&&t.setPointerCapture&&t.setPointerCapture(e.pointerId),k.current=!0,A.current=[n(e,t)],r.beginPath(),r.moveTo(A.current[0].x,A.current[0].y),C?.())},B=e=>{if(u||!k.current)return;let t=D.current,r=O.current;if(!r)return;let i=n(e,t);A.current.push(i),r.lineTo(i.x,i.y),r.stroke(),M(!1)},V=e=>{let t=D.current,n=O.current;if(!(!n||!k.current)){if(e&&`pointerId`in e&&typeof e.pointerId==`number`&&t.releasePointerCapture)try{t.releasePointerCapture(e.pointerId)}catch{}k.current=!1,r(n,A.current),A.current=[],R(t),w?.()}};return(0,t.jsxs)(`div`,{className:N,children:[(0,t.jsx)(`div`,{className:P,id:`${E}-label`,children:s}),c?(0,t.jsx)(`div`,{className:F,children:c}):null,(0,t.jsxs)(`div`,{className:I,children:[(0,t.jsx)(`canvas`,{id:E,ref:D,className:L,role:`img`,"aria-labelledby":`${E}-label`,"aria-label":s,onPointerDown:z,onPointerMove:B,onPointerUp:V,onPointerCancel:V,onPointerLeave:V,onMouseDown:z,onMouseMove:B,onMouseUp:V,onMouseLeave:V}),(0,t.jsx)(`div`,{className:`nabs-ui-signature__placeholder`,"aria-hidden":`true`,children:j?`Draw here`:null})]}),(0,t.jsx)(`div`,{className:`nabs-ui-signature__actions`,children:(0,t.jsx)(`button`,{type:`button`,className:`nabs-ui-signature__clearButton`,onClick:()=>{let e=D.current,t=O.current;t&&(t.clearRect(0,0,e.width,e.height),i(t,e,y),M(!0),S?.(``),T?.())},disabled:u||j,children:`Clear`})})]})}exports.Signature=s;
@@ -50,9 +50,7 @@ function d({ label: d = "Signature", helperText: f = "Use your mouse to draw you
50
50
  canvasClassName: y
51
51
  });
52
52
  e(() => {
53
- let e = j.current;
54
- if (!e) return;
55
- let t = e.getContext("2d");
53
+ let e = j.current, t = e.getContext("2d");
56
54
  if (!t) return;
57
55
  let n = window.devicePixelRatio || 1, r = Math.round(x), i = Math.round(S);
58
56
  if (e.width = Math.round(r * n), e.height = Math.round(i * n), e.style.width = `${r}px`, e.style.height = `${i}px`, M.current = t, t.lineCap = "round", t.lineJoin = "round", t.lineWidth = T * n, t.strokeStyle = w, t.scale(n, n), c(t, e, C), p) {
@@ -77,16 +75,16 @@ function d({ label: d = "Signature", helperText: f = "Use your mouse to draw you
77
75
  }, U = (e) => {
78
76
  if (m || N.current) return;
79
77
  let t = j.current, n = M.current;
80
- !t || !n || ("pointerId" in e && typeof e.pointerId == "number" && t.setPointerCapture && t.setPointerCapture(e.pointerId), N.current = !0, P.current = [o(e, t)], n.beginPath(), n.moveTo(P.current[0].x, P.current[0].y), D?.());
78
+ n && ("pointerId" in e && typeof e.pointerId == "number" && t.setPointerCapture && t.setPointerCapture(e.pointerId), N.current = !0, P.current = [o(e, t)], n.beginPath(), n.moveTo(P.current[0].x, P.current[0].y), D?.());
81
79
  }, W = (e) => {
82
80
  if (m || !N.current) return;
83
81
  let t = j.current, n = M.current;
84
- if (!t || !n) return;
82
+ if (!n) return;
85
83
  let r = o(e, t);
86
84
  P.current.push(r), n.lineTo(r.x, r.y), n.stroke(), I(!1);
87
85
  }, G = (e) => {
88
86
  let t = j.current, n = M.current;
89
- if (!(!t || !n || !N.current)) {
87
+ if (!(!n || !N.current)) {
90
88
  if (e && "pointerId" in e && typeof e.pointerId == "number" && t.releasePointerCapture) try {
91
89
  t.releasePointerCapture(e.pointerId);
92
90
  } catch {}
@@ -136,7 +134,7 @@ function d({ label: d = "Signature", helperText: f = "Use your mouse to draw you
136
134
  className: "nabs-ui-signature__clearButton",
137
135
  onClick: () => {
138
136
  let e = j.current, t = M.current;
139
- !e || !t || (t.clearRect(0, 0, e.width, e.height), c(t, e, C), I(!0), E?.(""), k?.());
137
+ t && (t.clearRect(0, 0, e.width, e.height), c(t, e, C), I(!0), E?.(""), k?.());
140
138
  },
141
139
  disabled: m || F,
142
140
  children: "Clear"
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@net-advantage/nabs-ui-signature",
3
- "version": "0.75.0",
3
+ "version": "0.77.0",
4
4
  "description": "Reusable signature pad control for the Nabs UI library.",
5
5
  "type": "module",
6
6
  "main": "./dist/nabs-ui-signature.cjs",