@keboola/design 9.0.0 → 10.1.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.
Files changed (84) hide show
  1. package/AGENTS.md +117 -40
  2. package/COMPONENT-API.md +31 -9
  3. package/README.md +3 -3
  4. package/dist/MermaidDiagram-EOKJHQQV.js +10 -0
  5. package/dist/MermaidDiagram-EOKJHQQV.js.map +1 -0
  6. package/dist/charts.d.ts +31 -2
  7. package/dist/charts.js +6 -9
  8. package/dist/charts.js.map +1 -1
  9. package/dist/chunk-63NSN2VL.js +274 -0
  10. package/dist/chunk-63NSN2VL.js.map +1 -0
  11. package/dist/{rjsf.cjs → chunk-6FPEI4EM.js} +1560 -5712
  12. package/dist/chunk-6FPEI4EM.js.map +1 -0
  13. package/dist/chunk-7PUUHEJQ.js +1313 -0
  14. package/dist/chunk-7PUUHEJQ.js.map +1 -0
  15. package/dist/chunk-BOHNXTMM.js +606 -0
  16. package/dist/chunk-BOHNXTMM.js.map +1 -0
  17. package/dist/{testing.cjs → chunk-C3L3TBBT.js} +33 -164
  18. package/dist/chunk-C3L3TBBT.js.map +1 -0
  19. package/dist/chunk-CTCFYWJC.js +407 -0
  20. package/dist/chunk-CTCFYWJC.js.map +1 -0
  21. package/dist/chunk-ESBL3IPF.js +23 -0
  22. package/dist/chunk-ESBL3IPF.js.map +1 -0
  23. package/dist/chunk-IJTHFNNJ.js +261 -0
  24. package/dist/chunk-IJTHFNNJ.js.map +1 -0
  25. package/dist/chunk-JP7PNHLH.js +40 -0
  26. package/dist/chunk-JP7PNHLH.js.map +1 -0
  27. package/dist/chunk-KPNAW5MU.js +229 -0
  28. package/dist/chunk-KPNAW5MU.js.map +1 -0
  29. package/dist/chunk-L37JJ6MR.js +152 -0
  30. package/dist/chunk-L37JJ6MR.js.map +1 -0
  31. package/dist/chunk-Q7NWXLCT.js +90 -0
  32. package/dist/chunk-Q7NWXLCT.js.map +1 -0
  33. package/dist/chunk-SYIEF644.js +1016 -0
  34. package/dist/chunk-SYIEF644.js.map +1 -0
  35. package/dist/chunk-VMFSRV5H.js +16 -0
  36. package/dist/chunk-VMFSRV5H.js.map +1 -0
  37. package/dist/chunk-VPPM7UUQ.js +47 -0
  38. package/dist/chunk-VPPM7UUQ.js.map +1 -0
  39. package/dist/chunk-XV3UUOYF.js +845 -0
  40. package/dist/chunk-XV3UUOYF.js.map +1 -0
  41. package/dist/editors.d.ts +53 -5
  42. package/dist/editors.js +85 -2097
  43. package/dist/editors.js.map +1 -1
  44. package/dist/icons.d.ts +29 -8
  45. package/dist/icons.js +2 -361
  46. package/dist/icons.js.map +1 -1
  47. package/dist/index.d.ts +735 -426
  48. package/dist/index.js +5029 -13796
  49. package/dist/index.js.map +1 -1
  50. package/dist/markdown-editor.js +41 -3426
  51. package/dist/markdown-editor.js.map +1 -1
  52. package/dist/mermaid.js +8 -1129
  53. package/dist/mermaid.js.map +1 -1
  54. package/dist/rjsf.js +97 -9240
  55. package/dist/rjsf.js.map +1 -1
  56. package/dist/styles.css +1 -1
  57. package/dist/testing.js +5 -357
  58. package/dist/testing.js.map +1 -1
  59. package/package.json +29 -74
  60. package/src/styles.css +60 -3
  61. package/src/theme.css +1 -0
  62. package/dist/charts.cjs +0 -268
  63. package/dist/charts.cjs.map +0 -1
  64. package/dist/charts.d.cts +0 -181
  65. package/dist/constants-D3gaMY-W.d.cts +0 -39
  66. package/dist/editors.cjs +0 -2456
  67. package/dist/editors.cjs.map +0 -1
  68. package/dist/editors.d.cts +0 -141
  69. package/dist/icons.cjs +0 -23888
  70. package/dist/icons.cjs.map +0 -1
  71. package/dist/icons.d.cts +0 -20
  72. package/dist/index.cjs +0 -24817
  73. package/dist/index.cjs.map +0 -1
  74. package/dist/index.d.cts +0 -10413
  75. package/dist/markdown-editor.cjs +0 -4636
  76. package/dist/markdown-editor.cjs.map +0 -1
  77. package/dist/markdown-editor.d.cts +0 -75
  78. package/dist/mermaid.cjs +0 -1138
  79. package/dist/mermaid.cjs.map +0 -1
  80. package/dist/mermaid.d.cts +0 -15
  81. package/dist/rjsf.cjs.map +0 -1
  82. package/dist/rjsf.d.cts +0 -55
  83. package/dist/testing.cjs.map +0 -1
  84. package/dist/testing.d.cts +0 -25
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/flags/Eu.tsx","../src/icons/flags/Us.tsx","../src/icons/brandIcon.ts","../src/icons/vendors/Aws.tsx","../src/icons/vendors/Azure.tsx","../src/icons/vendors/ChatGpt.tsx","../src/icons/vendors/Claude.tsx","../src/icons/vendors/Cursor.tsx","../src/icons/vendors/Devin.tsx","../src/icons/vendors/Gcp.tsx","../src/icons/vendors/Google.tsx","../src/icons/vendors/Keboola.tsx","../src/icons/vendors/Make.tsx","../src/icons/vendors/Microsoft.tsx"],"names":["forwardRef","jsxs","jsx","useId"],"mappings":";;;;;AAKA,IAAM,IAAA,GACJ,wHAAA;AAEF,IAAM,cAAA,GAAiB,MAAM,IAAA,CAAK,EAAE,QAAQ,EAAA,EAAG,EAAG,CAAC,CAAA,EAAG,KAAA,KAAU;AAC9D,EAAA,MAAM,QAAS,KAAA,GAAQ,IAAA,CAAK,EAAA,GAAM,CAAA,GAAI,KAAK,EAAA,GAAK,CAAA;AAChD,EAAA,OAAO,EAAE,CAAA,EAAG,EAAA,GAAK,KAAA,GAAQ,KAAK,GAAA,CAAI,KAAK,CAAA,EAAG,CAAA,EAAG,EAAA,GAAK,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,KAAK,CAAA,EAAE;AAC5E,CAAC,CAAA;AAEM,IAAM,EAAA,GAAiB,UAAA;AAAA,EAC5B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAC5C,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,EAAA,CAAG,QAAA,EAAU,SAAS,CAAA;AAAA,MAChC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,IAAA,EAAK,MAAA,EAAO,CAAA;AAAA,wBAC5D,GAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,MAAA,EACL,QAAA,EAAA,cAAA,CAAe,GAAA,CAAI,CAAC,EAAE,CAAA,EAAG,CAAA,EAAE,qBAC1B,GAAA,CAAC,MAAA,EAAA,EAAuB,CAAA,EAAG,IAAA,EAAM,SAAA,EAAW,CAAA,UAAA,EAAa,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAA,EAAA,EAApD,CAAA,EAAG,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAgD,CACrE,CAAA,EACH,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,EAAA,CAAG,WAAA,GAAc,IAAA;AC/BjB,IAAM,OAAA,GACJ,6HAAA;AAEK,IAAM,EAAA,GAAiBA,UAAAA;AAAA,EAC5B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACpD,IAAA,MAAM,MAAA,GAAS,CAAA,EAAG,KAAA,EAAO,CAAA,KAAA,CAAA;AAEzB,IAAA,uBACEC,IAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,MAAA;AAAA,QACL,SAAA,EAAW,EAAA,CAAG,QAAA,EAAU,SAAS,CAAA;AAAA,QAChC,GAAG,IAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAC,IAAC,UAAA,EAAA,EAAS,EAAA,EAAI,MAAA,EACZ,QAAA,kBAAAA,IAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,KAAI,KAAA,EAAM,IAAA,EAAK,QAAO,IAAA,EAAK,EAAA,EAAG,KAAI,CAAA,EAClD,CAAA;AAAA,0BACAD,IAAAA,CAAC,GAAA,EAAA,EAAE,QAAA,EAAU,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAA,CAAA,EACzB,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,IAAA,EAAK,SAAA,EAAU,GAAE,eAAA,EAAgB,CAAA;AAAA,4BACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,IAAA,EAAK,MAAA,EAAO,GAAG,OAAA,EAAS,CAAA;AAAA,4BAC9BA,GAAAA,CAAC,MAAA,EAAA,EAAK,IAAA,EAAK,SAAA,EAAU,GAAE,kBAAA,EAAmB;AAAA,WAAA,EAC5C,CAAA;AAAA,UACC;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,EAAA,CAAG,WAAA,GAAc,IAAA;;;ACdjB,IAAM,IAAA,GAAO,wCAAA;AAGN,IAAM,UAAA,GAAa,CAAC,IAAA,EAA2B,SAAA,KACpD,GAAG,QAAA,EAAU,IAAA,IAAQ,MAAM,SAAS,CAAA;AClB/B,IAAM,GAAA,GAAiBF,UAAAA;AAAA,EAC5B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MAER,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAIJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAAA,EACX,QAAA,EAAA;AAAA,0BAAAC,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,SAAA;AAAA,cACL,CAAA,EAAE;AAAA;AAAA,WACJ;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,MAAA;AAAA,cACL,QAAA,EAAS,SAAA;AAAA,cACT,QAAA,EAAS,SAAA;AAAA,cACT,CAAA,EAAE;AAAA;AAAA,WACJ;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,MAAA;AAAA,cACL,QAAA,EAAS,SAAA;AAAA,cACT,QAAA,EAAS,SAAA;AAAA,cACT,CAAA,EAAE;AAAA;AAAA;AACJ,SAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;AClCX,IAAM,KAAA,GAAmBF,UAAAA;AAAA,EAC9B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AAC1D,IAAA,MAAM,KAAKG,KAAAA,EAAM;AACjB,IAAA,MAAM,CAAC,IAAA,EAAM,MAAA,EAAQ,KAAK,IAAI,CAAC,CAAA,EAAG,EAAE,CAAA,KAAA,CAAA,EAAS,CAAA,EAAG,EAAE,CAAA,OAAA,CAAA,EAAW,CAAA,EAAG,EAAE,CAAA,MAAA,CAAQ,CAAA;AAE1E,IAAA,uBACEF,IAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,IAAA;AAAA,QAER,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,MAAA;AAAA,QACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,QACpC,GAAG,IAAA;AAAA,QAIJ,QAAA,EAAA;AAAA,0BAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAAA,EACX,QAAA,EAAA;AAAA,4BAAAC,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,QAAQ,IAAI,CAAA,CAAA,CAAA;AAAA,gBAClB,CAAA,EAAE;AAAA;AAAA,aACJ;AAAA,4BACAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,SAAA;AAAA,gBACL,CAAA,EAAE;AAAA;AAAA,aACJ;AAAA,4BACAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,QAAQ,MAAM,CAAA,CAAA,CAAA;AAAA,gBACpB,CAAA,EAAE;AAAA;AAAA,aACJ;AAAA,4BACAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAM,QAAQ,KAAK,CAAA,CAAA,CAAA;AAAA,gBACnB,CAAA,EAAE;AAAA;AAAA;AACJ,WAAA,EACF,CAAA;AAAA,0BACAD,KAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAAA,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,IAAA;AAAA,gBACJ,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,kCAC1BA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,aACvC;AAAA,4BACAD,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,MAAA;AAAA,gBACJ,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAY,IAAA,EAAK,CAAA;AAAA,kCACvBA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,aAAY,IAAA,EAAK,CAAA;AAAA,kCACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,aAAY,IAAA,EAAK,CAAA;AAAA,kCACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,aAAY,KAAA,EAAM,CAAA;AAAA,kCACtCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,aAAY,GAAA,EAAI;AAAA;AAAA;AAAA,aACnC;AAAA,4BACAD,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,KAAA;AAAA,gBACJ,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,kCAC1BA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA;AACvC,WAAA,EACF,CAAA;AAAA,UACC;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;ACzFb,IAAM,OAAA,GAAqBF,UAAAA;AAAA,EAChC,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,KAAA,GAAQ,cAAA,EAAgB,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,wBAC1EC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAM,KAAA;AAAA,MACN,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,OAAE,SAAA,EAAU,+CAAA,EACX,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gpDAAA,EAAipD,CAAA,EAC3pD,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;ACpBf,IAAM,MAAA,GAAoBF,UAAAA;AAAA,EAC/B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,6CAAA,EACX,QAAA,kBAAAA,GAAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,CAAA,EAAE,woDAAA;AAAA,YACF,IAAA,EAAK;AAAA;AAAA,SACP,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;ACvBd,IAAM,MAAA,GAAoBF,UAAAA;AAAA,EAC/B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kDAAA,EACX,QAAA,EAAA;AAAA,0BAAAC,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,uKAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,yJAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,6LAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,2JAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,mJAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA;AACP,SAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;ACvCd,IAAM,KAAA,GAAmBF,UAAAA;AAAA,EAC9B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,KAAA,GAAQ,cAAA,EAAgB,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,wBAC1EC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAM,KAAA;AAAA,MACN,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,OAAE,SAAA,EAAU,gDAAA,EACX,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,85BAAA,EAA+5B,CAAA,EACz6B,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;ACfb,IAAM,GAAA,GAAiBF,UAAAA;AAAA,EAC5B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MAER,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAGJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4CAAA,EACX,QAAA,EAAA;AAAA,0BAAAC,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,SAAA;AAAA,cACL,CAAA,EAAE;AAAA;AAAA,WACJ;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,SAAA;AAAA,cACL,CAAA,EAAE;AAAA;AAAA,WACJ;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,SAAA;AAAA,cACL,CAAA,EAAE;AAAA;AAAA,WACJ;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,SAAA;AAAA,cACL,CAAA,EAAE;AAAA;AAAA;AACJ,SAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;ACtCX,IAAM,MAAA,GAAoBF,UAAAA;AAAA,EAC/B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MAER,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAGJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oBAAA,EACX,QAAA,EAAA;AAAA,0BAAAC,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,mLAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,0MAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,2MAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA,WACP;AAAA,0BACAA,GAAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,CAAA,EAAE,kNAAA;AAAA,cACF,IAAA,EAAK;AAAA;AAAA;AACP,SAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;ACpCd,IAAM,OAAA,GAAqBF,UAAAA;AAAA,EAChC,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,KAAA,GAAQ,cAAA,EAAgB,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,wBAC1EC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MAKR,OAAA,EAAQ,WAAA;AAAA,MAIR,QAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM,KAAA;AAAA,MACN,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAGJ,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,OAAE,SAAA,EAAU,qCAAA,EACX,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,ihDAAA,EAAkhD,CAAA,EAC5hD,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AClCf,IAAM,IAAA,GAAkBF,UAAAA;AAAA,EAC7B,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AAC1D,IAAA,MAAM,MAAA,GAASG,KAAAA,EAAM,CAAE,OAAA,CAAQ,MAAM,EAAE,CAAA;AAEvC,IAAA,uBACEF,IAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,MAAA;AAAA,QACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,QACpC,GAAG,IAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAA,KAAC,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAAC,GAAAA,CAAC,UAAA,EAAA,EAAS,EAAA,EAAI,CAAA,EAAG,MAAM,CAAA,MAAA,CAAA,EACrB,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,yHAAA,EAA0H,CAAA,EACpI,CAAA;AAAA,4BACAA,GAAAA,CAAC,UAAA,EAAA,EAAS,EAAA,EAAI,CAAA,EAAG,MAAM,CAAA,MAAA,CAAA,EACrB,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sKAAA,EAAuK,CAAA,EACjL,CAAA;AAAA,4BACAA,GAAAA,CAAC,UAAA,EAAA,EAAS,EAAA,EAAI,CAAA,EAAG,MAAM,CAAA,MAAA,CAAA,EACrB,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,kKAAA,EAAmK,CAAA,EAC7K,CAAA;AAAA,4BACAD,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,GAAG,MAAM,CAAA,UAAA,CAAA;AAAA,gBACb,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,iBAAA,EAAkB,gDAAA;AAAA,gBAClB,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU,CAAA;AAAA,kCACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,IAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,kCACtCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,aACvC;AAAA,4BACAD,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,GAAG,MAAM,CAAA,UAAA,CAAA;AAAA,gBACb,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,iBAAA,EAAkB,mDAAA;AAAA,gBAClB,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,MAAA,EAAO,CAAA;AAAA,kCAClCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,MAAA,EAAO,CAAA;AAAA,kCAClCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA,aACvC;AAAA,4BACAD,IAAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBACC,EAAA,EAAI,GAAG,MAAM,CAAA,UAAA,CAAA;AAAA,gBACb,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,EAAA,EAAG,QAAA;AAAA,gBACH,EAAA,EAAG,OAAA;AAAA,gBACH,iBAAA,EAAkB,mDAAA;AAAA,gBAClB,aAAA,EAAc,gBAAA;AAAA,gBAEd,QAAA,EAAA;AAAA,kCAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,MAAA,EAAO,CAAA;AAAA,kCAClCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,MAAA,EAAO,CAAA;AAAA,kCACpCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,IAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,kCACtCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,kCACvCA,GAAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,GAAA,EAAI,WAAU,SAAA,EAAU;AAAA;AAAA;AAAA;AACvC,WAAA,EACF,CAAA;AAAA,0BACAD,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,8CAAA,EACX,QAAA,EAAA;AAAA,4BAAAC,IAAC,GAAA,EAAA,EAAE,QAAA,EAAU,CAAA,KAAA,EAAQ,MAAM,WACzB,QAAA,kBAAAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,CAAA,EAAE,OAAA;AAAA,gBACF,CAAA,EAAE,IAAA;AAAA,gBACF,KAAA,EAAM,MAAA;AAAA,gBACN,MAAA,EAAO,OAAA;AAAA,gBACP,SAAA,EAAU,wCAAA;AAAA,gBACV,IAAA,EAAM,QAAQ,MAAM,CAAA,WAAA;AAAA;AAAA,aACtB,EACF,CAAA;AAAA,4BACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,UAAU,CAAA,KAAA,EAAQ,MAAM,WACzB,QAAA,kBAAAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,CAAA,EAAE,OAAA;AAAA,gBACF,CAAA,EAAE,MAAA;AAAA,gBACF,KAAA,EAAM,OAAA;AAAA,gBACN,MAAA,EAAO,OAAA;AAAA,gBACP,SAAA,EAAU,uCAAA;AAAA,gBACV,IAAA,EAAM,QAAQ,MAAM,CAAA,WAAA;AAAA;AAAA,aACtB,EACF,CAAA;AAAA,4BACAA,GAAAA,CAAC,GAAA,EAAA,EAAE,UAAU,CAAA,KAAA,EAAQ,MAAM,WACzB,QAAA,kBAAAA,GAAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,CAAA,EAAE,MAAA;AAAA,gBACF,CAAA,EAAE,MAAA;AAAA,gBACF,KAAA,EAAM,KAAA;AAAA,gBACN,MAAA,EAAO,OAAA;AAAA,gBACP,SAAA,EAAU,wCAAA;AAAA,gBACV,IAAA,EAAM,QAAQ,MAAM,CAAA,WAAA;AAAA;AAAA,aACtB,EACF;AAAA,WAAA,EACF,CAAA;AAAA,UACC;AAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA;AC1GZ,IAAM,SAAA,GAAuBF,UAAAA;AAAA,EAClC,CAAC,EAAE,IAAA,GAAO,EAAA,EAAI,IAAA,EAAM,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBAClDC,IAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MAER,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAW,UAAA,CAAW,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,GAAG,IAAA;AAAA,MAGJ,QAAA,EAAA;AAAA,wBAAAA,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,gCAAA,EACX,QAAA,EAAA;AAAA,0BAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,CAAA;AAAA,0BACxDA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,IAAA,EAAK,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,CAAA;AAAA,0BACzDA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,CAAA;AAAA,0BACzDA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,IAAA,EAAK,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU;AAAA,SAAA,EAC5D,CAAA;AAAA,QACC;AAAA;AAAA;AAAA;AAGP;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"chunk-BOHNXTMM.js","sourcesContent":["import { forwardRef } from 'react';\nimport type { LucideIcon, LucideProps } from 'lucide-react';\n\nimport { cn } from '../../utils';\n\nconst STAR =\n 'M0 -2 0.449 -0.618 1.902 -0.618 0.727 0.236 1.176 1.618 0 0.764 -1.176 1.618 -0.727 0.236 -1.902 -0.618 -0.449 -0.618Z';\n\nconst STAR_POSITIONS = Array.from({ length: 12 }, (_, index) => {\n const angle = (index * Math.PI) / 6 - Math.PI / 2;\n return { x: 12 + 5.882 * Math.cos(angle), y: 12 + 5.882 * Math.sin(angle) };\n});\n\nexport const Eu: LucideIcon = forwardRef<SVGSVGElement, LucideProps>(\n ({ size = 24, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={cn('lucide', className)}\n {...rest}\n >\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2\" fill=\"#039\" />\n <g fill=\"#FC0\">\n {STAR_POSITIONS.map(({ x, y }) => (\n <path key={`${x},${y}`} d={STAR} transform={`translate(${x} ${y})`} />\n ))}\n </g>\n {children}\n </svg>\n ),\n);\n\nEu.displayName = 'Eu';\n","import { forwardRef, useId } from 'react';\nimport type { LucideIcon, LucideProps } from 'lucide-react';\n\nimport { cn } from '../../utils';\n\nconst STRIPES =\n 'M2 3.538h20v1.538H2ZM2 6.615h20v1.538H2ZM2 9.692h20v1.538H2ZM2 12.769h20v1.538H2ZM2 15.846h20v1.538H2ZM2 18.923h20v1.538H2Z';\n\nexport const Us: LucideIcon = forwardRef<SVGSVGElement, LucideProps>(\n ({ size = 24, className, children, ...rest }, ref) => {\n const clipId = `${useId()}-tile`;\n\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={cn('lucide', className)}\n {...rest}\n >\n <clipPath id={clipId}>\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2\" />\n </clipPath>\n <g clipPath={`url(#${clipId})`}>\n <path fill=\"#B22234\" d=\"M2 2h20v20H2Z\" />\n <path fill=\"#fff\" d={STRIPES} />\n <path fill=\"#3C3B6E\" d=\"M2 2h8v10.769H2Z\" />\n </g>\n {children}\n </svg>\n );\n },\n);\n\nUs.displayName = 'Us';\n","import type { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport type { LucideIcon, LucideProps } from 'lucide-react';\n\nimport { cn } from '../utils';\n\nexport type BrandIconProps = LucideProps & {\n /** Render the mark in `currentColor` instead of its own brand colours. */\n mono?: boolean;\n};\n\n/**\n * The vendor and flag marks: a Lucide icon plus `mono`. Intersecting `LucideIcon`\n * keeps them assignable to any `icon: LucideIcon` slot by construction.\n */\nexport type BrandIcon = LucideIcon &\n ForwardRefExoticComponent<BrandIconProps & RefAttributes<SVGSVGElement>>;\n\n/**\n * CSS wins over presentation attributes, so this recolours every shape without\n * touching the artwork. Both `defs` and its descendants are excluded: `fill` is an\n * inherited property, so recolouring `<defs>` itself would reach its children and\n * destroy a mask's `fill=\"white\"`, which is luminance rather than colour.\n */\nconst MONO = 'tw:[&_*:not(defs,defs_*)]:fill-current';\n\n/** Every brand mark's class list: the Lucide marker, the `mono` override, then caller overrides. */\nexport const brandClass = (mono: boolean | undefined, className: string | undefined) =>\n cn('lucide', mono && MONO, className);\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon` — see\n// `Keboola.tsx` for the full rationale. The AWS logo is a fixed two-color vendor\n// mark (`#252F3E` wordmark + `#FF9900` smile): its paths keep their own fills\n// and ignore `color`, and it must NOT re-skin under a customer brand.\nexport const Aws: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's grid — see `Keboola.tsx` for why every brand icon shares it.\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Wordmark + smile is a wide lockup, so the 20-unit box caps its width; it is centered\n vertically. Measured artwork bbox: (5.12, 9.49) 21.76 × 13.01. */}\n <g transform=\"translate(-2.7059 -2.7013) scale(0.919118)\">\n <path\n fill=\"#252F3E\"\n d=\"M11.253 14.22c0 .267.029.484.08.644.057.159.13.333.23.52.037.059.051.117.051.167 0 .073-.043.145-.137.217l-.456.304a.347.347 0 0 1-.188.065c-.072 0-.145-.036-.217-.1a2.232 2.232 0 0 1-.26-.341 5.574 5.574 0 0 1-.225-.427c-.565.666-1.274.999-2.128.999-.608 0-1.092-.174-1.447-.521-.355-.348-.536-.81-.536-1.39 0-.615.217-1.114.659-1.49.441-.377 1.028-.565 1.773-.565.246 0 .5.022.767.058.268.036.543.094.832.159v-.528c0-.55-.115-.934-.34-1.158-.231-.225-.622-.333-1.18-.333-.253 0-.513.029-.781.094a5.764 5.764 0 0 0-.782.246 2.07 2.07 0 0 1-.253.094.444.444 0 0 1-.116.022c-.101 0-.152-.072-.152-.224v-.355c0-.116.015-.203.051-.253a.542.542 0 0 1 .203-.152c.253-.13.557-.24.911-.326.355-.094.731-.138 1.13-.138.86 0 1.49.196 1.895.587.399.39.601.984.601 1.78v2.345h.015Zm-2.939 1.1c.24 0 .485-.044.746-.13.26-.087.492-.247.687-.464.116-.137.203-.29.246-.463a2.6 2.6 0 0 0 .073-.63v-.303a6.071 6.071 0 0 0-.666-.123 5.462 5.462 0 0 0-.68-.044c-.485 0-.84.094-1.079.29-.238.195-.354.47-.354.832 0 .34.087.593.268.767.173.18.427.268.76.268Zm5.812.781c-.13 0-.217-.021-.275-.072-.058-.043-.109-.145-.152-.282l-1.701-5.594a1.269 1.269 0 0 1-.065-.29c0-.116.058-.18.174-.18h.709c.137 0 .231.02.282.072.058.043.101.144.145.282l1.216 4.79 1.129-4.79c.036-.145.08-.239.137-.282a.498.498 0 0 1 .29-.073h.578c.138 0 .232.022.29.073.058.043.108.144.137.282l1.144 4.848 1.252-4.848c.043-.145.094-.239.145-.282a.472.472 0 0 1 .282-.073h.673c.116 0 .18.058.18.181 0 .036-.007.072-.014.116a1.03 1.03 0 0 1-.05.18l-1.745 5.595c-.043.145-.094.239-.152.282a.463.463 0 0 1-.274.072h-.623c-.137 0-.231-.021-.29-.072-.057-.05-.108-.145-.137-.29L16.29 11.08l-1.114 4.66c-.036.145-.08.24-.138.29-.057.05-.159.072-.289.072h-.622Zm9.299.196c-.376 0-.753-.044-1.114-.13-.362-.088-.645-.182-.833-.29-.116-.065-.195-.138-.224-.203a.512.512 0 0 1-.044-.202v-.37c0-.151.058-.224.167-.224.043 0 .087.008.13.022.044.014.109.043.181.072.246.109.514.196.796.254.29.057.572.086.861.086.456 0 .81-.08 1.057-.238a.78.78 0 0 0 .376-.688.705.705 0 0 0-.195-.506c-.13-.138-.376-.261-.731-.377l-1.05-.325c-.528-.167-.918-.413-1.157-.739a1.724 1.724 0 0 1-.362-1.049c0-.304.065-.572.195-.803A1.86 1.86 0 0 1 22 9.993c.217-.166.463-.29.753-.376.29-.087.593-.123.912-.123.159 0 .325.007.485.029.166.022.318.05.47.08.145.036.282.072.413.115.13.044.231.087.303.13a.626.626 0 0 1 .218.181.39.39 0 0 1 .065.24v.34c0 .152-.058.231-.167.231a.753.753 0 0 1-.275-.087 3.311 3.311 0 0 0-1.39-.282c-.412 0-.737.065-.962.203-.224.137-.34.347-.34.644 0 .202.073.376.217.514.145.137.413.274.796.397l1.028.326c.521.167.897.398 1.122.695.224.297.333.637.333 1.013 0 .311-.066.594-.189.84-.13.246-.303.463-.528.636-.224.181-.492.312-.803.406a3.442 3.442 0 0 1-1.035.152Z\"\n />\n <path\n fill=\"#F90\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M24.793 19.814c-2.381 1.758-5.84 2.692-8.815 2.692-4.168 0-7.924-1.542-10.76-4.103-.225-.203-.023-.478.245-.319 3.069 1.78 6.853 2.859 10.769 2.859 2.641 0 5.543-.55 8.213-1.68.398-.18.739.261.348.55Z\"\n />\n <path\n fill=\"#F90\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M25.784 18.685c-.304-.391-2.012-.188-2.786-.094-.232.029-.268-.174-.058-.326 1.36-.955 3.597-.68 3.857-.362.26.326-.072 2.562-1.346 3.633-.195.167-.383.08-.296-.137.29-.717.933-2.33.63-2.714Z\"\n />\n </g>\n {children}\n </svg>\n ),\n);\n\nAws.displayName = 'Aws';\n","import { forwardRef, useId } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon` — see\n// `Keboola.tsx` for the full rationale. The Azure mark is a fixed vendor gradient\n// (`#114A8B → #0669BC`, `#3CCBF4 → #2892DF`, plus a solid `#0078D4`): it ignores\n// `color` and must NOT re-skin under a customer brand.\n//\n// The gradients are referenced by id, so the ids are derived from `useId()` — two\n// `Azure` icons on one page would otherwise define the same ids and the first\n// definition would win for both.\nexport const Azure: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => {\n const id = useId();\n const [left, shadow, right] = [`${id}-left`, `${id}-shadow`, `${id}-right`];\n\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's grid — see `Keboola.tsx` for why every brand icon shares it.\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Measured artwork bbox: (6.83, 7.36) 18.33 × 17.27. The gradients are\n `userSpaceOnUse`, so they resolve in this group's space and need no adjustment. */}\n <g transform=\"translate(-5.4523 -5.4523) scale(1.091107)\">\n <path\n fill={`url(#${left})`}\n d=\"M12.945 7.363h5.425l-5.631 16.685a.865.865 0 0 1-.82.589H7.698a.863.863 0 0 1-.819-1.14l5.247-15.545a.864.864 0 0 1 .82-.589Z\"\n />\n <path\n fill=\"#0078D4\"\n d=\"M20.828 18.554h-8.602a.398.398 0 0 0-.272.69l5.528 5.159c.16.15.373.234.593.233h4.87l-2.117-6.082Z\"\n />\n <path\n fill={`url(#${shadow})`}\n d=\"M12.945 7.363a.858.858 0 0 0-.821.6l-5.238 15.52a.862.862 0 0 0 .814 1.153h4.33a.925.925 0 0 0 .711-.604l1.045-3.078 3.73 3.48c.157.13.353.2.556.202h4.853l-2.128-6.082-6.205.002L18.39 7.363h-5.445Z\"\n />\n <path\n fill={`url(#${right})`}\n d=\"M19.874 7.95a.863.863 0 0 0-.818-.587H13.01a.864.864 0 0 1 .818.588l5.247 15.546a.863.863 0 0 1-.818 1.14h6.045a.863.863 0 0 0 .819-1.14L19.874 7.95Z\"\n />\n </g>\n <defs>\n <linearGradient\n id={left}\n x1=\"14.922\"\n x2=\"9.289\"\n y1=\"8.643\"\n y2=\"25.286\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#114A8B\" />\n <stop offset=\"1\" stopColor=\"#0669BC\" />\n </linearGradient>\n <linearGradient\n id={shadow}\n x1=\"16.682\"\n x2=\"15.379\"\n y1=\"16.399\"\n y2=\"16.84\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopOpacity=\".3\" />\n <stop offset=\".071\" stopOpacity=\".2\" />\n <stop offset=\".321\" stopOpacity=\".1\" />\n <stop offset=\".623\" stopOpacity=\".05\" />\n <stop offset=\"1\" stopOpacity=\"0\" />\n </linearGradient>\n <linearGradient\n id={right}\n x1=\"15.966\"\n x2=\"22.15\"\n y1=\"8.158\"\n y2=\"24.633\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor=\"#3CCBF4\" />\n <stop offset=\"1\" stopColor=\"#2892DF\" />\n </linearGradient>\n </defs>\n {children}\n </svg>\n );\n },\n);\n\nAzure.displayName = 'Azure';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\nexport const ChatGpt: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, color = 'currentColor', className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill={color}\n className={brandClass(mono, className)}\n {...rest}\n >\n <g transform=\"translate(-8.178339 -8.178357) scale(0.05639)\">\n <path d=\"M508.7 317.4C516.8 287.3 509 253.9 485.4 230.3C461.8 206.7 428.4 198.9 398.3 206.9C376.2 184.9 343.4 175 311.1 183.6C278.9 192.2 255.4 217.3 247.4 247.4C217.3 255.5 192.2 278.9 183.6 311.1C175 343.4 184.9 376.2 206.9 398.3C198.9 428.4 206.7 461.8 230.3 485.4C253.9 509 287.3 516.8 317.4 508.8C339.4 530.7 372.3 540.7 404.5 532.1C436.8 523.4 460.2 498.4 468.3 468.3C498.4 460.2 523.4 436.8 532.1 404.5C540.7 372.3 530.7 339.4 508.7 317.4V317.4ZM470.9 244.8C486.9 260.8 493.5 282.6 490.7 303.4L415.6 260C412.4 258.2 408.5 258.2 405.3 260L317.4 310.8V277.5C317.4 275.2 318.7 273 320.7 271.8L387.6 233.2C414.2 218.4 448.3 222.2 470.9 244.8H470.9ZM357.8 311.1L398.3 334.5V381.2L357.8 404.5L317.4 381.2V334.5L357.8 311.1ZM264.8 269.7C265.2 239.3 285.6 211.6 316.5 203.4C338.3 197.5 360.5 202.7 377.1 215.6L302 258.9C298.8 260.8 296.9 264.1 296.9 267.8V369.3L268.1 352.7C266 351.5 264.8 349.4 264.8 347V269.7V269.7ZM203.4 316.5C209.2 294.6 224.9 278 244.3 270V356.7C244.3 360.4 246.2 363.8 249.4 365.6L337.3 416.4L308.5 433C306.5 434.2 304 434.2 301.9 433L235 394.4C208.9 378.8 195.1 347.3 203.4 316.5ZM244.8 470.9C228.8 454.9 222.2 433.1 225 412.3L300.1 455.6C303.3 457.5 307.2 457.5 310.3 455.6L398.3 404.9V438.1C398.3 440.5 397 442.7 395 443.8L328 482.5C301.5 497.3 267.3 493.5 244.8 470.9H244.8ZM450.9 446C450.5 476.4 430 504 399.2 512.3C377.4 518.1 355.2 512.9 338.5 500.1L413.7 456.7C416.8 454.9 418.8 451.5 418.8 447.9V346.3L447.6 363C449.6 364.1 450.9 366.3 450.9 368.7V446V446ZM512.3 399.2C506.4 421.1 490.8 437.7 471.4 445.7V358.9C471.4 355.3 469.4 351.9 466.3 350.1L378.3 299.3L407.2 282.7C409.2 281.5 411.7 281.5 413.7 282.7L480.7 321.3C506.8 336.9 520.5 368.4 512.3 399.2Z\" />\n </g>\n {children}\n </svg>\n ),\n);\n\nChatGpt.displayName = 'ChatGpt';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\nexport const Claude: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n <g transform=\"translate(1.473684 1.473684) scale(0.08489)\">\n <path\n d=\"M52.4 162.9L98.8 136.9L99.5 134.6L98.8 133.3H96.5L88.7 132.9L62.2 132.2L39.3 131.2L17 130L11.4 128.8L6.2 121.9L6.7 118.4L11.4 115.3L18.2 115.8L33.1 116.9L55.5 118.4L71.7 119.4L95.7 121.9H99.5L100.1 120.3L98.8 119.4L97.8 118.4L74.6 102.7L49.5 86.2L36.4 76.6L29.4 71.8L25.8 67.3L24.3 57.4L30.7 50.3L39.3 50.9L41.5 51.5L50.3 58.2L69 72.7L93.4 90.7L97 93.6L98.4 92.7L98.7 92L97 89.3L83.8 65.3L69.6 40.8L63.3 30.7L61.6 24.6C61 22.1 60.6 20 60.6 17.4L67.8 7.5L71.9 6.2L81.7 7.5L85.8 11L91.9 25L101.7 46.8L117 76.6L121.5 85.5L123.9 93.6L124.8 96.1H126.3V94.7L127.6 77.9L129.9 57.4L132.2 30.9L132.9 23.5L136.6 14.5L144 9.6L149.7 12.3L154.4 19.1L153.8 23.5L151 41.6L145.5 70.1L142 89.3H144L146.4 86.8L156.1 74L172.3 53.7L179.4 45.7L187.8 36.8L193.2 32.5H203.3L210.7 43.7L207.4 55.1L197 68.3L188.3 79.6L175.9 96.2L168.2 109.6L168.9 110.7L170.7 110.5L198.8 104.5L213.9 101.8L232 98.7L240.1 102.5L241 106.4L237.9 114.3L218.5 119L195.8 123.6L162.1 131.6L161.7 131.9L162.1 132.5L177.4 133.9L183.9 134.3H199.8L229.4 136.5L237.2 141.6L241.8 147.9L241 152.7L229.1 158.7L213 155L175.4 146L162.6 142.8H160.8V143.8L171.5 154.4L191.2 172.1L215.8 195L217.1 200.7L213.9 205.2L210.6 204.7L188.9 188.4L180.5 181.1L161.7 165.1H160.4V166.8L164.8 173.2L187.8 207.8L188.9 218.4L187.3 221.8L181.3 224L174.8 222.8L161.2 203.8L147.3 182.5L136.1 163.3L134.7 164.2L128.1 235.4L125 239.1L117.9 241.8L111.9 237.3L108.7 230L111.9 215.5L115.7 196.5L118.8 181.5L121.6 162.9L123.3 156.6L123.1 156.2L121.8 156.4L107.7 175.8L86.3 204.7L69.4 222.8L65.3 224.4L58.3 220.8L58.9 214.3L62.9 208.5L86.3 178.7L100.4 160.2L109.6 149.5L109.5 148L109 147.9L46.7 188.5L35.6 189.9L30.8 185.4L31.4 178.1L33.7 175.8L52.4 162.9Z\"\n fill=\"#D97757\"\n />\n </g>\n {children}\n </svg>\n ),\n);\n\nClaude.displayName = 'Claude';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\nexport const Cursor: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n <g transform=\"translate(-38.617225 -39.361257) scale(0.104712)\">\n <path\n d=\"M483.4 490.5L566 538.3C565.5 539.2 564.8 539.9 563.8 540.5L486.6 585.1C484.6 586.3 482.2 586.3 480.2 585.1L402.9 540.5C402 539.9 401.3 539.2 400.8 538.3L483.4 490.5Z\"\n fill=\"#72716D\"\n />\n <path\n d=\"M483.4 395V490.5L400.8 538.3C400.3 537.4 400 536.4 400 535.3V445.7C400 443.5 401.1 441.6 402.9 440.5L480.1 395.9C481.2 395.3 482.3 395 483.4 395H483.4Z\"\n fill=\"#55544F\"\n />\n <path\n d=\"M566 442.7C565.5 441.8 564.8 441.1 563.8 440.5L486.6 395.9C485.6 395.3 484.5 395 483.4 395V490.5L566 538.3C566.5 537.4 566.8 536.4 566.8 535.3V445.7C566.8 444.6 566.5 443.6 566 442.7H566Z\"\n fill=\"#43413C\"\n />\n <path\n d=\"M560.2 446C560.7 446.9 560.8 447.9 560.2 448.8L485.2 579C484.7 579.9 483.4 579.5 483.4 578.5V492.7C483.4 492 483.2 491.4 482.9 490.8L560.2 446H560.2V446Z\"\n fill=\"#D6D5D2\"\n />\n <path\n d=\"M560.2 446L482.9 490.8C482.6 490.2 482.1 489.7 481.5 489.4L407.4 446.5C406.5 446 406.9 444.7 407.9 444.7H557.8C558.9 444.7 559.8 445.2 560.2 446Z\"\n fill=\"white\"\n />\n </g>\n {children}\n </svg>\n ),\n);\n\nCursor.displayName = 'Cursor';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\nexport const Devin: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, color = 'currentColor', className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill={color}\n className={brandClass(mono, className)}\n {...rest}\n >\n <g transform=\"translate(-0.993373 -0.985316) scale(0.060925)\">\n <path d=\"M70 159.3V91.3C70 88.4 71.6 85.6 74.2 84.1L133 50.1C135.6 48.6 138.8 48.6 141.4 50.1L200.3 84.1C202.9 85.6 204.4 88.4 204.4 91.3V126.1C204.7 137.6 210.8 148.7 221.5 154.9C232.3 161.1 244.9 160.8 255.1 155.3L285.1 137.9C287.7 136.4 290.9 136.4 293.5 137.9L352.4 171.9C354.9 173.4 356.5 176.2 356.5 179.2V247.1C356.5 250.1 354.9 252.9 352.4 254.4L293.5 288.4C290.9 289.8 287.7 289.8 285.1 288.4L255.3 271.1C245.1 265.5 232.3 265.1 221.5 271.4C210.8 277.6 204.7 288.7 204.5 300.2V334.9C204.5 337.9 202.9 340.7 200.3 342.2L141.4 376.2C138.8 377.6 135.6 377.6 133 376.2L74.2 342.2C71.6 340.7 70 337.9 70 334.9V267C70 264 71.6 261.2 74.2 259.7L133 225.7C135.6 224.2 138.8 224.2 141.4 225.7L171.5 243.1C181.7 248.6 194.3 248.9 205 242.7C215.8 236.5 221.9 225.2 222.1 213.6C221.8 202.1 215.7 189.7 205 183.5C194.3 177.4 181.6 177.6 171.5 183.2L141.3 200.7C138.7 202.2 135.5 202.2 132.9 200.7L74.2 166.6C71.6 165.1 70 162.3 70 159.3Z\" />\n </g>\n {children}\n </svg>\n ),\n);\n\nDevin.displayName = 'Devin';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon` — see\n// `Keboola.tsx` for the full rationale. The Google Cloud mark carries the fixed\n// four-color Google palette (`#EA4335 / #4285F4 / #34A853 / #FBBC05`): its paths\n// keep their own fills and ignore `color`, and it must NOT re-skin under a\n// customer brand.\nexport const Gcp: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's grid — see `Keboola.tsx` for why every brand icon shares it.\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Measured artwork bbox: (5.50, 7.55) 21.00 × 16.88. */}\n <g transform=\"translate(-3.2381 -3.2286) scale(0.952381)\">\n <path\n fill=\"#EA4335\"\n d=\"m19.466 12.212 1.825-1.826.122-.768C18.087 6.593 12.8 6.936 9.8 10.333a8.438 8.438 0 0 0-1.78 3.335l.654-.092 3.65-.602.282-.288c1.624-1.784 4.37-2.024 6.245-.506l.615.032Z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M23.892 13.614a8.223 8.223 0 0 0-2.479-3.996l-2.562 2.562a4.554 4.554 0 0 1 1.672 3.612v.455a2.28 2.28 0 0 1 2.28 2.28c0 1.26-1.02 2.255-2.28 2.255h-4.567l-.448.486v2.735l.448.43h4.567c3.275.025 5.951-2.584 5.977-5.86a5.931 5.931 0 0 0-2.608-4.959Z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M11.396 24.433h4.56v-3.651h-4.56c-.325 0-.64-.07-.936-.205l-.646.198-1.839 1.826-.16.62a5.919 5.919 0 0 0 3.58 1.212Z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M11.396 12.59a5.931 5.931 0 0 0-3.58 10.632l2.644-2.645a2.28 2.28 0 1 1 3.017-3.017l2.646-2.645a5.925 5.925 0 0 0-4.727-2.325Z\"\n />\n </g>\n {children}\n </svg>\n ),\n);\n\nGcp.displayName = 'Gcp';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon` — see\n// `Keboola.tsx` for the full rationale. The Google \"G\" is a fixed four-color\n// vendor mark (`#4285F4 / #34A853 / #FBBC04 / #EA4335`): its paths keep their\n// own fills and ignore `color`, and it must NOT re-skin under a customer brand.\nexport const Google: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's grid — see `Keboola.tsx` for why every brand icon shares it.\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Measured artwork bbox: (12, 10) 19.60 × 20.00. */}\n <g transform=\"translate(-9.8 -8)\">\n <path\n d=\"M31.6 20.2273C31.6 19.5182 31.5364 18.8364 31.4182 18.1818H22V22.05H27.3818C27.15 23.3 26.4455 24.3591 25.3864 25.0682V27.5773H28.6182C30.5091 25.8364 31.6 23.2727 31.6 20.2273Z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M22 30C24.7 30 26.9636 29.1045 28.6181 27.5773L25.3863 25.0682C24.4909 25.6682 23.3454 26.0227 22 26.0227C19.3954 26.0227 17.1909 24.2636 16.4045 21.9H13.0636V24.4909C14.7091 27.7591 18.0909 30 22 30Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M16.4045 21.9C16.2045 21.3 16.0909 20.6591 16.0909 20C16.0909 19.3409 16.2045 18.7 16.4045 18.1V15.5091H13.0636C12.3864 16.8591 12 18.3864 12 20C12 21.6136 12.3864 23.1409 13.0636 24.4909L16.4045 21.9Z\"\n fill=\"#FBBC04\"\n />\n <path\n d=\"M22 13.9773C23.4681 13.9773 24.7863 14.4818 25.8227 15.4727L28.6909 12.6045C26.9591 10.9909 24.6954 10 22 10C18.0909 10 14.7091 12.2409 13.0636 15.5091L16.4045 18.1C17.1909 15.7364 19.3954 13.9773 22 13.9773Z\"\n fill=\"#EA4335\"\n />\n </g>\n {children}\n </svg>\n ),\n);\n\nGoogle.displayName = 'Google';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon`\n// (a `ForwardRefExoticComponent` from lucide-react). React 19's ref-as-prop\n// pattern produces a plain function component which isn't structurally\n// assignable to `LucideIcon`, so consumers couldn't pass `Keboola`\n// interchangeably with imported Lucide icons (e.g. `<Button><Keboola className=\"tw:size-4\" /></Button>`).\nexport const Keboola: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, color = 'currentColor', className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's own 24-unit grid, and the artwork is scaled into the same 20-unit content box\n // Lucide's icons occupy (`square` is an 18-unit rect + 2-unit stroke = 20 visual units,\n // centered). Every brand icon in this folder follows it, so a brand mark and a Lucide icon\n // render at the same optical size for a given `size` / `tw:size-*`.\n viewBox=\"0 0 24 24\"\n // Kept from when the artwork ran flush to the viewBox edge (y=0..512): an `<svg>` defaults to\n // `overflow: hidden`, and sub-pixel rounding clipped the top of the mark flat. The 2-unit\n // inset above now provides that tolerance; this stays as belt-and-braces.\n overflow=\"visible\"\n fill={color}\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Measured artwork bbox: (0.13, 0) 299.69 × 512.20. */}\n <g transform=\"translate(6.1439 2) scale(0.039047)\">\n <path d=\"M152 320C79.7 320 24.5 233.9 24.5 124.7C24.5 15.6 70.5 0 152 0s123.6 15.6 123.6 124.7C275.5 233.9 217.7 320 152 320zm-8.7-50.5c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm55.7 0c0-11.2-9.5-20.3-21.2-20.3s-21.2 9.1-21.2 20.3c0 11.2 9.5 20.3 21.2 20.3s21.2-9.1 21.2-20.3zm68.9 115.1c10.2 9.3 20.2 20.5 29 35c5.9 9.7 2.6 22.1-7.5 27.8c-3.4 1.9-7.1 2.8-10.7 2.8c-7.2 0-14.3-3.6-18.3-10c-6.8-11.1-13.8-18.9-21.7-26.1c-7.3-6.7-15.6-12.7-24.9-19.5c-.7-.5-1.4-1-2.1-1.5c-5-3.6-10-6.8-14.9-9.4c.6 1 1.2 2.1 1.8 3.2c14.4 26.4 29.2 63.1 29.2 104.9c0 11.2-9.5 20.3-21.2 20.3c-11.7 0-21.2-9.1-21.2-20.3c.1-31.8-11.6-62.3-23.8-84.9c-4-7.4-8-13.9-11.6-19.3c-3.4 5.2-7.2 11.3-11 18.3c-12.5 22.7-24.5 53.8-24.4 86c0 11.2-9.5 20.3-21.2 20.3s-21.2-9.1-21.2-20.3c.1-41.8 14.9-78.4 29.2-104.9c.6-1.1 1.2-2.1 1.8-3.2c-5 2.7-9.9 5.8-14.9 9.4c-.6 .5-1.3 .9-1.9 1.4c-9.5 6.9-17.8 12.9-25.1 19.7c-7.9 7.2-14.9 15.1-21.7 26.1c-5.9 9.7-18.9 12.9-29 7.2C.5 441.8-2.9 429.3 3.1 419.7c8.9-14.4 18.8-25.7 29-35c9.2-8.4 18.5-15.1 27.6-21.7c1-.7 2-1.4 3-2.2c4.7-3.5 9.6-6.7 14.6-9.6c-5-2.9-9.8-6.1-14.6-9.6C39.8 325 19.9 302.5 3.1 275.1c-5.9-9.7-2.6-22.1 7.5-27.8c10.1-5.7 23.1-2.5 29 7.2c14.6 23.7 31.1 42 48.7 54.9c18.9 13.7 37.4 20.5 56.5 21.5c1.7-.1 3.5-.1 5.2-.1c1.8 0 3.5 .1 5.2 .1c0 0 0 0 0 0c19.1-1.1 37.6-7.9 56.5-21.5c17.6-12.8 34.2-31.2 48.7-54.9c6-9.7 18.9-12.9 29-7.2c10.1 5.7 13.4 18.1 7.5 27.8c-16.8 27.4-36.7 49.9-59.6 66.6c-4.7 3.5-9.6 6.7-14.5 9.6c4.9 2.9 9.8 6.1 14.5 9.6c.9 .7 1.8 1.3 2.7 2c9.2 6.7 18.5 13.5 27.9 22z\" />\n </g>\n {children}\n </svg>\n ),\n);\n\nKeboola.displayName = 'Keboola';\n","import { forwardRef, useId } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\nexport const Make: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => {\n const baseId = useId().replace(/:/g, '');\n\n return (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n <defs>\n <clipPath id={`${baseId}-clip0`}>\n <path d=\"m156,44.3h33.9c2.6,0,4.7,2.1,4.7,4.7v125.1c0,2.6-2.1,4.7-4.7,4.7h-33.9c-2.6,0-4.7-2.1-4.7-4.7V49c0-2.6,2.1-4.7,4.7-4.7Z\" />\n </clipPath>\n <clipPath id={`${baseId}-clip1`}>\n <path d=\"m56.7,46L.5,157.7c-1.2,2.3-.23,5.1,2.1,6.3l30.3,15.2c2.3,1.2,5.1.23,6.3-2.1l56.2-111.8c1.2-2.3.23-5.1-2.1-6.3l-30.3-15.2c-.68-.34-1.4-.5-2.1-.5-1.7,0-3.4.94-4.2,2.6\" />\n </clipPath>\n <clipPath id={`${baseId}-clip2`}>\n <path d=\"m103.9,46.4l-24,121.8c-.5,2.5,1.1,5,3.7,5.5l33.2,6.7c2.5.51,5-1.1,5.5-3.7l24-121.8c.5-2.5-1.1-5-3.7-5.5l-33.2-6.7c-.31-.06-.62-.09-.93-.09-2.2,0-4.2,1.5-4.6,3.8\" />\n </clipPath>\n <linearGradient\n id={`${baseId}-gradient0`}\n x1=\"-167.5\"\n y1=\"470.3\"\n x2=\"-166.5\"\n y2=\"470.3\"\n gradientTransform=\"translate(16426.9 45936.4) scale(97.45 -97.45)\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0\" stopColor=\"#b02de9\" />\n <stop offset=\".02\" stopColor=\"#b02de9\" />\n <stop offset=\".8\" stopColor=\"#6d00cc\" />\n <stop offset=\"1\" stopColor=\"#6d00cc\" />\n </linearGradient>\n <linearGradient\n id={`${baseId}-gradient1`}\n x1=\"-167.5\"\n y1=\"470.3\"\n x2=\"-166.5\"\n y2=\"470.3\"\n gradientTransform=\"translate(17962.6 50466.15) scale(107.08 -107.08)\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0\" stopColor=\"#f0f\" />\n <stop offset=\"0\" stopColor=\"#f0f\" />\n <stop offset=\".17\" stopColor=\"#e90cf9\" />\n <stop offset=\".54\" stopColor=\"#c023ed\" />\n <stop offset=\".73\" stopColor=\"#b02de9\" />\n <stop offset=\"1\" stopColor=\"#b02de9\" />\n </linearGradient>\n <linearGradient\n id={`${baseId}-gradient2`}\n x1=\"-167.5\"\n y1=\"470.3\"\n x2=\"-166.5\"\n y2=\"470.3\"\n gradientTransform=\"translate(35959.81 101077.55) scale(214.7 -214.7)\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0\" stopColor=\"#f0f\" />\n <stop offset=\".02\" stopColor=\"#f0f\" />\n <stop offset=\".09\" stopColor=\"#e90cf9\" />\n <stop offset=\".23\" stopColor=\"#c023ed\" />\n <stop offset=\".3\" stopColor=\"#b02de9\" />\n <stop offset=\".42\" stopColor=\"#a42be3\" />\n <stop offset=\".63\" stopColor=\"#8626d5\" />\n <stop offset=\".85\" stopColor=\"#6021c3\" />\n <stop offset=\"1\" stopColor=\"#6021c3\" />\n </linearGradient>\n </defs>\n <g transform=\"translate(1.999921 0.535282) scale(0.102775)\">\n <g clipPath={`url(#${baseId}-clip0)`}>\n <rect\n x=\"129.4\"\n y=\"41\"\n width=\"87.1\"\n height=\"141.1\"\n transform=\"translate(-27.91 66.73) rotate(-20.24)\"\n fill={`url(#${baseId}-gradient0)`}\n />\n </g>\n <g clipPath={`url(#${baseId}-clip1)`}>\n <rect\n x=\"-23.9\"\n y=\"29.8\"\n width=\"143.5\"\n height=\"164.3\"\n transform=\"translate(-40.48 28.2) rotate(-23.38)\"\n fill={`url(#${baseId}-gradient1)`}\n />\n </g>\n <g clipPath={`url(#${baseId}-clip2)`}>\n <rect\n x=\"57.6\"\n y=\"35.2\"\n width=\"111\"\n height=\"153.1\"\n transform=\"translate(-31.65 45.95) rotate(-20.21)\"\n fill={`url(#${baseId}-gradient2)`}\n />\n </g>\n </g>\n {children}\n </svg>\n );\n },\n);\n\nMake.displayName = 'Make';\n","import { forwardRef } from 'react';\n\nimport type { BrandIcon, BrandIconProps } from '../brandIcon';\nimport { brandClass } from '../brandIcon';\n\n// `forwardRef` here is required for type compatibility with `LucideIcon`\n// (a `ForwardRefExoticComponent` from lucide-react). React 19's ref-as-prop\n// pattern produces a plain function component which isn't structurally\n// assignable to `LucideIcon`, so consumers couldn't pass `Microsoft`\n// interchangeably with imported Lucide icons. The four-square mark carries\n// fixed Microsoft brand colors and deliberately ignores `color` — it must NOT\n// re-skin under a customer brand.\nexport const Microsoft: BrandIcon = forwardRef<SVGSVGElement, BrandIconProps>(\n ({ size = 24, mono, className, children, ...rest }, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n // Lucide's grid — see `Keboola.tsx` for why every brand icon shares it.\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n className={brandClass(mono, className)}\n {...rest}\n >\n {/* Measured artwork bbox: (0, 0) 21 × 21. */}\n <g transform=\"translate(2 2) scale(0.952381)\">\n <rect x=\"0\" y=\"0\" width=\"10\" height=\"10\" fill=\"#F25022\" />\n <rect x=\"11\" y=\"0\" width=\"10\" height=\"10\" fill=\"#7FBA00\" />\n <rect x=\"0\" y=\"11\" width=\"10\" height=\"10\" fill=\"#00A4EF\" />\n <rect x=\"11\" y=\"11\" width=\"10\" height=\"10\" fill=\"#FFB900\" />\n </g>\n {children}\n </svg>\n ),\n);\n\nMicrosoft.displayName = 'Microsoft';\n"]}
@@ -1,141 +1,17 @@
1
- 'use strict';
1
+ import { defaultBrand, DEFAULT_BRANDS, createTheme, ThemeContext, TooltipProvider, DEFAULT_COLOR_SCHEME, DEFAULT_BRAND_ID, createCssVars } from './chunk-63NSN2VL.js';
2
+ import { useMemo, useState, useCallback, useEffect, useInsertionEffect } from 'react';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ export { brandSchema, exampleCustomer, keboola, keboolaLegacySidebar, keboolaLegacyTopnav } from '@keboola/brand-registry';
2
5
 
