phaser-wind 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ !function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("phaser")):"function"==typeof define&&define.amd?define(["exports","phaser"],n):n((r="undefined"!=typeof globalThis?globalThis:r||self).PhaserWind={},r.Phaser)}(this,function(r,n){"use strict";var t=function(r,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])},t(r,n)};function e(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=r}t(r,n),r.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}var o=function(){return o=Object.assign||function(r){for(var n,t=1,e=arguments.length;t<e;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o]);return r},o.apply(this,arguments)};function a(r,n,t){if(t||2===arguments.length)for(var e,o=0,a=n.length;o<a;o++)!e&&o in n||(e||(e=Array.prototype.slice.call(n,0,o)),e[o]=n[o]);return r.concat(e||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i=function(r){return null!==r&&"object"==typeof r&&!Array.isArray(r)&&"[object Object]"===Object.prototype.toString.call(r)},c=function(r){if(null===r||"object"!=typeof r)return r;if(Array.isArray(r))return r.map(function(r){return c(r)});if(i(r)){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=c(r[t]));return n}return r},g=function(r){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!i(r))return r;for(var e=c(r),o=0,a=n;o<a.length;o++){var b=a[o];if(i(b)){var u=c(b);for(var s in u)if(Object.prototype.hasOwnProperty.call(u,s)){var f=u[s],l=e[s];i(f)&&i(l)?e[s]=g(l,f):void 0!==f&&(e[s]=f)}}}return e},b=function(r){if("string"!=typeof r)return!1;var n=r.trim();return!!/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(n)||(!!/^rgb\(\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*\)$/.test(n)||(!!/^rgba\(\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*([01]|0?\.\d+)\s*\)$/.test(n)||!!/^oklch\(\s*(\d*\.?\d+%?)\s+(\d*\.?\d+)\s+(\d*\.?\d+)(?:\s*\/\s*([01]|0?\.\d+))?\s*\)$/.test(n)))},u={black:"#000",white:"#fff",slate:{50:"rgb(248, 250, 252)",100:"rgb(241, 245, 249)",200:"rgb(226, 232, 240)",300:"rgb(203, 213, 225)",400:"rgb(148, 163, 184)",500:"rgb(100, 116, 139)",600:"rgb(71, 85, 105)",700:"rgb(51, 65, 85)",800:"rgb(30, 41, 59)",900:"rgb(15, 23, 42)",950:"rgb(2, 6, 23)"},gray:{50:"rgb(249, 250, 251)",100:"rgb(243, 244, 246)",200:"rgb(229, 231, 235)",300:"rgb(209, 213, 219)",400:"rgb(156, 163, 175)",500:"rgb(107, 114, 128)",600:"rgb(75, 85, 99)",700:"rgb(55, 65, 81)",800:"rgb(31, 41, 55)",900:"rgb(17, 24, 39)",950:"rgb(3, 7, 18)"},zinc:{50:"rgb(250, 250, 250)",100:"rgb(244, 244, 245)",200:"rgb(228, 228, 231)",300:"rgb(212, 212, 216)",400:"rgb(161, 161, 170)",500:"rgb(113, 113, 122)",600:"rgb(82, 82, 91)",700:"rgb(63, 63, 70)",800:"rgb(39, 39, 42)",900:"rgb(24, 24, 27)",950:"rgb(9, 9, 11)"},neutral:{50:"rgb(250, 250, 250)",100:"rgb(245, 245, 245)",200:"rgb(229, 229, 229)",300:"rgb(212, 212, 212)",400:"rgb(163, 163, 163)",500:"rgb(115, 115, 115)",600:"rgb(82, 82, 82)",700:"rgb(64, 64, 64)",800:"rgb(38, 38, 38)",900:"rgb(23, 23, 23)",950:"rgb(10, 10, 10)"},stone:{50:"rgb(250, 250, 249)",100:"rgb(245, 245, 244)",200:"rgb(231, 229, 228)",300:"rgb(214, 211, 209)",400:"rgb(168, 162, 158)",500:"rgb(120, 113, 108)",600:"rgb(87, 83, 78)",700:"rgb(68, 64, 60)",800:"rgb(41, 37, 36)",900:"rgb(28, 25, 23)",950:"rgb(12, 10, 9)"},red:{50:"rgb(254, 242, 242)",100:"rgb(254, 226, 226)",200:"rgb(254, 202, 202)",300:"rgb(252, 165, 165)",400:"rgb(248, 113, 113)",500:"rgb(239, 68, 68)",600:"rgb(220, 38, 38)",700:"rgb(185, 28, 28)",800:"rgb(153, 27, 27)",900:"rgb(127, 29, 29)",950:"rgb(69, 10, 10)"},orange:{50:"rgb(255, 247, 237)",100:"rgb(255, 237, 213)",200:"rgb(254, 215, 170)",300:"rgb(253, 186, 116)",400:"rgb(251, 146, 60)",500:"rgb(249, 115, 22)",600:"rgb(234, 88, 12)",700:"rgb(194, 65, 12)",800:"rgb(154, 52, 18)",900:"rgb(124, 45, 18)",950:"rgb(67, 20, 7)"},amber:{50:"rgb(255, 251, 235)",100:"rgb(254, 243, 199)",200:"rgb(253, 230, 138)",300:"rgb(252, 211, 77)",400:"rgb(251, 191, 36)",500:"rgb(245, 158, 11)",600:"rgb(217, 119, 6)",700:"rgb(180, 83, 9)",800:"rgb(146, 64, 14)",900:"rgb(120, 53, 15)",950:"rgb(69, 26, 3)"},yellow:{50:"rgb(254, 252, 232)",100:"rgb(254, 249, 195)",200:"rgb(254, 240, 138)",300:"rgb(253, 224, 71)",400:"rgb(250, 204, 21)",500:"rgb(234, 179, 8)",600:"rgb(202, 138, 4)",700:"rgb(161, 98, 7)",800:"rgb(133, 77, 14)",900:"rgb(113, 63, 18)",950:"rgb(66, 32, 6)"},lime:{50:"rgb(247, 254, 231)",100:"rgb(236, 252, 203)",200:"rgb(217, 249, 157)",300:"rgb(190, 242, 100)",400:"rgb(163, 230, 53)",500:"rgb(132, 204, 22)",600:"rgb(101, 163, 13)",700:"rgb(77, 124, 15)",800:"rgb(63, 98, 18)",900:"rgb(54, 83, 20)",950:"rgb(26, 46, 5)"},green:{50:"rgb(240, 253, 244)",100:"rgb(220, 252, 231)",200:"rgb(187, 247, 208)",300:"rgb(134, 239, 172)",400:"rgb(74, 222, 128)",500:"rgb(34, 197, 94)",600:"rgb(22, 163, 74)",700:"rgb(21, 128, 61)",800:"rgb(22, 101, 52)",900:"rgb(20, 83, 45)",950:"rgb(5, 46, 22)"},emerald:{50:"rgb(236, 253, 245)",100:"rgb(209, 250, 229)",200:"rgb(167, 243, 208)",300:"rgb(110, 231, 183)",400:"rgb(52, 211, 153)",500:"rgb(16, 185, 129)",600:"rgb(5, 150, 105)",700:"rgb(4, 120, 87)",800:"rgb(6, 95, 70)",900:"rgb(6, 78, 59)",950:"rgb(2, 44, 34)"},teal:{50:"rgb(240, 253, 250)",100:"rgb(204, 251, 241)",200:"rgb(153, 246, 228)",300:"rgb(94, 234, 212)",400:"rgb(45, 212, 191)",500:"rgb(20, 184, 166)",600:"rgb(13, 148, 136)",700:"rgb(15, 118, 110)",800:"rgb(17, 94, 89)",900:"rgb(19, 78, 74)",950:"rgb(4, 47, 46)"},cyan:{50:"rgb(236, 254, 255)",100:"rgb(207, 250, 254)",200:"rgb(165, 243, 252)",300:"rgb(103, 232, 249)",400:"rgb(34, 211, 238)",500:"rgb(6, 182, 212)",600:"rgb(8, 145, 178)",700:"rgb(14, 116, 144)",800:"rgb(21, 94, 117)",900:"rgb(22, 78, 99)",950:"rgb(8, 51, 68)"},sky:{50:"rgb(240, 249, 255)",100:"rgb(224, 242, 254)",200:"rgb(186, 230, 253)",300:"rgb(125, 211, 252)",400:"rgb(56, 189, 248)",500:"rgb(14, 165, 233)",600:"rgb(2, 132, 199)",700:"rgb(3, 105, 161)",800:"rgb(7, 89, 133)",900:"rgb(12, 74, 110)",950:"rgb(8, 47, 73)"},blue:{50:"rgb(239, 246, 255)",100:"rgb(219, 234, 254)",200:"rgb(191, 219, 254)",300:"rgb(147, 197, 253)",400:"rgb(96, 165, 250)",500:"rgb(59, 130, 246)",600:"rgb(37, 99, 235)",700:"rgb(29, 78, 216)",800:"rgb(30, 64, 175)",900:"rgb(30, 58, 138)",950:"rgb(23, 37, 84)"},indigo:{50:"rgb(238, 242, 255)",100:"rgb(224, 231, 255)",200:"rgb(199, 210, 254)",300:"rgb(165, 180, 252)",400:"rgb(129, 140, 248)",500:"rgb(99, 102, 241)",600:"rgb(79, 70, 229)",700:"rgb(67, 56, 202)",800:"rgb(55, 48, 163)",900:"rgb(49, 46, 129)",950:"rgb(30, 27, 75)"},violet:{50:"rgb(245, 243, 255)",100:"rgb(237, 233, 254)",200:"rgb(221, 214, 254)",300:"rgb(196, 181, 253)",400:"rgb(167, 139, 250)",500:"rgb(139, 92, 246)",600:"rgb(124, 58, 237)",700:"rgb(109, 40, 217)",800:"rgb(91, 33, 182)",900:"rgb(76, 29, 149)",950:"rgb(46, 16, 101)"},purple:{50:"rgb(250, 245, 255)",100:"rgb(243, 232, 255)",200:"rgb(233, 213, 255)",300:"rgb(216, 180, 254)",400:"rgb(192, 132, 252)",500:"rgb(168, 85, 247)",600:"rgb(147, 51, 234)",700:"rgb(126, 34, 206)",800:"rgb(107, 33, 168)",900:"rgb(88, 28, 135)",950:"rgb(59, 7, 100)"},fuchsia:{50:"rgb(253, 244, 255)",100:"rgb(250, 232, 255)",200:"rgb(245, 208, 254)",300:"rgb(240, 171, 252)",400:"rgb(232, 121, 249)",500:"rgb(217, 70, 239)",600:"rgb(192, 38, 211)",700:"rgb(162, 28, 175)",800:"rgb(134, 25, 143)",900:"rgb(112, 26, 117)",950:"rgb(74, 4, 78)"},pink:{50:"rgb(253, 242, 248)",100:"rgb(252, 231, 243)",200:"rgb(251, 207, 232)",300:"rgb(249, 168, 212)",400:"rgb(244, 114, 182)",500:"rgb(236, 72, 153)",600:"rgb(219, 39, 119)",700:"rgb(190, 24, 93)",800:"rgb(157, 23, 77)",900:"rgb(131, 24, 67)",950:"rgb(80, 7, 36)"},rose:{50:"rgb(255, 241, 242)",100:"rgb(255, 228, 230)",200:"rgb(254, 205, 211)",300:"rgb(253, 164, 175)",400:"rgb(251, 113, 133)",500:"rgb(244, 63, 94)",600:"rgb(225, 29, 72)",700:"rgb(190, 18, 60)",800:"rgb(159, 18, 57)",900:"rgb(136, 19, 55)",950:"rgb(76, 5, 25)"}},s=/rgb\((\d+),\s*(\d+),\s*(\d+)\)/,f=function(r){return r.startsWith("#")?3===(n=r.slice(1)).length?(parseInt(n[0]+n[0],16)<<16)+(parseInt(n[1]+n[1],16)<<8)+parseInt(n[2]+n[2],16):parseInt(n,16):function(r){var n=r.match(s);if(!n)throw new Error("Invalid RGB format: ".concat(r));return(parseInt(n[1])<<16)+(parseInt(n[2])<<8)+parseInt(n[3])}(r);var n},l=function(r){var n=function(n){return r&&n in r?r[n]:null},t=function(r){var e;if("string"==typeof r&&b(r))return r;var o=n(r);if(o)return t(o);var a=r.split("-");if(2===a.length){var i=a[0],c=a[1],g=null===(e=u[i])||void 0===e?void 0:e[c];if(!g){if(b(r))return r;throw new Error('Color token "'.concat(i,"-").concat(c,'" not found'))}return g}var s=u[r];if(!s){if(b(r))return r;throw new Error('Color token "'.concat(r,'" not found'))}return s},e=function(r){var t;if("string"==typeof r&&b(r))return f(r);var o=n(r);if(o)return e(o);var a=r.split("-");if(2===a.length){var i=a[0],c=a[1],g=null===(t=u[i])||void 0===t?void 0:t[c];if(!g){if(b(r))return f(r);throw new Error('Color token "'.concat(i,"-").concat(c,'" not found'))}return f(g)}var s=u[r];if(b(s))return f(s);throw new Error('Color token "'.concat(r,'" not found'))};return{rgb:t,hex:e,black:function(){return t("black")},white:function(){return t("white")},slate:function(r){return t("slate-".concat(r))},gray:function(r){return t("gray-".concat(r))},zinc:function(r){return t("zinc-".concat(r))},neutral:function(r){return t("neutral-".concat(r))},stone:function(r){return t("stone-".concat(r))},red:function(r){return t("red-".concat(r))},orange:function(r){return t("orange-".concat(r))},amber:function(r){return t("amber-".concat(r))},yellow:function(r){return t("yellow-".concat(r))},lime:function(r){return t("lime-".concat(r))},green:function(r){return t("green-".concat(r))},emerald:function(r){return t("emerald-".concat(r))},teal:function(r){return t("teal-".concat(r))},cyan:function(r){return t("cyan-".concat(r))},sky:function(r){return t("sky-".concat(r))},blue:function(r){return t("blue-".concat(r))},indigo:function(r){return t("indigo-".concat(r))},violet:function(r){return t("violet-".concat(r))},purple:function(r){return t("purple-".concat(r))},fuchsia:function(r){return t("fuchsia-".concat(r))},pink:function(r){return t("pink-".concat(r))},rose:function(r){return t("rose-".concat(r))},blackHex:function(){return e("black")},whiteHex:function(){return e("white")},slateHex:function(r){return e("slate-".concat(r))},grayHex:function(r){return e("gray-".concat(r))},zincHex:function(r){return e("zinc-".concat(r))},neutralHex:function(r){return e("neutral-".concat(r))},stoneHex:function(r){return e("stone-".concat(r))},redHex:function(r){return e("red-".concat(r))},orangeHex:function(r){return e("orange-".concat(r))},amberHex:function(r){return e("amber-".concat(r))},yellowHex:function(r){return e("yellow-".concat(r))},limeHex:function(r){return e("lime-".concat(r))},greenHex:function(r){return e("green-".concat(r))},emeraldHex:function(r){return e("emerald-".concat(r))},tealHex:function(r){return e("teal-".concat(r))},cyanHex:function(r){return e("cyan-".concat(r))},skyHex:function(r){return e("sky-".concat(r))},blueHex:function(r){return e("blue-".concat(r))},indigoHex:function(r){return e("indigo-".concat(r))},violetHex:function(r){return e("violet-".concat(r))},purpleHex:function(r){return e("purple-".concat(r))},fuchsiaHex:function(r){return e("fuchsia-".concat(r))},pinkHex:function(r){return e("pink-".concat(r))},roseHex:function(r){return e("rose-".concat(r))}}},p=l({}),h={xs:12,sm:14,base:16,lg:18,xl:20,"2xl":24,"3xl":30,"4xl":36,"5xl":48,"6xl":60,"7xl":72,"8xl":96,"9xl":128},d=function(r){var n=o(o({},h),r);return{px:function(r){var t=n[r];return"number"==typeof t?t:0},rem:function(r){var t=n[r];return"number"==typeof t?t/16:0},css:function(r){var t=n[r];return"number"==typeof t?"".concat(t,"px"):"0px"}}},y=d(void 0),m={primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},v=function(r,n){var t=o(o({},m),r),e=d(n),i=function(r){if(r.includes(".")){var n=r.split(".")[1];if(n&&"string"==typeof t[n])return t[n]}return"string"==typeof t[r]?t[r]:r};return{size:function(r){var n;return null!==(n=e.px(r))&&void 0!==n?n:0},format:function(r){var n,t=r.size,o=r.family,a=null!==(n=e.px(t))&&void 0!==n?n:0;return"".concat(a,"px '").concat(i(o),"'")},family:function(r){return i(r)},getAvailableFonts:function(){return Array.from(new Set(a(a([],Object.keys(m),!0),Object.keys(t),!0)))}}},x={none:0,sm:2,default:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,full:9999},w=function(r){var n=o(o({},x),r),t=function(r){return"number"==typeof n[r]?n[r]:0};return{px:function(r){return t(r)},rem:function(r){return t(r)/16},css:function(r){return"".concat(t(r),"px")}}},H=w(void 0),I={sm:{blur:2,offsetX:1,offsetY:1,alpha:.15},md:{blur:4,offsetX:2,offsetY:2,alpha:.2},lg:{blur:6,offsetX:4,offsetY:4,alpha:.25},xl:{blur:8,offsetX:6,offsetY:6,alpha:.3},"2xl":{blur:12,offsetX:8,offsetY:8,alpha:.35},inner:{blur:4,offsetX:-2,offsetY:-2,alpha:.2}},S=function(r){var n=o(o({},I),r);return{get:function(r){return function(r){var t=n[r];return t&&"object"==typeof t?t:I.md}(r)}}},k=S(void 0),z={0:0,px:1,.5:2,1:4,1.5:6,2:8,2.5:10,3:12,3.5:14,4:16,5:20,6:24,7:28,8:32,9:36,10:40,11:44,12:48,14:56,16:64,20:80,24:96,28:112,32:128,36:144,40:160,44:176,48:192,52:208,56:224,60:240,64:256,72:288,80:320,96:384},P=function(r){var n=o(o({},z),r),t=function(r){return"number"==typeof n[r]?n[r]:0};return{px:function(r){return t(r)},rem:function(r){return t(r)/16},css:function(r){return"".concat(t(r),"px")}}},j=P(void 0),O={fonts:{primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},fontSizes:o({},h),colors:{primary:"blue-600",secondary:"gray-600",success:"green-500",warning:"yellow-500",error:"red-500",info:"blue-400",background:"white",text:"gray-900",shadow:"black",overlay:"black"},spacing:o({},z),typography:{heading:{fontSize:"2xl",fontFamily:"fonts.display",fontWeight:600,lineHeight:1.2},"heading-large":{fontSize:"4xl",fontFamily:"fonts.display",fontWeight:700,lineHeight:1.1},body:{fontSize:"base",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.5},caption:{fontSize:"sm",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.4}},effects:{"shadow-sm":{blur:2,offsetY:1,color:"colors.shadow",alpha:.05},"shadow-md":{blur:4,offsetY:2,color:"colors.shadow",alpha:.1},"shadow-lg":{blur:8,offsetY:4,color:"colors.shadow",alpha:.1}},custom:{}},F={fonts:{primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},fontSizes:o({},h),radius:o({},x),colors:{primary:"blue-400",secondary:"gray-400",success:"green-400",warning:"yellow-400",error:"red-400",info:"blue-300",background:"gray-900",text:"white",shadow:"black",overlay:"black"},spacing:o({},z),typography:{heading:{fontSize:"2xl",fontFamily:"fonts.display",fontWeight:600,lineHeight:1.2},"heading-large":{fontSize:"4xl",fontFamily:"fonts.display",fontWeight:700,lineHeight:1.1},body:{fontSize:"base",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.5},caption:{fontSize:"sm",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.4}},effects:{"shadow-sm":{blur:2,offsetY:1,color:"colors.shadow",alpha:.1},"shadow-md":{blur:4,offsetY:2,color:"colors.shadow",alpha:.15},"shadow-lg":{blur:8,offsetY:4,color:"colors.shadow",alpha:.2}},custom:{}},A=function(r){function n(n){var t=r.call(this,n)||this;return t.colorInstance=null,t.fontSizeInstance=null,t.spacingInstance=null,t.radiusInstance=null,t.fontInstance=null,t.shadowInstance=null,t.theme=O,t}return e(n,r),n.prototype.init=function(r){var n=r.theme,t=r.darkMode,e=void 0!==t&&t;n?(this.theme=n,this.colorInstance=l(this.theme.colors),this.fontSizeInstance=d(this.theme.fontSizes),this.spacingInstance=P(this.theme.spacing),this.radiusInstance=w(this.theme.radius),this.fontInstance=v(this.theme.fonts,this.theme.fontSizes),this.shadowInstance=S(this.theme.effects)):this.theme=e?F:O},n.prototype.getTheme=function(){return this.theme},Object.defineProperty(n.prototype,"color",{get:function(){return this.colorInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"fontSize",{get:function(){return this.fontSizeInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"spacing",{get:function(){return this.spacingInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"radius",{get:function(){return this.radiusInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"font",{get:function(){return this.fontInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"shadow",{get:function(){return this.shadowInstance},enumerable:!1,configurable:!0}),n}(n.Plugins.BasePlugin),C=function(r){function n(n){return r.call(this,n)||this}return e(n,r),n}(Phaser.Scene);r.Color=p,r.FontSize=y,r.PHASER_WIND_KEY="pw",r.PhaserWindPlugin=A,r.Radius=H,r.SceneWithPhaserWind=C,r.Shadow=k,r.Spacing=j,r.createColor=l,r.createFont=v,r.createFontSize=d,r.createRadius=w,r.createShadow=S,r.createSpacing=P,r.createTheme=function(r){return g({},O,r)},r.defaultDarkTheme=F,r.defaultLightTheme=O,r.defaultShadowMap=I,r.fontMap=m,r.fontSizeMap=h,r.isValidColor=b,r.merge=g,r.mergeDeep=function(r){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];return g.apply(void 0,a([{},r],n,!1))},r.palette=u,r.radiusMap=x,r.spacingMap=z});
@@ -1 +1 @@
1
- {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,CAC3B,CAAC"}
1
+ {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,CACtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import merge from 'lodash.merge';
1
+ import { merge } from '../utils/merge';
2
2
  import { defaultLightTheme } from './theme-config';
3
3
  export const createTheme = (theme) => merge({}, defaultLightTheme, theme);
4
4
  //# sourceMappingURL=theme-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAsB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAA0B,KAAQ,EAAK,EAAE,CAClE,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAsB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAA0B,KAAQ,EAAK,EAAE,CAClE,KAAK,CAAC,EAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=merge.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/merge.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,433 @@
1
+ /* eslint-disable max-lines */
2
+ /* eslint-disable no-magic-numbers */
3
+ /* eslint-disable max-lines-per-function */
4
+ import { describe, expect, it } from 'vitest';
5
+ import { merge, mergeDeep } from '../merge';
6
+ describe('merge', () => {
7
+ describe('basic functionality', () => {
8
+ it('should merge simple objects', () => {
9
+ const target = { a: 1, b: 2 };
10
+ const source = { b: 3, c: 4 };
11
+ const result = merge(target, source);
12
+ expect(result).toEqual({ a: 1, b: 3, c: 4 });
13
+ expect(result).not.toBe(target);
14
+ expect(result).not.toBe(source);
15
+ });
16
+ it('should merge multiple sources', () => {
17
+ const target = { a: 1, b: 2 };
18
+ const source1 = { b: 3, c: 4 };
19
+ const source2 = { c: 5, d: 6 };
20
+ const result = merge(target, source1, source2);
21
+ expect(result).toEqual({ a: 1, b: 3, c: 5, d: 6 });
22
+ expect(result).not.toBe(target);
23
+ expect(result).not.toBe(source1);
24
+ expect(result).not.toBe(source2);
25
+ });
26
+ it('should handle empty objects', () => {
27
+ const target = {};
28
+ const source = { a: 1, b: 2 };
29
+ const result = merge(target, source);
30
+ expect(result).toEqual({ a: 1, b: 2 });
31
+ expect(result).not.toBe(target);
32
+ expect(result).not.toBe(source);
33
+ });
34
+ it('should handle null and undefined sources', () => {
35
+ const target = { a: 1 };
36
+ const result = merge(target, null, undefined);
37
+ expect(result).toEqual({ a: 1 });
38
+ expect(result).not.toBe(target);
39
+ });
40
+ });
41
+ describe('deep merging and immutability', () => {
42
+ it('should deep merge nested objects', () => {
43
+ const target = {
44
+ a: 1,
45
+ b: {
46
+ c: 2,
47
+ d: 3
48
+ }
49
+ };
50
+ const source = {
51
+ b: {
52
+ c: 4,
53
+ e: 5
54
+ },
55
+ f: 6
56
+ };
57
+ const result = merge(target, source);
58
+ expect(result).toEqual({
59
+ a: 1,
60
+ b: {
61
+ c: 4,
62
+ d: 3,
63
+ e: 5
64
+ },
65
+ f: 6
66
+ });
67
+ // Check immutability
68
+ expect(result).not.toBe(target);
69
+ expect(result).not.toBe(source);
70
+ expect(result.b).not.toBe(target.b);
71
+ expect(result.b).not.toBe(source.b);
72
+ });
73
+ it('should create new references for all nested objects', () => {
74
+ const target = {
75
+ life: 100,
76
+ nested: {
77
+ value: 10
78
+ }
79
+ };
80
+ const source = { life: 90 };
81
+ const result = merge(target, source);
82
+ expect(result).toEqual({
83
+ life: 90,
84
+ nested: {
85
+ value: 10
86
+ }
87
+ });
88
+ // Critical test: nested objects should have new references
89
+ expect(result).not.toBe(target);
90
+ expect(result.nested).not.toBe(target.nested);
91
+ expect(result.nested).toEqual(target.nested);
92
+ });
93
+ it('should deep merge multiple levels', () => {
94
+ const target = {
95
+ a: {
96
+ b: {
97
+ c: 1,
98
+ d: 2
99
+ },
100
+ e: 3
101
+ }
102
+ };
103
+ const source = {
104
+ a: {
105
+ b: {
106
+ c: 4,
107
+ f: 5
108
+ },
109
+ g: 6
110
+ }
111
+ };
112
+ const result = merge(target, source);
113
+ expect(result).toEqual({
114
+ a: {
115
+ b: {
116
+ c: 4,
117
+ d: 2,
118
+ f: 5
119
+ },
120
+ e: 3,
121
+ g: 6
122
+ }
123
+ });
124
+ // Check immutability at all levels
125
+ expect(result).not.toBe(target);
126
+ expect(result.a).not.toBe(target.a);
127
+ expect(result.a.b).not.toBe(target.a.b);
128
+ });
129
+ it('should replace non-object values', () => {
130
+ const target = {
131
+ a: {
132
+ b: 1
133
+ }
134
+ };
135
+ const source = {
136
+ a: 2
137
+ };
138
+ const result = merge(target, source);
139
+ expect(result).toEqual({ a: 2 });
140
+ expect(result).not.toBe(target);
141
+ expect(result).not.toBe(source);
142
+ });
143
+ });
144
+ describe('array handling', () => {
145
+ it('should replace arrays instead of merging', () => {
146
+ const target = {
147
+ a: [1, 2, 3],
148
+ b: {
149
+ c: [4, 5]
150
+ }
151
+ };
152
+ const source = {
153
+ a: [6, 7],
154
+ b: {
155
+ c: [8, 9, 10]
156
+ }
157
+ };
158
+ const result = merge(target, source);
159
+ expect(result).toEqual({
160
+ a: [6, 7],
161
+ b: {
162
+ c: [8, 9, 10]
163
+ }
164
+ });
165
+ // Arrays should be new references
166
+ expect(result.a).not.toBe(target.a);
167
+ expect(result.b.c).not.toBe(target.b.c);
168
+ });
169
+ it('should create new array references', () => {
170
+ const target = {
171
+ items: [1, 2, 3]
172
+ };
173
+ const source = {
174
+ items: [4, 5, 6]
175
+ };
176
+ const result = merge(target, source);
177
+ expect(result.items).toEqual([4, 5, 6]);
178
+ expect(result.items).not.toBe(target.items);
179
+ expect(result.items).not.toBe(source.items);
180
+ });
181
+ });
182
+ describe('edge cases', () => {
183
+ it('should handle non-object target', () => {
184
+ const target = 'string';
185
+ const source = { a: 1 };
186
+ const result = merge(target, source);
187
+ expect(result).toBe('string');
188
+ });
189
+ it('should handle non-object sources', () => {
190
+ const target = { a: 1 };
191
+ const source = 'string';
192
+ const result = merge(target, source);
193
+ expect(result).toEqual({ a: 1 });
194
+ expect(result).not.toBe(target);
195
+ });
196
+ it('should not mutate original target', () => {
197
+ const target = { a: 1, b: { c: 2 } };
198
+ const source = { b: { d: 3 } };
199
+ const originalTarget = JSON.parse(JSON.stringify(target));
200
+ merge(target, source);
201
+ expect(target).toEqual(originalTarget);
202
+ });
203
+ it('should handle undefined values in source', () => {
204
+ const target = { a: 1, b: 2 };
205
+ const source = { a: undefined, c: 3 };
206
+ const result = merge(target, source);
207
+ expect(result).toEqual({ a: 1, b: 2, c: 3 });
208
+ expect(result).not.toBe(target);
209
+ });
210
+ it('should handle null values', () => {
211
+ const target = { a: 1, b: 2 };
212
+ const source = { a: null, c: 3 };
213
+ const result = merge(target, source);
214
+ expect(result).toEqual({ a: null, b: 2, c: 3 });
215
+ expect(result).not.toBe(target);
216
+ });
217
+ it('should handle empty source objects', () => {
218
+ const target = { a: 1, b: 2 };
219
+ const source = {};
220
+ const result = merge(target, source);
221
+ expect(result).toEqual({ a: 1, b: 2 });
222
+ expect(result).not.toBe(target);
223
+ });
224
+ });
225
+ describe('type safety', () => {
226
+ it('should maintain type safety with typed objects', () => {
227
+ const user = {
228
+ id: 1,
229
+ name: 'John',
230
+ profile: {
231
+ age: 30,
232
+ email: 'john@example.com'
233
+ }
234
+ };
235
+ const updates = {
236
+ name: 'Jane',
237
+ profile: {
238
+ age: 31
239
+ }
240
+ };
241
+ const result = merge(user, updates);
242
+ expect(result).toEqual({
243
+ id: 1,
244
+ name: 'Jane',
245
+ profile: {
246
+ age: 31,
247
+ email: 'john@example.com'
248
+ }
249
+ });
250
+ // Type should be preserved
251
+ expect(typeof result['id']).toBe('number');
252
+ expect(typeof result['name']).toBe('string');
253
+ expect(typeof result['profile']['age']).toBe('number');
254
+ expect(typeof result['profile']['email']).toBe('string');
255
+ });
256
+ });
257
+ describe('complex scenarios', () => {
258
+ it('should handle theme-like objects', () => {
259
+ const defaultTheme = {
260
+ colors: {
261
+ primary: 'blue',
262
+ secondary: 'gray'
263
+ },
264
+ spacing: {
265
+ small: 8,
266
+ medium: 16
267
+ },
268
+ typography: {
269
+ fontFamily: 'Arial',
270
+ fontSize: 14
271
+ }
272
+ };
273
+ const customTheme = {
274
+ colors: {
275
+ primary: 'red',
276
+ accent: 'yellow'
277
+ },
278
+ spacing: {
279
+ large: 24
280
+ }
281
+ };
282
+ const result = merge(defaultTheme, customTheme);
283
+ expect(result).toEqual({
284
+ colors: {
285
+ primary: 'red',
286
+ secondary: 'gray',
287
+ accent: 'yellow'
288
+ },
289
+ spacing: {
290
+ small: 8,
291
+ medium: 16,
292
+ large: 24
293
+ },
294
+ typography: {
295
+ fontFamily: 'Arial',
296
+ fontSize: 14
297
+ }
298
+ });
299
+ // All nested objects should be new references
300
+ expect(result).not.toBe(defaultTheme);
301
+ expect(result.colors).not.toBe(defaultTheme.colors);
302
+ expect(result.spacing).not.toBe(defaultTheme.spacing);
303
+ expect(result.typography).not.toBe(defaultTheme.typography);
304
+ });
305
+ it('should handle deeply nested objects with mixed types', () => {
306
+ const target = {
307
+ config: {
308
+ database: {
309
+ host: 'localhost',
310
+ port: 5432,
311
+ credentials: {
312
+ username: 'admin',
313
+ password: 'secret'
314
+ }
315
+ },
316
+ features: ['auth', 'logging'],
317
+ debug: true
318
+ },
319
+ metadata: {
320
+ version: '1.0.0',
321
+ author: 'Developer'
322
+ }
323
+ };
324
+ const source = {
325
+ config: {
326
+ database: {
327
+ port: 3306,
328
+ credentials: {
329
+ username: 'root'
330
+ }
331
+ },
332
+ features: ['auth', 'logging', 'monitoring'],
333
+ production: false
334
+ }
335
+ };
336
+ const result = merge(target, source);
337
+ expect(result).toEqual({
338
+ config: {
339
+ database: {
340
+ host: 'localhost',
341
+ port: 3306,
342
+ credentials: {
343
+ username: 'root',
344
+ password: 'secret'
345
+ }
346
+ },
347
+ features: ['auth', 'logging', 'monitoring'],
348
+ debug: true,
349
+ production: false
350
+ },
351
+ metadata: {
352
+ version: '1.0.0',
353
+ author: 'Developer'
354
+ }
355
+ });
356
+ // Verify immutability
357
+ expect(result).not.toBe(target);
358
+ expect(result['config']).not.toBe(target['config']);
359
+ expect(result['config']['database']).not.toBe(target['config']['database']);
360
+ expect(result['metadata']).not.toBe(target['metadata']);
361
+ });
362
+ });
363
+ describe('performance and memory', () => {
364
+ it('should not create unnecessary references for primitive values', () => {
365
+ const target = { a: 1, b: 'string', c: true };
366
+ const source = { a: 2 };
367
+ const result = merge(target, source);
368
+ expect(result).toEqual({ a: 2, b: 'string', c: true });
369
+ expect(result).not.toBe(target);
370
+ });
371
+ it('should handle large objects efficiently', () => {
372
+ const target = {};
373
+ const source = {};
374
+ // Create large objects
375
+ for (let i = 0; i < 1000; i++) {
376
+ target[`key${i}`] = { value: i, nested: { deep: i * 2 } };
377
+ source[`key${i}`] = { value: i + 1000, nested: { deep: (i + 1000) * 2 } };
378
+ }
379
+ const result = merge(target, source);
380
+ expect(Object.keys(result)).toHaveLength(1000);
381
+ expect(result['key0']).toEqual({ value: 1000, nested: { deep: 2000 } });
382
+ expect(result['key999']).toEqual({ value: 1999, nested: { deep: 3998 } });
383
+ // Verify immutability
384
+ expect(result).not.toBe(target);
385
+ expect(result['key0']).not.toBe(target['key0']);
386
+ expect(result['key0']['nested']).not.toBe(target['key0']['nested']);
387
+ });
388
+ });
389
+ });
390
+ describe('mergeDeep', () => {
391
+ it('should create a new object without mutating original', () => {
392
+ const target = { a: 1, b: { c: 2 } };
393
+ const source = { b: { d: 3 } };
394
+ const originalTarget = JSON.parse(JSON.stringify(target));
395
+ const result = mergeDeep(target, source);
396
+ expect(result).toEqual({
397
+ a: 1,
398
+ b: {
399
+ c: 2,
400
+ d: 3
401
+ }
402
+ });
403
+ // Original should not be mutated
404
+ expect(target).toEqual(originalTarget);
405
+ });
406
+ it('should handle empty target', () => {
407
+ const target = {};
408
+ const source = { a: 1, b: { c: 2 } };
409
+ const result = mergeDeep(target, source);
410
+ expect(result).toEqual({ a: 1, b: { c: 2 } });
411
+ });
412
+ it('should create new references for all nested objects', () => {
413
+ const target = {
414
+ life: 100,
415
+ nested: {
416
+ value: 10
417
+ }
418
+ };
419
+ const source = { life: 90 };
420
+ const result = mergeDeep(target, source);
421
+ expect(result).toEqual({
422
+ life: 90,
423
+ nested: {
424
+ value: 10
425
+ }
426
+ });
427
+ // Critical test: nested objects should have new references
428
+ expect(result).not.toBe(target);
429
+ expect(result.nested).not.toBe(target.nested);
430
+ expect(result.nested).toEqual(target.nested);
431
+ });
432
+ });
433
+ //# sourceMappingURL=merge.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/merge.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export * from './is-valid-color';
1
+ export { merge, mergeDeep } from './merge';
2
+ export { isValidColor } from './is-valid-color';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +1,3 @@
1
- export * from './is-valid-color';
1
+ export { merge, mergeDeep } from './merge';
2
+ export { isValidColor } from './is-valid-color';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Deep merge utility function that recursively merges objects
3
+ * Similar to lodash.merge but implemented natively
4
+ */
5
+ /**
6
+ * Type for plain objects (not arrays, null, or other types)
7
+ */
8
+ type PlainObject = Record<string, unknown>;
9
+ /**
10
+ * Deep merge multiple objects into the first one
11
+ * @param target - The target object to merge into
12
+ * @param sources - Source objects to merge from
13
+ * @returns The merged object
14
+ */
15
+ export declare const merge: <T extends PlainObject>(target: T, ...sources: PlainObject[]) => T;
16
+ /**
17
+ * Deep merge that creates a new object without mutating the original
18
+ * @param target - The target object
19
+ * @param sources - Source objects to merge from
20
+ * @returns A new merged object
21
+ */
22
+ export declare const mergeDeep: <T extends PlainObject>(target: T, ...sources: PlainObject[]) => T;
23
+ export {};
24
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyC3C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,EACzC,QAAQ,CAAC,EACT,GAAG,SAAS,WAAW,EAAE,KACxB,CA+BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,EAC7C,QAAQ,CAAC,EACT,GAAG,SAAS,WAAW,EAAE,KACxB,CAEF,CAAC"}