react-life-game
Advanced tools
Comparing version 1.0.2 to 1.1.0
@@ -194,3 +194,3 @@ var __defProp = Object.defineProperty; | ||
const nextCells = (array) => { | ||
const next = [...array]; | ||
const next = array.map((row) => row.map((cell) => cell)); | ||
array.forEach((row, i) => { | ||
@@ -197,0 +197,0 @@ row.forEach((currentCell, j) => { |
@@ -12,2 +12,2 @@ var X=Object.defineProperty;var N=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var R=(a,s,c)=>s in a?X(a,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[s]=c,g=(a,s)=>{for(var c in s||(s={}))Z.call(s,c)&&R(a,c,s[c]);if(N)for(var c of N(s))q.call(s,c)&&R(a,c,s[c]);return a};(function(a,s){typeof exports=="object"&&typeof module!="undefined"?s(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],s):(a=typeof globalThis!="undefined"?globalThis:a||self,s(a.ReactLifeGame={},a.React))})(this,function(a,s){"use strict";function c(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var L=c(s);const d={interval:1e3,cellSize:12,initialAliveRatio:.1,aliveColor:"#1e3a8a",deadColor:"#0f172b"};var O={exports:{}},v={};/* | ||
* LICENSE file in the root directory of this source tree. | ||
*/var W=L.default,S=60103;if(v.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var C=Symbol.for;S=C("react.element"),v.Fragment=C("react.fragment")}var F=W.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,G=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};function E(e,n,t){var r,o={},i=null,l=null;t!==void 0&&(i=""+t),n.key!==void 0&&(i=""+n.key),n.ref!==void 0&&(l=n.ref);for(r in n)G.call(n,r)&&!I.hasOwnProperty(r)&&(o[r]=n[r]);if(e&&e.defaultProps)for(r in n=e.defaultProps,n)o[r]===void 0&&(o[r]=n[r]);return{$$typeof:S,type:e,key:i,ref:l,props:o,_owner:F.current}}v.jsx=E,v.jsxs=E,O.exports=v;const w=O.exports.jsx,M=O.exports.Fragment,T=s.memo(({isAlive:e,size:n,onClick:t,aliveColor:r=d.aliveColor,deadColor:o=d.deadColor})=>{const i={backgroundColor:e?r:o};return w("div",{style:g({width:`${n}px`,height:`${n}px`,flexShrink:0},i),onClick:t})}),D=()=>{const e=s.useCallback(()=>{var r,o;return{width:(r=window==null?void 0:window.innerWidth)!=null?r:0,height:(o=window==null?void 0:window.innerHeight)!=null?o:0}},[]),[n,t]=s.useState(e());return s.useEffect(()=>{const r=()=>{t(e())};return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[e]),n},U=({width:e,height:n,size:t})=>{const{width:r,height:o}=D(),i=e||r,l=n||o,f=s.useMemo(()=>Math.ceil(l/t),[l]),m=s.useMemo(()=>Math.ceil(i/t),[i]);return{rows:f,columns:m}},H=(e,n,t=!1)=>[...Array(e)].map(r=>Array(n).fill(t)),K=(e,n,t)=>H(e,n).map(o=>o.map(i=>Math.random()>1-t)),B=(e,n,t)=>{var r,o,i,l,f,m,u,p;return Number(!!((r=e[n-1])==null?void 0:r[t-1]))+Number(!!((o=e[n-1])==null?void 0:o[t]))+Number(!!((i=e[n-1])==null?void 0:i[t+1]))+Number(!!((l=e[n])==null?void 0:l[t-1]))+Number(!!((f=e[n])==null?void 0:f[t+1]))+Number(!!((m=e[n+1])==null?void 0:m[t-1]))+Number(!!((u=e[n+1])==null?void 0:u[t]))+Number(!!((p=e[n+1])==null?void 0:p[t+1]))},J=e=>{const n=[...e];return e.forEach((t,r)=>{t.forEach((o,i)=>{const l=B(e,r,i);n[r][i]=o&&l===2||l===3})}),n};function Y({width:e,height:n,cellSize:t=d.cellSize,interval:r=d.interval,initialAliveRatio:o=d.initialAliveRatio,aliveColor:i=d.aliveColor,deadColor:l=d.deadColor}){const{rows:f,columns:m}=U({width:e,height:n,size:t}),[u,p]=s.useState(K(f,m,o)),x=s.useCallback((h,y)=>{const b=[...u];b[h][y]=!b[h][y],p(b)},[u]);return s.useEffect(()=>{const h=setInterval(()=>{p(J(u))},r);return()=>clearInterval(h)},[u]),{cells:u,setCells:p,handleClickCell:x,renderLifeGame:()=>w(M,{children:u.map((h,y)=>w("div",{style:{display:"flex",flexDirection:"row"},children:h.map((b,j)=>w(T,{isAlive:b,size:t,onClick:()=>x(y,j),aliveColor:i,deadColor:l},j))},y))})}}const Q=({option:e})=>{const n=g(g({},d),e),{renderLifeGame:t}=Y(n);return w("div",{style:{overflow:"hidden",width:"100%",height:"100%"},children:t()})},V=()=>{const[e,n]=s.useState(window.innerWidth);return s.useEffect(()=>{const t=()=>n(window.innerWidth);return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[]),{key:e}};a.LifeGameField=Q,a.useKeyOnResize=V,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"}); | ||
*/var W=L.default,S=60103;if(v.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var C=Symbol.for;S=C("react.element"),v.Fragment=C("react.fragment")}var F=W.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,G=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};function E(e,n,t){var r,o={},i=null,l=null;t!==void 0&&(i=""+t),n.key!==void 0&&(i=""+n.key),n.ref!==void 0&&(l=n.ref);for(r in n)G.call(n,r)&&!I.hasOwnProperty(r)&&(o[r]=n[r]);if(e&&e.defaultProps)for(r in n=e.defaultProps,n)o[r]===void 0&&(o[r]=n[r]);return{$$typeof:S,type:e,key:i,ref:l,props:o,_owner:F.current}}v.jsx=E,v.jsxs=E,O.exports=v;const w=O.exports.jsx,M=O.exports.Fragment,T=s.memo(({isAlive:e,size:n,onClick:t,aliveColor:r=d.aliveColor,deadColor:o=d.deadColor})=>{const i={backgroundColor:e?r:o};return w("div",{style:g({width:`${n}px`,height:`${n}px`,flexShrink:0},i),onClick:t})}),D=()=>{const e=s.useCallback(()=>{var r,o;return{width:(r=window==null?void 0:window.innerWidth)!=null?r:0,height:(o=window==null?void 0:window.innerHeight)!=null?o:0}},[]),[n,t]=s.useState(e());return s.useEffect(()=>{const r=()=>{t(e())};return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[e]),n},U=({width:e,height:n,size:t})=>{const{width:r,height:o}=D(),i=e||r,l=n||o,f=s.useMemo(()=>Math.ceil(l/t),[l]),m=s.useMemo(()=>Math.ceil(i/t),[i]);return{rows:f,columns:m}},H=(e,n,t=!1)=>[...Array(e)].map(r=>Array(n).fill(t)),K=(e,n,t)=>H(e,n).map(o=>o.map(i=>Math.random()>1-t)),B=(e,n,t)=>{var r,o,i,l,f,m,u,p;return Number(!!((r=e[n-1])==null?void 0:r[t-1]))+Number(!!((o=e[n-1])==null?void 0:o[t]))+Number(!!((i=e[n-1])==null?void 0:i[t+1]))+Number(!!((l=e[n])==null?void 0:l[t-1]))+Number(!!((f=e[n])==null?void 0:f[t+1]))+Number(!!((m=e[n+1])==null?void 0:m[t-1]))+Number(!!((u=e[n+1])==null?void 0:u[t]))+Number(!!((p=e[n+1])==null?void 0:p[t+1]))},J=e=>{const n=e.map(t=>t.map(r=>r));return e.forEach((t,r)=>{t.forEach((o,i)=>{const l=B(e,r,i);n[r][i]=o&&l===2||l===3})}),n};function Y({width:e,height:n,cellSize:t=d.cellSize,interval:r=d.interval,initialAliveRatio:o=d.initialAliveRatio,aliveColor:i=d.aliveColor,deadColor:l=d.deadColor}){const{rows:f,columns:m}=U({width:e,height:n,size:t}),[u,p]=s.useState(K(f,m,o)),x=s.useCallback((h,y)=>{const b=[...u];b[h][y]=!b[h][y],p(b)},[u]);return s.useEffect(()=>{const h=setInterval(()=>{p(J(u))},r);return()=>clearInterval(h)},[u]),{cells:u,setCells:p,handleClickCell:x,renderLifeGame:()=>w(M,{children:u.map((h,y)=>w("div",{style:{display:"flex",flexDirection:"row"},children:h.map((b,j)=>w(T,{isAlive:b,size:t,onClick:()=>x(y,j),aliveColor:i,deadColor:l},j))},y))})}}const Q=({option:e})=>{const n=g(g({},d),e),{renderLifeGame:t}=Y(n);return w("div",{style:{overflow:"hidden",width:"100%",height:"100%"},children:t()})},V=()=>{const[e,n]=s.useState(window.innerWidth);return s.useEffect(()=>{const t=()=>n(window.innerWidth);return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[]),{key:e}};a.LifeGameField=Q,a.useKeyOnResize=V,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"}); |
{ | ||
"name": "react-life-game", | ||
"version": "1.0.2", | ||
"version": "1.1.0", | ||
"files": [ | ||
@@ -21,3 +21,3 @@ "dist", | ||
"preview": "vite preview", | ||
"prepublish": "yarn build" | ||
"prepare": "yarn build" | ||
}, | ||
@@ -24,0 +24,0 @@ "dependencies": { |
21545