3
- var react$1 = require('@testing-library/react');
4
- var brandRegistry = require('@keboola/brand-registry');
5
- var react = require('react');
6
- var reactTooltip = require('@radix-ui/react-tooltip');
7
- var classVarianceAuthority = require('class-variance-authority');
8
- var jsxRuntime = require('react/jsx-runtime');
9
- require('clsx');
10
- var tailwindMerge = require('tailwind-merge');
11
-
12
- // src/testing/renderWithTheme.tsx
13
-
14
- // src/components/ThemeProvider/utils.ts
15
- var createTheme = (brand) => ({
16
- id: brand.id,
17
- name: brand.name,
18
- shell: brand.shell,
19
- logo: brand.logo
20
- });
21
- var createCssVars = () => {
22
- const vars = {};
23
- return {
24
- set: (name, value) => {
25
- if (value !== void 0) vars[name] = value;
26
- },
27
- expose: () => ({ ...vars })
28
- };
29
- };
30
-
31
- // src/components/ThemeProvider/defaults.ts
32
- var keboolaLegacyIds = [brandRegistry.keboolaLegacySidebar.id, brandRegistry.keboolaLegacyTopnav.id];
33
- var DEFAULT_COLOR_SCHEME = "light";
34
- var DEFAULT_BRAND_ID = "design-system";
35
- var defaultBrand = {
36
- id: DEFAULT_BRAND_ID,
37
- name: "Design System",
38
- shell: "sidebar",
39
- theme: {}
40
- };
41
- var defaultTheme = createTheme(defaultBrand);
42
- var DEFAULT_BRANDS = [];
43
-
44
- // src/components/ThemeProvider/context.tsx
45
- var noop = () => void 0;
46
- var defaultContext = {
47
- scheme: DEFAULT_COLOR_SCHEME,
48
- resolvedScheme: DEFAULT_COLOR_SCHEME,
49
- setScheme: noop,
50
- brandId: defaultTheme.id,
51
- setBrand: noop,
52
- themes: [defaultTheme],
53
- currentTheme: defaultTheme
54
- };
55
- var ThemeContext = react.createContext(defaultContext);
56
- var ArgoDesignContext = react.createContext(true);
57
- classVarianceAuthority.cva(
58
- [
59
- "tailwindcss-preflight",
60
- "tw:inline-block",
61
- "tw:break-anywhere",
62
- "tw:max-h-96",
63
- "tw:overflow-y-auto",
64
- "tw:z-[1060]",
65
- // legacy (dark) chrome — default
66
- "tw:rounded",
67
- "tw:bg-neutral-800",
68
- "tw:text-white",
69
- // argo chrome overrides — semantic floating-panel tokens
70
- "tw:data-[argo=true]:rounded-2xl",
71
- "tw:data-[argo=true]:border",
72
- "tw:data-[argo=true]:border-solid",
73
- "tw:data-[argo=true]:border-border",
74
- "tw:data-[argo=true]:bg-popover",
75
- "tw:data-[argo=true]:text-popover-foreground",
76
- "tw:data-[argo=true]:shadow-md",
77
- // argo open animation
78
- "tw:data-[argo=true]:data-[state=delayed-open]:animate-in",
79
- "tw:data-[argo=true]:data-[state=instant-open]:animate-in",
80
- "tw:data-[argo=true]:data-[state=delayed-open]:fade-in-0",
81
- "tw:data-[argo=true]:data-[state=instant-open]:fade-in-0",
82
- "tw:data-[argo=true]:data-[state=delayed-open]:zoom-in-95",
83
- "tw:data-[argo=true]:data-[state=instant-open]:zoom-in-95",
84
- // argo closed animation
85
- "tw:data-[argo=true]:data-[state=closed]:animate-out",
86
- "tw:data-[argo=true]:data-[state=closed]:fade-out-0",
87
- "tw:data-[argo=true]:data-[state=closed]:zoom-out-95",
88
- // argo position animation
89
- "tw:data-[argo=true]:data-[side=bottom]:slide-in-from-top-2",
90
- "tw:data-[argo=true]:data-[side=left]:slide-in-from-right-2",
91
- "tw:data-[argo=true]:data-[side=right]:slide-in-from-left-2",
92
- "tw:data-[argo=true]:data-[side=top]:slide-in-from-bottom-2"
93
- ],
94
- {
95
- defaultVariants: {
96
- variant: "action"
97
- },
98
- variants: {
99
- variant: {
100
- action: [
101
- "tw:max-w-fit",
102
- "tw:px-3",
103
- "tw:py-2",
104
- "tw:text-center",
105
- "tw:text-xs",
106
- "tw:font-medium",
107
- // Legacy chrome uppercases the action tooltip; the Keboola V2 brand
108
- // (`data-brand="keboola"`) renders it in standard case instead.
109
- "tw:uppercase",
110
- "tw:tracking-wider",
111
- "tw:[[data-brand=keboola]_&]:normal-case",
112
- "tw:[[data-brand=keboola]_&]:tracking-normal"
113
- ],
114
- explanatory: [
115
- "tw:max-w-80",
116
- "tw:px-4",
117
- "tw:py-3",
118
- "tw:text-left",
119
- "tw:text-sm",
120
- "tw:font-normal"
121
- ]
122
- }
123
- }
124
- }
125
- );
126
- tailwindMerge.extendTailwindMerge({
127
- prefix: "tw"
128
- });
129
- var TooltipProvider = reactTooltip.Provider;
130
- var AIGradientsSvg = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "0", height: "0", style: { position: "absolute", visibility: "hidden" }, children: /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
131
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "aigradient-600", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
132
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#61E4FF" }),
133
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: "#1F8FFF" }),
134
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#7C5CFF" })
6
+ var AIGradientsSvg = () => /* @__PURE__ */ jsx("svg", { width: "0", height: "0", style: { position: "absolute", visibility: "hidden" }, children: /* @__PURE__ */ jsxs("defs", { children: [
7
+ /* @__PURE__ */ jsxs("linearGradient", { id: "aigradient-600", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
8
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "#61E4FF" }),
9
+ /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: "#1F8FFF" }),
10
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: "#7C5CFF" })
135
11
  ] }),
