UNPKG

@xraph/smartform-react

Version:

React library for rendering and validating SmartForms with shadcn components

25 lines (24 loc) 9.79 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),N={debug:0,info:1,warn:2,error:3};class y{constructor(r=!0,t){typeof r=="boolean"?this.config={enabled:r,level:"debug",showTimestamp:!0}:this.config=r,this.componentName=t}forComponent(r){return new y(this.config,r)}formatMessage(r){const t=[];return this.config.showTimestamp&&t.push(`[${new Date().toISOString()}]`),this.config.prefix&&t.push(`[${this.config.prefix}]`),this.componentName&&t.push(`[${this.componentName}]`),t.push(r),t.join(" ")}shouldLog(r){return this.config.enabled&&N[r]>=N[this.config.level]}debug(r,...t){this.shouldLog("debug")&&(typeof r=="string"?console.debug(this.formatMessage(r),...t):console.debug(this.formatMessage("Debug:"),r,...t))}log(r,...t){this.debug(r,...t)}info(r,...t){this.shouldLog("info")&&(typeof r=="string"?console.info(this.formatMessage(r),...t):console.info(this.formatMessage("Info:"),r,...t))}warn(r,...t){this.shouldLog("warn")&&(typeof r=="string"?console.warn(this.formatMessage(r),...t):console.warn(this.formatMessage("Warning:"),r,...t))}error(r,...t){this.shouldLog("error")&&(typeof r=="string"?console.error(this.formatMessage(r),...t):console.error(this.formatMessage("Error:"),r,...t))}group(r,t){this.config.enabled&&(console.group(this.formatMessage(r)),t(),console.groupEnd())}groupCollapsed(r,t){this.config.enabled&&(console.groupCollapsed(this.formatMessage(r)),t(),console.groupEnd())}table(r,t){this.config.enabled&&console.table(r,t)}time(r){this.config.enabled&&console.time(this.formatMessage(r))}timeEnd(r){this.config.enabled&&console.timeEnd(this.formatMessage(r))}}const ie=/at ([A-Za-z0-9_$]+) \(/,ce=/at (([A-Z][A-Za-z0-9_$]*)[.:]([a-zA-Z0-9_$]+))/,ue=/\(([^)]+)\)/;function le(){var t,d,a;const r=((t=new Error("I'm an error. Who's calling me?").stack)==null?void 0:t.split(` `))||[];for(let i=3;i<r.length;i++){const c=((d=r[i])==null?void 0:d.trim())||"";if(c.includes("node_modules/")||c.includes("internal/"))continue;const u=c.match(ce);if(u)return`${u[2]}.${u[3]}`;const p=c.match(ie);if(p!=null&&p.length&&p[1]){const m=p[1];if(m!=="Module"&&m!=="Object"&&m!=="Function"&&m!=="eval"&&m!=="process"&&m!=="<anonymous>"&&!m.startsWith("__"))return m}const b=c.match(ue);if(b!=null&&b.length&&b[1]){const _=(a=b[1].split("/").at(-1))==null?void 0:a.split(":")[0];if(_)return _.replace(/\.[^.]+$/,"")}}}const z=process.env.NODE_ENV==="production",fe={enabled:!z,level:"debug",showTimestamp:!0,extendedInfo:!z};class G extends y{constructor(r=!0){super(r)}withContext(){const r=le()||"unknown";return this.forComponent(r)}}const w=new G(fe);function de(){var d,a;const r=((d=new Error().stack)==null?void 0:d.split(` `))||[],t=/at ([A-Z][a-zA-Z0-9]*)[\s.]/;for(let i=2;i<r.length;i++){const c=(a=r[i])==null?void 0:a.match(t);if(c!=null&&c.length&&c[1]){const u=c[1];if(u!=="Module"&&u!=="Object"&&u!=="Function"&&u!=="eval"&&!u.startsWith("use"))return u}}}function me(s){return v.useMemo(()=>{const r=s||de()||"UnknownComponent";return w.forComponent(r)},[s])}var O={exports:{}},R={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var U;function ge(){if(U)return R;U=1;var s=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function t(d,a,i){var c=null;if(i!==void 0&&(c=""+i),a.key!==void 0&&(c=""+a.key),"key"in a){i={};for(var u in a)u!=="key"&&(i[u]=a[u])}else i=a;return a=i.ref,{$$typeof:s,type:d,key:c,ref:a!==void 0?a:null,props:i}}return R.Fragment=r,R.jsx=t,R.jsxs=t,R}var T={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var V;function he(){return V||(V=1,process.env.NODE_ENV!=="production"&&function(){function s(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===oe?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case x:return"Fragment";case B:return"Profiler";case X:return"StrictMode";case ee:return"Suspense";case re:return"SuspenseList";case ne:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case Z:return"Portal";case Q:return(e.displayName||"Context")+".Provider";case H:return(e._context.displayName||"Context")+".Consumer";case K:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case te:return n=e.displayName||null,n!==null?n:s(e.type)||"Memo";case M:n=e._payload,e=e._init;try{return s(e(n))}catch{}}return null}function r(e){return""+e}function t(e){try{r(e);var n=!1}catch{n=!0}if(n){n=console;var o=n.error,l=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return o.call(n,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",l),r(e)}}function d(e){if(e===x)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===M)return"<...>";try{var n=s(e);return n?"<"+n+">":"<...>"}catch{return"<...>"}}function a(){var e=P.A;return e===null?null:e.getOwner()}function i(){return Error("react-stack-top-frame")}function c(e){if($.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return e.key!==void 0}function u(e,n){function o(){Y||(Y=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",n))}o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}function p(){var e=s(this.type);return I[e]||(I[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function b(e,n,o,l,h,g,S,j){return o=g.ref,e={$$typeof:L,type:e,key:n,props:g,_owner:h},(o!==void 0?o:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:p}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:S}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:j}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function m(e,n,o,l,h,g,S,j){var f=n.children;if(f!==void 0)if(l)if(se(f)){for(l=0;l<f.length;l++)_(f[l]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else _(f);if($.call(n,"key")){f=s(e);var E=Object.keys(n).filter(function(ae){return ae!=="key"});l=0<E.length?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}",F[f+l]||(E=0<E.length?"{"+E.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,l,f,E,f),F[f+l]=!0)}if(f=null,o!==void 0&&(t(o),f=""+o),c(n)&&(t(n.key),f=""+n.key),"key"in n){o={};for(var C in n)C!=="key"&&(o[C]=n[C])}else o=n;return f&&u(o,typeof e=="function"?e.displayName||e.name||"Unknown":e),b(e,f,g,h,a(),o,S,j)}function _(e){typeof e=="object"&&e!==null&&e.$$typeof===L&&e._store&&(e._store.validated=1)}var k=v,L=Symbol.for("react.transitional.element"),Z=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),Q=Symbol.for("react.context"),K=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),re=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),ne=Symbol.for("react.activity"),oe=Symbol.for("react.client.reference"),P=k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=Object.prototype.hasOwnProperty,se=Array.isArray,A=console.createTask?console.createTask:function(){return null};k={"react-stack-bottom-frame":function(e){return e()}};var Y,I={},W=k["react-stack-bottom-frame"].bind(k,i)(),D=A(d(i)),F={};T.Fragment=x,T.jsx=function(e,n,o,l,h){var g=1e4>P.recentlyCreatedOwnerStacks++;return m(e,n,o,!1,l,h,g?Error("react-stack-top-frame"):W,g?A(d(e)):D)},T.jsxs=function(e,n,o,l,h){var g=1e4>P.recentlyCreatedOwnerStacks++;return m(e,n,o,!0,l,h,g?Error("react-stack-top-frame"):W,g?A(d(e)):D)}}()),T}var q;function pe(){return q||(q=1,process.env.NODE_ENV==="production"?O.exports=ge():O.exports=he()),O.exports}var be=pe();const J=v.createContext(void 0);function Ee({initialConfig:s,children:r}){v.useMemo(()=>{s&&Object.assign(w.config,s)},[s]);const t=a=>{Object.assign(w.config,a)},d=v.useMemo(()=>({logger:w,updateConfig:t}),[]);return be.jsx(J.Provider,{value:d,children:r})}function ve(){const s=v.useContext(J);if(s===void 0)throw new Error("useLoggerContext must be used within a LoggerProvider");return s}exports.LOG_LEVELS=N;exports.Logger=w;exports.LoggerProvider=Ee;exports.ReactLoggerWithContext=G;exports.useLogger=me;exports.useLoggerContext=ve;