@keboola/design 9.1.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.
- package/AGENTS.md +117 -40
- package/COMPONENT-API.md +31 -9
- package/README.md +3 -3
- package/dist/MermaidDiagram-EOKJHQQV.js +10 -0
- package/dist/MermaidDiagram-EOKJHQQV.js.map +1 -0
- package/dist/charts.d.ts +31 -2
- package/dist/charts.js +6 -9
- package/dist/charts.js.map +1 -1
- package/dist/chunk-63NSN2VL.js +274 -0
- package/dist/chunk-63NSN2VL.js.map +1 -0
- package/dist/{rjsf.cjs → chunk-6FPEI4EM.js} +1491 -5701
- package/dist/chunk-6FPEI4EM.js.map +1 -0
- package/dist/chunk-7PUUHEJQ.js +1313 -0
- package/dist/chunk-7PUUHEJQ.js.map +1 -0
- package/dist/chunk-BOHNXTMM.js +606 -0
- package/dist/chunk-BOHNXTMM.js.map +1 -0
- package/dist/{testing.cjs → chunk-C3L3TBBT.js} +33 -164
- package/dist/chunk-C3L3TBBT.js.map +1 -0
- package/dist/chunk-CTCFYWJC.js +407 -0
- package/dist/chunk-CTCFYWJC.js.map +1 -0
- package/dist/chunk-ESBL3IPF.js +23 -0
- package/dist/chunk-ESBL3IPF.js.map +1 -0
- package/dist/chunk-IJTHFNNJ.js +261 -0
- package/dist/chunk-IJTHFNNJ.js.map +1 -0
- package/dist/chunk-JP7PNHLH.js +40 -0
- package/dist/chunk-JP7PNHLH.js.map +1 -0
- package/dist/chunk-KPNAW5MU.js +229 -0
- package/dist/chunk-KPNAW5MU.js.map +1 -0
- package/dist/chunk-L37JJ6MR.js +152 -0
- package/dist/chunk-L37JJ6MR.js.map +1 -0
- package/dist/chunk-Q7NWXLCT.js +90 -0
- package/dist/chunk-Q7NWXLCT.js.map +1 -0
- package/dist/chunk-SYIEF644.js +1016 -0
- package/dist/chunk-SYIEF644.js.map +1 -0
- package/dist/chunk-VMFSRV5H.js +16 -0
- package/dist/chunk-VMFSRV5H.js.map +1 -0
- package/dist/chunk-VPPM7UUQ.js +47 -0
- package/dist/chunk-VPPM7UUQ.js.map +1 -0
- package/dist/chunk-XV3UUOYF.js +845 -0
- package/dist/chunk-XV3UUOYF.js.map +1 -0
- package/dist/editors.d.ts +27 -3
- package/dist/editors.js +85 -2081
- package/dist/editors.js.map +1 -1
- package/dist/icons.d.ts +29 -8
- package/dist/icons.js +2 -361
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +709 -425
- package/dist/index.js +5042 -13885
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.js +41 -3426
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.js +8 -1129
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.js +180 -9381
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing.js +5 -357
- package/dist/testing.js.map +1 -1
- package/package.json +28 -73
- package/src/styles.css +60 -3
- package/src/theme.css +1 -0
- package/dist/charts.cjs +0 -268
- package/dist/charts.cjs.map +0 -1
- package/dist/charts.d.cts +0 -181
- package/dist/constants-D3gaMY-W.d.cts +0 -39
- package/dist/editors.cjs +0 -2440
- package/dist/editors.cjs.map +0 -1
- package/dist/editors.d.cts +0 -165
- package/dist/icons.cjs +0 -23888
- package/dist/icons.cjs.map +0 -1
- package/dist/icons.d.cts +0 -20
- package/dist/index.cjs +0 -24894
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -10438
- package/dist/markdown-editor.cjs +0 -4636
- package/dist/markdown-editor.cjs.map +0 -1
- package/dist/markdown-editor.d.cts +0 -75
- package/dist/mermaid.cjs +0 -1138
- package/dist/mermaid.cjs.map +0 -1
- package/dist/mermaid.d.cts +0 -15
- package/dist/rjsf.cjs.map +0 -1
- package/dist/rjsf.d.cts +0 -55
- package/dist/testing.cjs.map +0 -1
- 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":"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","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
|
-
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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__ */
|
|
137
|
-
/* @__PURE__ */
|
|
138
|
-
/* @__PURE__ */
|
|
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] =
|
|
23
|
+
const [uncontrolledBrand, setUncontrolledBrand] = useState(defaultBrand2);
|
|
148
24
|
const isControlled = controlledBrand !== void 0;
|
|
149
25
|
const brandId = isControlled ? controlledBrand : uncontrolledBrand;
|
|
150
|
-
const setBrand =
|
|
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
|
-
|
|
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] =
|
|
175
|
-
const [systemScheme, setSystemScheme] =
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
209
|
+
const brand = useMemo(
|
|
333
210
|
() => brands.find((item) => item.id === brandState.brandId) ?? defaultBrand,
|
|
334
211
|
[brands, brandState.brandId]
|
|
335
212
|
);
|
|
336
|
-
const themes =
|
|
337
|
-
const currentTheme =
|
|
338
|
-
const themeTokens =
|
|
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 =
|
|
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__ */
|
|
358
|
-
/* @__PURE__ */
|
|
359
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
372
|
-
//# sourceMappingURL=
|
|
373
|
-
//# sourceMappingURL=
|
|
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":"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","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"]}
|