136
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "aigradient-700", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
137
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: "#075fb8" }),
138
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: "#5b2cb8" })
12
+ /* @__PURE__ */ jsxs("linearGradient", { id: "aigradient-700", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
13
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "#075fb8" }),
14
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: "#5b2cb8" })
139
15
  ] })
140
16
  ] }) });
141
17
  var BRAND_ATTRIBUTE = "data-brand";
@@ -144,17 +20,17 @@ var useBrandState = ({
144
20
  brandId: controlledBrand,
145
21
  onBrandIdChange: onBrandChange
146
22
  } = {}) => {
147
- const [uncontrolledBrand, setUncontrolledBrand] = react.useState(defaultBrand2);
23
+ const [uncontrolledBrand, setUncontrolledBrand] = useState(defaultBrand2);
148
24
  const isControlled = controlledBrand !== void 0;
149
25
  const brandId = isControlled ? controlledBrand : uncontrolledBrand;
150
- const setBrand = react.useCallback(
26
+ const setBrand = useCallback(
151
27
  (next) => {
152
28
  if (!isControlled) setUncontrolledBrand(next);
153
29
  onBrandChange?.(next);
154
30
  },
155
31
  [isControlled, onBrandChange]
156
32
  );
157
- react.useEffect(() => {
33
+ useEffect(() => {
158
34
  if (typeof document === "undefined") return;
159
35
  document.documentElement.setAttribute(BRAND_ATTRIBUTE, brandId);
160
36
  }, [brandId]);
@@ -171,18 +47,18 @@ var useColorSchemeState = ({
171
47
  scheme: propScheme,
172
48
  onSchemeChange
173
49
  } = {}) => {
174
- const [uncontrolledScheme, setUncontrolledScheme] = react.useState(defaultScheme);
175
- const [systemScheme, setSystemScheme] = react.useState(getSystemColorScheme);
50
+ const [uncontrolledScheme, setUncontrolledScheme] = useState(defaultScheme);
51
+ const [systemScheme, setSystemScheme] = useState(getSystemColorScheme);
176
52
  const isControlled = propScheme !== void 0;
177
53
  const scheme = isControlled ? propScheme : uncontrolledScheme;
178
- const setScheme = react.useCallback(
54
+ const setScheme = useCallback(
179
55
  (next) => {
180
56
  if (!isControlled) setUncontrolledScheme(next);
181
57
  onSchemeChange?.(next);
182
58
  },
183
59
  [isControlled, onSchemeChange]
184
60
  );
185
- react.useEffect(() => {
61
+ useEffect(() => {
186
62
  if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
187
63
  const mq = window.matchMedia(DARK_QUERY);
188
64
  const onChange = () => setSystemScheme(mq.matches ? "dark" : "light");
@@ -191,7 +67,7 @@ var useColorSchemeState = ({
191
67
  return () => mq.removeEventListener("change", onChange);
192
68
  }, []);
193
69
  const resolvedScheme = scheme === "system" ? systemScheme : scheme;
194
- react.useEffect(() => {
70
+ useEffect(() => {
195
71
  if (typeof document === "undefined") return;
196
72
  document.documentElement.setAttribute(THEME_ATTRIBUTE, resolvedScheme);
197
73
  }, [resolvedScheme]);
@@ -223,6 +99,7 @@ var tokensToCssVars = ({
223
99
  vars.set("--muted-foreground", colors?.mutedForeground);
224
100
  vars.set("--border", colors?.border);
225
101
  vars.set("--input", colors?.input);
102
+ vars.set("--input-background", colors?.inputBackground);
226
103
  vars.set("--ring", colors?.ring);
227
104
  vars.set("--ring-offset", colors?.ringOffset);
228
105
  vars.set("--primary", colors?.primary);
@@ -301,7 +178,7 @@ var removeTokens = (node, vars) => {
301
178
  }
302
179
  };
303
180
  var useThemeTokens = (tokens) => {
304
- react.useInsertionEffect(() => {
181
+ useInsertionEffect(() => {
305
182
  if (typeof document === "undefined") return;
306
183
  const root = document.documentElement;
307
184
  const vars = tokensToCssVars(tokens);
@@ -329,20 +206,20 @@ var ThemeProvider = ({
329
206
  brandId,
330
207
  onBrandIdChange
331
208
  });
332
- const brand = react.useMemo(
209
+ const brand = useMemo(
333
210
  () => brands.find((item) => item.id === brandState.brandId) ?? defaultBrand,
334
211
  [brands, brandState.brandId]
335
212
  );
336
- const themes = react.useMemo(() => brands.map(createTheme), [brands]);
337
- const currentTheme = react.useMemo(() => createTheme(brand), [brand]);
338
- const themeTokens = react.useMemo(
213
+ const themes = useMemo(() => brands.map(createTheme), [brands]);
214
+ const currentTheme = useMemo(() => createTheme(brand), [brand]);
215
+ const themeTokens = useMemo(
339
216
  () => brandThemeToTokens(brand.theme, colorSchemeState.resolvedScheme),
340
217
  [brand, colorSchemeState.resolvedScheme]
341
218
  );
342
219
  useThemeTokens(themeTokens);
343
220
  const { scheme: activeScheme, resolvedScheme, setScheme } = colorSchemeState;
344
221
  const { brandId: activeBrandId, setBrand } = brandState;
345
- const context = react.useMemo(
222
+ const context = useMemo(
346
223
  () => ({
347
224
  scheme: activeScheme,
348
225
  resolvedScheme,
@@ -354,20 +231,12 @@ var ThemeProvider = ({
354
231
  }),
355
232
  [activeScheme, resolvedScheme, setScheme, activeBrandId, setBrand, themes, currentTheme]
356
233
  );
357
- return /* @__PURE__ */ jsxRuntime.jsxs(ThemeContext, { value: context, children: [
358
- /* @__PURE__ */ jsxRuntime.jsx(AIGradientsSvg, {}),
359
- /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children })
234
+ return /* @__PURE__ */ jsxs(ThemeContext, { value: context, children: [
235
+ /* @__PURE__ */ jsx(AIGradientsSvg, {}),
236
+ /* @__PURE__ */ jsx(TooltipProvider, { children })
360
237
  ] });
361
238
  };
362
- var renderWithTheme = (ui, options = {}) => {
363
- const { brand = brandRegistry.keboola, ...rest } = options;
364
- const isArgo = !keboolaLegacyIds.includes(brand.id);
365
- return react$1.render(ui, {
366
- ...rest,
367
- wrapper: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { brands: [brand], brandId: brand.id, children: /* @__PURE__ */ jsxRuntime.jsx(ArgoDesignContext, { value: isArgo, children }) })
368
- });
369
- };
370
239
 
371
- exports.renderWithTheme = renderWithTheme;
372
- //# sourceMappingURL=testing.cjs.map
373
- //# sourceMappingURL=testing.cjs.map
240
+ export { ThemeProvider };
241
+ //# sourceMappingURL=chunk-C3L3TBBT.js.map
242
+ //# sourceMappingURL=chunk-C3L3TBBT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ThemeProvider/AIGradientSvg.tsx","../src/components/ThemeProvider/useBrandState.ts","../src/components/ThemeProvider/useColorSchemeState.ts","../src/components/ThemeProvider/useThemeTokens.ts","../src/components/ThemeProvider/ThemeProvider.tsx"],"names":["defaultBrand","useState","useCallback","useEffect","jsxs","jsx"],"mappings":";;;;;AAAO,IAAM,iBAAiB,sBAC5B,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,KAAI,MAAA,EAAO,GAAA,EAAI,KAAA,EAAO,EAAE,UAAU,UAAA,EAAY,UAAA,EAAY,QAAA,EAAS,EAC5E,+BAAC,MAAA,EAAA,EAEC,QAAA,EAAA;AAAA,kBAAA,IAAA,CAAC,gBAAA,EAAA,EAAe,EAAA,EAAG,gBAAA,EAAiB,EAAA,EAAG,IAAA,EAAK,IAAG,IAAA,EAAK,EAAA,EAAG,MAAA,EAAO,EAAA,EAAG,MAAA,EAC/D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,IAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,oBACtC,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,KAAA,EAAM,WAAU,SAAA,EAAU,CAAA;AAAA,oBACvC,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,WAAU,SAAA,EAAU;AAAA,GAAA,EAC1C,CAAA;AAAA,kBAGA,IAAA,CAAC,gBAAA,EAAA,EAAe,EAAA,EAAG,gBAAA,EAAiB,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,MAAA,EAAO,EAAA,EAAG,MAAA,EAC/D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,IAAA,EAAK,SAAA,EAAU,SAAA,EAAU,CAAA;AAAA,oBACtC,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,WAAU,SAAA,EAAU;AAAA,GAAA,EAC1C;AAAA,CAAA,EACF,CAAA,EACF,CAAA;ACXK,IAAM,eAAA,GAAkB,YAAA;AAWxB,IAAM,gBAAgB,CAAC;AAAA,EAC5B,gBAAgBA,aAAAA,GAAe,gBAAA;AAAA,EAC/B,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB;AACnB,CAAA,GAAqB,EAAC,KAAM;AAC1B,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAASA,aAAY,CAAA;AAEvE,EAAA,MAAM,eAAe,eAAA,KAAoB,MAAA;AACzC,EAAA,MAAM,OAAA,GAAU,eAAe,eAAA,GAAkB,iBAAA;AAEjD,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,IAAA,KAAkB;AACjB,MAAA,IAAI,CAAC,YAAA,EAAc,oBAAA,CAAqB,IAAI,CAAA;AAC5C,MAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,GAC9B;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACrC,IAAA,QAAA,CAAS,eAAA,CAAgB,YAAA,CAAa,eAAA,EAAiB,OAAO,CAAA;AAAA,EAChE,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,OAAO,EAAE,SAAS,QAAA,EAAS;AAC7B,CAAA;ACnCA,IAAM,UAAA,GAAa,8BAAA;AACZ,IAAM,eAAA,GAAkB,YAAA;AAE/B,IAAM,uBAAuB,MAA2B;AACtD,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAA,CAAO,UAAA,KAAe,YAAY,OAAO,OAAA;AACrF,EAAA,OAAO,MAAA,CAAO,UAAA,CAAW,UAAU,CAAA,CAAE,UAAU,MAAA,GAAS,OAAA;AAC1D,CAAA;AAWO,IAAM,sBAAsB,CAAC;AAAA,EAClC,aAAA,GAAgB,oBAAA;AAAA,EAChB,MAAA,EAAQ,UAAA;AAAA,EACR;AACF,CAAA,GAA2B,EAAC,KAAM;AAChC,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAIC,SAAS,aAAa,CAAA;AAC1E,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAIA,SAA8B,oBAAoB,CAAA;AAE1F,EAAA,MAAM,eAAe,UAAA,KAAe,MAAA;AACpC,EAAA,MAAM,MAAA,GAAS,eAAe,UAAA,GAAa,kBAAA;AAE3C,EAAA,MAAM,SAAA,GAAYC,WAAAA;AAAA,IAChB,CAAC,IAAA,KAAsB;AACrB,MAAA,IAAI,CAAC,YAAA,EAAc,qBAAA,CAAsB,IAAI,CAAA;AAC7C,MAAA,cAAA,GAAiB,IAAI,CAAA;AAAA,IACvB,CAAA;AAAA,IACA,CAAC,cAAc,cAAc;AAAA,GAC/B;AAGA,EAAAC,UAAU,MAAM;AACd,IAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAA,CAAO,eAAe,UAAA,EAAY;AAC9E,IAAA,MAAM,EAAA,GAAK,MAAA,CAAO,UAAA,CAAW,UAAU,CAAA;AACvC,IAAA,MAAM,WAAW,MAAM,eAAA,CAAgB,EAAA,CAAG,OAAA,GAAU,SAAS,OAAO,CAAA;AACpE,IAAA,QAAA,EAAS;AACT,IAAA,EAAA,CAAG,gBAAA,CAAiB,UAAU,QAAQ,CAAA;AACtC,IAAA,OAAO,MAAM,EAAA,CAAG,mBAAA,CAAoB,QAAA,EAAU,QAAQ,CAAA;AAAA,EACxD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAAA,GAAsC,MAAA,KAAW,QAAA,GAAW,YAAA,GAAe,MAAA;AAEjF,EAAAA,UAAU,MAAM;AACd,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACrC,IAAA,QAAA,CAAS,eAAA,CAAgB,YAAA,CAAa,eAAA,EAAiB,cAAc,CAAA;AAAA,EACvE,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AAEnB,EAAA,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,SAAA,EAAU;AAC7C,CAAA;ACjCO,IAAM,kBAAA,GAAqB,CAChC,KAAA,EACA,MAAA,MACiB;AAAA,EACjB,MAAA,EAAQ,MAAA,KAAW,MAAA,GAAS,KAAA,CAAM,aAAa,KAAA,CAAM,MAAA;AAAA,EACrD,YAAY,KAAA,CAAM,UAAA;AAAA,EAClB,OAAO,KAAA,CAAM,KAAA;AAAA;AAAA,EAEb,SAAS,KAAA,CAAM,OAAA;AAAA,EACf,SAAS,KAAA,CAAM,OAAA;AAAA,EACf,QAAQ,KAAA,CAAM,MAAA;AAAA,EACd,UAAU,KAAA,CAAM;AAClB,CAAA,CAAA;AAEO,IAAM,kBAAkB,CAAC;AAAA,EAC9B,MAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,KAA2C;AACzC,EAAA,MAAM,OAAO,aAAA,EAAc;AAE3B,EAAA,IAAA,CAAK,GAAA,CAAI,cAAA,EAAgB,MAAA,EAAQ,UAAU,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,cAAA,EAAgB,MAAA,EAAQ,UAAU,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,SAAA,EAAW,MAAA,EAAQ,KAAK,CAAA;AACjC,EAAA,IAAA,CAAK,GAAA,CAAI,oBAAA,EAAsB,MAAA,EAAQ,eAAe,CAAA;AACtD,EAAA,IAAA,CAAK,GAAA,CAAI,UAAA,EAAY,MAAA,EAAQ,MAAM,CAAA;AACnC,EAAA,IAAA,CAAK,GAAA,CAAI,SAAA,EAAW,MAAA,EAAQ,KAAK,CAAA;AACjC,EAAA,IAAA,CAAK,GAAA,CAAI,oBAAA,EAAsB,MAAA,EAAQ,eAAe,CAAA;AACtD,EAAA,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,MAAA,EAAQ,IAAI,CAAA;AAC/B,EAAA,IAAA,CAAK,GAAA,CAAI,eAAA,EAAiB,MAAA,EAAQ,UAAU,CAAA;AAC5C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AACrC,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,MAAA,EAAQ,iBAAiB,CAAA;AAC1D,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,MAAA,EAAQ,SAAS,CAAA;AACzC,EAAA,IAAA,CAAK,GAAA,CAAI,wBAAA,EAA0B,MAAA,EAAQ,mBAAmB,CAAA;AAC9D,EAAA,IAAA,CAAK,GAAA,CAAI,UAAA,EAAY,MAAA,EAAQ,MAAM,CAAA;AACnC,EAAA,IAAA,CAAK,GAAA,CAAI,qBAAA,EAAuB,MAAA,EAAQ,gBAAgB,CAAA;AACxD,EAAA,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,MAAA,EAAQ,IAAI,CAAA;AAC/B,EAAA,IAAA,CAAK,GAAA,CAAI,mBAAA,EAAqB,MAAA,EAAQ,cAAc,CAAA;AACpD,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AACrC,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,MAAA,EAAQ,iBAAiB,CAAA;AAC1D,EAAA,IAAA,CAAK,GAAA,CAAI,eAAA,EAAiB,MAAA,EAAQ,WAAW,CAAA;AAC7C,EAAA,IAAA,CAAK,GAAA,CAAI,0BAAA,EAA4B,MAAA,EAAQ,qBAAqB,CAAA;AAClE,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AACrC,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,MAAA,EAAQ,iBAAiB,CAAA;AAC1D,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,OAAO,CAAA;AACrC,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,MAAA,EAAQ,iBAAiB,CAAA;AAC1D,EAAA,IAAA,CAAK,GAAA,CAAI,QAAA,EAAU,MAAA,EAAQ,IAAI,CAAA;AAC/B,EAAA,IAAA,CAAK,GAAA,CAAI,mBAAA,EAAqB,MAAA,EAAQ,cAAc,CAAA;AAEpD,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAA;AAC3C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,MAAM,CAAA;AAE3C,EAAA,IAAA,CAAK,GAAA,CAAI,WAAA,EAAa,MAAA,EAAQ,OAAA,EAAS,OAAO,CAAA;AAC9C,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,MAAA,EAAQ,OAAA,EAAS,iBAAiB,CAAA;AACnE,EAAA,IAAA,CAAK,GAAA,CAAI,mBAAA,EAAqB,MAAA,EAAQ,OAAA,EAAS,cAAc,CAAA;AAC7D,EAAA,IAAA,CAAK,GAAA,CAAI,8BAAA,EAAgC,MAAA,EAAQ,OAAA,EAAS,wBAAwB,CAAA;AAClF,EAAA,IAAA,CAAK,GAAA,CAAI,kBAAA,EAAoB,MAAA,EAAQ,OAAA,EAAS,aAAa,CAAA;AAC3D,EAAA,IAAA,CAAK,GAAA,CAAI,6BAAA,EAA+B,MAAA,EAAQ,OAAA,EAAS,uBAAuB,CAAA;AAChF,EAAA,IAAA,CAAK,GAAA,CAAI,kBAAA,EAAoB,MAAA,EAAQ,OAAA,EAAS,aAAa,CAAA;AAC3D,EAAA,IAAA,CAAK,GAAA,CAAI,gBAAA,EAAkB,MAAA,EAAQ,OAAA,EAAS,WAAW,CAAA;AAKvD,EAAA,IAAA,CAAK,IAAI,aAAA,EAAe,UAAA,EAAY,UAAA,EAAY,IAAA,MAAU,MAAS,CAAA;AACnE,EAAA,IAAA,CAAK,IAAI,gBAAA,EAAkB,UAAA,EAAY,WAAA,EAAa,IAAA,MAAU,MAAS,CAAA;AACvE,EAAA,IAAA,CAAK,IAAI,aAAA,EAAe,UAAA,EAAY,QAAA,EAAU,IAAA,MAAU,MAAS,CAAA;AAGjE,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,UAAA,EAAY,MAAA,EAAQ,MAAM,CAAA;AAC3D,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,UAAA,EAAY,MAAA,EAAQ,MAAM,CAAA;AAC3D,EAAA,IAAA,CAAK,GAAA,CAAI,wBAAA,EAA0B,UAAA,EAAY,MAAA,EAAQ,QAAQ,CAAA;AAC/D,EAAA,IAAA,CAAK,GAAA,CAAI,oBAAA,EAAsB,UAAA,EAAY,MAAA,EAAQ,IAAI,CAAA;AAGvD,EAAA,IAAA,CAAK,GAAA,CAAI,yBAAA,EAA2B,UAAA,EAAY,aAAA,EAAe,MAAM,CAAA;AAGrE,EAAA,IAAA,CAAK,GAAA,CAAI,qBAAA,EAAuB,UAAA,EAAY,SAAA,EAAW,SAAS,IAAI,CAAA;AACpE,EAAA,IAAA,CAAK,GAAA,CAAI,uBAAA,EAAyB,UAAA,EAAY,SAAA,EAAW,SAAS,MAAM,CAAA;AACxE,EAAA,IAAA,CAAK,GAAA,CAAI,wBAAA,EAA0B,UAAA,EAAY,SAAA,EAAW,SAAS,OAAO,CAAA;AAC1E,EAAA,IAAA,CAAK,GAAA,CAAI,yBAAA,EAA2B,UAAA,EAAY,SAAA,EAAW,SAAS,QAAQ,CAAA;AAC5E,EAAA,IAAA,CAAK,GAAA,CAAI,qBAAA,EAAuB,UAAA,EAAY,SAAA,EAAW,SAAS,IAAI,CAAA;AACpE,EAAA,IAAA,CAAK,GAAA,CAAI,uBAAA,EAAyB,UAAA,EAAY,SAAA,EAAW,SAAS,MAAM,CAAA;AACxE,EAAA,IAAA,CAAK,GAAA,CAAI,wBAAA,EAA0B,UAAA,EAAY,SAAA,EAAW,SAAS,OAAO,CAAA;AAC1E,EAAA,IAAA,CAAK,GAAA,CAAI,yBAAA,EAA2B,UAAA,EAAY,SAAA,EAAW,SAAS,QAAQ,CAAA;AAC5E,EAAA,IAAA,CAAK,GAAA,CAAI,kBAAA,EAAoB,UAAA,EAAY,SAAA,EAAW,MAAM,IAAI,CAAA;AAC9D,EAAA,IAAA,CAAK,GAAA,CAAI,oBAAA,EAAsB,UAAA,EAAY,SAAA,EAAW,MAAM,MAAM,CAAA;AAClE,EAAA,IAAA,CAAK,GAAA,CAAI,qBAAA,EAAuB,UAAA,EAAY,SAAA,EAAW,MAAM,OAAO,CAAA;AACpE,EAAA,IAAA,CAAK,GAAA,CAAI,sBAAA,EAAwB,UAAA,EAAY,SAAA,EAAW,MAAM,QAAQ,CAAA;AAEtE,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,KAAA,EAAO,EAAE,CAAA;AACjC,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,KAAA,EAAO,EAAE,CAAA;AACjC,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,KAAA,EAAO,EAAE,CAAA;AAKjC,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,OAAA,EAAS,EAAE,CAAA;AACnC,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,OAAA,EAAS,EAAE,CAAA;AACnC,EAAA,IAAA,CAAK,GAAA,CAAI,aAAA,EAAe,OAAA,EAAS,EAAE,CAAA;AACnC,EAAA,IAAA,CAAK,GAAA,CAAI,eAAA,EAAiB,OAAA,EAAS,IAAI,CAAA;AAEvC,EAAA,IAAA,CAAK,GAAA,CAAI,gBAAA,EAAkB,OAAA,EAAS,MAAM,CAAA;AAC1C,EAAA,IAAA,CAAK,GAAA,CAAI,eAAA,EAAiB,OAAA,EAAS,KAAK,CAAA;AAExC,EAAA,IAAA,CAAK,GAAA,CAAI,mBAAA,EAAqB,MAAA,EAAQ,QAAQ,CAAA;AAC9C,EAAA,IAAA,CAAK,GAAA,CAAI,iBAAA,EAAmB,MAAA,EAAQ,MAAM,CAAA;AAE1C,EAAA,IAAA,CAAK,GAAA,CAAI,kBAAA,EAAoB,QAAA,EAAU,KAAK,CAAA;AAE5C,EAAA,OAAO,KAAK,MAAA,EAAO;AACrB,CAAA;AAEA,IAAM,SAAA,GAAY,CAAC,IAAA,EAAmB,IAAA,KAAiC;AACrE,EAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,EAAG;AAChD,IAAA,IAAA,CAAK,KAAA,CAAM,WAAA,CAAY,IAAA,EAAM,KAAK,CAAA;AAAA,EACpC;AACF,CAAA;AAEA,IAAM,YAAA,GAAe,CAAC,IAAA,EAAmB,IAAA,KAAiC;AACxE,EAAA,KAAA,MAAW,IAAA,IAAQ,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,EAAG;AACpC,IAAA,IAAA,CAAK,KAAA,CAAM,eAAe,IAAI,CAAA;AAAA,EAChC;AACF,CAAA;AAEO,IAAM,cAAA,GAAiB,CAAC,MAAA,KAAwB;AAKrD,EAAA,kBAAA,CAAmB,MAAM;AACvB,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACrC,IAAA,MAAM,OAAO,QAAA,CAAS,eAAA;AACtB,IAAA,MAAM,IAAA,GAAO,gBAAgB,MAAM,CAAA;AAEnC,IAAA,SAAA,CAAU,MAAM,IAAI,CAAA;AAEpB,IAAA,OAAO,MAAM,YAAA,CAAa,IAAA,EAAM,IAAI,CAAA;AAAA,EACtC,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AACb,CAAA;ACxJO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,aAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,eAAA;AAAA,EACA,MAAA,GAAS,cAAA;AAAA,EACT;AACF,CAAA,KAAa;AACX,EAAA,MAAM,mBAAmB,mBAAA,CAAoB;AAAA,IAC3C,aAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,aAAa,aAAA,CAAc;AAAA,IAC/B,cAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACD,CAAA;AAKD,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,MAAM,OAAO,IAAA,CAAK,CAAC,SAAS,IAAA,CAAK,EAAA,KAAO,UAAA,CAAW,OAAO,CAAA,IAAK,YAAA;AAAA,IAC/D,CAAC,MAAA,EAAQ,UAAA,CAAW,OAAO;AAAA,GAC7B;AACA,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM,MAAA,CAAO,IAAI,WAAW,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAC9D,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM,WAAA,CAAY,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAK9D,EAAA,MAAM,WAAA,GAAc,OAAA;AAAA,IAClB,MAAM,kBAAA,CAAmB,KAAA,CAAM,KAAA,EAAO,iBAAiB,cAAc,CAAA;AAAA,IACrE,CAAC,KAAA,EAAO,gBAAA,CAAiB,cAAc;AAAA,GACzC;AAEA,EAAA,cAAA,CAAe,WAAW,CAAA;AAE1B,EAAA,MAAM,EAAE,MAAA,EAAQ,YAAA,EAAc,cAAA,EAAgB,WAAU,GAAI,gBAAA;AAC5D,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,QAAA,EAAS,GAAI,UAAA;AAC7C,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACd,OAAO;AAAA,MACL,MAAA,EAAQ,YAAA;AAAA,MACR,cAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA,EAAS,aAAA;AAAA,MACT,QAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,YAAA,EAAc,cAAA,EAAgB,WAAW,aAAA,EAAe,QAAA,EAAU,QAAQ,YAAY;AAAA,GACzF;AAEA,EAAA,uBACEC,IAAAA,CAAC,YAAA,EAAA,EAAa,KAAA,EAAO,OAAA,EACnB,QAAA,EAAA;AAAA,oBAAAC,IAAC,cAAA,EAAA,EAAe,CAAA;AAAA,oBAChBA,GAAAA,CAAC,eAAA,EAAA,EAAiB,QAAA,EAAS;AAAA,GAAA,EAC7B,CAAA;AAEJ","file":"chunk-C3L3TBBT.js","sourcesContent":["export const AIGradientsSvg = () => (\n <svg width=\"0\" height=\"0\" style={{ position: 'absolute', visibility: 'hidden' }}>\n <defs>\n {/*aigradient-600*/}\n <linearGradient id=\"aigradient-600\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#61E4FF\" />\n <stop offset=\"50%\" stopColor=\"#1F8FFF\" />\n <stop offset=\"100%\" stopColor=\"#7C5CFF\" />\n </linearGradient>\n\n {/*aigradient-700*/}\n <linearGradient id=\"aigradient-700\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#075fb8\" />\n <stop offset=\"100%\" stopColor=\"#5b2cb8\" />\n </linearGradient>\n </defs>\n </svg>\n);\n","import { useCallback, useEffect, useState } from 'react';\n\nimport { DEFAULT_BRAND_ID } from './defaults';\nimport type { BrandId } from './types';\n\nexport const BRAND_ATTRIBUTE = 'data-brand';\n\nexport type UseBrandOptions = {\n /** Initial active brand id for uncontrolled use. Defaults to the design-system sentinel (`DEFAULT_BRAND_ID`) — no brand tokens injected, so the stylesheet defaults apply. */\n defaultBrandId?: BrandId;\n /** Controlled active brand id. When set, the parent owns the value and `setBrand` only notifies via `onBrandIdChange` (it does not mutate internal state). */\n brandId?: BrandId;\n /** Called with the next id whenever `setBrand` runs — required to persist the choice in controlled mode. */\n onBrandIdChange?: (brandId: BrandId) => void;\n};\n\nexport const useBrandState = ({\n defaultBrandId: defaultBrand = DEFAULT_BRAND_ID,\n brandId: controlledBrand,\n onBrandIdChange: onBrandChange,\n}: UseBrandOptions = {}) => {\n const [uncontrolledBrand, setUncontrolledBrand] = useState(defaultBrand);\n\n const isControlled = controlledBrand !== undefined;\n const brandId = isControlled ? controlledBrand : uncontrolledBrand;\n\n const setBrand = useCallback(\n (next: BrandId) => {\n if (!isControlled) setUncontrolledBrand(next);\n onBrandChange?.(next);\n },\n [isControlled, onBrandChange],\n );\n\n useEffect(() => {\n if (typeof document === 'undefined') return;\n document.documentElement.setAttribute(BRAND_ATTRIBUTE, brandId);\n }, [brandId]);\n\n return { brandId, setBrand };\n};\n","import { useCallback, useEffect, useState } from 'react';\n\nimport { DEFAULT_COLOR_SCHEME } from './defaults';\nimport type { ColorScheme, ResolvedColorScheme } from './types';\n\nconst DARK_QUERY = '(prefers-color-scheme: dark)';\nexport const THEME_ATTRIBUTE = 'data-theme';\n\nconst getSystemColorScheme = (): ResolvedColorScheme => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return 'light';\n return window.matchMedia(DARK_QUERY).matches ? 'dark' : 'light';\n};\n\nexport type UseColorSchemeOptions = {\n /** Initial colour scheme for uncontrolled use. Defaults to `light` (`DEFAULT_COLOR_SCHEME`). */\n defaultScheme?: ColorScheme;\n /** Controlled colour scheme (`light` / `dark` / `system`). When set, the parent owns the value and `setScheme` only notifies via `onSchemeChange`. `system` follows `prefers-color-scheme` and resolves reactively. */\n scheme?: ColorScheme;\n /** Called with the next scheme whenever `setScheme` runs — required to persist the choice in controlled mode. */\n onSchemeChange?: (theme: ColorScheme) => void;\n};\n\nexport const useColorSchemeState = ({\n defaultScheme = DEFAULT_COLOR_SCHEME,\n scheme: propScheme,\n onSchemeChange,\n}: UseColorSchemeOptions = {}) => {\n const [uncontrolledScheme, setUncontrolledScheme] = useState(defaultScheme);\n const [systemScheme, setSystemScheme] = useState<ResolvedColorScheme>(getSystemColorScheme);\n\n const isControlled = propScheme !== undefined;\n const scheme = isControlled ? propScheme : uncontrolledScheme;\n\n const setScheme = useCallback(\n (next: ColorScheme) => {\n if (!isControlled) setUncontrolledScheme(next);\n onSchemeChange?.(next);\n },\n [isControlled, onSchemeChange],\n );\n\n // Track the OS preference so `system` stays live as the user flips it.\n useEffect(() => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return;\n const mq = window.matchMedia(DARK_QUERY);\n const onChange = () => setSystemScheme(mq.matches ? 'dark' : 'light');\n onChange();\n mq.addEventListener('change', onChange);\n return () => mq.removeEventListener('change', onChange);\n }, []);\n\n const resolvedScheme: ResolvedColorScheme = scheme === 'system' ? systemScheme : scheme;\n\n useEffect(() => {\n if (typeof document === 'undefined') return;\n document.documentElement.setAttribute(THEME_ATTRIBUTE, resolvedScheme);\n }, [resolvedScheme]);\n\n return { scheme, resolvedScheme, setScheme };\n};\n","import { useInsertionEffect } from 'react';\n\nimport type {\n BrandTheme,\n Colors,\n Gradient,\n Motion,\n Radii,\n Shadows,\n Spacing,\n Typography,\n} from '@keboola/brand-registry';\n\nimport type { ResolvedColorScheme } from './types';\nimport { createCssVars } from './utils';\n\nexport type ThemeTokens = {\n colors?: Colors;\n typography?: Typography;\n radii?: Radii;\n shadows?: Shadows;\n spacing?: Spacing;\n motion?: Motion;\n gradient?: Gradient;\n};\n\nexport const brandThemeToTokens = (\n theme: BrandTheme,\n scheme: ResolvedColorScheme,\n): ThemeTokens => ({\n colors: scheme === 'dark' ? theme.colorsDark : theme.colors,\n typography: theme.typography,\n radii: theme.radii,\n // Scheme-independent — the same values apply in light and dark.\n shadows: theme.shadows,\n spacing: theme.spacing,\n motion: theme.motion,\n gradient: theme.gradient,\n});\n\nexport const tokensToCssVars = ({\n colors,\n typography,\n radii,\n shadows,\n spacing,\n motion,\n gradient,\n}: ThemeTokens): Record<string, string> => {\n const vars = createCssVars();\n\n vars.set('--background', colors?.background);\n vars.set('--foreground', colors?.foreground);\n vars.set('--muted', colors?.muted);\n vars.set('--muted-foreground', colors?.mutedForeground);\n vars.set('--border', colors?.border);\n vars.set('--input', colors?.input);\n vars.set('--input-background', colors?.inputBackground);\n vars.set('--ring', colors?.ring);\n vars.set('--ring-offset', colors?.ringOffset);\n vars.set('--primary', colors?.primary);\n vars.set('--primary-foreground', colors?.primaryForeground);\n vars.set('--secondary', colors?.secondary);\n vars.set('--secondary-foreground', colors?.secondaryForeground);\n vars.set('--accent', colors?.accent);\n vars.set('--accent-foreground', colors?.accentForeground);\n vars.set('--card', colors?.card);\n vars.set('--card-foreground', colors?.cardForeground);\n vars.set('--popover', colors?.popover);\n vars.set('--popover-foreground', colors?.popoverForeground);\n vars.set('--destructive', colors?.destructive);\n vars.set('--destructive-foreground', colors?.destructiveForeground);\n vars.set('--success', colors?.success);\n vars.set('--success-foreground', colors?.successForeground);\n vars.set('--warning', colors?.warning);\n vars.set('--warning-foreground', colors?.warningForeground);\n vars.set('--info', colors?.info);\n vars.set('--info-foreground', colors?.infoForeground);\n\n vars.set('--chart-1', colors?.chart?.chart1);\n vars.set('--chart-2', colors?.chart?.chart2);\n vars.set('--chart-3', colors?.chart?.chart3);\n vars.set('--chart-4', colors?.chart?.chart4);\n vars.set('--chart-5', colors?.chart?.chart5);\n\n vars.set('--sidebar', colors?.sidebar?.sidebar);\n vars.set('--sidebar-foreground', colors?.sidebar?.sidebarForeground);\n vars.set('--sidebar-primary', colors?.sidebar?.sidebarPrimary);\n vars.set('--sidebar-primary-foreground', colors?.sidebar?.sidebarPrimaryForeground);\n vars.set('--sidebar-accent', colors?.sidebar?.sidebarAccent);\n vars.set('--sidebar-accent-foreground', colors?.sidebar?.sidebarAccentForeground);\n vars.set('--sidebar-border', colors?.sidebar?.sidebarBorder);\n vars.set('--sidebar-ring', colors?.sidebar?.sidebarRing);\n\n /**\n * TYPOGRAPHY\n */\n vars.set('--font-sans', typography?.fontFamily?.trim() || undefined);\n vars.set('--font-display', typography?.fontDisplay?.trim() || undefined);\n vars.set('--font-mono', typography?.fontMono?.trim() || undefined);\n\n // Chrome font-weight slots — read by Tailwind's `fontWeight` scale.\n vars.set('--font-weight-normal', typography?.weight?.normal);\n vars.set('--font-weight-medium', typography?.weight?.medium);\n vars.set('--font-weight-semibold', typography?.weight?.semibold);\n vars.set('--font-weight-bold', typography?.weight?.bold);\n\n // Chrome tracking — behind Button/Badge `tracking-chrome`.\n vars.set('--letter-spacing-chrome', typography?.letterSpacing?.chrome);\n\n // Type scale — display/heading/body steps read by `text-display/heading/body`.\n vars.set('--type-display-size', typography?.typeScale?.display?.size);\n vars.set('--type-display-weight', typography?.typeScale?.display?.weight);\n vars.set('--type-display-leading', typography?.typeScale?.display?.leading);\n vars.set('--type-display-tracking', typography?.typeScale?.display?.tracking);\n vars.set('--type-heading-size', typography?.typeScale?.heading?.size);\n vars.set('--type-heading-weight', typography?.typeScale?.heading?.weight);\n vars.set('--type-heading-leading', typography?.typeScale?.heading?.leading);\n vars.set('--type-heading-tracking', typography?.typeScale?.heading?.tracking);\n vars.set('--type-body-size', typography?.typeScale?.body?.size);\n vars.set('--type-body-weight', typography?.typeScale?.body?.weight);\n vars.set('--type-body-leading', typography?.typeScale?.body?.leading);\n vars.set('--type-body-tracking', typography?.typeScale?.body?.tracking);\n\n vars.set('--radius-sm', radii?.sm);\n vars.set('--radius-md', radii?.md);\n vars.set('--radius-lg', radii?.lg);\n\n /**\n * ELEVATION / DENSITY / MOTION / GRADIENT\n */\n vars.set('--shadow-sm', shadows?.sm);\n vars.set('--shadow-md', shadows?.md);\n vars.set('--shadow-lg', shadows?.lg);\n vars.set('--shadow-lift', shadows?.lift);\n\n vars.set('--space-gutter', spacing?.gutter);\n vars.set('--space-inset', spacing?.inset);\n\n vars.set('--motion-duration', motion?.duration);\n vars.set('--motion-easing', motion?.easing);\n\n vars.set('--gradient-brand', gradient?.brand);\n\n return vars.expose();\n};\n\nconst setTokens = (node: HTMLElement, vars: Record<string, string>) => {\n for (const [name, value] of Object.entries(vars)) {\n node.style.setProperty(name, value);\n }\n};\n\nconst removeTokens = (node: HTMLElement, vars: Record<string, string>) => {\n for (const name of Object.keys(vars)) {\n node.style.removeProperty(name);\n }\n};\n\nexport const useThemeTokens = (tokens: ThemeTokens) => {\n // Insertion effect: runs before the DOM mutates and before any (descendant)\n // layout effect measures token-dependent geometry. Write-only, so it fits the\n // hook's constraints. Only the brand's overrides are set; unset slots fall\n // through to the stylesheet's `:root` / `[data-theme='dark']` defaults.\n useInsertionEffect(() => {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n const vars = tokensToCssVars(tokens);\n\n setTokens(root, vars);\n\n return () => removeTokens(root, vars);\n }, [tokens]);\n};\n","import { type ReactNode, useMemo } from 'react';\n\nimport type { Brand } from '@keboola/brand-registry';\n\nimport { TooltipProvider } from '../Tooltip';\n\nimport { AIGradientsSvg } from './AIGradientSvg';\nimport { ThemeContext, type ThemeContextValue } from './context';\nimport { DEFAULT_BRANDS, defaultBrand } from './defaults';\nimport { type UseBrandOptions, useBrandState } from './useBrandState';\nimport { type UseColorSchemeOptions, useColorSchemeState } from './useColorSchemeState';\nimport { brandThemeToTokens, useThemeTokens } from './useThemeTokens';\nimport { createTheme } from './utils';\n\ntype Props = UseColorSchemeOptions &\n UseBrandOptions & {\n /** Brands this provider knows about; the active brand id resolves against these. */\n brands?: readonly Brand[];\n children: ReactNode;\n };\n\nexport const ThemeProvider = ({\n defaultScheme,\n scheme,\n onSchemeChange,\n defaultBrandId,\n brandId,\n onBrandIdChange,\n brands = DEFAULT_BRANDS,\n children,\n}: Props) => {\n const colorSchemeState = useColorSchemeState({\n defaultScheme,\n scheme,\n onSchemeChange,\n });\n\n const brandState = useBrandState({\n defaultBrandId,\n brandId,\n onBrandIdChange,\n });\n\n // Resolve the active brand; an unknown id (incl. the default sentinel) falls\n // back to `defaultBrand`, whose empty theme injects nothing so the stylesheet\n // defaults apply.\n const brand = useMemo(\n () => brands.find((item) => item.id === brandState.brandId) ?? defaultBrand,\n [brands, brandState.brandId],\n );\n const themes = useMemo(() => brands.map(createTheme), [brands]);\n const currentTheme = useMemo(() => createTheme(brand), [brand]);\n\n // Only the brand's overrides for the resolved scheme are injected; every slot\n // it omits (including a missing dark palette) falls through to the stylesheet's\n // `:root` / `[data-theme='dark']` defaults — so dark mode works for any brand.\n const themeTokens = useMemo(\n () => brandThemeToTokens(brand.theme, colorSchemeState.resolvedScheme),\n [brand, colorSchemeState.resolvedScheme],\n );\n\n useThemeTokens(themeTokens);\n\n const { scheme: activeScheme, resolvedScheme, setScheme } = colorSchemeState;\n const { brandId: activeBrandId, setBrand } = brandState;\n const context = useMemo<ThemeContextValue>(\n () => ({\n scheme: activeScheme,\n resolvedScheme,\n setScheme,\n brandId: activeBrandId,\n setBrand,\n themes,\n currentTheme,\n }),\n [activeScheme, resolvedScheme, setScheme, activeBrandId, setBrand, themes, currentTheme],\n );\n\n return (\n <ThemeContext value={context}>\n <AIGradientsSvg />\n <TooltipProvider>{children}</TooltipProvider>\n </ThemeContext>\n );\n};\n"]}