@moontra/moonui 6.9.0 → 6.11.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/hooks/index.global.js +6 -1
- package/dist/hooks/index.global.js.map +1 -1
- package/dist/index.d.mts +34 -33
- package/dist/index.d.ts +34 -33
- package/dist/index.global.js +365 -52
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +121 -78
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +121 -78
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/ui/__tests__/checkbox.test.tsx +3 -3
- package/src/components/ui/__tests__/collapsible.test.tsx +5 -5
- package/src/components/ui/__tests__/dialog.test.tsx +2 -2
- package/src/components/ui/__tests__/preset-color-shadowing.test.ts +71 -0
- package/src/components/ui/__tests__/progress.test.tsx +4 -4
- package/src/components/ui/__tests__/radio-group.test.tsx +4 -4
- package/src/components/ui/__tests__/semantic-token-usage.test.ts +120 -0
- package/src/components/ui/__tests__/size-scale-convention.test.ts +189 -0
- package/src/components/ui/__tests__/slider.test.tsx +4 -4
- package/src/components/ui/__tests__/toast.test.tsx +6 -3
- package/src/components/ui/__tests__/tooltip.test.tsx +8 -4
- package/src/components/ui/alert.tsx +5 -3
- package/src/components/ui/avatar.tsx +3 -2
- package/src/components/ui/breadcrumb.tsx +4 -2
- package/src/components/ui/card.tsx +4 -2
- package/src/components/ui/checkbox.tsx +5 -3
- package/src/components/ui/collapsible.tsx +10 -6
- package/src/components/ui/color-picker.tsx +11 -5
- package/src/components/ui/command.tsx +4 -2
- package/src/components/ui/date-picker.tsx +4 -2
- package/src/components/ui/dialog.tsx +7 -5
- package/src/components/ui/popover-pro.tsx +5 -3
- package/src/components/ui/popover.tsx +4 -2
- package/src/components/ui/progress.tsx +6 -4
- package/src/components/ui/radio-group.tsx +5 -3
- package/src/components/ui/skeleton.tsx +4 -2
- package/src/components/ui/slider.tsx +10 -6
- package/src/components/ui/table.tsx +4 -2
- package/src/components/ui/toast.tsx +4 -4
- package/src/components/ui/toggle-group.tsx +4 -1
- package/src/components/ui/toggle.tsx +4 -2
- package/src/components/ui/tooltip.tsx +3 -3
- package/src/styles/tokens.css +43 -2
- package/tailwind-preset.js +17 -7
- package/src/use-toast.ts +0 -32
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
/** @license MoonUI v1.0.0 - MIT License - https://moonui.dev */
|
|
4
|
-
"use client";
|
|
4
|
+
"use client";import{c as u,g as p,h as b}from"../chunk-VXDFZPDA.global.js";var n=u(p()),O=u(b());function E({threshold:t=0,root:a=null,rootMargin:i="0%",freezeOnceVisible:o=!1,initialIsIntersecting:d=!1,onChange:e}={}){let[r,s]=n.useState(null),[c,m]=n.useState(d),f=n.useRef(!1);return n.useEffect(()=>{if(!r||!window.IntersectionObserver||f.current&&o)return;let w=new IntersectionObserver(([I])=>{if(f.current)return;let v=I.isIntersecting;m(v),e?.(v,I),v&&o&&(f.current=!0)},{threshold:t,root:a,rootMargin:i});return w.observe(r),()=>w.disconnect()},[r,t,a,i,o,e]),{ref:s,isIntersecting:c}}var l=u(p()),g="moonui:local-storage";function S(t,a){let[i,o]=(0,l.useState)(()=>{if(typeof window>"u")return a;try{let e=window.localStorage.getItem(t);return e?JSON.parse(e):a}catch(e){return console.error(`Error reading localStorage key "${t}":`,e),a}}),d=e=>{try{let r=e instanceof Function?e(i):e;o(r),typeof window<"u"&&(r===void 0?window.localStorage.removeItem(t):window.localStorage.setItem(t,JSON.stringify(r)),window.dispatchEvent(new CustomEvent(g,{detail:{key:t,value:r}})))}catch(r){console.error(`Error setting localStorage key "${t}":`,r)}};return(0,l.useEffect)(()=>{if(typeof window>"u")return;let e=s=>{if(s.key===t&&s.newValue!==null)try{o(JSON.parse(s.newValue))}catch(c){console.error(`Error parsing localStorage value for key "${t}":`,c)}},r=s=>{let c=s.detail;c&&c.key===t&&o(c.value)};return window.addEventListener("storage",e),window.addEventListener(g,r),()=>{window.removeEventListener("storage",e),window.removeEventListener(g,r)}},[t]),[i,d]}export{E as useIntersectionObserver,S as useLocalStorage};
|
|
5
|
+
|
|
6
|
+
if (typeof window !== 'undefined' && !window.React) {
|
|
7
|
+
console.warn('MoonUI: React not found. Please include React and ReactDOM before MoonUI.');
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.global.js.mape,t,r){this.props=e,this.context=t,this.refs=A,this.updater=r||M}var L=x.prototype=new F;L.constructor=x;q(L,d.prototype);L.isPureReactComponent=!0;var V=Array.isArray,z=Object.prototype.hasOwnProperty,k={current:null},B={key:!0,ref:!0,__self:!0,__source:!0};function J(e,t,r){var n,o={},u=null,c=null;if(t!=null)for(n in t.ref!==void 0&&(c=t.ref),t.key!==void 0&&(u=""+t.key),t)z.call(t,n)&&!B.hasOwnProperty(n)&&(o[n]=t[n]);var l=arguments.length-2;if(l===1)o.children=r;else if(1<l){for(var i=Array(l),a=0;a<l;a++)i[a]=arguments[a+2];o.children=i}if(e&&e.defaultProps)for(n in l=e.defaultProps,l)o[n]===void 0&&(o[n]=l[n]);return{$$typeof:y,type:e,key:u,ref:c,props:o,_owner:k.current}}function _e(e,t){return{$$typeof:y,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function C(e){return typeof e=="object"&&e!==null&&e.$$typeof===y}function we(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var D=/\/+/g;function R(e,t){return typeof e=="object"&&e!==null&&e.key!=null?we(""+e.key):t.toString(36)}function w(e,t,r,n,o){var u=typeof e;(u==="undefined"||u==="boolean")&&(e=null);var c=!1;if(e===null)c=!0;else switch(u){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case y:case ce:c=!0}}if(c)return c=e,o=o(c),e=n===""?"."+R(c,0):n,V(o)?(r="",e!=null&&(r=e.replace(D,"$&/")+"/"),w(o,t,r,"",function(a){return a})):o!=null&&(C(o)&&(o=_e(o,r+(!o.key||c&&c.key===o.key?"":(""+o.key).replace(D,"$&/")+"/")+e)),t.push(o)),1;if(c=0,n=n===""?".":n+":",V(e))for(var l=0;l<e.length;l++){u=e[l];var i=n+R(u,l);c+=w(u,t,r,i,o)}else if(i=he(e),typeof i=="function")for(e=i.call(e),l=0;!(u=e.next()).done;)u=u.value,i=n+R(u,l++),c+=w(u,t,r,i,o);else if(u==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function _(e,t,r){if(e==null)return e;var n=[],o=0;return w(e,n,"","",function(u){return t.call(r,u,o++)}),n}function Se(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var f={current:null},S={transition:null},Ee={ReactCurrentDispatcher:f,ReactCurrentBatchConfig:S,ReactCurrentOwner:k};function H(){throw Error("act(...) is not supported in production builds of React.")}s.Children={map:_,forEach:function(e,t,r){_(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return _(e,function(){t++}),t},toArray:function(e){return _(e,function(t){return t})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};s.Component=d;s.Fragment=ie;s.Profiler=fe;s.PureComponent=x;s.StrictMode=le;s.Suspense=ye;s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ee;s.act=H;s.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=q({},e.props),o=e.key,u=e.ref,c=e._owner;if(t!=null){if(t.ref!==void 0&&(u=t.ref,c=k.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(i in t)z.call(t,i)&&!B.hasOwnProperty(i)&&(n[i]=t[i]===void 0&&l!==void 0?l[i]:t[i])}var i=arguments.length-2;if(i===1)n.children=r;else if(1<i){l=Array(i);for(var a=0;a<i;a++)l[a]=arguments[a+2];n.children=l}return{$$typeof:y,type:e.type,key:o,ref:u,props:n,_owner:c}};s.createContext=function(e){return e={$$typeof:pe,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:ae,_context:e},e.Consumer=e};s.createElement=J;s.createFactory=function(e){var t=J.bind(null,e);return t.type=e,t};s.createRef=function(){return{current:null}};s.forwardRef=function(e){return{$$typeof:de,render:e}};s.isValidElement=C;s.lazy=function(e){return{$$typeof:me,_payload:{_status:-1,_result:e},_init:Se}};s.memo=function(e,t){return{$$typeof:ve,type:e,compare:t===void 0?null:t}};s.startTransition=function(e){var t=S.transition;S.transition={};try{e()}finally{S.transition=t}};s.unstable_act=H;s.useCallback=function(e,t){return f.current.useCallback(e,t)};s.useContext=function(e){return f.current.useContext(e)};s.useDebugValue=function(){};s.useDeferredValue=function(e){return f.current.useDeferredValue(e)};s.useEffect=function(e,t){return f.current.useEffect(e,t)};s.useId=function(){return f.current.useId()};s.useImperativeHandle=function(e,t,r){return f.current.useImperativeHandle(e,t,r)};s.useInsertionEffect=function(e,t){return f.current.useInsertionEffect(e,t)};s.useLayoutEffect=function(e,t){return f.current.useLayoutEffect(e,t)};s.useMemo=function(e,t){return f.current.useMemo(e,t)};s.useReducer=function(e,t,r){return f.current.useReducer(e,t,r)};s.useRef=function(e){return f.current.useRef(e)};s.useState=function(e){return f.current.useState(e)};s.useSyncExternalStore=function(e,t,r){return f.current.useSyncExternalStore(e,t,r)};s.useTransition=function(){return f.current.useTransition()};s.version="18.3.1"});var E=m((Te,Y)=>{"use strict";Y.exports=W()});var K=m(b=>{"use strict";var be=E(),ge=Symbol.for("react.element"),Oe=Symbol.for("react.fragment"),Ie=Object.prototype.hasOwnProperty,Re=be.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,xe={key:!0,ref:!0,__self:!0,__source:!0};function G(e,t,r){var n,o={},u=null,c=null;r!==void 0&&(u=""+r),t.key!==void 0&&(u=""+t.key),t.ref!==void 0&&(c=t.ref);for(n in t)Ie.call(t,n)&&!xe.hasOwnProperty(n)&&(o[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)o[n]===void 0&&(o[n]=t[n]);return{$$typeof:ge,type:e,key:u,ref:c,props:o,_owner:Re.current}}b.Fragment=Oe;b.jsx=G;b.jsxs=G});var $=m((Ne,Q)=>{"use strict";Q.exports=K()});var ke={};ue(ke,{useIntersectionObserver:()=>X,useLocalStorage:()=>Z});module.exports=se(ke);var p=h(E()),Le=h($());function X({threshold:e=0,root:t=null,rootMargin:r="0%",freezeOnceVisible:n=!1,initialIsIntersecting:o=!1,onChange:u}={}){let[c,l]=p.useState(null),[i,a]=p.useState(o),O=p.useRef(!1);return p.useEffect(()=>{if(!c||!window.IntersectionObserver||O.current&&n)return;let j=new IntersectionObserver(([N])=>{if(O.current)return;let I=N.isIntersecting;a(I),u?.(I,N),I&&n&&(O.current=!0)},{threshold:e,root:t,rootMargin:r});return j.observe(c),()=>j.disconnect()},[c,e,t,r,n,u]),{ref:l,isIntersecting:i}}var g=h(E()),T="moonui:local-storage";function Z(e,t){let[r,n]=(0,g.useState)(()=>{if(typeof window>"u")return t;try{let u=window.localStorage.getItem(e);return u?JSON.parse(u):t}catch(u){return console.error(`Error reading localStorage key "${e}":`,u),t}}),o=u=>{try{let c=u instanceof Function?u(r):u;n(c),typeof window<"u"&&(c===void 0?window.localStorage.removeItem(e):window.localStorage.setItem(e,JSON.stringify(c)),window.dispatchEvent(new CustomEvent(T,{detail:{key:e,value:c}})))}catch(c){console.error(`Error setting localStorage key "${e}":`,c)}};return(0,g.useEffect)(()=>{if(typeof window>"u")return;let u=l=>{if(l.key===e&&l.newValue!==null)try{n(JSON.parse(l.newValue))}catch(i){console.error(`Error parsing localStorage value for key "${e}":`,i)}},c=l=>{let i=l.detail;i&&i.key===e&&n(i.value)};return window.addEventListener("storage",u),window.addEventListener(T,c),()=>{window.removeEventListener("storage",u),window.removeEventListener(T,c)}},[e]),[r,o]}
|
|
5
10
|
/*! Bundled license information:
|
|
6
11
|
|
|
7
12
|
react/cjs/react.production.min.js:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/react/jsx-runtime.js","../../src/hooks/index.ts","../../src/use-intersection-observer.tsx","../../src/use-local-storage.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use client\";\n\n/**\n * `@moontra/moonui/hooks` — genel amaçlı React hook'ları.\n *\n * NEDEN AYRI ALT-YOL (`./hooks`), ana barrel değil:\n * `src/index.tsx` sözleşme gereği yalnızca iki bölüm içerir (`./components/ui`\n * re-export'u + `cn`). Hook'ları oraya eklemek o sözleşmeyi bozardı, bu yüzden\n * hook'lar kendi giriş noktasından yayımlanır:\n *\n * import { useLocalStorage } from \"@moontra/moonui/hooks\"\n *\n * KAPSAM: buraya yalnızca TESTİ OLAN hook'lar alınır. `src/` kökünde henüz\n * dışa açılmamış başka yardımcılar da var (`LazyLoad`, `useLazyImageLoading`,\n * `useIsInViewport`, `useMultipleIntersectionObserver`, `use-scroll-animation`,\n * `use-performance-optimizer` ve `use-toast.ts`'in yetim kopyası). Test\n * kapsamları olmadığı için public API'ye alınmadılar — eklenmeden önce test\n * yazılmalı.\n */\n\nexport { useIntersectionObserver } from \"../use-intersection-observer\";\nexport type { UseIntersectionObserverOptions } from \"../use-intersection-observer\";\n\nexport { useLocalStorage } from \"../use-local-storage\";\n","\"use client\";\n\nimport * as React from \"react\";\n\nexport interface UseIntersectionObserverOptions extends IntersectionObserverInit {\n freezeOnceVisible?: boolean;\n initialIsIntersecting?: boolean;\n onChange?: (isIntersecting: boolean, entry: IntersectionObserverEntry) => void;\n}\n\nexport function useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange,\n}: UseIntersectionObserverOptions = {}) {\n const [ref, setRef] = React.useState<Element | null>(null);\n const [isIntersecting, setIsIntersecting] = React.useState(initialIsIntersecting);\n const frozen = React.useRef(false);\n\n React.useEffect(() => {\n if (!ref || !window.IntersectionObserver || (frozen.current && freezeOnceVisible)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n // freezeOnceVisible: bir kez görünür olduktan sonra state DONMALI.\n // frozen guard'ı yalnızca yukarıdaki effect girişinde vardı; effect'in\n // deps'i değişmediği için yeniden koşmuyor, dolayısıyla guard hiç\n // devreye girmiyordu. Canlı observer bir sonraki entry'de\n // setIsIntersecting(false) çağırıp donmayı bozuyordu.\n if (frozen.current) {\n return;\n }\n\n const isElementIntersecting = entry.isIntersecting;\n setIsIntersecting(isElementIntersecting);\n onChange?.(isElementIntersecting, entry);\n\n if (isElementIntersecting && freezeOnceVisible) {\n frozen.current = true;\n }\n },\n { threshold, root, rootMargin }\n );\n\n observer.observe(ref);\n\n return () => observer.disconnect();\n }, [ref, threshold, root, rootMargin, freezeOnceVisible, onChange]);\n\n return { ref: setRef, isIntersecting };\n}\n\n// Lazy load component wrapper\ninterface LazyLoadProps {\n children: React.ReactNode;\n placeholder?: React.ReactNode;\n threshold?: number;\n rootMargin?: string;\n className?: string;\n}\n\nexport function LazyLoad({\n children,\n placeholder = <div className=\"h-20 bg-muted animate-pulse rounded\" />,\n threshold = 0.1,\n rootMargin = \"50px\",\n className,\n}: LazyLoadProps) {\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold,\n rootMargin,\n freezeOnceVisible: true,\n });\n\n return (\n <div ref={ref} className={className}>\n {isIntersecting ? children : placeholder}\n </div>\n );\n}\n\n// Image lazy loading hook\nexport function useLazyImageLoading(\n imageSrc: string,\n options?: UseIntersectionObserverOptions\n) {\n const [src, setSrc] = React.useState<string | undefined>(undefined);\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold: 0.01,\n rootMargin: \"50px\",\n ...options,\n });\n\n React.useEffect(() => {\n if (isIntersecting && imageSrc) {\n const img = new Image();\n img.src = imageSrc;\n img.onload = () => setSrc(imageSrc);\n }\n }, [isIntersecting, imageSrc]);\n\n return { ref, src, isLoaded: !!src };\n}\n\n// Viewport visibility hook\nexport function useIsInViewport(options?: UseIntersectionObserverOptions) {\n return useIntersectionObserver(options);\n}\n\n// Multiple elements observer\nexport function useMultipleIntersectionObserver(\n options: UseIntersectionObserverOptions = {}\n) {\n const [elements, setElements] = React.useState<Map<Element, boolean>>(new Map());\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n React.useEffect(() => {\n if (!window.IntersectionObserver) return;\n\n observer.current = new IntersectionObserver(\n (entries) => {\n setElements((prev) => {\n const next = new Map(prev);\n entries.forEach((entry) => {\n next.set(entry.target, entry.isIntersecting);\n });\n return next;\n });\n },\n {\n threshold: options.threshold || 0,\n root: options.root || null,\n rootMargin: options.rootMargin || \"0%\",\n }\n );\n\n return () => observer.current?.disconnect();\n }, [options.threshold, options.root, options.rootMargin]);\n\n const observe = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.observe(element);\n }\n }, []);\n\n const unobserve = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.unobserve(element);\n setElements((prev) => {\n const next = new Map(prev);\n next.delete(element);\n return next;\n });\n }\n }, []);\n\n return { observe, unobserve, elements };\n}","import { useState, useEffect } from 'react'\n\n/**\n * Aynı sekmedeki diğer hook instance'larını haberdar eden özel olay.\n *\n * Native `storage` olayı YALNIZCA diğer sekme/pencerelerde tetiklenir — değeri\n * yazan dokümanda hiç tetiklenmez. Bu yüzden aynı sayfada `useLocalStorage(\"k\")`\n * kullanan iki component birbirinden habersiz kalıyor, biri güncellenince\n * diğeri bayat değeri göstermeye devam ediyordu.\n */\nconst LOCAL_SYNC_EVENT = 'moonui:local-storage'\n\ninterface LocalSyncDetail {\n key: string\n value: unknown\n}\n\n// Local storage hook with error handling and SSR support\nexport function useLocalStorage<T>(\n key: string,\n initialValue: T\n): [T, (value: T | ((val: T) => T)) => void] {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(() => {\n if (typeof window === 'undefined') {\n return initialValue\n }\n \n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key)\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n // If error also return initialValue\n console.error(`Error reading localStorage key \"${key}\":`, error)\n return initialValue\n }\n })\n\n // Return a wrapped version of useState's setter function that persists the new value to localStorage\n const setValue = (value: T | ((val: T) => T)) => {\n try {\n // Allow value to be a function so we have the same API as useState\n const valueToStore = value instanceof Function ? value(storedValue) : value\n \n // Save state\n setStoredValue(valueToStore)\n \n // Save to local storage\n if (typeof window !== 'undefined') {\n if (valueToStore === undefined) {\n window.localStorage.removeItem(key)\n } else {\n window.localStorage.setItem(key, JSON.stringify(valueToStore))\n }\n\n // Aynı dokümandaki diğer instance'ları bilgilendir (bkz. LOCAL_SYNC_EVENT)\n window.dispatchEvent(\n new CustomEvent<LocalSyncDetail>(LOCAL_SYNC_EVENT, {\n detail: { key, value: valueToStore },\n })\n )\n }\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.error(`Error setting localStorage key \"${key}\":`, error)\n }\n }\n\n // Listen for changes to localStorage from other tabs/windows\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const handleStorageChange = (e: StorageEvent) => {\n if (e.key === key && e.newValue !== null) {\n try {\n setStoredValue(JSON.parse(e.newValue))\n } catch (error) {\n console.error(`Error parsing localStorage value for key \"${key}\":`, error)\n }\n }\n }\n\n // Aynı sekmedeki kardeş instance'lar\n const handleLocalSync = (e: Event) => {\n const detail = (e as CustomEvent<LocalSyncDetail>).detail\n if (detail && detail.key === key) {\n setStoredValue(detail.value as T)\n }\n }\n\n window.addEventListener('storage', handleStorageChange)\n window.addEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n return () => {\n window.removeEventListener('storage', handleStorageChange)\n window.removeEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n }\n }, [key])\n\n return [storedValue, setValue]\n}"],"mappings":"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","names":["require_react_production_min","__commonJSMin","exports","l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","require_react","__commonJSMin","exports","module","require_react_jsx_runtime_production_min","__commonJSMin","exports","f","k","l","m","n","p","q","c","a","g","b","d","e","h","require_jsx_runtime","__commonJSMin","exports","module","hooks_exports","__export","useIntersectionObserver","useLocalStorage","__toCommonJS","React","import_jsx_runtime","useIntersectionObserver","threshold","root","rootMargin","freezeOnceVisible","initialIsIntersecting","onChange","ref","setRef","isIntersecting","setIsIntersecting","frozen","observer","entry","isElementIntersecting","import_react","LOCAL_SYNC_EVENT","useLocalStorage","key","initialValue","storedValue","setStoredValue","item","error","setValue","value","valueToStore","handleStorageChange","e","handleLocalSync","detail"]}
|
|
1
|
+
{"version":3,"sources":["../../src/use-intersection-observer.tsx","../../src/use-local-storage.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nexport interface UseIntersectionObserverOptions extends IntersectionObserverInit {\n freezeOnceVisible?: boolean;\n initialIsIntersecting?: boolean;\n onChange?: (isIntersecting: boolean, entry: IntersectionObserverEntry) => void;\n}\n\nexport function useIntersectionObserver({\n threshold = 0,\n root = null,\n rootMargin = \"0%\",\n freezeOnceVisible = false,\n initialIsIntersecting = false,\n onChange,\n}: UseIntersectionObserverOptions = {}) {\n const [ref, setRef] = React.useState<Element | null>(null);\n const [isIntersecting, setIsIntersecting] = React.useState(initialIsIntersecting);\n const frozen = React.useRef(false);\n\n React.useEffect(() => {\n if (!ref || !window.IntersectionObserver || (frozen.current && freezeOnceVisible)) {\n return;\n }\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n // freezeOnceVisible: bir kez görünür olduktan sonra state DONMALI.\n // frozen guard'ı yalnızca yukarıdaki effect girişinde vardı; effect'in\n // deps'i değişmediği için yeniden koşmuyor, dolayısıyla guard hiç\n // devreye girmiyordu. Canlı observer bir sonraki entry'de\n // setIsIntersecting(false) çağırıp donmayı bozuyordu.\n if (frozen.current) {\n return;\n }\n\n const isElementIntersecting = entry.isIntersecting;\n setIsIntersecting(isElementIntersecting);\n onChange?.(isElementIntersecting, entry);\n\n if (isElementIntersecting && freezeOnceVisible) {\n frozen.current = true;\n }\n },\n { threshold, root, rootMargin }\n );\n\n observer.observe(ref);\n\n return () => observer.disconnect();\n }, [ref, threshold, root, rootMargin, freezeOnceVisible, onChange]);\n\n return { ref: setRef, isIntersecting };\n}\n\n// Lazy load component wrapper\ninterface LazyLoadProps {\n children: React.ReactNode;\n placeholder?: React.ReactNode;\n threshold?: number;\n rootMargin?: string;\n className?: string;\n}\n\nexport function LazyLoad({\n children,\n placeholder = <div className=\"h-20 bg-muted animate-pulse rounded\" />,\n threshold = 0.1,\n rootMargin = \"50px\",\n className,\n}: LazyLoadProps) {\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold,\n rootMargin,\n freezeOnceVisible: true,\n });\n\n return (\n <div ref={ref} className={className}>\n {isIntersecting ? children : placeholder}\n </div>\n );\n}\n\n// Image lazy loading hook\nexport function useLazyImageLoading(\n imageSrc: string,\n options?: UseIntersectionObserverOptions\n) {\n const [src, setSrc] = React.useState<string | undefined>(undefined);\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold: 0.01,\n rootMargin: \"50px\",\n ...options,\n });\n\n React.useEffect(() => {\n if (isIntersecting && imageSrc) {\n const img = new Image();\n img.src = imageSrc;\n img.onload = () => setSrc(imageSrc);\n }\n }, [isIntersecting, imageSrc]);\n\n return { ref, src, isLoaded: !!src };\n}\n\n// Viewport visibility hook\nexport function useIsInViewport(options?: UseIntersectionObserverOptions) {\n return useIntersectionObserver(options);\n}\n\n// Multiple elements observer\nexport function useMultipleIntersectionObserver(\n options: UseIntersectionObserverOptions = {}\n) {\n const [elements, setElements] = React.useState<Map<Element, boolean>>(new Map());\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n React.useEffect(() => {\n if (!window.IntersectionObserver) return;\n\n observer.current = new IntersectionObserver(\n (entries) => {\n setElements((prev) => {\n const next = new Map(prev);\n entries.forEach((entry) => {\n next.set(entry.target, entry.isIntersecting);\n });\n return next;\n });\n },\n {\n threshold: options.threshold || 0,\n root: options.root || null,\n rootMargin: options.rootMargin || \"0%\",\n }\n );\n\n return () => observer.current?.disconnect();\n }, [options.threshold, options.root, options.rootMargin]);\n\n const observe = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.observe(element);\n }\n }, []);\n\n const unobserve = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.unobserve(element);\n setElements((prev) => {\n const next = new Map(prev);\n next.delete(element);\n return next;\n });\n }\n }, []);\n\n return { observe, unobserve, elements };\n}","import { useState, useEffect } from 'react'\n\n/**\n * Aynı sekmedeki diğer hook instance'larını haberdar eden özel olay.\n *\n * Native `storage` olayı YALNIZCA diğer sekme/pencerelerde tetiklenir — değeri\n * yazan dokümanda hiç tetiklenmez. Bu yüzden aynı sayfada `useLocalStorage(\"k\")`\n * kullanan iki component birbirinden habersiz kalıyor, biri güncellenince\n * diğeri bayat değeri göstermeye devam ediyordu.\n */\nconst LOCAL_SYNC_EVENT = 'moonui:local-storage'\n\ninterface LocalSyncDetail {\n key: string\n value: unknown\n}\n\n// Local storage hook with error handling and SSR support\nexport function useLocalStorage<T>(\n key: string,\n initialValue: T\n): [T, (value: T | ((val: T) => T)) => void] {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(() => {\n if (typeof window === 'undefined') {\n return initialValue\n }\n \n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key)\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n // If error also return initialValue\n console.error(`Error reading localStorage key \"${key}\":`, error)\n return initialValue\n }\n })\n\n // Return a wrapped version of useState's setter function that persists the new value to localStorage\n const setValue = (value: T | ((val: T) => T)) => {\n try {\n // Allow value to be a function so we have the same API as useState\n const valueToStore = value instanceof Function ? value(storedValue) : value\n \n // Save state\n setStoredValue(valueToStore)\n \n // Save to local storage\n if (typeof window !== 'undefined') {\n if (valueToStore === undefined) {\n window.localStorage.removeItem(key)\n } else {\n window.localStorage.setItem(key, JSON.stringify(valueToStore))\n }\n\n // Aynı dokümandaki diğer instance'ları bilgilendir (bkz. LOCAL_SYNC_EVENT)\n window.dispatchEvent(\n new CustomEvent<LocalSyncDetail>(LOCAL_SYNC_EVENT, {\n detail: { key, value: valueToStore },\n })\n )\n }\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.error(`Error setting localStorage key \"${key}\":`, error)\n }\n }\n\n // Listen for changes to localStorage from other tabs/windows\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const handleStorageChange = (e: StorageEvent) => {\n if (e.key === key && e.newValue !== null) {\n try {\n setStoredValue(JSON.parse(e.newValue))\n } catch (error) {\n console.error(`Error parsing localStorage value for key \"${key}\":`, error)\n }\n }\n }\n\n // Aynı sekmedeki kardeş instance'lar\n const handleLocalSync = (e: Event) => {\n const detail = (e as CustomEvent<LocalSyncDetail>).detail\n if (detail && detail.key === key) {\n setStoredValue(detail.value as T)\n }\n }\n\n window.addEventListener('storage', handleStorageChange)\n window.addEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n return () => {\n window.removeEventListener('storage', handleStorageChange)\n window.removeEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n }\n }, [key])\n\n return [storedValue, setValue]\n}"],"mappings":";2EAEA,IAAAA,EAAuB,OAkEPC,EAAA,OA1DT,SAASC,EAAwB,CACtC,UAAAC,EAAY,EACZ,KAAAC,EAAO,KACP,WAAAC,EAAa,KACb,kBAAAC,EAAoB,GACpB,sBAAAC,EAAwB,GACxB,SAAAC,CACF,EAAoC,CAAC,EAAG,CACtC,GAAM,CAACC,EAAKC,CAAM,EAAU,WAAyB,IAAI,EACnD,CAACC,EAAgBC,CAAiB,EAAU,WAASL,CAAqB,EAC1EM,EAAe,SAAO,EAAK,EAEjC,OAAM,YAAU,IAAM,CACpB,GAAI,CAACJ,GAAO,CAAC,OAAO,sBAAyBI,EAAO,SAAWP,EAC7D,OAGF,IAAMQ,EAAW,IAAI,qBACnB,CAAC,CAACC,CAAK,IAAM,CAMX,GAAIF,EAAO,QACT,OAGF,IAAMG,EAAwBD,EAAM,eACpCH,EAAkBI,CAAqB,EACvCR,IAAWQ,EAAuBD,CAAK,EAEnCC,GAAyBV,IAC3BO,EAAO,QAAU,GAErB,EACA,CAAE,UAAAV,EAAW,KAAAC,EAAM,WAAAC,CAAW,CAChC,EAEA,OAAAS,EAAS,QAAQL,CAAG,EAEb,IAAMK,EAAS,WAAW,CACnC,EAAG,CAACL,EAAKN,EAAWC,EAAMC,EAAYC,EAAmBE,CAAQ,CAAC,EAE3D,CAAE,IAAKE,EAAQ,eAAAC,CAAe,CACvC,CCvDA,IAAAM,EAAoC,OAU9BC,EAAmB,uBAQlB,SAASC,EACdC,EACAC,EAC2C,CAG3C,GAAM,CAACC,EAAaC,CAAc,KAAI,YAAY,IAAM,CACtD,GAAI,OAAO,OAAW,IACpB,OAAOF,EAGT,GAAI,CAEF,IAAMG,EAAO,OAAO,aAAa,QAAQJ,CAAG,EAE5C,OAAOI,EAAO,KAAK,MAAMA,CAAI,EAAIH,CACnC,OAASI,EAAO,CAEd,eAAQ,MAAM,mCAAmCL,CAAG,KAAMK,CAAK,EACxDJ,CACT,CACF,CAAC,EAGKK,EAAYC,GAA+B,CAC/C,GAAI,CAEF,IAAMC,EAAeD,aAAiB,SAAWA,EAAML,CAAW,EAAIK,EAGtEJ,EAAeK,CAAY,EAGvB,OAAO,OAAW,MAChBA,IAAiB,OACnB,OAAO,aAAa,WAAWR,CAAG,EAElC,OAAO,aAAa,QAAQA,EAAK,KAAK,UAAUQ,CAAY,CAAC,EAI/D,OAAO,cACL,IAAI,YAA6BV,EAAkB,CACjD,OAAQ,CAAE,IAAAE,EAAK,MAAOQ,CAAa,CACrC,CAAC,CACH,EAEJ,OAASH,EAAO,CAEd,QAAQ,MAAM,mCAAmCL,CAAG,KAAMK,CAAK,CACjE,CACF,EAGA,sBAAU,IAAM,CACd,GAAI,OAAO,OAAW,IACpB,OAGF,IAAMI,EAAuBC,GAAoB,CAC/C,GAAIA,EAAE,MAAQV,GAAOU,EAAE,WAAa,KAClC,GAAI,CACFP,EAAe,KAAK,MAAMO,EAAE,QAAQ,CAAC,CACvC,OAASL,EAAO,CACd,QAAQ,MAAM,6CAA6CL,CAAG,KAAMK,CAAK,CAC3E,CAEJ,EAGMM,EAAmBD,GAAa,CACpC,IAAME,EAAUF,EAAmC,OAC/CE,GAAUA,EAAO,MAAQZ,GAC3BG,EAAeS,EAAO,KAAU,CAEpC,EAEA,cAAO,iBAAiB,UAAWH,CAAmB,EACtD,OAAO,iBAAiBX,EAAkBa,CAAe,EAClD,IAAM,CACX,OAAO,oBAAoB,UAAWF,CAAmB,EACzD,OAAO,oBAAoBX,EAAkBa,CAAe,CAC9D,CACF,EAAG,CAACX,CAAG,CAAC,EAED,CAACE,EAAaI,CAAQ,CAC/B","names":["React","import_jsx_runtime","useIntersectionObserver","threshold","root","rootMargin","freezeOnceVisible","initialIsIntersecting","onChange","ref","setRef","isIntersecting","setIsIntersecting","frozen","observer","entry","isElementIntersecting","import_react","LOCAL_SYNC_EVENT","useLocalStorage","key","initialValue","storedValue","setStoredValue","item","error","setValue","value","valueToStore","handleStorageChange","e","handleLocalSync","detail"]} sonra state DONMALI.\n // frozen guard'ı yalnızca yukarıdaki effect girişinde vardı; effect'in\n // deps'i değişmediği için yeniden koşmuyor, dolayısıyla guard hiç\n // devreye girmiyordu. Canlı observer bir sonraki entry'de\n // setIsIntersecting(false) çağırıp donmayı bozuyordu.\n if (frozen.current) {\n return;\n }\n\n const isElementIntersecting = entry.isIntersecting;\n setIsIntersecting(isElementIntersecting);\n onChange?.(isElementIntersecting, entry);\n\n if (isElementIntersecting && freezeOnceVisible) {\n frozen.current = true;\n }\n },\n { threshold, root, rootMargin }\n );\n\n observer.observe(ref);\n\n return () => observer.disconnect();\n }, [ref, threshold, root, rootMargin, freezeOnceVisible, onChange]);\n\n return { ref: setRef, isIntersecting };\n}\n\n// Lazy load component wrapper\ninterface LazyLoadProps {\n children: React.ReactNode;\n placeholder?: React.ReactNode;\n threshold?: number;\n rootMargin?: string;\n className?: string;\n}\n\nexport function LazyLoad({\n children,\n placeholder = <div className=\"h-20 bg-muted animate-pulse rounded\" />,\n threshold = 0.1,\n rootMargin = \"50px\",\n className,\n}: LazyLoadProps) {\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold,\n rootMargin,\n freezeOnceVisible: true,\n });\n\n return (\n <div ref={ref} className={className}>\n {isIntersecting ? children : placeholder}\n </div>\n );\n}\n\n// Image lazy loading hook\nexport function useLazyImageLoading(\n imageSrc: string,\n options?: UseIntersectionObserverOptions\n) {\n const [src, setSrc] = React.useState<string | undefined>(undefined);\n const { ref, isIntersecting } = useIntersectionObserver({\n threshold: 0.01,\n rootMargin: \"50px\",\n ...options,\n });\n\n React.useEffect(() => {\n if (isIntersecting && imageSrc) {\n const img = new Image();\n img.src = imageSrc;\n img.onload = () => setSrc(imageSrc);\n }\n }, [isIntersecting, imageSrc]);\n\n return { ref, src, isLoaded: !!src };\n}\n\n// Viewport visibility hook\nexport function useIsInViewport(options?: UseIntersectionObserverOptions) {\n return useIntersectionObserver(options);\n}\n\n// Multiple elements observer\nexport function useMultipleIntersectionObserver(\n options: UseIntersectionObserverOptions = {}\n) {\n const [elements, setElements] = React.useState<Map<Element, boolean>>(new Map());\n const observer = React.useRef<IntersectionObserver | null>(null);\n\n React.useEffect(() => {\n if (!window.IntersectionObserver) return;\n\n observer.current = new IntersectionObserver(\n (entries) => {\n setElements((prev) => {\n const next = new Map(prev);\n entries.forEach((entry) => {\n next.set(entry.target, entry.isIntersecting);\n });\n return next;\n });\n },\n {\n threshold: options.threshold || 0,\n root: options.root || null,\n rootMargin: options.rootMargin || \"0%\",\n }\n );\n\n return () => observer.current?.disconnect();\n }, [options.threshold, options.root, options.rootMargin]);\n\n const observe = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.observe(element);\n }\n }, []);\n\n const unobserve = React.useCallback((element: Element | null) => {\n if (element && observer.current) {\n observer.current.unobserve(element);\n setElements((prev) => {\n const next = new Map(prev);\n next.delete(element);\n return next;\n });\n }\n }, []);\n\n return { observe, unobserve, elements };\n}","import { useState, useEffect } from 'react'\n\n/**\n * Aynı sekmedeki diğer hook instance'larını haberdar eden özel olay.\n *\n * Native `storage` olayı YALNIZCA diğer sekme/pencerelerde tetiklenir — değeri\n * yazan dokümanda hiç tetiklenmez. Bu yüzden aynı sayfada `useLocalStorage(\"k\")`\n * kullanan iki component birbirinden habersiz kalıyor, biri güncellenince\n * diğeri bayat değeri göstermeye devam ediyordu.\n */\nconst LOCAL_SYNC_EVENT = 'moonui:local-storage'\n\ninterface LocalSyncDetail {\n key: string\n value: unknown\n}\n\n// Local storage hook with error handling and SSR support\nexport function useLocalStorage<T>(\n key: string,\n initialValue: T\n): [T, (value: T | ((val: T) => T)) => void] {\n // State to store our value\n // Pass initial state function to useState so logic is only executed once\n const [storedValue, setStoredValue] = useState<T>(() => {\n if (typeof window === 'undefined') {\n return initialValue\n }\n \n try {\n // Get from local storage by key\n const item = window.localStorage.getItem(key)\n // Parse stored json or if none return initialValue\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n // If error also return initialValue\n console.error(`Error reading localStorage key \"${key}\":`, error)\n return initialValue\n }\n })\n\n // Return a wrapped version of useState's setter function that persists the new value to localStorage\n const setValue = (value: T | ((val: T) => T)) => {\n try {\n // Allow value to be a function so we have the same API as useState\n const valueToStore = value instanceof Function ? value(storedValue) : value\n \n // Save state\n setStoredValue(valueToStore)\n \n // Save to local storage\n if (typeof window !== 'undefined') {\n if (valueToStore === undefined) {\n window.localStorage.removeItem(key)\n } else {\n window.localStorage.setItem(key, JSON.stringify(valueToStore))\n }\n\n // Aynı dokümandaki diğer instance'ları bilgilendir (bkz. LOCAL_SYNC_EVENT)\n window.dispatchEvent(\n new CustomEvent<LocalSyncDetail>(LOCAL_SYNC_EVENT, {\n detail: { key, value: valueToStore },\n })\n )\n }\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.error(`Error setting localStorage key \"${key}\":`, error)\n }\n }\n\n // Listen for changes to localStorage from other tabs/windows\n useEffect(() => {\n if (typeof window === 'undefined') {\n return\n }\n\n const handleStorageChange = (e: StorageEvent) => {\n if (e.key === key && e.newValue !== null) {\n try {\n setStoredValue(JSON.parse(e.newValue))\n } catch (error) {\n console.error(`Error parsing localStorage value for key \"${key}\":`, error)\n }\n }\n }\n\n // Aynı sekmedeki kardeş instance'lar\n const handleLocalSync = (e: Event) => {\n const detail = (e as CustomEvent<LocalSyncDetail>).detail\n if (detail && detail.key === key) {\n setStoredValue(detail.value as T)\n }\n }\n\n window.addEventListener('storage', handleStorageChange)\n window.addEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n return () => {\n window.removeEventListener('storage', handleStorageChange)\n window.removeEventListener(LOCAL_SYNC_EVENT, handleLocalSync)\n }\n }, [key])\n\n return [storedValue, setValue]\n}"],"mappings":"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","names":["require_react_production_min","__commonJSMin","exports","l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","require_react","__commonJSMin","exports","module","require_react_jsx_runtime_production_min","__commonJSMin","exports","f","k","l","m","n","p","q","c","a","g","b","d","e","h","require_jsx_runtime","__commonJSMin","exports","module","hooks_exports","__export","useIntersectionObserver","useLocalStorage","__toCommonJS","React","import_jsx_runtime","useIntersectionObserver","threshold","root","rootMargin","freezeOnceVisible","initialIsIntersecting","onChange","ref","setRef","isIntersecting","setIsIntersecting","frozen","observer","entry","isElementIntersecting","import_react","LOCAL_SYNC_EVENT","useLocalStorage","key","initialValue","storedValue","setStoredValue","item","error","setValue","value","valueToStore","handleStorageChange","e","handleLocalSync","detail"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -44,7 +44,7 @@ declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPr
|
|
|
44
44
|
*/
|
|
45
45
|
declare const alertVariants: (props?: {
|
|
46
46
|
variant?: "default" | "primary" | "success" | "warning" | "error" | "info";
|
|
47
|
-
size?: "default" | "sm" | "lg";
|
|
47
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
48
48
|
radius?: "none" | "default" | "sm" | "lg" | "full";
|
|
49
49
|
withClose?: boolean;
|
|
50
50
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -69,7 +69,7 @@ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttrib
|
|
|
69
69
|
*/
|
|
70
70
|
declare const aspectRatioVariants: (props?: {
|
|
71
71
|
variant?: "default" | "ghost" | "outline" | "card";
|
|
72
|
-
radius?: "none" | "sm" | "
|
|
72
|
+
radius?: "none" | "sm" | "md" | "lg" | "full";
|
|
73
73
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
74
74
|
interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof aspectRatioVariants> {
|
|
75
75
|
/**
|
|
@@ -81,7 +81,7 @@ interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement>, Variant
|
|
|
81
81
|
declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
|
82
82
|
|
|
83
83
|
declare const avatarVariants: (props?: {
|
|
84
|
-
size?: "default" | "sm" | "
|
|
84
|
+
size?: "default" | "sm" | "md" | "lg" | "xs" | "xl" | "2xl";
|
|
85
85
|
radius?: "none" | "default" | "sm" | "lg" | "full";
|
|
86
86
|
variant?: "default" | "border" | "ring" | "ringOffset";
|
|
87
87
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -108,7 +108,7 @@ declare const AvatarGroup: React.ForwardRefExoticComponent<AvatarGroupProps & Re
|
|
|
108
108
|
*/
|
|
109
109
|
declare const badgeVariants: (props?: {
|
|
110
110
|
variant?: "primary" | "success" | "warning" | "ghost" | "outline" | "secondary" | "destructive" | "pro" | "admin";
|
|
111
|
-
size?: "sm" | "
|
|
111
|
+
size?: "sm" | "md" | "lg";
|
|
112
112
|
radius?: "none" | "default" | "sm" | "lg";
|
|
113
113
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
114
114
|
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof badgeVariants>, 'variant'> {
|
|
@@ -147,7 +147,7 @@ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttri
|
|
|
147
147
|
|
|
148
148
|
declare const breadcrumbVariants: (props?: {
|
|
149
149
|
variant?: "default" | "ghost" | "muted";
|
|
150
|
-
size?: "default" | "sm" | "lg";
|
|
150
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
151
151
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
152
152
|
interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof breadcrumbVariants> {
|
|
153
153
|
/**
|
|
@@ -203,7 +203,7 @@ declare const BreadcrumbPage: React.ForwardRefExoticComponent<React.HTMLAttribut
|
|
|
203
203
|
*/
|
|
204
204
|
declare const buttonVariants: (props?: {
|
|
205
205
|
variant?: "link" | "primary" | "success" | "ghost" | "outline" | "secondary" | "destructive" | "gradient" | "glow" | "soft" | "glass" | "neon";
|
|
206
|
-
size?: "sm" | "
|
|
206
|
+
size?: "sm" | "md" | "lg" | "icon" | "xs" | "xl" | "icon-sm" | "icon-lg";
|
|
207
207
|
rounded?: "none" | "default" | "sm" | "lg" | "full";
|
|
208
208
|
fullWidth?: boolean;
|
|
209
209
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -230,7 +230,7 @@ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAtt
|
|
|
230
230
|
|
|
231
231
|
declare const cardVariants: (props?: {
|
|
232
232
|
variant?: "default" | "outline" | "filled" | "gradient" | "glass" | "elevated";
|
|
233
|
-
size?: "default" | "sm" | "lg" | "xl";
|
|
233
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
234
234
|
radius?: "none" | "default" | "sm" | "lg" | "full";
|
|
235
235
|
interactive?: boolean;
|
|
236
236
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -350,8 +350,8 @@ declare const CarouselNext: React.ForwardRefExoticComponent<Omit<ButtonProps & R
|
|
|
350
350
|
*/
|
|
351
351
|
declare const checkboxVariants: (props?: {
|
|
352
352
|
variant?: "default" | "ghost" | "outline" | "muted";
|
|
353
|
-
size?: "default" | "sm" | "lg" | "
|
|
354
|
-
radius?: "none" | "default" | "sm" | "
|
|
353
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
354
|
+
radius?: "none" | "default" | "sm" | "md" | "full";
|
|
355
355
|
animation?: "none" | "default" | "subtle" | "bounce";
|
|
356
356
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
357
357
|
interface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, VariantProps<typeof checkboxVariants> {
|
|
@@ -424,14 +424,14 @@ declare const CheckboxWithLabel: React.ForwardRefExoticComponent<CheckboxWithLab
|
|
|
424
424
|
declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
|
425
425
|
declare const collapsibleTriggerVariants: (props?: {
|
|
426
426
|
variant?: "default" | "ghost" | "outline";
|
|
427
|
-
size?: "default" | "sm" | "lg" | "
|
|
427
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
428
428
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
429
429
|
interface CollapsibleTriggerProps extends React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>, VariantProps<typeof collapsibleTriggerVariants> {
|
|
430
430
|
}
|
|
431
431
|
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
432
432
|
declare const collapsibleContentVariants: (props?: {
|
|
433
433
|
variant?: "default" | "ghost" | "outline";
|
|
434
|
-
size?: "default" | "sm" | "lg" | "
|
|
434
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
435
435
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
436
436
|
interface CollapsibleContentProps extends React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>, VariantProps<typeof collapsibleContentVariants> {
|
|
437
437
|
}
|
|
@@ -443,7 +443,7 @@ declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsibleCon
|
|
|
443
443
|
* A comprehensive color picker with multiple input methods
|
|
444
444
|
*/
|
|
445
445
|
declare const colorPickerVariants: (props?: {
|
|
446
|
-
size?: "default" | "sm" | "lg" | "xl";
|
|
446
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
447
447
|
shape?: "circle" | "square" | "rounded";
|
|
448
448
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
449
449
|
interface ColorPickerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "value">, VariantProps<typeof colorPickerVariants> {
|
|
@@ -495,7 +495,8 @@ interface SimpleColorPickerProps {
|
|
|
495
495
|
onChange?: (color: string) => void;
|
|
496
496
|
colors?: string[];
|
|
497
497
|
className?: string;
|
|
498
|
-
|
|
498
|
+
/** #319: kanonik skala; `default` `md`nin deprecated alias'ıdır. */
|
|
499
|
+
size?: "sm" | "md" | "lg" | "default";
|
|
499
500
|
}
|
|
500
501
|
declare function SimpleColorPicker({ value, onChange, colors, className, size, }: SimpleColorPickerProps): react_jsx_runtime.JSX.Element;
|
|
501
502
|
/**
|
|
@@ -534,7 +535,7 @@ declare const overlayVariants: (props?: {
|
|
|
534
535
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
535
536
|
declare const dialogContentVariants: (props?: {
|
|
536
537
|
variant?: "default" | "primary" | "ghost" | "secondary" | "destructive";
|
|
537
|
-
size?: "default" | "sm" | "
|
|
538
|
+
size?: "default" | "sm" | "md" | "lg" | "full" | "xs" | "xl" | "2xl";
|
|
538
539
|
radius?: "none" | "default" | "sm" | "lg" | "full" | "xl";
|
|
539
540
|
animation?: "none" | "default" | "zoom" | "slide" | "fade";
|
|
540
541
|
position?: "default" | "bottom" | "top";
|
|
@@ -584,7 +585,7 @@ declare const DialogForm: React.ForwardRefExoticComponent<React.HTMLAttributes<H
|
|
|
584
585
|
*/
|
|
585
586
|
declare const commandVariants: (props?: {
|
|
586
587
|
variant?: "default" | "glass" | "bordered";
|
|
587
|
-
size?: "default" | "sm" | "lg";
|
|
588
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
588
589
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
589
590
|
interface CommandProps extends React.ComponentProps<typeof Command$1>, VariantProps<typeof commandVariants> {
|
|
590
591
|
}
|
|
@@ -674,7 +675,7 @@ declare function createSortableHeader(label: string): ({ column }: any) => react
|
|
|
674
675
|
*/
|
|
675
676
|
declare const datePickerVariants: (props?: {
|
|
676
677
|
variant?: "default" | "ghost" | "outline";
|
|
677
|
-
size?: "default" | "sm" | "lg" | "icon";
|
|
678
|
+
size?: "default" | "sm" | "md" | "lg" | "icon";
|
|
678
679
|
state?: "default" | "success" | "warning" | "error";
|
|
679
680
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
680
681
|
interface DatePickerProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "value">, VariantProps<typeof datePickerVariants> {
|
|
@@ -902,7 +903,7 @@ declare function GitHubStarButton({ className, size, repoUrl }: {
|
|
|
902
903
|
|
|
903
904
|
declare const inputVariants: (props?: {
|
|
904
905
|
variant?: "ghost" | "underline" | "filled" | "standard";
|
|
905
|
-
size?: "sm" | "
|
|
906
|
+
size?: "sm" | "md" | "lg";
|
|
906
907
|
hasLeftIcon?: boolean;
|
|
907
908
|
hasRightIcon?: boolean;
|
|
908
909
|
hasRightButton?: boolean;
|
|
@@ -1037,11 +1038,11 @@ declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & Reac
|
|
|
1037
1038
|
*/
|
|
1038
1039
|
declare const popoverContentVariants: (props?: {
|
|
1039
1040
|
variant?: "default" | "outline" | "destructive" | "subtle";
|
|
1040
|
-
size?: "default" | "sm" | "lg";
|
|
1041
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
1041
1042
|
side?: "left" | "right" | "bottom" | "top";
|
|
1042
1043
|
position?: "default" | "pointerEventsNone";
|
|
1043
1044
|
radius?: "none" | "default" | "sm" | "lg" | "full";
|
|
1044
|
-
shadow?: "none" | "default" | "sm" | "
|
|
1045
|
+
shadow?: "none" | "default" | "sm" | "md" | "lg" | "xl";
|
|
1045
1046
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1046
1047
|
declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
|
|
1047
1048
|
declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1095,7 +1096,7 @@ declare const PopoverFooter: {
|
|
|
1095
1096
|
*/
|
|
1096
1097
|
declare const progressVariants: (props?: {
|
|
1097
1098
|
variant?: "default" | "primary" | "success" | "warning" | "error" | "secondary";
|
|
1098
|
-
size?: "default" | "sm" | "
|
|
1099
|
+
size?: "default" | "sm" | "md" | "lg" | "xs" | "xl" | "2xl";
|
|
1099
1100
|
radius?: "none" | "default" | "sm" | "lg" | "full";
|
|
1100
1101
|
animation?: "none" | "default" | "smooth" | "fast";
|
|
1101
1102
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -1143,7 +1144,7 @@ declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.Re
|
|
|
1143
1144
|
*/
|
|
1144
1145
|
declare const radioGroupItemVariants: (props?: {
|
|
1145
1146
|
variant?: "default" | "outline" | "filled";
|
|
1146
|
-
size?: "default" | "sm" | "lg" | "
|
|
1147
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
1147
1148
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1148
1149
|
interface RadioGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue"> {
|
|
1149
1150
|
/**
|
|
@@ -1413,7 +1414,7 @@ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimit
|
|
|
1413
1414
|
declare const separatorVariants: (props?: {
|
|
1414
1415
|
orientation?: "horizontal" | "vertical";
|
|
1415
1416
|
variant?: "default" | "dashed" | "dotted" | "gradient";
|
|
1416
|
-
size?: "sm" | "
|
|
1417
|
+
size?: "sm" | "md" | "lg";
|
|
1417
1418
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1418
1419
|
interface SeparatorProps extends Omit<React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>, keyof VariantProps<typeof separatorVariants>>, VariantProps<typeof separatorVariants> {
|
|
1419
1420
|
}
|
|
@@ -1440,7 +1441,7 @@ declare const SimpleEditor: React__default.ForwardRefExoticComponent<SimpleEdito
|
|
|
1440
1441
|
*/
|
|
1441
1442
|
declare const skeletonVariants: (props?: {
|
|
1442
1443
|
variant?: "default" | "primary" | "secondary" | "accent";
|
|
1443
|
-
size?: "default" | "sm" | "lg";
|
|
1444
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
1444
1445
|
shape?: "circle" | "rect" | "pill";
|
|
1445
1446
|
animation?: "none" | "pulse" | "wave";
|
|
1446
1447
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -1535,7 +1536,7 @@ declare const SkeletonCard: React.ForwardRefExoticComponent<SkeletonCardProps &
|
|
|
1535
1536
|
* Used for value ranges like volume, brightness, price ranges.
|
|
1536
1537
|
*/
|
|
1537
1538
|
declare const sliderVariants: (props?: {
|
|
1538
|
-
size?: "default" | "sm" | "lg" | "
|
|
1539
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
1539
1540
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1540
1541
|
declare const sliderTrackVariants: (props?: {
|
|
1541
1542
|
variant?: "default" | "primary" | "success" | "warning" | "error" | "secondary" | "accent";
|
|
@@ -1545,7 +1546,7 @@ declare const sliderRangeVariants: (props?: {
|
|
|
1545
1546
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1546
1547
|
declare const sliderThumbVariants: (props?: {
|
|
1547
1548
|
variant?: "default" | "primary" | "success" | "warning" | "error" | "secondary" | "accent";
|
|
1548
|
-
size?: "default" | "sm" | "lg" | "
|
|
1549
|
+
size?: "default" | "sm" | "md" | "lg" | "xl";
|
|
1549
1550
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1550
1551
|
type SliderBaseProps = {
|
|
1551
1552
|
/**
|
|
@@ -1629,7 +1630,7 @@ type SwitchVariant = "primary" | "success" | "warning" | "destructive" | "second
|
|
|
1629
1630
|
* `defaultVariants` yoktu ve varsayılanlar destructuring'de gizliydi.
|
|
1630
1631
|
*/
|
|
1631
1632
|
declare const switchVariants: (props?: {
|
|
1632
|
-
size?: "sm" | "
|
|
1633
|
+
size?: "sm" | "md" | "lg";
|
|
1633
1634
|
variant?: "primary" | "success" | "warning" | "secondary" | "destructive";
|
|
1634
1635
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1635
1636
|
interface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {
|
|
@@ -1651,7 +1652,7 @@ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAtt
|
|
|
1651
1652
|
type SortDirection = "asc" | "desc" | null;
|
|
1652
1653
|
declare const tableVariants: (props?: {
|
|
1653
1654
|
variant?: "default" | "card" | "minimal" | "bordered" | "striped";
|
|
1654
|
-
size?: "default" | "sm" | "lg";
|
|
1655
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
1655
1656
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1656
1657
|
interface ColumnDefinition<T> {
|
|
1657
1658
|
id: string;
|
|
@@ -1744,7 +1745,7 @@ interface TabsListProps extends React.ComponentPropsWithoutRef<typeof TabsPrimit
|
|
|
1744
1745
|
declare const TabsList: React.ForwardRefExoticComponent<TabsListProps & React.RefAttributes<HTMLDivElement>>;
|
|
1745
1746
|
declare const tabsTriggerVariants: (props?: {
|
|
1746
1747
|
variant?: "default" | "underline" | "pills" | "cards" | "minimal";
|
|
1747
|
-
size?: "sm" | "
|
|
1748
|
+
size?: "sm" | "md" | "lg";
|
|
1748
1749
|
orientation?: "horizontal" | "vertical";
|
|
1749
1750
|
fullWidth?: boolean;
|
|
1750
1751
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -1779,7 +1780,7 @@ declare const TagsInput: React.ForwardRefExoticComponent<TagsInputProps & React.
|
|
|
1779
1780
|
|
|
1780
1781
|
declare const toggleVariants: (props?: {
|
|
1781
1782
|
variant?: "default" | "outline";
|
|
1782
|
-
size?: "default" | "sm" | "lg";
|
|
1783
|
+
size?: "default" | "sm" | "md" | "lg";
|
|
1783
1784
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1784
1785
|
interface ToggleProps extends React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root>, VariantProps<typeof toggleVariants> {
|
|
1785
1786
|
}
|
|
@@ -1790,7 +1791,7 @@ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAtt
|
|
|
1790
1791
|
*/
|
|
1791
1792
|
declare const textareaVariants: (props?: {
|
|
1792
1793
|
variant?: "default" | "ghost" | "outline" | "underline";
|
|
1793
|
-
size?: "sm" | "
|
|
1794
|
+
size?: "sm" | "md" | "lg";
|
|
1794
1795
|
isError?: boolean;
|
|
1795
1796
|
isSuccess?: boolean;
|
|
1796
1797
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
@@ -1865,7 +1866,7 @@ declare function Toaster(): react_jsx_runtime.JSX.Element;
|
|
|
1865
1866
|
declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
|
|
1866
1867
|
declare const tooltipVariants: (props?: {
|
|
1867
1868
|
variant?: "default" | "success" | "warning" | "info" | "secondary" | "destructive";
|
|
1868
|
-
size?: "sm" | "
|
|
1869
|
+
size?: "sm" | "md" | "lg";
|
|
1869
1870
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1870
1871
|
declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
|
|
1871
1872
|
declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1922,7 +1923,7 @@ declare const Kbd: React.ForwardRefExoticComponent<KbdProps & React.RefAttribute
|
|
|
1922
1923
|
* ve tam klavye erişilebilirliği (radiogroup) sunar. Dark/light modda uyumludur.
|
|
1923
1924
|
*/
|
|
1924
1925
|
declare const ratingVariants: (props?: {
|
|
1925
|
-
size?: "sm" | "
|
|
1926
|
+
size?: "sm" | "md" | "lg";
|
|
1926
1927
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1927
1928
|
interface RatingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">, VariantProps<typeof ratingVariants> {
|
|
1928
1929
|
/** Kontrollü değer (0..max) */
|
|
@@ -1970,7 +1971,7 @@ declare const Rating: React.ForwardRefExoticComponent<RatingProps & React.RefAtt
|
|
|
1970
1971
|
* gibi metin renk yardımcılarıyla renklendirilir (hardcoded renk yoktur).
|
|
1971
1972
|
*/
|
|
1972
1973
|
declare const spinnerVariants: (props?: {
|
|
1973
|
-
size?: "sm" | "
|
|
1974
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
1974
1975
|
} & class_variance_authority_dist_types.ClassProp) => string;
|
|
1975
1976
|
interface SpinnerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof spinnerVariants> {
|
|
1976
1977
|
/**
|