UNPKG

@ralorotech/duino-ui

Version:
1 lines 26.5 kB
{"version":3,"sources":["../src/themes/ThemeProvider.tsx","../src/themes/ThemeSwitcher.tsx"],"names":["useState","jsx"],"mappings":";;;;;AAgCA,IAAM,YAAA,GAA2B;AAAA,EAC/B,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO;AAAA,MACL,EAAA,EAAI,SAAA;AAAA,MACJ,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK;AAAA,KACP;AAAA,IACA,MAAA,EAAQ,SAAA;AAAA,IACR,UAAA,EAAY,SAAA;AAAA,IACZ,UAAA,EAAY,SAAA;AAAA,IACZ,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,+HAAA;AAAA,EACN,OAAA,EAAS;AAAA,IACP,EAAA,EAAI,UAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI;AAAA;AAER,CAAA;AASA,IAAM,eAAe,aAAA,CAAgC;AAAA,EACnD,KAAA,EAAO,YAAA;AAAA,EACP,UAAU,MAAM;AAAA,EAAC,CAAA;AAAA,EACjB,YAAY,MAAM;AAAA,EAAC,CAAA;AAAA,EACnB,aAAa,MAAM;AAAA,EAAC;AACtB,CAAC,CAAA;AAGM,IAAM,YAAA,GAAe;AAAA,EAC1B,OAAA,EAAS,YAAA;AAAA,EAET,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA;AAAA,IACH,MAAA,EAAQ;AAAA,MACN,GAAG,YAAA,CAAa,MAAA;AAAA,MAChB,KAAA,EAAO;AAAA,QACL,EAAA,EAAI,SAAA;AAAA,QACJ,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK;AAAA,OACP;AAAA,MACA,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,GAAG,YAAA;AAAA,IACH,MAAA,EAAQ;AAAA,MACN,GAAG,YAAA,CAAa,MAAA;AAAA,MAChB,KAAA,EAAO;AAAA,QACL,EAAA,EAAI,SAAA;AAAA,QACJ,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK;AAAA,OACP;AAAA,MACA,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,GAAG,YAAA;AAAA,IACH,MAAA,EAAQ;AAAA,MACN,GAAG,YAAA,CAAa,MAAA;AAAA,MAChB,KAAA,EAAO;AAAA,QACL,EAAA,EAAI,SAAA;AAAA,QACJ,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK,SAAA;AAAA,QACL,GAAA,EAAK;AAAA,OACP;AAAA,MACA,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,GACV;AAAA,EAEA,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA;AAAA,IACH,MAAA,EAAQ;AAAA,MACN,GAAG,YAAA,CAAa,MAAA;AAAA,MAChB,UAAA,EAAY,SAAA;AAAA,MACZ,UAAA,EAAY,SAAA;AAAA,MACZ,KAAA,EAAO,SAAA;AAAA,MACP,MAAA,EAAQ;AAAA;AACV;AAEJ;AAQO,IAAM,gBAA8C,CAAC;AAAA,EAC1D,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,KAAA,EAAO,aAAa,CAAA,GAAI,SAAqB,MAAM;AACxD,IAAA,IAAI,MAAA,EAAQ;AACV,MAAA,OAAO,EAAE,GAAG,YAAA,CAAa,MAAM,CAAA,EAAG,GAAG,YAAA,EAAa;AAAA,IACpD;AACA,IAAA,OAAO,EAAE,GAAG,YAAA,EAAc,GAAG,YAAA,EAAa;AAAA,EAC5C,CAAC,CAAA;AAED,EAAA,MAAM,QAAA,GAAW,CAAC,QAAA,KAAkC;AAClD,IAAA,aAAA,CAAc,CAAA,IAAA,KAAK;AA9KvB,MAAA,IAAA,EAAA;AA8K2B,MAAA,OAAA;AAAA,QACrB,GAAG,IAAA;AAAA,QACH,GAAG,QAAA;AAAA,QACH,MAAA,EAAQ;AAAA,UACN,GAAG,IAAA,CAAK,MAAA;AAAA,UACR,GAAI,QAAA,CAAS,MAAA,IAAU,EAAC;AAAA,UACxB,KAAA,EAAO,EAAE,GAAG,IAAA,CAAK,MAAA,CAAO,KAAA,EAAO,GAAA,CAAA,CAAI,EAAA,GAAA,QAAA,CAAS,MAAA,KAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAiB,KAAA,KAAS,EAAC;AAAG,SACnE;AAAA,QACA,OAAA,EAAS,EAAE,GAAG,IAAA,CAAK,SAAS,GAAI,QAAA,CAAS,OAAA,IAAW,EAAC;AAAG,OAC1D;AAAA,IAAA,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,aAAA,CAAc,YAAY,CAAA;AAAA,EAC5B,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,UAAA,KAA0C;AAC7D,IAAA,aAAA,CAAc,YAAA,CAAa,UAAU,CAAC,CAAA;AAAA,EACxC,CAAA;AAGA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAO,QAAA,CAAS,eAAA;AAGtB,IAAA,MAAA,CAAO,OAAA,CAAQ,KAAA,CAAM,MAAA,CAAO,KAAK,CAAA,CAAE,QAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAC3D,MAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,CAAA,cAAA,EAAiB,GAAG,IAAI,KAAK,CAAA;AAAA,IACtD,CAAC,CAAA;AAGD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,oBAAA,EAAsB,KAAA,CAAM,OAAO,MAAM,CAAA;AAChE,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,kBAAA,EAAoB,KAAA,CAAM,OAAO,UAAU,CAAA;AAClE,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,kBAAA,EAAoB,KAAA,CAAM,OAAO,UAAU,CAAA;AAClE,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,qBAAA,EAAuB,KAAA,CAAM,OAAO,KAAK,CAAA;AAChE,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,gBAAA,EAAkB,KAAA,CAAM,OAAO,MAAM,CAAA;AAC5D,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,cAAA,EAAgB,KAAA,CAAM,OAAO,IAAI,CAAA;AAGxD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,gBAAA,EAAkB,KAAA,CAAM,MAAM,CAAA;AACrD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,cAAA,EAAgB,KAAA,CAAM,IAAI,CAAA;AACjD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,gBAAA,EAAkB,KAAA,CAAM,QAAQ,EAAE,CAAA;AACzD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,aAAA,EAAe,KAAA,CAAM,QAAQ,EAAE,CAAA;AACtD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,gBAAA,EAAkB,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,EAC3D,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,QAAA,EAAb,EAAsB,KAAA,EAAO,EAAE,KAAA,EAAO,QAAA,EAAU,UAAA,EAAY,WAAA,EAAY,EACtE,QAAA,EACH,CAAA;AAEJ;AAEO,IAAM,WAAW,MAAwB;AAC9C,EAAA,MAAM,OAAA,GAAU,WAAW,YAAY,CAAA;AACvC,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,8CAA8C,CAAA;AAAA,EAChE;AACA,EAAA,OAAO,OAAA;AACT;AC9NO,IAAM,gBAA8C,CAAC;AAAA,EAC1D,SAAA,GAAY,EAAA;AAAA,EACZ,eAAA,GAAkB,IAAA;AAAA,EAClB,WAAA,GAAc,IAAA;AAAA,EACd,iBAAA,GAAoB;AACtB,CAAA,KAAM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAO,WAAA,EAAa,QAAA,EAAU,UAAA,KAAe,QAAA,EAAS;AAC9D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,SAAS,SAAS,CAAA;AACxD,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,SAAS,IAAI,CAAA;AAErD,EAAA,MAAM,kBAAA,GAAqB,CAAC,UAAA,KAA0C;AACpE,IAAA,WAAA,CAAY,UAAU,CAAA;AAAA,EACxB,CAAA;AAEA,EAAA,MAAM,uBAAA,GAA0B,CAAC,KAAA,KAAkB;AACjD,IAAA,cAAA,CAAe,KAAK,CAAA;AAEpB,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,EAAA,EAAI,sBAAsB,KAAK,CAAA,WAAA,CAAA;AAAA,MAC/B,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,KAAA;AAAA,MACL,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA,CAAA;AAAA,MAChC,GAAA,EAAK,sBAAsB,KAAK,CAAA,YAAA;AAAA,KAClC;AAEA,IAAA,QAAA,CAAS;AAAA,MACP,MAAA,EAAQ;AAAA,QACN,GAAG,KAAA,CAAM,MAAA;AAAA,QACT,KAAA,EAAO,OAAA;AAAA,QACP,IAAA,EAAM,QAAQ,GAAG;AAAA;AACnB,KACD,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,MAAA,KAAmB;AAC7C,IAAA,eAAA,CAAgB,MAAM,CAAA;AACtB,IAAA,QAAA,CAAS,EAAE,MAAA,EAAQ,CAAA,EAAG,MAAM,MAAM,CAAA;AAAA,EACpC,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,SAAS,EAAE,IAAA,EAAM,WAAW,KAAA,EAAO,SAAA,EAAW,aAAa,4BAAA,EAA0B;AAAA,IACrF,MAAM,EAAE,IAAA,EAAM,QAAQ,KAAA,EAAO,SAAA,EAAW,aAAa,kBAAA,EAAmB;AAAA,IACxE,QAAQ,EAAE,IAAA,EAAM,cAAW,KAAA,EAAO,SAAA,EAAW,aAAa,oBAAA,EAAkB;AAAA,IAC5E,SAAS,EAAE,IAAA,EAAM,WAAW,KAAA,EAAO,SAAA,EAAW,aAAa,kBAAA,EAAmB;AAAA,IAC9E,MAAM,EAAE,IAAA,EAAM,UAAU,KAAA,EAAO,SAAA,EAAW,aAAa,aAAA;AAAc,GACvE;AAEA,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,qBAAA,EAAwB,SAAS,IAAI,KAAA,EAAO;AAAA,IAC1D,OAAA,EAAS,MAAA;AAAA,IACT,MAAA,EAAQ,+BAAA;AAAA,IACR,YAAA,EAAc,qBAAA;AAAA,IACd,eAAA,EAAiB,uBAAA;AAAA,IACjB,UAAA,EAAY;AAAA,GACd,EACE,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,QAAG,KAAA,EAAO;AAAA,MACT,MAAA,EAAQ,YAAA;AAAA,MACR,KAAA,EAAO,uBAAA;AAAA,MACP,QAAA,EAAU,MAAA;AAAA,MACV,UAAA,EAAY;AAAA,OACX,QAAA,EAAA,6BAAA,EAEH,CAAA;AAAA,IAEC,+BACC,IAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,YAAA,EAAc,QAAO,EACjC,QAAA,EAAA;AAAA,sBAAAA,GAAAA,CAAC,QAAG,KAAA,EAAO;AAAA,QACT,MAAA,EAAQ,YAAA;AAAA,QACR,KAAA,EAAO,uBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,UAAA,EAAY;AAAA,SACX,QAAA,EAAA,oBAAA,EAEH,CAAA;AAAA,sBACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO;AAAA,QACV,OAAA,EAAS,MAAA;AAAA,QACT,mBAAA,EAAqB,sCAAA;AAAA,QACrB,GAAA,EAAK;AAAA,OACP,EACG,QAAA,EAAA,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAK,IAAI,CAAA,qBACzC,IAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UAEC,OAAA,EAAS,MAAM,kBAAA,CAAmB,GAAgC,CAAA;AAAA,UAClE,SAAA,EAAU,4BAAA;AAAA,UACV,KAAA,EAAO;AAAA,YACL,OAAA,EAAS,MAAA;AAAA,YACT,UAAA,EAAY,QAAA;AAAA,YACZ,GAAA,EAAK,KAAA;AAAA,YACL,cAAA,EAAgB,YAAA;AAAA,YAChB,OAAA,EAAS,UAAA;AAAA,YACT,SAAA,EAAW;AAAA,WACb;AAAA,UAEA,QAAA,EAAA;AAAA,4BAAAA,GAAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAO;AAAA,kBACL,KAAA,EAAO,MAAA;AAAA,kBACP,MAAA,EAAQ,MAAA;AAAA,kBACR,YAAA,EAAc,KAAA;AAAA,kBACd,iBAAiB,IAAA,CAAK,KAAA;AAAA,kBACtB,UAAA,EAAY;AAAA;AACd;AAAA,aACF;AAAA,iCACC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,8BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,QAAQ,UAAA,EAAY,KAAA,EAAM,EAC/C,QAAA,EAAA,IAAA,CAAK,IAAA,EACR,CAAA;AAAA,8BACAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,QAAA,EAAU,MAAA,EAAQ,OAAA,EAAS,GAAA,EAAI,EAC1C,QAAA,EAAA,IAAA,CAAK,WAAA,EACR;AAAA,aAAA,EACF;AAAA;AAAA,SAAA;AAAA,QA5BK;AAAA,OA8BR,CAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,IAGD,mCACC,IAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,YAAA,EAAc,QAAO,EACjC,QAAA,EAAA;AAAA,sBAAAA,GAAAA,CAAC,QAAG,KAAA,EAAO;AAAA,QACT,MAAA,EAAQ,YAAA;AAAA,QACR,KAAA,EAAO,uBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,UAAA,EAAY;AAAA,SACX,QAAA,EAAA,qBAAA,EAEH,CAAA;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,MAAA,EAAO,EAC/D,QAAA,EAAA;AAAA,wBAAAA,GAAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,KAAA,EAAO,WAAA;AAAA,YACP,UAAU,CAAC,CAAA,KAAM,uBAAA,CAAwB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,YACvD,KAAA,EAAO;AAAA,cACL,KAAA,EAAO,MAAA;AAAA,cACP,MAAA,EAAQ,MAAA;AAAA,cACR,YAAA,EAAc,qBAAA;AAAA,cACd,MAAA,EAAQ,+BAAA;AAAA,cACR,MAAA,EAAQ;AAAA;AACV;AAAA,SACF;AAAA,wBACAA,GAAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,MAAA;AAAA,YACL,KAAA,EAAO,WAAA;AAAA,YACP,UAAU,CAAC,CAAA,KAAM,uBAAA,CAAwB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,YACvD,WAAA,EAAY,SAAA;AAAA,YACZ,KAAA,EAAO;AAAA,cACL,IAAA,EAAM,CAAA;AAAA,cACN,OAAA,EAAS,UAAA;AAAA,cACT,YAAA,EAAc,qBAAA;AAAA,cACd,MAAA,EAAQ,+BAAA;AAAA,cACR,QAAA,EAAU,MAAA;AAAA,cACV,UAAA,EAAY;AAAA;AACd;AAAA;AACF,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,IAGD,qCACC,IAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,YAAA,EAAc,QAAO,EACjC,QAAA,EAAA;AAAA,sBAAAA,GAAAA,CAAC,QAAG,KAAA,EAAO;AAAA,QACT,MAAA,EAAQ,YAAA;AAAA,QACR,KAAA,EAAO,uBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,UAAA,EAAY;AAAA,SACX,QAAA,EAAA,eAAA,EAEH,CAAA;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,MAAA,EAAO,EAC/D,QAAA,EAAA;AAAA,wBAAAA,GAAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,GAAA,EAAI,GAAA;AAAA,YACJ,GAAA,EAAI,IAAA;AAAA,YACJ,KAAA,EAAO,YAAA;AAAA,YACP,UAAU,CAAC,CAAA,KAAM,kBAAA,CAAmB,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,YAClD,KAAA,EAAO,EAAE,IAAA,EAAM,CAAA;AAAE;AAAA,SACnB;AAAA,wBACA,IAAA,CAAC,UAAK,KAAA,EAAO;AAAA,UACX,QAAA,EAAU,MAAA;AAAA,UACV,QAAA,EAAU,MAAA;AAAA,UACV,UAAA,EAAY,WAAA;AAAA,UACZ,KAAA,EAAO;AAAA,SACT,EACG,QAAA,EAAA;AAAA,UAAA,YAAA;AAAA,UAAa;AAAA,SAAA,EAChB;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAGF,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,QAAQ,GAAA,EAAK,KAAA,EAAO,QAAA,EAAU,MAAA,EAAO,EAC1D,QAAA,EAAA;AAAA,sBAAAA,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAS,UAAA;AAAA,UACT,SAAA,EAAU,gCAAA;AAAA,UACV,KAAA,EAAO,EAAE,QAAA,EAAU,MAAA,EAAO;AAAA,UAC3B,QAAA,EAAA;AAAA;AAAA,OAED;AAAA,sBAEAA,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,SAAS,MAAM;AACb,YAAA,MAAM,GAAA,GAAM,iBAAiB,KAAK,CAAA;AAClC,YAAA,SAAA,CAAU,SAAA,CAAU,UAAU,GAAG,CAAA;AACjC,YAAA,KAAA,CAAM,kCAA+B,CAAA;AAAA,UACvC,CAAA;AAAA,UACA,SAAA,EAAU,4BAAA;AAAA,UACV,KAAA,EAAO,EAAE,QAAA,EAAU,MAAA,EAAO;AAAA,UAC3B,QAAA,EAAA;AAAA;AAAA;AAED,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAGA,IAAM,gBAAA,GAAmB,CAAC,KAAA,KAAe;AACvC,EAAA,MAAM,WAAA,GAAc,OAAO,OAAA,CAAQ,KAAA,CAAM,OAAO,KAAK,CAAA,CAClD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAA,KAAM,mBAAmB,GAAG,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAG,CAAA,CACzD,KAAK,IAAI,CAAA;AAEZ,EAAA,OAAO,CAAA;AAAA,EACP,WAAW;AAAA,sBAAA,EACW,KAAA,CAAM,OAAO,MAAM,CAAA;AAAA,oBAAA,EACrB,KAAA,CAAM,OAAO,UAAU,CAAA;AAAA,oBAAA,EACvB,KAAA,CAAM,OAAO,UAAU,CAAA;AAAA,uBAAA,EACpB,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,kBAAA,EACvB,KAAA,CAAM,OAAO,MAAM,CAAA;AAAA,gBAAA,EACrB,KAAA,CAAM,OAAO,IAAI,CAAA;AAAA,kBAAA,EACf,MAAM,MAAM,CAAA;AAAA,gBAAA,EACd,MAAM,IAAI,CAAA;AAAA,kBAAA,EACR,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,eAAA,EACnB,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,kBAAA,EACb,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,CAAA,CAAA;AAEpC,CAAA","file":"index.mjs","sourcesContent":["import React, { createContext, useContext, useEffect, useState, ReactNode } from 'react';\n\nexport type DuinoTheme = {\n colors: {\n brand: {\n 50: string;\n 100: string;\n 200: string;\n 300: string;\n 400: string;\n 500: string;\n 600: string;\n 700: string;\n 800: string;\n 900: string;\n };\n danger: string;\n background: string;\n foreground: string;\n muted: string;\n border: string;\n ring: string;\n };\n radius: string;\n font: string;\n spacing: {\n sm: string;\n md: string;\n lg: string;\n };\n};\n\nconst defaultTheme: DuinoTheme = {\n colors: {\n brand: {\n 50: '#f0fdfa',\n 100: '#ccfbf1',\n 200: '#99f6e4',\n 300: '#5eead4',\n 400: '#2dd4bf',\n 500: '#14b8a6',\n 600: '#0d9488',\n 700: '#008184',\n 800: '#005c5f',\n 900: '#134e4a',\n },\n danger: '#ef4444',\n background: '#ffffff',\n foreground: '#13151a',\n muted: '#6b7280',\n border: '#e5e7eb',\n ring: '#5eead4',\n },\n radius: '12px',\n font: 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Inter, Arial, \"Noto Sans\", \"Apple Color Emoji\", \"Segoe UI Emoji\"',\n spacing: {\n sm: '0.375rem',\n md: '0.5rem',\n lg: '0.75rem',\n },\n};\n\ntype ThemeContextType = {\n theme: DuinoTheme;\n setTheme: (theme: Partial<DuinoTheme>) => void;\n resetTheme: () => void;\n applyPreset: (preset: keyof typeof themePresets) => void;\n};\n\nconst ThemeContext = createContext<ThemeContextType>({\n theme: defaultTheme,\n setTheme: () => {},\n resetTheme: () => {},\n applyPreset: () => {},\n});\n\n// Presets de temas predefinidos\nexport const themePresets = {\n arduino: defaultTheme,\n \n blue: {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n brand: {\n 50: '#eff6ff',\n 100: '#dbeafe',\n 200: '#bfdbfe',\n 300: '#93c5fd',\n 400: '#60a5fa',\n 500: '#3b82f6',\n 600: '#2563eb',\n 700: '#1d4ed8',\n 800: '#1e40af',\n 900: '#1e3a8a',\n },\n ring: '#93c5fd',\n },\n radius: '8px',\n } as DuinoTheme,\n \n purple: {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n brand: {\n 50: '#faf5ff',\n 100: '#f3e8ff',\n 200: '#e9d5ff',\n 300: '#d8b4fe',\n 400: '#c084fc',\n 500: '#a855f7',\n 600: '#9333ea',\n 700: '#7c3aed',\n 800: '#6b21a8',\n 900: '#581c87',\n },\n ring: '#d8b4fe',\n },\n radius: '16px',\n } as DuinoTheme,\n \n minimal: {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n brand: {\n 50: '#f9fafb',\n 100: '#f3f4f6',\n 200: '#e5e7eb',\n 300: '#d1d5db',\n 400: '#9ca3af',\n 500: '#6b7280',\n 600: '#4b5563',\n 700: '#374151',\n 800: '#1f2937',\n 900: '#111827',\n },\n ring: '#d1d5db',\n },\n radius: '4px',\n } as DuinoTheme,\n \n dark: {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n background: '#1f2937',\n foreground: '#f9fafb',\n muted: '#9ca3af',\n border: '#374151',\n },\n } as DuinoTheme,\n};\n\nexport interface ThemeProviderProps {\n children: ReactNode;\n initialTheme?: Partial<DuinoTheme>;\n preset?: keyof typeof themePresets;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\n children,\n initialTheme,\n preset,\n}) => {\n const [theme, setThemeState] = useState<DuinoTheme>(() => {\n if (preset) {\n return { ...themePresets[preset], ...initialTheme };\n }\n return { ...defaultTheme, ...initialTheme };\n });\n\n const setTheme = (newTheme: Partial<DuinoTheme>) => {\n setThemeState(prev => ({\n ...prev,\n ...newTheme,\n colors: { \n ...prev.colors, \n ...(newTheme.colors || {}),\n brand: { ...prev.colors.brand, ...(newTheme.colors?.brand || {}) }\n },\n spacing: { ...prev.spacing, ...(newTheme.spacing || {}) },\n }));\n };\n\n const resetTheme = () => {\n setThemeState(defaultTheme);\n };\n\n const applyPreset = (presetName: keyof typeof themePresets) => {\n setThemeState(themePresets[presetName]);\n };\n\n // Aplicar tema al DOM\n useEffect(() => {\n const root = document.documentElement;\n \n // Aplicar colores de marca\n Object.entries(theme.colors.brand).forEach(([key, value]) => {\n root.style.setProperty(`--duino-brand-${key}`, value);\n });\n \n // Aplicar otros colores\n root.style.setProperty('--duino-danger-500', theme.colors.danger);\n root.style.setProperty('--duino-color-bg', theme.colors.background);\n root.style.setProperty('--duino-color-fg', theme.colors.foreground);\n root.style.setProperty('--duino-color-muted', theme.colors.muted);\n root.style.setProperty('--duino-border', theme.colors.border);\n root.style.setProperty('--duino-ring', theme.colors.ring);\n \n // Aplicar otras propiedades\n root.style.setProperty('--duino-radius', theme.radius);\n root.style.setProperty('--duino-font', theme.font);\n root.style.setProperty('--duino-gap-sm', theme.spacing.sm);\n root.style.setProperty('--duino-gap', theme.spacing.md);\n root.style.setProperty('--duino-gap-lg', theme.spacing.lg);\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={{ theme, setTheme, resetTheme, applyPreset }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeContextType => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n\n// Hook para generar paleta de colores desde un color base\nexport const useColorPalette = () => {\n const generatePalette = (baseColor: string) => {\n // Función simplificada para generar paleta\n // En producción, usar una librería como chroma.js\n const palette = {\n 50: `color-mix(in srgb, ${baseColor} 5%, white)`,\n 100: `color-mix(in srgb, ${baseColor} 10%, white)`,\n 200: `color-mix(in srgb, ${baseColor} 25%, white)`,\n 300: `color-mix(in srgb, ${baseColor} 40%, white)`,\n 400: `color-mix(in srgb, ${baseColor} 70%, white)`,\n 500: baseColor,\n 600: `color-mix(in srgb, ${baseColor} 90%, black)`,\n 700: `color-mix(in srgb, ${baseColor} 80%, black)`,\n 800: `color-mix(in srgb, ${baseColor} 70%, black)`,\n 900: `color-mix(in srgb, ${baseColor} 60%, black)`,\n };\n \n return palette;\n };\n\n return { generatePalette };\n};\n","import React, { useState } from 'react';\nimport { useTheme, themePresets } from './ThemeProvider';\n\nexport interface ThemeSwitcherProps {\n className?: string;\n showColorPicker?: boolean;\n showPresets?: boolean;\n showCustomization?: boolean;\n}\n\nexport const ThemeSwitcher: React.FC<ThemeSwitcherProps> = ({\n className = '',\n showColorPicker = true,\n showPresets = true,\n showCustomization = true,\n}) => {\n const { theme, applyPreset, setTheme, resetTheme } = useTheme();\n const [customColor, setCustomColor] = useState('#14b8a6');\n const [customRadius, setCustomRadius] = useState('12');\n\n const handlePresetChange = (presetName: keyof typeof themePresets) => {\n applyPreset(presetName);\n };\n\n const handleCustomColorChange = (color: string) => {\n setCustomColor(color);\n // Generar paleta básica desde el color\n const palette = {\n 50: `color-mix(in srgb, ${color} 5%, white)`,\n 100: `color-mix(in srgb, ${color} 10%, white)`,\n 200: `color-mix(in srgb, ${color} 25%, white)`,\n 300: `color-mix(in srgb, ${color} 40%, white)`,\n 400: `color-mix(in srgb, ${color} 70%, white)`,\n 500: color,\n 600: `color-mix(in srgb, ${color} 90%, black)`,\n 700: `color-mix(in srgb, ${color} 80%, black)`,\n 800: `color-mix(in srgb, ${color} 70%, black)`,\n 900: `color-mix(in srgb, ${color} 60%, black)`,\n };\n\n setTheme({\n colors: {\n ...theme.colors,\n brand: palette,\n ring: palette[300],\n },\n });\n };\n\n const handleRadiusChange = (radius: string) => {\n setCustomRadius(radius);\n setTheme({ radius: `${radius}px` });\n };\n\n const presetInfo = {\n arduino: { name: 'Arduino', color: '#14b8a6', description: 'Teal clásico de Arduino' },\n blue: { name: 'Azul', color: '#3b82f6', description: 'Azul corporativo' },\n purple: { name: 'Púrpura', color: '#a855f7', description: 'Púrpura moderno' },\n minimal: { name: 'Minimal', color: '#6b7280', description: 'Gris minimalista' },\n dark: { name: 'Oscuro', color: '#14b8a6', description: 'Tema oscuro' },\n };\n\n return (\n <div className={`duino-theme-switcher ${className}`} style={{ \n padding: '20px', \n border: '1px solid var(--duino-border)', \n borderRadius: 'var(--duino-radius)',\n backgroundColor: 'var(--duino-color-bg)',\n fontFamily: 'var(--duino-font)'\n }}>\n <h3 style={{ \n margin: '0 0 16px 0', \n color: 'var(--duino-color-fg)',\n fontSize: '18px',\n fontWeight: '600'\n }}>\n 🎨 Personalizar Tema\n </h3>\n\n {showPresets && (\n <div style={{ marginBottom: '24px' }}>\n <h4 style={{ \n margin: '0 0 12px 0', \n color: 'var(--duino-color-fg)',\n fontSize: '14px',\n fontWeight: '500'\n }}>\n Temas Predefinidos\n </h4>\n <div style={{ \n display: 'grid', \n gridTemplateColumns: 'repeat(auto-fit, minmax(200px, 1fr))',\n gap: '8px'\n }}>\n {Object.entries(presetInfo).map(([key, info]) => (\n <button\n key={key}\n onClick={() => handlePresetChange(key as keyof typeof themePresets)}\n className=\"duino-btn duino-btn--ghost\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n justifyContent: 'flex-start',\n padding: '8px 12px',\n textAlign: 'left'\n }}\n >\n <div\n style={{\n width: '16px',\n height: '16px',\n borderRadius: '50%',\n backgroundColor: info.color,\n flexShrink: 0,\n }}\n />\n <div>\n <div style={{ fontSize: '14px', fontWeight: '500' }}>\n {info.name}\n </div>\n <div style={{ fontSize: '12px', opacity: 0.7 }}>\n {info.description}\n </div>\n </div>\n </button>\n ))}\n </div>\n </div>\n )}\n\n {showColorPicker && (\n <div style={{ marginBottom: '24px' }}>\n <h4 style={{ \n margin: '0 0 12px 0', \n color: 'var(--duino-color-fg)',\n fontSize: '14px',\n fontWeight: '500'\n }}>\n Color Personalizado\n </h4>\n <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>\n <input\n type=\"color\"\n value={customColor}\n onChange={(e) => handleCustomColorChange(e.target.value)}\n style={{\n width: '40px',\n height: '40px',\n borderRadius: 'var(--duino-radius)',\n border: '1px solid var(--duino-border)',\n cursor: 'pointer',\n }}\n />\n <input\n type=\"text\"\n value={customColor}\n onChange={(e) => handleCustomColorChange(e.target.value)}\n placeholder=\"#14b8a6\"\n style={{\n flex: 1,\n padding: '8px 12px',\n borderRadius: 'var(--duino-radius)',\n border: '1px solid var(--duino-border)',\n fontSize: '14px',\n fontFamily: 'monospace',\n }}\n />\n </div>\n </div>\n )}\n\n {showCustomization && (\n <div style={{ marginBottom: '24px' }}>\n <h4 style={{ \n margin: '0 0 12px 0', \n color: 'var(--duino-color-fg)',\n fontSize: '14px',\n fontWeight: '500'\n }}>\n Border Radius\n </h4>\n <div style={{ display: 'flex', alignItems: 'center', gap: '12px' }}>\n <input\n type=\"range\"\n min=\"0\"\n max=\"24\"\n value={customRadius}\n onChange={(e) => handleRadiusChange(e.target.value)}\n style={{ flex: 1 }}\n />\n <span style={{ \n minWidth: '50px', \n fontSize: '14px',\n fontFamily: 'monospace',\n color: 'var(--duino-color-muted)'\n }}>\n {customRadius}px\n </span>\n </div>\n </div>\n )}\n\n <div style={{ display: 'flex', gap: '8px', flexWrap: 'wrap' }}>\n <button\n onClick={resetTheme}\n className=\"duino-btn duino-btn--secondary\"\n style={{ fontSize: '14px' }}\n >\n Resetear\n </button>\n \n <button\n onClick={() => {\n const css = generateThemeCSS(theme);\n navigator.clipboard.writeText(css);\n alert('¡CSS copiado al portapapeles!');\n }}\n className=\"duino-btn duino-btn--ghost\"\n style={{ fontSize: '14px' }}\n >\n Copiar CSS\n </button>\n </div>\n </div>\n );\n};\n\n// Función para generar CSS del tema actual\nconst generateThemeCSS = (theme: any) => {\n const brandColors = Object.entries(theme.colors.brand)\n .map(([key, value]) => ` --duino-brand-${key}: ${value};`)\n .join('\\n');\n\n return `:root {\n${brandColors}\n --duino-danger-500: ${theme.colors.danger};\n --duino-color-bg: ${theme.colors.background};\n --duino-color-fg: ${theme.colors.foreground};\n --duino-color-muted: ${theme.colors.muted};\n --duino-border: ${theme.colors.border};\n --duino-ring: ${theme.colors.ring};\n --duino-radius: ${theme.radius};\n --duino-font: ${theme.font};\n --duino-gap-sm: ${theme.spacing.sm};\n --duino-gap: ${theme.spacing.md};\n --duino-gap-lg: ${theme.spacing.lg};\n}`;\n};\n"]}