font-controls 1.1.0 → 1.4.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.
- package/dist/font-controls.js +263 -262
- package/dist/font-controls.umd.cjs +10 -10
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Z,
|
|
1
|
+
(function(Z,H){typeof exports=="object"&&typeof module<"u"?H(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],H):(Z=typeof globalThis<"u"?globalThis:Z||self,H(Z.FontControls={},Z.React,Z.ReactDOM))})(this,function(Z,H,Ue){"use strict";function xt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _e={exports:{}},he={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Xe;function Tt(){if(Xe)return he;Xe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(o,a,i){var d=null;if(i!==void 0&&(d=""+i),a.key!==void 0&&(d=""+a.key),"key"in a){i={};for(var
|
|
9
|
+
*/var Xe;function Tt(){if(Xe)return he;Xe=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(o,a,i){var d=null;if(i!==void 0&&(d=""+i),a.key!==void 0&&(d=""+a.key),"key"in a){i={};for(var c in a)c!=="key"&&(i[c]=a[c])}else i=a;return a=i.ref,{$$typeof:e,type:o,key:d,ref:a!==void 0?a:null,props:i}}return he.Fragment=t,he.jsx=r,he.jsxs=r,he}var me={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,33 +14,33 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var Be;function Et(){return Be||(Be=1,process.env.NODE_ENV!=="production"&&function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===ae?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case T:return"Fragment";case x:return"Profiler";case _:return"StrictMode";case R:return"Suspense";case U:return"SuspenseList";case W:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case F:return"Portal";case S:return n.displayName||"Context";case E:return(n._context.displayName||"Context")+".Consumer";case s:var f=n.render;return n=n.displayName,n||(n=f.displayName||f.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case X:return f=n.displayName||null,f!==null?f:e(n.type)||"Memo";case
|
|
17
|
+
*/var Be;function Et(){return Be||(Be=1,process.env.NODE_ENV!=="production"&&function(){function e(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===ae?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case T:return"Fragment";case x:return"Profiler";case _:return"StrictMode";case R:return"Suspense";case U:return"SuspenseList";case W:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case F:return"Portal";case S:return n.displayName||"Context";case E:return(n._context.displayName||"Context")+".Consumer";case s:var f=n.render;return n=n.displayName,n||(n=f.displayName||f.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case X:return f=n.displayName||null,f!==null?f:e(n.type)||"Memo";case $:f=n._payload,n=n._init;try{return e(n(f))}catch{}}return null}function t(n){return""+n}function r(n){try{t(n);var f=!1}catch{f=!0}if(f){f=console;var y=f.error,m=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return y.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",m),t(n)}}function o(n){if(n===T)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===$)return"<...>";try{var f=e(n);return f?"<"+f+">":"<...>"}catch{return"<...>"}}function a(){var n=se.A;return n===null?null:n.getOwner()}function i(){return Error("react-stack-top-frame")}function d(n){if(ie.call(n,"key")){var f=Object.getOwnPropertyDescriptor(n,"key").get;if(f&&f.isReactWarning)return!1}return n.key!==void 0}function c(n,f){function y(){B||(B=!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)",f))}y.isReactWarning=!0,Object.defineProperty(n,"key",{get:y,configurable:!0})}function h(){var n=e(this.type);return K[n]||(K[n]=!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.")),n=this.props.ref,n!==void 0?n:null}function g(n,f,y,m,j,w){var b=y.ref;return n={$$typeof:I,type:n,key:f,props:y,_owner:m},(b!==void 0?b:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:h}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:j}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:w}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function v(n,f,y,m,j,w){var b=f.children;if(b!==void 0)if(m)if(ee(b)){for(m=0;m<b.length;m++)P(b[m]);Object.freeze&&Object.freeze(b)}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 P(b);if(ie.call(f,"key")){b=e(n);var C=Object.keys(f).filter(function(O){return O!=="key"});m=0<C.length?"{key: someKey, "+C.join(": ..., ")+": ...}":"{key: someKey}",l[b+m]||(C=0<C.length?"{"+C.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
18
|
let props = %s;
|
|
19
19
|
<%s {...props} />
|
|
20
20
|
React keys must be passed directly to JSX without using spread:
|
|
21
21
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,m,b,C,b),l[b+m]=!0)}if(b=null,y!==void 0&&(r(y),b=""+y),d(f)&&(r(f.key),b=""+f.key),"key"in f){y={};for(var D in f)D!=="key"&&(y[D]=f[D])}else y=f;return b&&
|
|
22
|
+
<%s key={someKey} {...props} />`,m,b,C,b),l[b+m]=!0)}if(b=null,y!==void 0&&(r(y),b=""+y),d(f)&&(r(f.key),b=""+f.key),"key"in f){y={};for(var D in f)D!=="key"&&(y[D]=f[D])}else y=f;return b&&c(y,typeof n=="function"?n.displayName||n.name||"Unknown":n),g(n,b,y,a(),j,w)}function P(n){k(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===$&&(n._payload.status==="fulfilled"?k(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function k(n){return typeof n=="object"&&n!==null&&n.$$typeof===I}var N=H,I=Symbol.for("react.transitional.element"),F=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),S=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),U=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),ae=Symbol.for("react.client.reference"),se=N.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ie=Object.prototype.hasOwnProperty,ee=Array.isArray,ue=console.createTask?console.createTask:function(){return null};N={react_stack_bottom_frame:function(n){return n()}};var B,K={},ne=N.react_stack_bottom_frame.bind(N,i)(),fe=ue(o(i)),l={};me.Fragment=T,me.jsx=function(n,f,y){var m=1e4>se.recentlyCreatedOwnerStacks++;return v(n,f,y,!1,m?Error("react-stack-top-frame"):ne,m?ue(o(n)):fe)},me.jsxs=function(n,f,y){var m=1e4>se.recentlyCreatedOwnerStacks++;return v(n,f,y,!0,m?Error("react-stack-top-frame"):ne,m?ue(o(n)):fe)}}()),me}process.env.NODE_ENV==="production"?_e.exports=Tt():_e.exports=Et();var u=_e.exports,ye={exports:{}},He={},we={exports:{}},ve={exports:{}},A={};/** @license React v16.13.1
|
|
23
23
|
* react-is.production.min.js
|
|
24
24
|
*
|
|
25
25
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
26
26
|
*
|
|
27
27
|
* This source code is licensed under the MIT license found in the
|
|
28
28
|
* LICENSE file in the root directory of this source tree.
|
|
29
|
-
*/var ze;function _t(){if(ze)return A;ze=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,
|
|
29
|
+
*/var ze;function _t(){if(ze)return A;ze=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,g=e?Symbol.for("react.concurrent_mode"):60111,v=e?Symbol.for("react.forward_ref"):60112,P=e?Symbol.for("react.suspense"):60113,k=e?Symbol.for("react.suspense_list"):60120,N=e?Symbol.for("react.memo"):60115,I=e?Symbol.for("react.lazy"):60116,F=e?Symbol.for("react.block"):60121,T=e?Symbol.for("react.fundamental"):60117,_=e?Symbol.for("react.responder"):60118,x=e?Symbol.for("react.scope"):60119;function E(s){if(typeof s=="object"&&s!==null){var R=s.$$typeof;switch(R){case t:switch(s=s.type,s){case h:case g:case o:case i:case a:case P:return s;default:switch(s=s&&s.$$typeof,s){case c:case v:case I:case N:case d:return s;default:return R}}case r:return R}}}function S(s){return E(s)===g}return A.AsyncMode=h,A.ConcurrentMode=g,A.ContextConsumer=c,A.ContextProvider=d,A.Element=t,A.ForwardRef=v,A.Fragment=o,A.Lazy=I,A.Memo=N,A.Portal=r,A.Profiler=i,A.StrictMode=a,A.Suspense=P,A.isAsyncMode=function(s){return S(s)||E(s)===h},A.isConcurrentMode=S,A.isContextConsumer=function(s){return E(s)===c},A.isContextProvider=function(s){return E(s)===d},A.isElement=function(s){return typeof s=="object"&&s!==null&&s.$$typeof===t},A.isForwardRef=function(s){return E(s)===v},A.isFragment=function(s){return E(s)===o},A.isLazy=function(s){return E(s)===I},A.isMemo=function(s){return E(s)===N},A.isPortal=function(s){return E(s)===r},A.isProfiler=function(s){return E(s)===i},A.isStrictMode=function(s){return E(s)===a},A.isSuspense=function(s){return E(s)===P},A.isValidElementType=function(s){return typeof s=="string"||typeof s=="function"||s===o||s===g||s===i||s===a||s===P||s===k||typeof s=="object"&&s!==null&&(s.$$typeof===I||s.$$typeof===N||s.$$typeof===d||s.$$typeof===c||s.$$typeof===v||s.$$typeof===T||s.$$typeof===_||s.$$typeof===x||s.$$typeof===F)},A.typeOf=E,A}var M={};/** @license React v16.13.1
|
|
30
30
|
* react-is.development.js
|
|
31
31
|
*
|
|
32
32
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the MIT license found in the
|
|
35
35
|
* LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/var qe;function wt(){return qe||(qe=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,
|
|
36
|
+
*/var qe;function wt(){return qe||(qe=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,o=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,d=e?Symbol.for("react.provider"):60109,c=e?Symbol.for("react.context"):60110,h=e?Symbol.for("react.async_mode"):60111,g=e?Symbol.for("react.concurrent_mode"):60111,v=e?Symbol.for("react.forward_ref"):60112,P=e?Symbol.for("react.suspense"):60113,k=e?Symbol.for("react.suspense_list"):60120,N=e?Symbol.for("react.memo"):60115,I=e?Symbol.for("react.lazy"):60116,F=e?Symbol.for("react.block"):60121,T=e?Symbol.for("react.fundamental"):60117,_=e?Symbol.for("react.responder"):60118,x=e?Symbol.for("react.scope"):60119;function E(p){return typeof p=="string"||typeof p=="function"||p===o||p===g||p===i||p===a||p===P||p===k||typeof p=="object"&&p!==null&&(p.$$typeof===I||p.$$typeof===N||p.$$typeof===d||p.$$typeof===c||p.$$typeof===v||p.$$typeof===T||p.$$typeof===_||p.$$typeof===x||p.$$typeof===F)}function S(p){if(typeof p=="object"&&p!==null){var oe=p.$$typeof;switch(oe){case t:var Ee=p.type;switch(Ee){case h:case g:case o:case i:case a:case P:return Ee;default:var St=Ee&&Ee.$$typeof;switch(St){case c:case v:case I:case N:case d:return St;default:return oe}}case r:return oe}}}var s=h,R=g,U=c,X=d,$=t,W=v,ae=o,se=I,ie=N,ee=r,ue=i,B=a,K=P,ne=!1;function fe(p){return ne||(ne=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),l(p)||S(p)===h}function l(p){return S(p)===g}function n(p){return S(p)===c}function f(p){return S(p)===d}function y(p){return typeof p=="object"&&p!==null&&p.$$typeof===t}function m(p){return S(p)===v}function j(p){return S(p)===o}function w(p){return S(p)===I}function b(p){return S(p)===N}function C(p){return S(p)===r}function D(p){return S(p)===i}function O(p){return S(p)===a}function V(p){return S(p)===P}M.AsyncMode=s,M.ConcurrentMode=R,M.ContextConsumer=U,M.ContextProvider=X,M.Element=$,M.ForwardRef=W,M.Fragment=ae,M.Lazy=se,M.Memo=ie,M.Portal=ee,M.Profiler=ue,M.StrictMode=B,M.Suspense=K,M.isAsyncMode=fe,M.isConcurrentMode=l,M.isContextConsumer=n,M.isContextProvider=f,M.isElement=y,M.isForwardRef=m,M.isFragment=j,M.isLazy=w,M.isMemo=b,M.isPortal=C,M.isProfiler=D,M.isStrictMode=O,M.isSuspense=V,M.isValidElementType=E,M.typeOf=S}()),M}var Ve;function Ge(){return Ve||(Ve=1,process.env.NODE_ENV==="production"?ve.exports=_t():ve.exports=wt()),ve.exports}/*
|
|
37
37
|
object-assign
|
|
38
38
|
(c) Sindre Sorhus
|
|
39
39
|
@license MIT
|
|
40
|
-
*/var Ce,Je;function Ct(){if(Je)return Ce;Je=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function o(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function a(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var d={},
|
|
41
|
-
Valid keys: `+JSON.stringify(Object.keys(l),null," "));var p=V(b,O,m,j,w+"."+O,r);if(p)return p}return null}return T(n)}function ee(l){switch(typeof l){case"number":case"string":case"undefined":return!0;case"boolean":return!l;case"object":if(Array.isArray(l))return l.every(ee);if(l===null||
|
|
40
|
+
*/var Ce,Je;function Ct(){if(Je)return Ce;Je=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function o(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function a(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var d={},c=0;c<10;c++)d["_"+String.fromCharCode(c)]=c;var h=Object.getOwnPropertyNames(d).map(function(v){return d[v]});if(h.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(v){g[v]=v}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Ce=a()?Object.assign:function(i,d){for(var c,h=o(i),g,v=1;v<arguments.length;v++){c=Object(arguments[v]);for(var P in c)t.call(c,P)&&(h[P]=c[P]);if(e){g=e(c);for(var k=0;k<g.length;k++)r.call(c,g[k])&&(h[g[k]]=c[g[k]])}}return h},Ce}var Pe,Ke;function je(){if(Ke)return Pe;Ke=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Pe=e,Pe}var Re,Ze;function Qe(){return Ze||(Ze=1,Re=Function.call.bind(Object.prototype.hasOwnProperty)),Re}var Oe,et;function Pt(){if(et)return Oe;et=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=je(),r={},o=Qe();e=function(i){var d="Warning: "+i;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}}}function a(i,d,c,h,g){if(process.env.NODE_ENV!=="production"){for(var v in i)if(o(i,v)){var P;try{if(typeof i[v]!="function"){var k=Error((h||"React class")+": "+c+" type `"+v+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[v]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw k.name="Invariant Violation",k}P=i[v](d,v,h,c,null,t)}catch(I){P=I}if(P&&!(P instanceof Error)&&e((h||"React class")+": type specification of "+c+" `"+v+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof P+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),P instanceof Error&&!(P.message in r)){r[P.message]=!0;var N=g?g():"";e("Failed "+c+" type: "+P.message+(N??""))}}}}return a.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(r={})},Oe=a,Oe}var De,tt;function jt(){if(tt)return De;tt=1;var e=Ge(),t=Ct(),r=je(),o=Qe(),a=Pt(),i=function(){};process.env.NODE_ENV!=="production"&&(i=function(c){var h="Warning: "+c;typeof console<"u"&&console.error(h);try{throw new Error(h)}catch{}});function d(){return null}return De=function(c,h){var g=typeof Symbol=="function"&&Symbol.iterator,v="@@iterator";function P(l){var n=l&&(g&&l[g]||l[v]);if(typeof n=="function")return n}var k="<<anonymous>>",N={array:_("array"),bigint:_("bigint"),bool:_("boolean"),func:_("function"),number:_("number"),object:_("object"),string:_("string"),symbol:_("symbol"),any:x(),arrayOf:E,element:S(),elementType:s(),instanceOf:R,node:W(),objectOf:X,oneOf:U,oneOfType:$,shape:se,exact:ie};function I(l,n){return l===n?l!==0||1/l===1/n:l!==l&&n!==n}function F(l,n){this.message=l,this.data=n&&typeof n=="object"?n:{},this.stack=""}F.prototype=Error.prototype;function T(l){if(process.env.NODE_ENV!=="production")var n={},f=0;function y(j,w,b,C,D,O,V){if(C=C||k,O=O||b,V!==r){if(h){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var oe=C+":"+b;!n[oe]&&f<3&&(i("You are manually calling a React.PropTypes validation function for the `"+O+"` prop on `"+C+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[oe]=!0,f++)}}return w[b]==null?j?w[b]===null?new F("The "+D+" `"+O+"` is marked as required "+("in `"+C+"`, but its value is `null`.")):new F("The "+D+" `"+O+"` is marked as required in "+("`"+C+"`, but its value is `undefined`.")):null:l(w,b,C,D,O)}var m=y.bind(null,!1);return m.isRequired=y.bind(null,!0),m}function _(l){function n(f,y,m,j,w,b){var C=f[y],D=B(C);if(D!==l){var O=K(C);return new F("Invalid "+j+" `"+w+"` of type "+("`"+O+"` supplied to `"+m+"`, expected ")+("`"+l+"`."),{expectedType:l})}return null}return T(n)}function x(){return T(d)}function E(l){function n(f,y,m,j,w){if(typeof l!="function")return new F("Property `"+w+"` of component `"+m+"` has invalid PropType notation inside arrayOf.");var b=f[y];if(!Array.isArray(b)){var C=B(b);return new F("Invalid "+j+" `"+w+"` of type "+("`"+C+"` supplied to `"+m+"`, expected an array."))}for(var D=0;D<b.length;D++){var O=l(b,D,m,j,w+"["+D+"]",r);if(O instanceof Error)return O}return null}return T(n)}function S(){function l(n,f,y,m,j){var w=n[f];if(!c(w)){var b=B(w);return new F("Invalid "+m+" `"+j+"` of type "+("`"+b+"` supplied to `"+y+"`, expected a single ReactElement."))}return null}return T(l)}function s(){function l(n,f,y,m,j){var w=n[f];if(!e.isValidElementType(w)){var b=B(w);return new F("Invalid "+m+" `"+j+"` of type "+("`"+b+"` supplied to `"+y+"`, expected a single ReactElement type."))}return null}return T(l)}function R(l){function n(f,y,m,j,w){if(!(f[y]instanceof l)){var b=l.name||k,C=fe(f[y]);return new F("Invalid "+j+" `"+w+"` of type "+("`"+C+"` supplied to `"+m+"`, expected ")+("instance of `"+b+"`."))}return null}return T(n)}function U(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&(arguments.length>1?i("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):i("Invalid argument supplied to oneOf, expected an array.")),d;function n(f,y,m,j,w){for(var b=f[y],C=0;C<l.length;C++)if(I(b,l[C]))return null;var D=JSON.stringify(l,function(V,p){var oe=K(p);return oe==="symbol"?String(p):p});return new F("Invalid "+j+" `"+w+"` of value `"+String(b)+"` "+("supplied to `"+m+"`, expected one of "+D+"."))}return T(n)}function X(l){function n(f,y,m,j,w){if(typeof l!="function")return new F("Property `"+w+"` of component `"+m+"` has invalid PropType notation inside objectOf.");var b=f[y],C=B(b);if(C!=="object")return new F("Invalid "+j+" `"+w+"` of type "+("`"+C+"` supplied to `"+m+"`, expected an object."));for(var D in b)if(o(b,D)){var O=l(b,D,m,j,w+"."+D,r);if(O instanceof Error)return O}return null}return T(n)}function $(l){if(!Array.isArray(l))return process.env.NODE_ENV!=="production"&&i("Invalid argument supplied to oneOfType, expected an instance of array."),d;for(var n=0;n<l.length;n++){var f=l[n];if(typeof f!="function")return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+ne(f)+" at index "+n+"."),d}function y(m,j,w,b,C){for(var D=[],O=0;O<l.length;O++){var V=l[O],p=V(m,j,w,b,C,r);if(p==null)return null;p.data&&o(p.data,"expectedType")&&D.push(p.data.expectedType)}var oe=D.length>0?", expected one of type ["+D.join(", ")+"]":"";return new F("Invalid "+b+" `"+C+"` supplied to "+("`"+w+"`"+oe+"."))}return T(y)}function W(){function l(n,f,y,m,j){return ee(n[f])?null:new F("Invalid "+m+" `"+j+"` supplied to "+("`"+y+"`, expected a ReactNode."))}return T(l)}function ae(l,n,f,y,m){return new F((l||"React class")+": "+n+" type `"+f+"."+y+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+m+"`.")}function se(l){function n(f,y,m,j,w){var b=f[y],C=B(b);if(C!=="object")return new F("Invalid "+j+" `"+w+"` of type `"+C+"` "+("supplied to `"+m+"`, expected `object`."));for(var D in l){var O=l[D];if(typeof O!="function")return ae(m,j,w,D,K(O));var V=O(b,D,m,j,w+"."+D,r);if(V)return V}return null}return T(n)}function ie(l){function n(f,y,m,j,w){var b=f[y],C=B(b);if(C!=="object")return new F("Invalid "+j+" `"+w+"` of type `"+C+"` "+("supplied to `"+m+"`, expected `object`."));var D=t({},f[y],l);for(var O in D){var V=l[O];if(o(l,O)&&typeof V!="function")return ae(m,j,w,O,K(V));if(!V)return new F("Invalid "+j+" `"+w+"` key `"+O+"` supplied to `"+m+"`.\nBad object: "+JSON.stringify(f[y],null," ")+`
|
|
41
|
+
Valid keys: `+JSON.stringify(Object.keys(l),null," "));var p=V(b,O,m,j,w+"."+O,r);if(p)return p}return null}return T(n)}function ee(l){switch(typeof l){case"number":case"string":case"undefined":return!0;case"boolean":return!l;case"object":if(Array.isArray(l))return l.every(ee);if(l===null||c(l))return!0;var n=P(l);if(n){var f=n.call(l),y;if(n!==l.entries){for(;!(y=f.next()).done;)if(!ee(y.value))return!1}else for(;!(y=f.next()).done;){var m=y.value;if(m&&!ee(m[1]))return!1}}else return!1;return!0;default:return!1}}function ue(l,n){return l==="symbol"?!0:n?n["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&n instanceof Symbol:!1}function B(l){var n=typeof l;return Array.isArray(l)?"array":l instanceof RegExp?"object":ue(n,l)?"symbol":n}function K(l){if(typeof l>"u"||l===null)return""+l;var n=B(l);if(n==="object"){if(l instanceof Date)return"date";if(l instanceof RegExp)return"regexp"}return n}function ne(l){var n=K(l);switch(n){case"array":case"object":return"an "+n;case"boolean":case"date":case"regexp":return"a "+n;default:return n}}function fe(l){return!l.constructor||!l.constructor.name?k:l.constructor.name}return N.checkPropTypes=a,N.resetWarningCache=a.resetWarningCache,N.PropTypes=N,N},De}var Ne,rt;function Rt(){if(rt)return Ne;rt=1;var e=je();function t(){}function r(){}return r.resetWarningCache=t,Ne=function(){function o(d,c,h,g,v,P){if(P!==e){var k=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw k.name="Invariant Violation",k}}o.isRequired=o;function a(){return o}var i={array:o,bigint:o,bool:o,func:o,number:o,object:o,string:o,symbol:o,any:o,arrayOf:a,element:o,elementType:o,instanceOf:a,node:o,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:r,resetWarningCache:t};return i.PropTypes=i,i},Ne}if(process.env.NODE_ENV!=="production"){var Ot=Ge(),Dt=!0;we.exports=jt()(Ot.isElement,Dt)}else we.exports=Rt()();var nt=we.exports,Ae={exports:{}};function ot(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=ot(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function at(){for(var e,t,r=0,o="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=ot(e))&&(o&&(o+=" "),o+=t);return o}Ae.exports=at,Ae.exports.clsx=at;var Nt=Ae.exports,Y={},te={};Object.defineProperty(te,"__esModule",{value:!0}),te.dontSetMe=It,te.findInArray=At,te.int=Ft,te.isFunction=Mt,te.isNum=kt;function At(e,t){for(let r=0,o=e.length;r<o;r++)if(t.apply(t,[e[r],r,e]))return e[r]}function Mt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Function]"}function kt(e){return typeof e=="number"&&!isNaN(e)}function Ft(e){return parseInt(e,10)}function It(e,t,r){if(e[t])return new Error(`Invalid prop ${t} passed to ${r} - do not set this, set it on the child.`)}var de={};Object.defineProperty(de,"__esModule",{value:!0}),de.browserPrefixToKey=it,de.browserPrefixToStyle=Yt,de.default=void 0,de.getPrefix=st;const Me=["Moz","Webkit","O","ms"];function st(){var r,o;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const t=(o=(r=window.document)==null?void 0:r.documentElement)==null?void 0:o.style;if(!t||e in t)return"";for(let a=0;a<Me.length;a++)if(it(e,Me[a])in t)return Me[a];return""}function it(e,t){return t?`${t}${$t(e)}`:e}function Yt(e,t){return t?`-${t.toLowerCase()}-${e}`:e}function $t(e){let t="",r=!0;for(let o=0;o<e.length;o++)r?(t+=e[o].toUpperCase(),r=!1):e[o]==="-"?r=!0:t+=e[o];return t}de.default=st(),Object.defineProperty(Y,"__esModule",{value:!0}),Y.addClassName=dt,Y.addEvent=Lt,Y.addUserSelectStyles=Zt,Y.createCSSTransform=Vt,Y.createSVGTransform=Gt,Y.getTouch=Jt,Y.getTouchIdentifier=Kt,Y.getTranslation=ke,Y.innerHeight=Ht,Y.innerWidth=zt,Y.matchesSelector=ut,Y.matchesSelectorAndParentsTo=Wt,Y.offsetXYFromParent=qt,Y.outerHeight=Xt,Y.outerWidth=Bt,Y.removeClassName=pt,Y.removeEvent=Ut,Y.scheduleRemoveUserSelectStyles=Qt;var G=te,lt=ct(de);function ct(e,t){if(typeof WeakMap=="function")var r=new WeakMap,o=new WeakMap;return(ct=function(a,i){if(!i&&a&&a.__esModule)return a;var d,c,h={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return h;if(d=i?o:r){if(d.has(a))return d.get(a);d.set(a,h)}for(const g in a)g!=="default"&&{}.hasOwnProperty.call(a,g)&&((c=(d=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,g))&&(c.get||c.set)?d(h,g,c):h[g]=a[g]);return h})(e,t)}let be="";function ut(e,t){return be||(be=(0,G.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(r){return(0,G.isFunction)(e[r])})),(0,G.isFunction)(e[be])?e[be](t):!1}function Wt(e,t,r){let o=e;do{if(ut(o,t))return!0;if(o===r)return!1;o=o.parentNode}while(o);return!1}function Lt(e,t,r,o){if(!e)return;const a={capture:!0,...o};e.addEventListener?e.addEventListener(t,r,a):e.attachEvent?e.attachEvent("on"+t,r):e["on"+t]=r}function Ut(e,t,r,o){if(!e)return;const a={capture:!0,...o};e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent?e.detachEvent("on"+t,r):e["on"+t]=null}function Xt(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,G.int)(r.borderTopWidth),t+=(0,G.int)(r.borderBottomWidth),t}function Bt(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t+=(0,G.int)(r.borderLeftWidth),t+=(0,G.int)(r.borderRightWidth),t}function Ht(e){let t=e.clientHeight;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,G.int)(r.paddingTop),t-=(0,G.int)(r.paddingBottom),t}function zt(e){let t=e.clientWidth;const r=e.ownerDocument.defaultView.getComputedStyle(e);return t-=(0,G.int)(r.paddingLeft),t-=(0,G.int)(r.paddingRight),t}function qt(e,t,r){const a=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect(),i=(e.clientX+t.scrollLeft-a.left)/r,d=(e.clientY+t.scrollTop-a.top)/r;return{x:i,y:d}}function Vt(e,t){const r=ke(e,t,"px");return{[(0,lt.browserPrefixToKey)("transform",lt.default)]:r}}function Gt(e,t){return ke(e,t,"")}function ke(e,t,r){let{x:o,y:a}=e,i=`translate(${o}${r},${a}${r})`;if(t){const d=`${typeof t.x=="string"?t.x:t.x+r}`,c=`${typeof t.y=="string"?t.y:t.y+r}`;i=`translate(${d}, ${c})`+i}return i}function Jt(e,t){return e.targetTouches&&(0,G.findInArray)(e.targetTouches,r=>t===r.identifier)||e.changedTouches&&(0,G.findInArray)(e.changedTouches,r=>t===r.identifier)}function Kt(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function Zt(e){if(!e)return;let t=e.getElementById("react-draggable-style-el");t||(t=e.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
|
|
42
42
|
`,t.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
|
|
43
|
-
`,e.getElementsByTagName("head")[0].appendChild(t)),e.body&&dt(e.body,"react-draggable-transparent-selection")}function Qt(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{ft(e)}):ft(e)}function ft(e){if(e)try{if(e.body&&pt(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&t.type!=="Caret"&&t.removeAllRanges()}}catch{}}function dt(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp(`(?:^|\\s)${t}(?!\\S)`))||(e.className+=` ${t}`)}function pt(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(`(?:^|\\s)${t}(?!\\S)`,"g"),"")}var re={};Object.defineProperty(re,"__esModule",{value:!0}),re.canDragX=rr,re.canDragY=nr,re.createCoreData=ar,re.createDraggableData=sr,re.getBoundPosition=er,re.getControlPosition=or,re.snapToGrid=tr;var J=te,pe=$;function er(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:o}=e.props;o=typeof o=="string"?o:ir(o);const a=Fe(e);if(typeof o=="string"){const{ownerDocument:i}=a,d=i.defaultView;let u;if(o==="parent"?u=a.parentNode:u=a.getRootNode().querySelector(o),!(u instanceof d.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const h=u,g=d.getComputedStyle(a),v=d.getComputedStyle(h);o={left:-a.offsetLeft+(0,J.int)(v.paddingLeft)+(0,J.int)(g.marginLeft),top:-a.offsetTop+(0,J.int)(v.paddingTop)+(0,J.int)(g.marginTop),right:(0,pe.innerWidth)(h)-(0,pe.outerWidth)(a)-a.offsetLeft+(0,J.int)(v.paddingRight)-(0,J.int)(g.marginRight),bottom:(0,pe.innerHeight)(h)-(0,pe.outerHeight)(a)-a.offsetTop+(0,J.int)(v.paddingBottom)-(0,J.int)(g.marginBottom)}}return(0,J.isNum)(o.right)&&(t=Math.min(t,o.right)),(0,J.isNum)(o.bottom)&&(r=Math.min(r,o.bottom)),(0,J.isNum)(o.left)&&(t=Math.max(t,o.left)),(0,J.isNum)(o.top)&&(r=Math.max(r,o.top)),[t,r]}function tr(e,t,r){const o=Math.round(t/e[0])*e[0],a=Math.round(r/e[1])*e[1];return[o,a]}function rr(e){return e.props.axis==="both"||e.props.axis==="x"}function nr(e){return e.props.axis==="both"||e.props.axis==="y"}function or(e,t,r){const o=typeof t=="number"?(0,pe.getTouch)(e,t):null;if(typeof t=="number"&&!o)return null;const a=Fe(r),i=r.props.offsetParent||a.offsetParent||a.ownerDocument.body;return(0,pe.offsetXYFromParent)(o||e,i,r.props.scale)}function ar(e,t,r){const o=!(0,J.isNum)(e.lastX),a=Fe(e);return o?{node:a,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:a,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}}function sr(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}}function ir(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}function Fe(e){const t=e.findDOMNode();if(!t)throw new Error("<DraggableCore>: Unmounted during event!");return t}var Se={},xe={};Object.defineProperty(xe,"__esModule",{value:!0}),xe.default=lr;function lr(){}Object.defineProperty(Se,"__esModule",{value:!0}),Se.default=void 0;var Ie=ht(q),H=Ye(nt),cr=Ye(Ue),L=$,le=re,$e=te,ge=Ye(xe);function Ye(e){return e&&e.__esModule?e:{default:e}}function ht(e,t){if(typeof WeakMap=="function")var r=new WeakMap,o=new WeakMap;return(ht=function(a,i){if(!i&&a&&a.__esModule)return a;var d,u,h={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return h;if(d=i?o:r){if(d.has(a))return d.get(a);d.set(a,h)}for(const g in a)g!=="default"&&{}.hasOwnProperty.call(a,g)&&((u=(d=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,g))&&(u.get||u.set)?d(h,g,u):h[g]=a[g]);return h})(e,t)}function z(e,t,r){return(t=ur(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ur(e){var t=fr(e,"string");return typeof t=="symbol"?t:t+""}function fr(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var o=r.call(e,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}const Q={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let ce=Q.mouse,Te=class extends Ie.Component{constructor(){super(...arguments),z(this,"dragging",!1),z(this,"lastX",NaN),z(this,"lastY",NaN),z(this,"touchIdentifier",null),z(this,"mounted",!1),z(this,"handleDragStart",t=>{if(this.props.onMouseDown(t),!this.props.allowAnyClick&&typeof t.button=="number"&&t.button!==0)return!1;const r=this.findDOMNode();if(!r||!r.ownerDocument||!r.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:o}=r;if(this.props.disabled||!(t.target instanceof o.defaultView.Node)||this.props.handle&&!(0,L.matchesSelectorAndParentsTo)(t.target,this.props.handle,r)||this.props.cancel&&(0,L.matchesSelectorAndParentsTo)(t.target,this.props.cancel,r))return;t.type==="touchstart"&&!this.props.allowMobileScroll&&t.preventDefault();const a=(0,L.getTouchIdentifier)(t);this.touchIdentifier=a;const i=(0,le.getControlPosition)(t,a,this);if(i==null)return;const{x:d,y:u}=i,h=(0,le.createCoreData)(this,d,u);(0,ge.default)("DraggableCore: handleDragStart: %j",h),(0,ge.default)("calling",this.props.onStart),!(this.props.onStart(t,h)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,L.addUserSelectStyles)(o),this.dragging=!0,this.lastX=d,this.lastY=u,(0,L.addEvent)(o,ce.move,this.handleDrag),(0,L.addEvent)(o,ce.stop,this.handleDragStop))}),z(this,"handleDrag",t=>{const r=(0,le.getControlPosition)(t,this.touchIdentifier,this);if(r==null)return;let{x:o,y:a}=r;if(Array.isArray(this.props.grid)){let u=o-this.lastX,h=a-this.lastY;if([u,h]=(0,le.snapToGrid)(this.props.grid,u,h),!u&&!h)return;o=this.lastX+u,a=this.lastY+h}const i=(0,le.createCoreData)(this,o,a);if((0,ge.default)("DraggableCore: handleDrag: %j",i),this.props.onDrag(t,i)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const h=document.createEvent("MouseEvents");h.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(h)}return}this.lastX=o,this.lastY=a}),z(this,"handleDragStop",t=>{if(!this.dragging)return;const r=(0,le.getControlPosition)(t,this.touchIdentifier,this);if(r==null)return;let{x:o,y:a}=r;if(Array.isArray(this.props.grid)){let h=o-this.lastX||0,g=a-this.lastY||0;[h,g]=(0,le.snapToGrid)(this.props.grid,h,g),o=this.lastX+h,a=this.lastY+g}const i=(0,le.createCoreData)(this,o,a);if(this.props.onStop(t,i)===!1||this.mounted===!1)return!1;const u=this.findDOMNode();u&&this.props.enableUserSelectHack&&(0,L.scheduleRemoveUserSelectStyles)(u.ownerDocument),(0,ge.default)("DraggableCore: handleDragStop: %j",i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,u&&((0,ge.default)("DraggableCore: Removing handlers"),(0,L.removeEvent)(u.ownerDocument,ce.move,this.handleDrag),(0,L.removeEvent)(u.ownerDocument,ce.stop,this.handleDragStop))}),z(this,"onMouseDown",t=>(ce=Q.mouse,this.handleDragStart(t))),z(this,"onMouseUp",t=>(ce=Q.mouse,this.handleDragStop(t))),z(this,"onTouchStart",t=>(ce=Q.touch,this.handleDragStart(t))),z(this,"onTouchEnd",t=>(ce=Q.touch,this.handleDragStop(t)))}componentDidMount(){this.mounted=!0;const t=this.findDOMNode();t&&(0,L.addEvent)(t,Q.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const t=this.findDOMNode();if(t){const{ownerDocument:r}=t;(0,L.removeEvent)(r,Q.mouse.move,this.handleDrag),(0,L.removeEvent)(r,Q.touch.move,this.handleDrag),(0,L.removeEvent)(r,Q.mouse.stop,this.handleDragStop),(0,L.removeEvent)(r,Q.touch.stop,this.handleDragStop),(0,L.removeEvent)(t,Q.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,L.scheduleRemoveUserSelectStyles)(r)}}findDOMNode(){var t,r,o;return(t=this.props)!=null&&t.nodeRef?(o=(r=this.props)==null?void 0:r.nodeRef)==null?void 0:o.current:cr.default.findDOMNode(this)}render(){return Ie.cloneElement(Ie.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};Se.default=Te,z(Te,"displayName","DraggableCore"),z(Te,"propTypes",{allowAnyClick:H.default.bool,allowMobileScroll:H.default.bool,children:H.default.node.isRequired,disabled:H.default.bool,enableUserSelectHack:H.default.bool,offsetParent:function(e,t){if(e[t]&&e[t].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:H.default.arrayOf(H.default.number),handle:H.default.string,cancel:H.default.string,nodeRef:H.default.object,onStart:H.default.func,onDrag:H.default.func,onStop:H.default.func,onMouseDown:H.default.func,scale:H.default.number,className:$e.dontSetMe,style:$e.dontSetMe,transform:$e.dontSetMe}),z(Te,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DraggableCore",{enumerable:!0,get:function(){return h.default}}),e.default=void 0;var t=P(q),r=v(nt),o=v(Ue),a=Nt,i=$,d=re,u=te,h=v(Se),g=v(xe);function v(_){return _&&_.__esModule?_:{default:_}}function P(_,x){if(typeof WeakMap=="function")var E=new WeakMap,S=new WeakMap;return(P=function(s,R){if(!R&&s&&s.__esModule)return s;var U,X,Y={__proto__:null,default:s};if(s===null||typeof s!="object"&&typeof s!="function")return Y;if(U=R?S:E){if(U.has(s))return U.get(s);U.set(s,Y)}for(const W in s)W!=="default"&&{}.hasOwnProperty.call(s,W)&&((X=(U=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,W))&&(X.get||X.set)?U(Y,W,X):Y[W]=s[W]);return Y})(_,x)}function k(){return k=Object.assign?Object.assign.bind():function(_){for(var x=1;x<arguments.length;x++){var E=arguments[x];for(var S in E)({}).hasOwnProperty.call(E,S)&&(_[S]=E[S])}return _},k.apply(null,arguments)}function N(_,x,E){return(x=I(x))in _?Object.defineProperty(_,x,{value:E,enumerable:!0,configurable:!0,writable:!0}):_[x]=E,_}function I(_){var x=F(_,"string");return typeof x=="symbol"?x:x+""}function F(_,x){if(typeof _!="object"||!_)return _;var E=_[Symbol.toPrimitive];if(E!==void 0){var S=E.call(_,x);if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(x==="string"?String:Number)(_)}class T extends t.Component{static getDerivedStateFromProps(x,E){let{position:S}=x,{prevPropsPosition:s}=E;return S&&(!s||S.x!==s.x||S.y!==s.y)?((0,g.default)("Draggable: getDerivedStateFromProps %j",{position:S,prevPropsPosition:s}),{x:S.x,y:S.y,prevPropsPosition:{...S}}):null}constructor(x){super(x),N(this,"onDragStart",(E,S)=>{if((0,g.default)("Draggable: onDragStart: %j",S),this.props.onStart(E,(0,d.createDraggableData)(this,S))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),N(this,"onDrag",(E,S)=>{if(!this.state.dragging)return!1;(0,g.default)("Draggable: onDrag: %j",S);const s=(0,d.createDraggableData)(this,S),R={x:s.x,y:s.y,slackX:0,slackY:0};if(this.props.bounds){const{x:X,y:Y}=R;R.x+=this.state.slackX,R.y+=this.state.slackY;const[W,ae]=(0,d.getBoundPosition)(this,R.x,R.y);R.x=W,R.y=ae,R.slackX=this.state.slackX+(X-R.x),R.slackY=this.state.slackY+(Y-R.y),s.x=R.x,s.y=R.y,s.deltaX=R.x-this.state.x,s.deltaY=R.y-this.state.y}if(this.props.onDrag(E,s)===!1)return!1;this.setState(R)}),N(this,"onDragStop",(E,S)=>{if(!this.state.dragging||this.props.onStop(E,(0,d.createDraggableData)(this,S))===!1)return!1;(0,g.default)("Draggable: onDragStop: %j",S);const R={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:X,y:Y}=this.props.position;R.x=X,R.y=Y}this.setState(R)}),this.state={dragging:!1,dragged:!1,x:x.position?x.position.x:x.defaultPosition.x,y:x.position?x.position.y:x.defaultPosition.y,prevPropsPosition:{...x.position},slackX:0,slackY:0,isElementSVG:!1},x.position&&!(x.onDrag||x.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){var x,E;return((E=(x=this.props)==null?void 0:x.nodeRef)==null?void 0:E.current)??o.default.findDOMNode(this)}render(){const{axis:x,bounds:E,children:S,defaultPosition:s,defaultClassName:R,defaultClassNameDragging:U,defaultClassNameDragged:X,position:Y,positionOffset:W,scale:ae,...se}=this.props;let ie={},ee=null;const B=!!!Y||this.state.dragging,K=Y||s,ne={x:(0,d.canDragX)(this)&&B?this.state.x:K.x,y:(0,d.canDragY)(this)&&B?this.state.y:K.y};this.state.isElementSVG?ee=(0,i.createSVGTransform)(ne,W):ie=(0,i.createCSSTransform)(ne,W);const fe=(0,a.clsx)(S.props.className||"",R,{[U]:this.state.dragging,[X]:this.state.dragged});return t.createElement(h.default,k({},se,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),t.cloneElement(t.Children.only(S),{className:fe,style:{...S.props.style,...ie},transform:ee}))}}e.default=T,N(T,"displayName","Draggable"),N(T,"propTypes",{...h.default.propTypes,axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),N(T,"defaultProps",{...h.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})}(He);const{default:mt,DraggableCore:dr}=He;ye.exports=mt,ye.exports.default=mt,ye.exports.DraggableCore=dr;var pr=ye.exports;const hr=xt(pr),mr=({title:e,collapsed:t=!1,draggable:r=!0,position:o={x:20,y:20},children:a})=>{const[i,d]=q.useState(t);return c.jsx(hr,{handle:".font-controls-header",disabled:!r,defaultPosition:o,bounds:"parent",children:c.jsxs("div",{className:"font-controls-panel",children:[c.jsxs("div",{className:"font-controls-header",children:[c.jsx("h3",{className:"font-controls-title",children:e}),c.jsx("button",{className:`font-controls-toggle ${i?"collapsed":""}`,onClick:()=>d(!i),type:"button","aria-label":i?"Expand":"Collapse",children:c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("polyline",{points:"6 9 12 15 18 9"})})})]}),!i&&c.jsx("div",{className:"font-controls-content",children:a})]})})},gr=({value:e,onChange:t,fontFamilies:r})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Font Family"}),c.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:o=>t(o.target.value),style:{fontFamily:e},children:r.map(o=>c.jsx("option",{value:o,style:{fontFamily:o},children:o},o))})]}),yr=({value:e,onChange:t,min:r,max:o,step:a})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Font Size"}),c.jsxs("div",{className:"font-control-slider-container",children:[c.jsx("input",{type:"range",className:"font-control-slider",min:r,max:o,step:a,value:e,onChange:i=>t(Number(i.target.value))}),c.jsx("input",{type:"number",className:"font-control-input font-control-number",min:r,max:o,step:a,value:e,onChange:i=>t(Number(i.target.value))})]})]}),vr=[{value:100,label:"Thin"},{value:200,label:"Extra Light"},{value:300,label:"Light"},{value:400,label:"Regular"},{value:500,label:"Medium"},{value:600,label:"Semi Bold"},{value:700,label:"Bold"},{value:800,label:"Extra Bold"},{value:900,label:"Black"}],br=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Font Weight"}),c.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:r=>t(Number(r.target.value)),children:vr.map(r=>c.jsxs("option",{value:r.value,children:[r.label," (",r.value,")"]},r.value))})]}),Sr=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Line Height"}),c.jsxs("div",{className:"font-control-slider-container",children:[c.jsx("input",{type:"range",className:"font-control-slider",min:.5,max:3,step:.1,value:e,onChange:r=>t(Number(r.target.value))}),c.jsx("input",{type:"number",className:"font-control-input font-control-number",min:.5,max:3,step:.1,value:e,onChange:r=>t(Number(r.target.value))})]})]}),xr=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Letter Spacing"}),c.jsxs("div",{className:"font-control-slider-container",children:[c.jsx("input",{type:"range",className:"font-control-slider",min:-5,max:10,step:.1,value:e,onChange:r=>t(Number(r.target.value))}),c.jsx("input",{type:"number",className:"font-control-input font-control-number",min:-5,max:10,step:.1,value:e,onChange:r=>t(Number(r.target.value))})]})]}),Tr=[{value:"none",label:"None"},{value:"uppercase",label:"UPPERCASE"},{value:"lowercase",label:"lowercase"},{value:"capitalize",label:"Capitalize"}],Er=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Text Transform"}),c.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:r=>t(r.target.value),children:Tr.map(r=>c.jsx("option",{value:r.value,children:r.label},r.value))})]}),_r=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Text Color"}),c.jsxs("div",{className:"font-control-color-input",children:[c.jsx("div",{className:"font-control-color-preview",children:c.jsx("input",{type:"color",value:e,onChange:r=>t(r.target.value)})}),c.jsx("input",{type:"text",className:"font-control-input font-control-text-input",value:e,onChange:r=>t(r.target.value),placeholder:"#000000"})]})]}),wr=[{value:"left",icon:"⬅"},{value:"center",icon:"↔"},{value:"right",icon:"➡"},{value:"justify",icon:"⬌"}],Cr=({value:e,onChange:t})=>c.jsxs("div",{className:"font-control-group",children:[c.jsx("label",{className:"font-control-label",children:"Text Align"}),c.jsx("div",{className:"font-control-button-group",children:wr.map(r=>c.jsx("button",{className:`font-control-button ${e===r.value?"active":""}`,onClick:()=>t(r.value),type:"button",children:r.icon},r.value))})]}),We=({title:e,code:t,language:r="css"})=>{const[o,a]=q.useState(!1),i=async()=>{try{await navigator.clipboard.writeText(t),a(!0),setTimeout(()=>a(!1),2e3)}catch(d){console.error("Failed to copy:",d)}};return c.jsxs("div",{className:"font-control-code-block",children:[c.jsxs("div",{className:"font-control-code-header",children:[c.jsx("span",{className:"font-control-code-title",children:e}),c.jsx("button",{className:"font-control-copy-button",onClick:i,type:"button",children:o?c.jsxs(c.Fragment,{children:[c.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("polyline",{points:"20 6 9 17 4 12"})}),"Copied!"]}):c.jsxs(c.Fragment,{children:[c.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),c.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]}),c.jsx("pre",{className:"font-control-code-content",children:c.jsx("code",{className:`language-${r}`,children:t})})]})},gt=new Set;function yt(e){if(gt.has(e))return;const t=document.createElement("link");t.rel="stylesheet",t.href=`https://fonts.googleapis.com/css2?family=${e.replace(/ /g,"+")}:wght@100;200;300;400;500;600;700;800;900&display=swap`,document.head.appendChild(t),gt.add(e)}function vt(e){if(!document.querySelector('link[href*="fonts.googleapis.com"]')){const t=document.createElement("link");t.rel="preconnect",t.href="https://fonts.googleapis.com";const r=document.createElement("link");r.rel="preconnect",r.href="https://fonts.gstatic.com",r.crossOrigin="anonymous",document.head.appendChild(t),document.head.appendChild(r)}e.forEach(yt)}function Pr(e){return["Arial","Helvetica","Times New Roman","Georgia","Verdana"].includes(e)?`<!-- ${e} is a system font, no import needed -->`:`<!-- Add this to your HTML <head> -->
|
|
43
|
+
`,e.getElementsByTagName("head")[0].appendChild(t)),e.body&&dt(e.body,"react-draggable-transparent-selection")}function Qt(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{ft(e)}):ft(e)}function ft(e){if(e)try{if(e.body&&pt(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const t=(e.defaultView||window).getSelection();t&&t.type!=="Caret"&&t.removeAllRanges()}}catch{}}function dt(e,t){e.classList?e.classList.add(t):e.className.match(new RegExp(`(?:^|\\s)${t}(?!\\S)`))||(e.className+=` ${t}`)}function pt(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp(`(?:^|\\s)${t}(?!\\S)`,"g"),"")}var re={};Object.defineProperty(re,"__esModule",{value:!0}),re.canDragX=rr,re.canDragY=nr,re.createCoreData=ar,re.createDraggableData=sr,re.getBoundPosition=er,re.getControlPosition=or,re.snapToGrid=tr;var J=te,pe=Y;function er(e,t,r){if(!e.props.bounds)return[t,r];let{bounds:o}=e.props;o=typeof o=="string"?o:ir(o);const a=Fe(e);if(typeof o=="string"){const{ownerDocument:i}=a,d=i.defaultView;let c;if(o==="parent"?c=a.parentNode:c=a.getRootNode().querySelector(o),!(c instanceof d.HTMLElement))throw new Error('Bounds selector "'+o+'" could not find an element.');const h=c,g=d.getComputedStyle(a),v=d.getComputedStyle(h);o={left:-a.offsetLeft+(0,J.int)(v.paddingLeft)+(0,J.int)(g.marginLeft),top:-a.offsetTop+(0,J.int)(v.paddingTop)+(0,J.int)(g.marginTop),right:(0,pe.innerWidth)(h)-(0,pe.outerWidth)(a)-a.offsetLeft+(0,J.int)(v.paddingRight)-(0,J.int)(g.marginRight),bottom:(0,pe.innerHeight)(h)-(0,pe.outerHeight)(a)-a.offsetTop+(0,J.int)(v.paddingBottom)-(0,J.int)(g.marginBottom)}}return(0,J.isNum)(o.right)&&(t=Math.min(t,o.right)),(0,J.isNum)(o.bottom)&&(r=Math.min(r,o.bottom)),(0,J.isNum)(o.left)&&(t=Math.max(t,o.left)),(0,J.isNum)(o.top)&&(r=Math.max(r,o.top)),[t,r]}function tr(e,t,r){const o=Math.round(t/e[0])*e[0],a=Math.round(r/e[1])*e[1];return[o,a]}function rr(e){return e.props.axis==="both"||e.props.axis==="x"}function nr(e){return e.props.axis==="both"||e.props.axis==="y"}function or(e,t,r){const o=typeof t=="number"?(0,pe.getTouch)(e,t):null;if(typeof t=="number"&&!o)return null;const a=Fe(r),i=r.props.offsetParent||a.offsetParent||a.ownerDocument.body;return(0,pe.offsetXYFromParent)(o||e,i,r.props.scale)}function ar(e,t,r){const o=!(0,J.isNum)(e.lastX),a=Fe(e);return o?{node:a,deltaX:0,deltaY:0,lastX:t,lastY:r,x:t,y:r}:{node:a,deltaX:t-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:t,y:r}}function sr(e,t){const r=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/r,y:e.state.y+t.deltaY/r,deltaX:t.deltaX/r,deltaY:t.deltaY/r,lastX:e.state.x,lastY:e.state.y}}function ir(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}function Fe(e){const t=e.findDOMNode();if(!t)throw new Error("<DraggableCore>: Unmounted during event!");return t}var Se={},xe={};Object.defineProperty(xe,"__esModule",{value:!0}),xe.default=lr;function lr(){}Object.defineProperty(Se,"__esModule",{value:!0}),Se.default=void 0;var Ie=ht(H),z=$e(nt),cr=$e(Ue),L=Y,le=re,Ye=te,ge=$e(xe);function $e(e){return e&&e.__esModule?e:{default:e}}function ht(e,t){if(typeof WeakMap=="function")var r=new WeakMap,o=new WeakMap;return(ht=function(a,i){if(!i&&a&&a.__esModule)return a;var d,c,h={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return h;if(d=i?o:r){if(d.has(a))return d.get(a);d.set(a,h)}for(const g in a)g!=="default"&&{}.hasOwnProperty.call(a,g)&&((c=(d=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,g))&&(c.get||c.set)?d(h,g,c):h[g]=a[g]);return h})(e,t)}function q(e,t,r){return(t=ur(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ur(e){var t=fr(e,"string");return typeof t=="symbol"?t:t+""}function fr(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var o=r.call(e,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}const Q={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let ce=Q.mouse,Te=class extends Ie.Component{constructor(){super(...arguments),q(this,"dragging",!1),q(this,"lastX",NaN),q(this,"lastY",NaN),q(this,"touchIdentifier",null),q(this,"mounted",!1),q(this,"handleDragStart",t=>{if(this.props.onMouseDown(t),!this.props.allowAnyClick&&typeof t.button=="number"&&t.button!==0)return!1;const r=this.findDOMNode();if(!r||!r.ownerDocument||!r.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:o}=r;if(this.props.disabled||!(t.target instanceof o.defaultView.Node)||this.props.handle&&!(0,L.matchesSelectorAndParentsTo)(t.target,this.props.handle,r)||this.props.cancel&&(0,L.matchesSelectorAndParentsTo)(t.target,this.props.cancel,r))return;t.type==="touchstart"&&!this.props.allowMobileScroll&&t.preventDefault();const a=(0,L.getTouchIdentifier)(t);this.touchIdentifier=a;const i=(0,le.getControlPosition)(t,a,this);if(i==null)return;const{x:d,y:c}=i,h=(0,le.createCoreData)(this,d,c);(0,ge.default)("DraggableCore: handleDragStart: %j",h),(0,ge.default)("calling",this.props.onStart),!(this.props.onStart(t,h)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,L.addUserSelectStyles)(o),this.dragging=!0,this.lastX=d,this.lastY=c,(0,L.addEvent)(o,ce.move,this.handleDrag),(0,L.addEvent)(o,ce.stop,this.handleDragStop))}),q(this,"handleDrag",t=>{const r=(0,le.getControlPosition)(t,this.touchIdentifier,this);if(r==null)return;let{x:o,y:a}=r;if(Array.isArray(this.props.grid)){let c=o-this.lastX,h=a-this.lastY;if([c,h]=(0,le.snapToGrid)(this.props.grid,c,h),!c&&!h)return;o=this.lastX+c,a=this.lastY+h}const i=(0,le.createCoreData)(this,o,a);if((0,ge.default)("DraggableCore: handleDrag: %j",i),this.props.onDrag(t,i)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const h=document.createEvent("MouseEvents");h.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(h)}return}this.lastX=o,this.lastY=a}),q(this,"handleDragStop",t=>{if(!this.dragging)return;const r=(0,le.getControlPosition)(t,this.touchIdentifier,this);if(r==null)return;let{x:o,y:a}=r;if(Array.isArray(this.props.grid)){let h=o-this.lastX||0,g=a-this.lastY||0;[h,g]=(0,le.snapToGrid)(this.props.grid,h,g),o=this.lastX+h,a=this.lastY+g}const i=(0,le.createCoreData)(this,o,a);if(this.props.onStop(t,i)===!1||this.mounted===!1)return!1;const c=this.findDOMNode();c&&this.props.enableUserSelectHack&&(0,L.scheduleRemoveUserSelectStyles)(c.ownerDocument),(0,ge.default)("DraggableCore: handleDragStop: %j",i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,c&&((0,ge.default)("DraggableCore: Removing handlers"),(0,L.removeEvent)(c.ownerDocument,ce.move,this.handleDrag),(0,L.removeEvent)(c.ownerDocument,ce.stop,this.handleDragStop))}),q(this,"onMouseDown",t=>(ce=Q.mouse,this.handleDragStart(t))),q(this,"onMouseUp",t=>(ce=Q.mouse,this.handleDragStop(t))),q(this,"onTouchStart",t=>(ce=Q.touch,this.handleDragStart(t))),q(this,"onTouchEnd",t=>(ce=Q.touch,this.handleDragStop(t)))}componentDidMount(){this.mounted=!0;const t=this.findDOMNode();t&&(0,L.addEvent)(t,Q.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const t=this.findDOMNode();if(t){const{ownerDocument:r}=t;(0,L.removeEvent)(r,Q.mouse.move,this.handleDrag),(0,L.removeEvent)(r,Q.touch.move,this.handleDrag),(0,L.removeEvent)(r,Q.mouse.stop,this.handleDragStop),(0,L.removeEvent)(r,Q.touch.stop,this.handleDragStop),(0,L.removeEvent)(t,Q.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,L.scheduleRemoveUserSelectStyles)(r)}}findDOMNode(){var t,r,o;return(t=this.props)!=null&&t.nodeRef?(o=(r=this.props)==null?void 0:r.nodeRef)==null?void 0:o.current:cr.default.findDOMNode(this)}render(){return Ie.cloneElement(Ie.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};Se.default=Te,q(Te,"displayName","DraggableCore"),q(Te,"propTypes",{allowAnyClick:z.default.bool,allowMobileScroll:z.default.bool,children:z.default.node.isRequired,disabled:z.default.bool,enableUserSelectHack:z.default.bool,offsetParent:function(e,t){if(e[t]&&e[t].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:z.default.arrayOf(z.default.number),handle:z.default.string,cancel:z.default.string,nodeRef:z.default.object,onStart:z.default.func,onDrag:z.default.func,onStop:z.default.func,onMouseDown:z.default.func,scale:z.default.number,className:Ye.dontSetMe,style:Ye.dontSetMe,transform:Ye.dontSetMe}),q(Te,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DraggableCore",{enumerable:!0,get:function(){return h.default}}),e.default=void 0;var t=P(H),r=v(nt),o=v(Ue),a=Nt,i=Y,d=re,c=te,h=v(Se),g=v(xe);function v(_){return _&&_.__esModule?_:{default:_}}function P(_,x){if(typeof WeakMap=="function")var E=new WeakMap,S=new WeakMap;return(P=function(s,R){if(!R&&s&&s.__esModule)return s;var U,X,$={__proto__:null,default:s};if(s===null||typeof s!="object"&&typeof s!="function")return $;if(U=R?S:E){if(U.has(s))return U.get(s);U.set(s,$)}for(const W in s)W!=="default"&&{}.hasOwnProperty.call(s,W)&&((X=(U=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,W))&&(X.get||X.set)?U($,W,X):$[W]=s[W]);return $})(_,x)}function k(){return k=Object.assign?Object.assign.bind():function(_){for(var x=1;x<arguments.length;x++){var E=arguments[x];for(var S in E)({}).hasOwnProperty.call(E,S)&&(_[S]=E[S])}return _},k.apply(null,arguments)}function N(_,x,E){return(x=I(x))in _?Object.defineProperty(_,x,{value:E,enumerable:!0,configurable:!0,writable:!0}):_[x]=E,_}function I(_){var x=F(_,"string");return typeof x=="symbol"?x:x+""}function F(_,x){if(typeof _!="object"||!_)return _;var E=_[Symbol.toPrimitive];if(E!==void 0){var S=E.call(_,x);if(typeof S!="object")return S;throw new TypeError("@@toPrimitive must return a primitive value.")}return(x==="string"?String:Number)(_)}class T extends t.Component{static getDerivedStateFromProps(x,E){let{position:S}=x,{prevPropsPosition:s}=E;return S&&(!s||S.x!==s.x||S.y!==s.y)?((0,g.default)("Draggable: getDerivedStateFromProps %j",{position:S,prevPropsPosition:s}),{x:S.x,y:S.y,prevPropsPosition:{...S}}):null}constructor(x){super(x),N(this,"onDragStart",(E,S)=>{if((0,g.default)("Draggable: onDragStart: %j",S),this.props.onStart(E,(0,d.createDraggableData)(this,S))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),N(this,"onDrag",(E,S)=>{if(!this.state.dragging)return!1;(0,g.default)("Draggable: onDrag: %j",S);const s=(0,d.createDraggableData)(this,S),R={x:s.x,y:s.y,slackX:0,slackY:0};if(this.props.bounds){const{x:X,y:$}=R;R.x+=this.state.slackX,R.y+=this.state.slackY;const[W,ae]=(0,d.getBoundPosition)(this,R.x,R.y);R.x=W,R.y=ae,R.slackX=this.state.slackX+(X-R.x),R.slackY=this.state.slackY+($-R.y),s.x=R.x,s.y=R.y,s.deltaX=R.x-this.state.x,s.deltaY=R.y-this.state.y}if(this.props.onDrag(E,s)===!1)return!1;this.setState(R)}),N(this,"onDragStop",(E,S)=>{if(!this.state.dragging||this.props.onStop(E,(0,d.createDraggableData)(this,S))===!1)return!1;(0,g.default)("Draggable: onDragStop: %j",S);const R={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:X,y:$}=this.props.position;R.x=X,R.y=$}this.setState(R)}),this.state={dragging:!1,dragged:!1,x:x.position?x.position.x:x.defaultPosition.x,y:x.position?x.position.y:x.defaultPosition.y,prevPropsPosition:{...x.position},slackX:0,slackY:0,isElementSVG:!1},x.position&&!(x.onDrag||x.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){var x,E;return((E=(x=this.props)==null?void 0:x.nodeRef)==null?void 0:E.current)??o.default.findDOMNode(this)}render(){const{axis:x,bounds:E,children:S,defaultPosition:s,defaultClassName:R,defaultClassNameDragging:U,defaultClassNameDragged:X,position:$,positionOffset:W,scale:ae,...se}=this.props;let ie={},ee=null;const B=!!!$||this.state.dragging,K=$||s,ne={x:(0,d.canDragX)(this)&&B?this.state.x:K.x,y:(0,d.canDragY)(this)&&B?this.state.y:K.y};this.state.isElementSVG?ee=(0,i.createSVGTransform)(ne,W):ie=(0,i.createCSSTransform)(ne,W);const fe=(0,a.clsx)(S.props.className||"",R,{[U]:this.state.dragging,[X]:this.state.dragged});return t.createElement(h.default,k({},se,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),t.cloneElement(t.Children.only(S),{className:fe,style:{...S.props.style,...ie},transform:ee}))}}e.default=T,N(T,"displayName","Draggable"),N(T,"propTypes",{...h.default.propTypes,axis:r.default.oneOf(["both","x","y","none"]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:c.dontSetMe,style:c.dontSetMe,transform:c.dontSetMe}),N(T,"defaultProps",{...h.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})}(He);const{default:mt,DraggableCore:dr}=He;ye.exports=mt,ye.exports.default=mt,ye.exports.DraggableCore=dr;var pr=ye.exports;const hr=xt(pr),mr=({title:e,collapsed:t=!1,draggable:r=!0,position:o={x:20,y:20},children:a})=>{const[i,d]=H.useState(t),c=H.useRef(null);return u.jsx(hr,{nodeRef:c,handle:".font-controls-header",disabled:!r,defaultPosition:o,bounds:"parent",children:u.jsxs("div",{ref:c,className:"font-controls-panel",children:[u.jsxs("div",{className:"font-controls-header",children:[u.jsx("h3",{className:"font-controls-title",children:e}),u.jsx("button",{className:`font-controls-toggle ${i?"collapsed":""}`,onClick:()=>d(!i),type:"button","aria-label":i?"Expand":"Collapse",children:u.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:u.jsx("polyline",{points:"6 9 12 15 18 9"})})})]}),!i&&u.jsx("div",{className:"font-controls-content",children:a})]})})},gr=({value:e,onChange:t,fontFamilies:r})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Font Family"}),u.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:o=>t(o.target.value),style:{fontFamily:e},children:r.map(o=>u.jsx("option",{value:o,style:{fontFamily:o},children:o},o))})]}),yr=({value:e,onChange:t,min:r,max:o,step:a})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Font Size"}),u.jsxs("div",{className:"font-control-slider-container",children:[u.jsx("input",{type:"range",className:"font-control-slider",min:r,max:o,step:a,value:e,onChange:i=>t(Number(i.target.value))}),u.jsx("input",{type:"number",className:"font-control-input font-control-number",min:r,max:o,step:a,value:e,onChange:i=>t(Number(i.target.value))})]})]}),vr=[{value:100,label:"Thin"},{value:200,label:"Extra Light"},{value:300,label:"Light"},{value:400,label:"Regular"},{value:500,label:"Medium"},{value:600,label:"Semi Bold"},{value:700,label:"Bold"},{value:800,label:"Extra Bold"},{value:900,label:"Black"}],br=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Font Weight"}),u.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:r=>t(Number(r.target.value)),children:vr.map(r=>u.jsxs("option",{value:r.value,children:[r.label," (",r.value,")"]},r.value))})]}),Sr=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Line Height"}),u.jsxs("div",{className:"font-control-slider-container",children:[u.jsx("input",{type:"range",className:"font-control-slider",min:.5,max:3,step:.1,value:e,onChange:r=>t(Number(r.target.value))}),u.jsx("input",{type:"number",className:"font-control-input font-control-number",min:.5,max:3,step:.1,value:e,onChange:r=>t(Number(r.target.value))})]})]}),xr=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Letter Spacing"}),u.jsxs("div",{className:"font-control-slider-container",children:[u.jsx("input",{type:"range",className:"font-control-slider",min:-5,max:10,step:.1,value:e,onChange:r=>t(Number(r.target.value))}),u.jsx("input",{type:"number",className:"font-control-input font-control-number",min:-5,max:10,step:.1,value:e,onChange:r=>t(Number(r.target.value))})]})]}),Tr=[{value:"none",label:"None"},{value:"uppercase",label:"UPPERCASE"},{value:"lowercase",label:"lowercase"},{value:"capitalize",label:"Capitalize"}],Er=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Text Transform"}),u.jsx("select",{className:"font-control-input font-control-select",value:e,onChange:r=>t(r.target.value),children:Tr.map(r=>u.jsx("option",{value:r.value,children:r.label},r.value))})]}),_r=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Text Color"}),u.jsxs("div",{className:"font-control-color-input",children:[u.jsx("div",{className:"font-control-color-preview",children:u.jsx("input",{type:"color",value:e,onChange:r=>t(r.target.value)})}),u.jsx("input",{type:"text",className:"font-control-input font-control-text-input",value:e,onChange:r=>t(r.target.value),placeholder:"#000000"})]})]}),wr=[{value:"left",icon:"⬅"},{value:"center",icon:"↔"},{value:"right",icon:"➡"},{value:"justify",icon:"⬌"}],Cr=({value:e,onChange:t})=>u.jsxs("div",{className:"font-control-group",children:[u.jsx("label",{className:"font-control-label",children:"Text Align"}),u.jsx("div",{className:"font-control-button-group",children:wr.map(r=>u.jsx("button",{className:`font-control-button ${e===r.value?"active":""}`,onClick:()=>t(r.value),type:"button",children:r.icon},r.value))})]}),We=({title:e,code:t,language:r="css"})=>{const[o,a]=H.useState(!1),i=async()=>{try{await navigator.clipboard.writeText(t),a(!0),setTimeout(()=>a(!1),2e3)}catch(d){console.error("Failed to copy:",d)}};return u.jsxs("div",{className:"font-control-code-block",children:[u.jsxs("div",{className:"font-control-code-header",children:[u.jsx("span",{className:"font-control-code-title",children:e}),u.jsx("button",{className:"font-control-copy-button",onClick:i,type:"button",children:o?u.jsxs(u.Fragment,{children:[u.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("polyline",{points:"20 6 9 17 4 12"})}),"Copied!"]}):u.jsxs(u.Fragment,{children:[u.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[u.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),u.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),"Copy"]})})]}),u.jsx("pre",{className:"font-control-code-content",children:u.jsx("code",{className:`language-${r}`,children:t})})]})},gt=new Set;function yt(e){if(gt.has(e))return;const t=document.createElement("link");t.rel="stylesheet",t.href=`https://fonts.googleapis.com/css2?family=${e.replace(/ /g,"+")}:wght@100;200;300;400;500;600;700;800;900&display=swap`,document.head.appendChild(t),gt.add(e)}function vt(e){if(!document.querySelector('link[href*="fonts.googleapis.com"]')){const t=document.createElement("link");t.rel="preconnect",t.href="https://fonts.googleapis.com";const r=document.createElement("link");r.rel="preconnect",r.href="https://fonts.gstatic.com",r.crossOrigin="anonymous",document.head.appendChild(t),document.head.appendChild(r)}e.forEach(yt)}function Pr(e){return["Arial","Helvetica","Times New Roman","Georgia","Verdana"].includes(e)?`<!-- ${e} is a system font, no import needed -->`:`<!-- Add this to your HTML <head> -->
|
|
44
44
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
45
45
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
46
46
|
<link href="${`https://fonts.googleapis.com/css2?family=${e.replace(/ /g,"+")}:wght@100;200;300;400;500;600;700;800;900&display=swap`}" rel="stylesheet">`}function jr(e){return`<h1 style={{
|
|
@@ -63,4 +63,4 @@ Valid keys: `+JSON.stringify(Object.keys(l),null," "));var p=V(b,O,m,j,w+"."+O,
|
|
|
63
63
|
text-transform: ${e.textTransform};
|
|
64
64
|
color: ${e.color};
|
|
65
65
|
text-align: ${e.textAlign};
|
|
66
|
-
}`}const Or=["Inter","Roboto","Open Sans","Lato","Montserrat","Poppins","Raleway","Work Sans","Nunito","Source Sans Pro","DM Sans","Playfair Display","Merriweather","Lora","Crimson Text","EB Garamond","Fira Code","JetBrains Mono","Inconsolata","Source Code Pro","Bebas Neue","Oswald","Righteous","Permanent Marker","Pacifico"],Le={fontFamily:"Arial",fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0,textTransform:"none",color:"#000000",textAlign:"left"},Dr=({value:e,onChange:t,fontFamilies:r=Or,minFontSize:o=8,maxFontSize:a=120,fontSizeStep:i=1,title:d="Font Controls",collapsed:
|
|
66
|
+
}`}const Or=["Inter","Roboto","Open Sans","Lato","Montserrat","Poppins","Raleway","Work Sans","Nunito","Source Sans Pro","DM Sans","Playfair Display","Merriweather","Lora","Crimson Text","EB Garamond","Fira Code","JetBrains Mono","Inconsolata","Source Code Pro","Bebas Neue","Oswald","Righteous","Permanent Marker","Pacifico"],Le={fontFamily:"Arial",fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0,textTransform:"none",color:"#000000",textAlign:"left"},Dr=({value:e,onChange:t,fontFamilies:r=Or,minFontSize:o=8,maxFontSize:a=120,fontSizeStep:i=1,title:d="Font Controls",collapsed:c=!1,draggable:h=!0,position:g})=>{const[v,P]=H.useState({...Le,...e}),[k,N]=H.useState(!1);H.useEffect(()=>{e&&P(T=>({...T,...e}))},[e]),H.useEffect(()=>{vt(r)},[r]);const I=(T,_)=>{const x={...v,[T]:_};P(x),t==null||t(x)},F=()=>{P(Le),t==null||t(Le)};return u.jsxs(mr,{title:d,collapsed:c,draggable:h,position:g,children:[u.jsx(gr,{value:v.fontFamily,onChange:T=>I("fontFamily",T),fontFamilies:r}),u.jsx(yr,{value:v.fontSize,onChange:T=>I("fontSize",T),min:o,max:a,step:i}),u.jsx(br,{value:v.fontWeight,onChange:T=>I("fontWeight",T)}),u.jsx(Sr,{value:v.lineHeight,onChange:T=>I("lineHeight",T)}),u.jsx(xr,{value:v.letterSpacing,onChange:T=>I("letterSpacing",T)}),u.jsx(Er,{value:v.textTransform,onChange:T=>I("textTransform",T)}),u.jsx(_r,{value:v.color,onChange:T=>I("color",T)}),u.jsx(Cr,{value:v.textAlign,onChange:T=>I("textAlign",T)}),u.jsxs("button",{className:"font-control-reset-button",onClick:F,type:"button",children:[u.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("polyline",{points:"1 4 1 10 7 10"}),u.jsx("polyline",{points:"23 20 23 14 17 14"}),u.jsx("path",{d:"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15"})]}),"Reset to Default"]}),u.jsxs("div",{className:"font-control-export-section",children:[u.jsxs("button",{className:"font-control-export-toggle",onClick:()=>N(!k),type:"button",children:[u.jsx("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:k?"rotated":"",children:u.jsx("polyline",{points:"9 18 15 12 9 6"})}),"Export Configuration"]}),k&&u.jsxs("div",{className:"font-control-export-content",children:[u.jsx(We,{title:"1. Google Fonts Import (HTML)",code:Pr(v.fontFamily),language:"html"}),u.jsx(We,{title:"2. React/JSX Inline Styles",code:jr(v),language:"tsx"}),u.jsx(We,{title:"3. CSS Class",code:Rr(v),language:"css"})]})]})]})},bt={fontFamily:"Arial",fontSize:16,fontWeight:400,lineHeight:1.5,letterSpacing:0,textTransform:"none",color:"#000000",textAlign:"left"},Nr=e=>{const[t,r]=H.useState({...bt,...e});return{config:t,setConfig:r,updateConfig:(i,d)=>{r(c=>({...c,[i]:d}))},resetConfig:()=>{r({...bt,...e})}}};Z.FontControls=Dr,Z.loadAllDefaultFonts=vt,Z.loadGoogleFont=yt,Z.useFontControls=Nr,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "font-controls",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "A beautiful, Leva-inspired font controls library for React",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/font-controls.umd.cjs",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"require": "./dist/font-controls.umd.cjs",
|
|
13
13
|
"types": "./dist/index.d.ts"
|
|
14
14
|
},
|
|
15
|
-
"./
|
|
15
|
+
"./style.css": "./dist/style.css"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"dist"
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"author": "",
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"react": "^19.0.0",
|
|
40
|
-
"react-dom": "^19.0.0"
|
|
39
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
40
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^25.0.9",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"repository": {
|
|
54
54
|
"type": "git",
|
|
55
|
-
"url": "https://github.com/
|
|
55
|
+
"url": "https://github.com/alvinsugijanto/font-controls"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"react-draggable": "^4.5.0"
|