@baseplate-dev/project-builder-web 0.3.4 → 0.3.5

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 (77) hide show
  1. package/dist/assets/{-constants-DvXqIwvq.js → -constants-BYERQCO8.js} +2 -2
  2. package/dist/assets/{-constants-DvXqIwvq.js.map → -constants-BYERQCO8.js.map} +1 -1
  3. package/dist/assets/{admin-B4N6MLKM.js → admin-Dy1xMuLp.js} +2 -2
  4. package/dist/assets/{admin-B4N6MLKM.js.map → admin-Dy1xMuLp.js.map} +1 -1
  5. package/dist/assets/{backend-DcOfqunA.js → backend-SevlkhOM.js} +2 -2
  6. package/dist/assets/{backend-DcOfqunA.js.map → backend-SevlkhOM.js.map} +1 -1
  7. package/dist/assets/{edit._key-B6XrJtx8.js → edit._key-BgnflZIL.js} +2 -2
  8. package/dist/assets/{edit._key-B6XrJtx8.js.map → edit._key-BgnflZIL.js.map} +1 -1
  9. package/dist/assets/edit._sectionKey-D4mTSUhO.js +3 -0
  10. package/dist/assets/edit._sectionKey-D4mTSUhO.js.map +1 -0
  11. package/dist/assets/{graphql-Bf0DkZpf.js → graphql-C37jbnTG.js} +2 -2
  12. package/dist/assets/{graphql-Bf0DkZpf.js.map → graphql-C37jbnTG.js.map} +1 -1
  13. package/dist/assets/{hierarchy-DJ_1-p8i.js → hierarchy-CNBHjTAJ.js} +2 -2
  14. package/dist/assets/{hierarchy-DJ_1-p8i.js.map → hierarchy-CNBHjTAJ.js.map} +1 -1
  15. package/dist/assets/{index-CSR0XEd6.js → index-2EwzbJik.js} +2 -2
  16. package/dist/assets/{index-CSR0XEd6.js.map → index-2EwzbJik.js.map} +1 -1
  17. package/dist/assets/{index-Bd-VIuBI.js → index-B2l1e3vi.js} +2 -2
  18. package/dist/assets/{index-Bd-VIuBI.js.map → index-B2l1e3vi.js.map} +1 -1
  19. package/dist/assets/{index-BbhEKLV8.js → index-B3A5IWAQ.js} +2 -2
  20. package/dist/assets/{index-BbhEKLV8.js.map → index-B3A5IWAQ.js.map} +1 -1
  21. package/dist/assets/{index-BXLDYWo4.js → index-CAFf3K5-.js} +2 -2
  22. package/dist/assets/{index-BXLDYWo4.js.map → index-CAFf3K5-.js.map} +1 -1
  23. package/dist/assets/{index-CKO5J-yn.js → index-CDx3IfgN.js} +2 -2
  24. package/dist/assets/{index-CKO5J-yn.js.map → index-CDx3IfgN.js.map} +1 -1
  25. package/dist/assets/{index-BKgjTc--.js → index-CFlVUowS.js} +2 -2
  26. package/dist/assets/{index-BKgjTc--.js.map → index-CFlVUowS.js.map} +1 -1
  27. package/dist/assets/{index-Ce0DmLOw.js → index-Ckh17o1U.js} +2 -2
  28. package/dist/assets/{index-Ce0DmLOw.js.map → index-Ckh17o1U.js.map} +1 -1
  29. package/dist/assets/{index-oa_Oxkrg.js → index-D48MR3bL.js} +2 -2
  30. package/dist/assets/{index-oa_Oxkrg.js.map → index-D48MR3bL.js.map} +1 -1
  31. package/dist/assets/{index-BekC6gsX.js → index-DEKFCy0H.js} +3 -3
  32. package/dist/assets/{index-BekC6gsX.js.map → index-DEKFCy0H.js.map} +1 -1
  33. package/dist/assets/{index-CloYSKtQ.js → index-mFxKl9yz.js} +2 -2
  34. package/dist/assets/{index-CloYSKtQ.js.map → index-mFxKl9yz.js.map} +1 -1
  35. package/dist/assets/{new-admin-section-dialog-YeMy0G96.js → new-admin-section-dialog-4X2fxo7a.js} +2 -2
  36. package/dist/assets/{new-admin-section-dialog-YeMy0G96.js.map → new-admin-section-dialog-4X2fxo7a.js.map} +1 -1
  37. package/dist/assets/{new-app-dialog-nUBoX5fs.js → new-app-dialog-CCI4q4Mt.js} +2 -2
  38. package/dist/assets/{new-app-dialog-nUBoX5fs.js.map → new-app-dialog-CCI4q4Mt.js.map} +1 -1
  39. package/dist/assets/{new-enum-dialog-8Ba41lUU.js → new-enum-dialog-B5zvBxhT.js} +2 -2
  40. package/dist/assets/{new-enum-dialog-8Ba41lUU.js.map → new-enum-dialog-B5zvBxhT.js.map} +1 -1
  41. package/dist/assets/{new-model-dialog-CWgmV0pB.js → new-model-dialog-CiwTpKcZ.js} +2 -2
  42. package/dist/assets/{new-model-dialog-CWgmV0pB.js.map → new-model-dialog-CiwTpKcZ.js.map} +1 -1
  43. package/dist/assets/{route-DM37J86t.js → route-6ErXC2Qt.js} +2 -2
  44. package/dist/assets/{route-DM37J86t.js.map → route-6ErXC2Qt.js.map} +1 -1
  45. package/dist/assets/{route-DuhBcukV.js → route-C3eBLQEr.js} +2 -2
  46. package/dist/assets/{route-DuhBcukV.js.map → route-C3eBLQEr.js.map} +1 -1
  47. package/dist/assets/{route-CSbr85FB.js → route-C6wCPwVj.js} +2 -2
  48. package/dist/assets/{route-CSbr85FB.js.map → route-C6wCPwVj.js.map} +1 -1
  49. package/dist/assets/{route-DYxDmtHP.js → route-CZgTuGeJ.js} +2 -2
  50. package/dist/assets/{route-DYxDmtHP.js.map → route-CZgTuGeJ.js.map} +1 -1
  51. package/dist/assets/route-DLz_DL5S.js +2 -0
  52. package/dist/assets/{route-DHu7qE-k.js.map → route-DLz_DL5S.js.map} +1 -1
  53. package/dist/assets/{route-DDbjYROk.js → route-DluQ5e3_.js} +2 -2
  54. package/dist/assets/{route-DDbjYROk.js.map → route-DluQ5e3_.js.map} +1 -1
  55. package/dist/assets/{route-CTv4dICL.js → route-DzYT3FNA.js} +2 -2
  56. package/dist/assets/{route-CTv4dICL.js.map → route-DzYT3FNA.js.map} +1 -1
  57. package/dist/assets/{route-CrSpNRRy.js → route-PmxQsBVj.js} +2 -2
  58. package/dist/assets/{route-CrSpNRRy.js.map → route-PmxQsBVj.js.map} +1 -1
  59. package/dist/assets/{route-Ch1y-64Q.js → route-gYB7kkkm.js} +2 -2
  60. package/dist/assets/{route-Ch1y-64Q.js.map → route-gYB7kkkm.js.map} +1 -1
  61. package/dist/assets/{route-CbVppiIk.js → route-gzD4oiAl.js} +2 -2
  62. package/dist/assets/{route-CbVppiIk.js.map → route-gzD4oiAl.js.map} +1 -1
  63. package/dist/assets/{service-fvQlhwg4.js → service--2LVz4Ht.js} +2 -2
  64. package/dist/assets/{service-fvQlhwg4.js.map → service--2LVz4Ht.js.map} +1 -1
  65. package/dist/assets/{template-extractor-ChZnhGEF.js → template-extractor-D33LuEZ8.js} +2 -2
  66. package/dist/assets/{template-extractor-ChZnhGEF.js.map → template-extractor-D33LuEZ8.js.map} +1 -1
  67. package/dist/assets/{theme-builder-Y6jNiAJ3.js → theme-builder-CWetoMuo.js} +2 -2
  68. package/dist/assets/{theme-builder-Y6jNiAJ3.js.map → theme-builder-CWetoMuo.js.map} +1 -1
  69. package/dist/assets/{use-enum-form-D7XmblPC.js → use-enum-form-BRBAlWJc.js} +2 -2
  70. package/dist/assets/{use-enum-form-D7XmblPC.js.map → use-enum-form-BRBAlWJc.js.map} +1 -1
  71. package/dist/assets/{use-model-form-dwW5mcmn.js → use-model-form-psj-JlE9.js} +2 -2
  72. package/dist/assets/{use-model-form-dwW5mcmn.js.map → use-model-form-psj-JlE9.js.map} +1 -1
  73. package/dist/index.html +1 -1
  74. package/package.json +6 -6
  75. package/dist/assets/edit._sectionKey-BHWbqvR0.js +0 -3
  76. package/dist/assets/edit._sectionKey-BHWbqvR0.js.map +0 -1
  77. package/dist/assets/route-DHu7qE-k.js +0 -2
@@ -1,4 +1,4 @@
1
- import{i as n}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{j as t}from"./jsx-runtime-D_zvdyIk.js";import{s as q}from"./index-BekC6gsX.js";import{c as N,D as J,E as Q,F as X}from"./index-tflukq04.js";import{e as f}from"./index.esm-CdP29Ssb.js";import{i as Y}from"./inflection-C1nKqrJS.js";import{c as Z,f as e1}from"./index-D5UX5AHP.js";const{generateCssFromThemeConfig:F}=await n("@baseplate-dev/project-builder-lib"),{TextareaField:t1}=await n("@baseplate-dev/ui-components"),{useMemo:a1}=await n("react");function A(s){return Object.entries(s).map(([e,r])=>` ${e}: ${r};`).join(`
1
+ import{i as n}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{j as t}from"./jsx-runtime-D_zvdyIk.js";import{s as q}from"./index-DEKFCy0H.js";import{c as N,D as J,E as Q,F as X}from"./index-tflukq04.js";import{e as f}from"./index.esm-CdP29Ssb.js";import{i as Y}from"./inflection-C1nKqrJS.js";import{c as Z,f as e1}from"./index-D5UX5AHP.js";const{generateCssFromThemeConfig:F}=await n("@baseplate-dev/project-builder-lib"),{TextareaField:t1}=await n("@baseplate-dev/ui-components"),{useMemo:a1}=await n("react");function A(s){return Object.entries(s).map(([e,r])=>` ${e}: ${r};`).join(`
2
2
  `)}function s1({className:s,control:e}){const r=f({control:e,name:"colors"}),l=a1(()=>`
3
3
  :root {
4
4
  ${A(F(r.light))}
@@ -8,4 +8,4 @@ ${A(F(r.light))}
8
8
  ${A(F(r.dark))}
9
9
  }
10
10
  `.trim(),[r]);return t.jsx("div",{className:N("",s),children:t.jsx(t1,{className:"h-60",readOnly:!0,value:l})})}const{convertHexToOklch:r1,convertOklchToColorName:o1,convertOklchToHex:l1,getDefaultThemeColorFromShade:n1,THEME_COLORS:i1}=await n("@baseplate-dev/project-builder-lib"),{Button:H,ColorPickerFieldController:h1,Tooltip:c1,TooltipContent:x1,TooltipTrigger:p1}=await n("@baseplate-dev/ui-components");function z({className:s,control:e,mode:r,setValue:l}){const a=Object.entries(i1),x=f({control:e,name:"palettes"}),c=f({control:e,name:`colors.${r}`});return t.jsx("div",{className:N("flex w-full max-w-xl gap-4",s),children:t.jsx("div",{className:"grid flex-1 grid-cols-1 gap-4 sm:grid-cols-2",children:a.map(([m,i],o)=>{const h=m,b=(o>0?a[o-1][1].groupKey:void 0)!==i.groupKey,g=c[h],u=n1(x,r,h);return t.jsxs("div",{className:N(b?"col-start-1":void 0,"relative"),children:[t.jsx(h1,{control:e,className:"w-full",wrapperClassName:"flex-col items-start",label:t.jsxs("div",{className:"flex h-6 w-full items-center gap-1",children:[t.jsx("div",{children:i.name}),t.jsxs(c1,{delayDuration:500,children:[t.jsx(p1,{asChild:!0,children:t.jsx(H,{variant:"ghost",size:"icon","aria-label":"Color Info",className:"opacity-30",children:t.jsx(J,{})})}),t.jsx(x1,{align:"start",side:"bottom",className:"max-w-[400px]",children:t.jsx("div",{className:"font-normal",children:i.description})})]})]}),parseColor:l1,serializeColor:r1,formatColorName:j=>{const p=Object.entries(x.base.shades).find(([,S])=>S===j)?.[0];if(p)return`base-${p}`;const d=Object.entries(x.primary.shades).find(([,S])=>S===j)?.[0];return d?`primary-${d}`:o1(j)},name:`colors.${r}.${h}`}),g!==u&&t.jsx(H,{className:"absolute right-2 bottom-1",onClick:()=>{l(`colors.${r}.${h}`,u)},size:"icon",variant:"ghost","aria-label":"Reset Color",children:t.jsx(Q,{})})]},m)})})})}const{generateCssFromThemeConfig:d1}=await n("@baseplate-dev/project-builder-lib"),{Badge:v,Button:M,Card:m1,CardContent:u1,CardDescription:M1,CardHeader:b1,CardTitle:j1,Combobox:f1,ComboboxContent:g1,ComboboxEmpty:v1,ComboboxInput:C1,ComboboxItem:k}=await n("@baseplate-dev/ui-components");function T1({className:s,control:e,mode:r}){const l=f({control:e,name:`colors.${r}`}),a=d1(l);return t.jsx("div",{className:N("size-full rounded-xl border border-border bg-background p-4",s),style:a,children:t.jsxs(m1,{children:[t.jsxs(b1,{children:[t.jsx(j1,{children:"Color Preview"}),t.jsx(M1,{children:"This is a preview of how your theme colors will be applied on various elements"})]}),t.jsxs(u1,{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx(C,{children:"Paragraph Text"}),t.jsx("p",{className:"text-base",children:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin faucibus."})]}),t.jsxs("div",{children:[t.jsx(C,{children:"Combobox"}),t.jsxs(f1,{children:[t.jsx(C1,{placeholder:"Select an option"}),t.jsxs(g1,{style:a,children:[t.jsx(k,{value:"opt1",label:"Option 1",children:"Option 1"}),t.jsx(k,{value:"green",label:"Option 2",children:"Option 2"}),t.jsx(k,{value:"blue",label:"Option 3",children:"Option 3"}),t.jsx(v1,{children:"No results found"})]})]})]}),t.jsxs("div",{children:[t.jsx(C,{children:"Badges"}),t.jsxs("div",{className:"flex flex-wrap gap-1",children:[t.jsx(v,{variant:"default",children:"Default"}),t.jsx(v,{variant:"destructive",children:"Destructive"}),t.jsx(v,{variant:"secondary",children:"Secondary"}),t.jsx(v,{variant:"outline",children:"Outline"})]})]}),t.jsxs("div",{children:[t.jsx(C,{children:"Buttons"}),t.jsxs("div",{className:"flex flex-wrap gap-2 rounded-lg border border-border p-1",children:[t.jsx(M,{type:"button",children:"Primary"}),t.jsx(M,{variant:"destructive",type:"button",children:"Destructive"}),t.jsx(M,{variant:"ghost",type:"button",children:"Ghost"}),t.jsx(M,{variant:"link",type:"button",children:"Link"}),t.jsx(M,{variant:"secondary",type:"button",children:"Secondary"}),t.jsx(M,{variant:"outline",type:"button",children:"Outline"})]})]})]})]})})}function C({children:s}){return t.jsx("h4",{className:"text-lg font-semibold",children:s})}function w1(s){const e=new Float32Array([s.r,s.g,s.b]);return{"50-r":1/(1+1/Math.exp(1.8661608695983887+1.969373345375061*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.4601062536239624*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.7962396740913391*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"50-g":1/(1+1/Math.exp(1.9256014823913574+1.231925129890442*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.3603883981704712*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.8378368616104126*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"50-b":1/(1+1/Math.exp(1.5751663446426392+.6084778904914856*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.0512851476669312*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+1.9236465692520142*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"100-r":1/(1+1/Math.exp(1.6104178428649902+2.411083698272705*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.4946855306625366*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.5684743523597717*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"100-g":1/(1+1/Math.exp(1.6873022317886353+.7176924347877502*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.6131407022476196*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.15697577595710754*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"100-b":1/(1+1/Math.exp(1.0808522701263428-.09388591349124908*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.5177313685417175*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+2.6253278255462646*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"200-r":1/(1+1/Math.exp(1.3480290174484253+2.2088170051574707*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-1.1226733922958374*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.41870957612991333*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"200-g":1/(1+1/Math.exp(1.3919278383255005+.2666841745376587*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.5987523794174194*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.23637670278549194*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"200-b":1/(1+1/Math.exp(.6176453232765198-.6029531359672546*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.21029342710971832*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+2.906541109085083*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"300-r":1/(1+1/Math.exp(.9194338321685791+2.3936944007873535*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-1.68363356590271*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.36374539136886597*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"300-g":1/(1+1/Math.exp(1.1811708211898804-.08378893882036209*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.4275716543197632*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.6511568427085876*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"300-b":1/(1+1/Math.exp(-.04160493612289429-1.0422184467315674*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.1739543229341507*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+3.306165933609009*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"400-r":1/(1+1/Math.exp(.5908379554748535+2.6282155513763428*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-2.483553886413574*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+.16029347479343414*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"400-g":1/(1+1/Math.exp(.9054368138313293-.38720616698265076*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.231947422027588*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.0837976932525635*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"400-b":1/(1+1/Math.exp(-.6404189467430115-1.6898466348648071*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.029696132987737656*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+3.7177767753601074*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"500-r":1/(1+1/Math.exp(.3420727550983429+2.987776756286621*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-3.3403704166412354*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.07194828987121582*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"500-g":1/(1+1/Math.exp(.5289734601974487-.5567987561225891*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.3352314233779907*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.4835448265075684*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"500-b":1/(1+1/Math.exp(-1.2478309869766235-2.2976744174957275*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.30013492703437805*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+4.339084625244141*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"600-r":1/(1+1/Math.exp(.18572008609771729+2.5128233432769775*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-3.407212495803833*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.20814435184001923*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"600-g":1/(1+1/Math.exp(.15741883218288422-.7273809909820557*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.2500137090682983*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.6501106023788452*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"600-b":1/(1+1/Math.exp(-1.3073996305465698-2.5112154483795166*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.7157139182090759*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+4.086366176605225*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"700-r":1/(1+1/Math.exp(-.25121745467185974+1.7795124053955078*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-2.7557551860809326*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.0411522202193737*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"700-g":1/(1+1/Math.exp(-.43503373861312866-.6766132712364197*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+1.150789737701416*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.3406033515930176*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"700-b":1/(1+1/Math.exp(-1.1124053001403809-2.359389305114746*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.943118691444397*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+3.267453908920288*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"800-r":1/(1+1/Math.exp(-.42729225754737854+1.2738885879516602*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-2.573699474334717*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.11818580329418182*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"800-g":1/(1+1/Math.exp(-.6730203628540039-.770199716091156*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.9060920476913452*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.2600882053375244*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"800-b":1/(1+1/Math.exp(-1.32567298412323-1.9301948547363281*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.8552113175392151*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+2.6513888835906982*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"900-r":1/(1+1/Math.exp(-.6309270858764648+1.0235852003097534*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-2.4659388065338135*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.15058130025863647*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"900-g":1/(1+1/Math.exp(-.9010928273200989-.7559532523155212*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.7665435075759888*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.1884112358093262*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"900-b":1/(1+1/Math.exp(-1.5088001489639282-1.5986618995666504*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.7353832125663757*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+2.180158853530884*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"950-r":1/(1+1/Math.exp(-1.166185975074768+.5363732576370239*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-2.587523937225342*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-.061746854335069656*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"950-g":1/(1+1/Math.exp(-1.2907893657684326-1.3924223184585571*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))+.5465696454048157*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))-1.2647709846496582*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0))))),"950-b":1/(1+1/Math.exp(-1.8633685111999512-1.8034374713897705*1/(1+1/Math.exp(.5648569464683533+8.592248916625977*(e[0]||0)-2.0615885257720947*(e[1]||0)-7.465658187866211*(e[2]||0)))-.8856748938560486*1/(1+1/Math.exp(.6313956379890442-7.673094272613525*(e[0]||0)+8.008654594421387*(e[1]||0)-1.6121777296066284*(e[2]||0)))+1.8510282039642334*1/(1+1/Math.exp(.08400232344865799-.9345706105232239*(e[0]||0)-7.6551032066345215*(e[1]||0)+8.717894554138184*(e[2]||0)))))}}const{PALETTE_SHADES:N1}=await n("@baseplate-dev/project-builder-lib");function $(s,e){return`${s}-${e}`}function y1(s){const r=Z("rgb")(s);if(!r)throw new Error(`Invalid color: ${s}`);const l=w1(r);return Object.fromEntries(N1.map(a=>{const x={mode:"rgb",r:l[$(a,"r")],g:l[$(a,"g")],b:l[$(a,"b")]};return[a,e1(x)]}))}const{COLOR_PALETTES:P,convertHexToOklch:R,convertOklchToHex:I,PALETTE_SHADES:S1}=await n("@baseplate-dev/project-builder-lib"),{Button:k1,ColorPickerFieldController:K,ComboboxFieldController:$1}=await n("@baseplate-dev/ui-components"),{useCallback:P1}=await n("react");function _({control:s,getValues:e,setValue:r,onShadesChange:l,type:a}){const x=[{value:"custom",label:"Custom Base"},...Object.keys(P).map(o=>({value:o,label:Y.capitalize(o)}))],c=f({control:s,name:`palettes.${a}.paletteName`}),m=P1(o=>{if(!o||!Object.prototype.hasOwnProperty.call(P,o))return;const h=P[o];r(`palettes.${a}.shades`,h),l?.(h)},[r,l,a]),i=()=>{const o=e(`palettes.${a}.customBase`);if(!o)return;const h=y1(o);r(`palettes.${a}.shades`,h),l?.(h)};return t.jsxs("div",{className:"flex max-w-fit flex-col gap-4",children:[t.jsx($1,{name:`palettes.${a}.paletteName`,control:s,options:x,placeholder:"Choose a base palette",onChange:m}),c==="custom"&&t.jsxs("div",{className:"flex max-w-xl items-center justify-between",children:[t.jsx(K,{className:"flex-1 space-x-1",wrapperClassName:"items-center",control:s,name:`palettes.${a}.customBase`,label:"Custom Base Color",placeholder:"Choose a color",parseColor:I,serializeColor:R}),t.jsx(k1,{variant:"secondary",onClick:i,size:"sm",children:"Generate"})]}),t.jsx("div",{className:"flex gap-3",children:S1.map(o=>t.jsx(K,{wrapperClassName:"flex flex-col items-center",hideText:!0,control:s,name:`palettes.${a}.shades.${o}`,label:o,parseColor:I,serializeColor:R,onChange:()=>l?.(e(`palettes.${a}.shades`))},o))})]})}const{createThemeSchema:O1,generateDefaultTheme:E1,generateThemeColorsFromShade:W}=await n("@baseplate-dev/project-builder-lib"),{useBlockUnsavedChangesNavigate:B1,useDefinitionSchema:D1,useProjectDefinition:L1,useResettableForm:F1}=await n("@baseplate-dev/project-builder-lib/web"),{Alert:A1,AlertDescription:H1,AlertTitle:z1,Button:R1,FormActionBar:I1,SectionList:K1,SectionListSection:O,SectionListSectionContent:E,SectionListSectionDescription:B,SectionListSectionHeader:D,SectionListSectionTitle:L,Tabs:G,TabsContent:T,TabsList:U,TabsTrigger:w}=await n("@baseplate-dev/ui-components"),{useCallback:V,useMemo:_1,useState:W1}=await n("react"),Y1=function(){const{definition:e,saveDefinitionWithFeedback:r}=L1(),l=D1(O1),a=_1(()=>e.settings.theme??E1(),[e.settings.theme]),x=F1({resolver:q(l),values:a}),{control:c,handleSubmit:m,setValue:i,getValues:o,reset:h}=x,y=m(p=>r(d=>{d.settings.theme=p}));B1({control:c,reset:h,onSubmit:y});const b=V(p=>{const d=o("palettes");i("colors",{light:W(d,"light",p?void 0:{palettes:a.palettes,config:a.colors.light}),dark:W(d,"dark",p?void 0:{palettes:a.palettes,config:a.colors.dark})})},[o,i,a]),g=V(()=>{b()},[b]),[u,j]=W1("light");return t.jsxs("form",{className:"relative h-full max-h-full pb-(--action-bar-height)",onSubmit:y,children:[t.jsxs("div",{className:"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6",children:[t.jsxs("div",{className:"sticky top-0 z-10 space-y-2 border-b bg-background py-6",children:[t.jsx("h1",{children:"Theme Builder"}),t.jsxs("p",{className:"max-w-3xl text-muted-foreground",children:["The theme of the UI is based off color variables used with"," ",t.jsx("a",{href:"https://ui.shadcn.com/docs/theming",target:"_blank",rel:"noreferrer",className:"underline",children:"the Shadn UI component library"}),". We generate the color variables based off the Tailwind color palette structure but you can customize them as you wish."]})]}),t.jsxs("div",{className:"pt-4",children:[t.jsxs(A1,{className:"max-w-fit",children:[t.jsx(X,{}),t.jsx(z1,{children:"Work in Progress"}),t.jsx(H1,{children:"This page is still a work in progress. It is not being used for generation at the moment."})]}),t.jsxs(K1,{children:[t.jsxs(O,{children:[t.jsxs(D,{children:[t.jsx(L,{children:"Theme Palettes"}),t.jsx(B,{children:"Pick the colors for your theme"})]}),t.jsx(E,{className:"max-w-3xl",children:t.jsxs(G,{defaultValue:"base",children:[t.jsxs(U,{children:[t.jsx(w,{value:"base",children:"Base"}),t.jsx(w,{value:"primary",children:"Primary"})]}),t.jsx(T,{value:"base",children:t.jsx(_,{control:c,getValues:o,setValue:i,type:"base",onShadesChange:g})}),t.jsx(T,{value:"primary",children:t.jsx(_,{control:c,getValues:o,setValue:i,type:"primary",onShadesChange:g})})]})})]}),t.jsxs(O,{children:[t.jsxs(D,{children:[t.jsx(L,{children:"Theme Colors"}),t.jsx(B,{children:"Pick the colors for your theme"}),t.jsx("div",{className:"sticky top-44",children:t.jsx(T1,{control:c,mode:u},u)})]}),t.jsxs(E,{className:"flex flex-col gap-4",children:[t.jsxs(G,{value:u,onValueChange:j,children:[t.jsxs(U,{children:[t.jsx(w,{value:"light",children:"Light"}),t.jsx(w,{value:"dark",children:"Dark"})]}),t.jsx(T,{value:"light",children:t.jsx(z,{control:c,setValue:i,mode:"light"})}),t.jsx(T,{value:"dark",children:t.jsx(z,{control:c,setValue:i,mode:"dark"})})]}),t.jsx(R1,{onClick:()=>{b(!0)},variant:"outline",size:"sm",type:"button",className:"w-fit",children:"Reset Colors"})]})]}),t.jsxs(O,{children:[t.jsxs(D,{children:[t.jsx(L,{children:"CSS Preview"}),t.jsx(B,{children:"Preview the CSS for your theme"})]}),t.jsx(E,{className:"flex flex-col gap-4",children:t.jsx(s1,{control:c})})]})]})]})]}),t.jsx(I1,{form:x})]})};export{Y1 as component};
11
- //# sourceMappingURL=theme-builder-Y6jNiAJ3.js.map
11
+ //# sourceMappingURL=theme-builder-CWetoMuo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-builder-Y6jNiAJ3.js","sources":["../../src/routes/settings/-components/theme-colors-css-display.tsx","../../src/routes/settings/-components/theme-colors-editor.tsx","../../src/routes/settings/-components/theme-colors-preview.tsx","../../src/routes/settings/-theme-utils/palette-neural-net.ts","../../src/routes/settings/-theme-utils/palette-generator.ts","../../src/routes/settings/-components/theme-palette-editor.tsx","../../src/routes/settings/theme-builder.tsx?tsr-split=component"],"sourcesContent":["import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { generateCssFromThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport { TextareaField } from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useMemo } from 'react';\nimport { useWatch } from 'react-hook-form';\n\ninterface ThemeColorsCssDisplayProps {\n className?: string;\n control: Control<ThemeConfig>;\n}\n\nfunction convertRecordToCss(record: Record<string, string>): string {\n return Object.entries(record)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n}\n\nexport function ThemeColorsCssDisplay({\n className,\n control,\n}: ThemeColorsCssDisplayProps): React.JSX.Element {\n const colors = useWatch({ control, name: `colors` });\n\n const cssValue = useMemo(\n () =>\n `\n:root {\n${convertRecordToCss(generateCssFromThemeConfig(colors.light))}\n}\n\n.dark, html[data-theme='dark'] {\n${convertRecordToCss(generateCssFromThemeConfig(colors.dark))}\n}\n `.trim(),\n [colors],\n );\n\n return (\n <div className={clsx('', className)}>\n <TextareaField className=\"h-60\" readOnly value={cssValue} />\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control, UseFormSetValue } from 'react-hook-form';\n\nimport {\n convertHexToOklch,\n convertOklchToColorName,\n convertOklchToHex,\n getDefaultThemeColorFromShade,\n THEME_COLORS,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n Button,\n ColorPickerFieldController,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useWatch } from 'react-hook-form';\nimport { MdInfo, MdRestartAlt } from 'react-icons/md';\n\ninterface ThemeColorEditorProps {\n className?: string;\n control: Control<ThemeConfig>;\n mode: 'light' | 'dark';\n setValue: UseFormSetValue<ThemeConfig>;\n}\n\nexport function ThemeColorsEditor({\n className,\n control,\n mode,\n setValue,\n}: ThemeColorEditorProps): React.JSX.Element {\n const themeColorEntries = Object.entries(THEME_COLORS);\n const palettes = useWatch({ control, name: 'palettes' });\n const themeColors = useWatch({ control, name: `colors.${mode}` });\n return (\n <div className={clsx('flex w-full max-w-xl gap-4', className)}>\n <div className=\"grid flex-1 grid-cols-1 gap-4 sm:grid-cols-2\">\n {themeColorEntries.map(([key, config], idx) => {\n const themeKey = key as keyof typeof THEME_COLORS;\n const lastCategoryKey =\n idx > 0 ? themeColorEntries[idx - 1][1].groupKey : undefined;\n const shouldStartNewColumn = lastCategoryKey !== config.groupKey;\n const currentColor = themeColors[themeKey];\n const defaultValue = getDefaultThemeColorFromShade(\n palettes,\n mode,\n themeKey,\n );\n return (\n <div\n className={clsx(\n shouldStartNewColumn ? 'col-start-1' : undefined,\n 'relative',\n )}\n key={key}\n >\n <ColorPickerFieldController\n control={control}\n className=\"w-full\"\n wrapperClassName=\"flex-col items-start\"\n label={\n <div className=\"flex h-6 w-full items-center gap-1\">\n <div>{config.name}</div>\n <Tooltip delayDuration={500}>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label=\"Color Info\"\n className=\"opacity-30\"\n >\n <MdInfo />\n </Button>\n </TooltipTrigger>\n <TooltipContent\n align=\"start\"\n side=\"bottom\"\n className=\"max-w-[400px]\"\n >\n <div className=\"font-normal\">{config.description}</div>\n </TooltipContent>\n </Tooltip>\n </div>\n }\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n formatColorName={(color) => {\n const baseShade = Object.entries(palettes.base.shades).find(\n ([, shadeColor]) => shadeColor === color,\n )?.[0];\n if (baseShade) {\n return `base-${baseShade}`;\n }\n const primaryShade = Object.entries(\n palettes.primary.shades,\n ).find(([, shadeColor]) => shadeColor === color)?.[0];\n if (primaryShade) {\n return `primary-${primaryShade}`;\n }\n return convertOklchToColorName(color);\n }}\n name={`colors.${mode}.${themeKey}`}\n />\n {currentColor !== defaultValue && (\n <Button\n className=\"absolute right-2 bottom-1\"\n onClick={() => {\n setValue(`colors.${mode}.${themeKey}`, defaultValue);\n }}\n size=\"icon\"\n variant=\"ghost\"\n aria-label=\"Reset Color\"\n >\n <MdRestartAlt />\n </Button>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { generateCssFromThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n} from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useWatch } from 'react-hook-form';\n\ninterface ThemeColorsPreviewProps {\n className?: string;\n control: Control<ThemeConfig>;\n mode: 'light' | 'dark';\n}\n\nexport function ThemeColorsPreview({\n className,\n control,\n mode,\n}: ThemeColorsPreviewProps): React.JSX.Element {\n const colors = useWatch({\n control,\n name: `colors.${mode}`,\n });\n const colorCss = generateCssFromThemeConfig(colors);\n return (\n <div\n className={clsx(\n 'size-full rounded-xl border border-border bg-background p-4',\n className,\n )}\n style={colorCss}\n >\n <Card>\n <CardHeader>\n <CardTitle>Color Preview</CardTitle>\n <CardDescription>\n This is a preview of how your theme colors will be applied on\n various elements\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <PreviewSectionTitle>Paragraph Text</PreviewSectionTitle>\n <p className=\"text-base\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin\n faucibus.\n </p>\n </div>\n <div>\n <PreviewSectionTitle>Combobox</PreviewSectionTitle>\n <Combobox>\n <ComboboxInput placeholder={'Select an option'} />\n <ComboboxContent style={colorCss}>\n <ComboboxItem value=\"opt1\" label=\"Option 1\">\n Option 1\n </ComboboxItem>\n <ComboboxItem value=\"green\" label=\"Option 2\">\n Option 2\n </ComboboxItem>\n <ComboboxItem value=\"blue\" label=\"Option 3\">\n Option 3\n </ComboboxItem>\n <ComboboxEmpty>No results found</ComboboxEmpty>\n </ComboboxContent>\n </Combobox>\n </div>\n <div>\n <PreviewSectionTitle>Badges</PreviewSectionTitle>\n <div className=\"flex flex-wrap gap-1\">\n <Badge variant=\"default\">Default</Badge>\n <Badge variant=\"destructive\">Destructive</Badge>\n <Badge variant=\"secondary\">Secondary</Badge>\n <Badge variant=\"outline\">Outline</Badge>\n </div>\n </div>\n <div>\n <PreviewSectionTitle>Buttons</PreviewSectionTitle>\n <div className=\"flex flex-wrap gap-2 rounded-lg border border-border p-1\">\n <Button type=\"button\">Primary</Button>\n <Button variant=\"destructive\" type=\"button\">\n Destructive\n </Button>\n <Button variant=\"ghost\" type=\"button\">\n Ghost\n </Button>\n <Button variant=\"link\" type=\"button\">\n Link\n </Button>\n <Button variant=\"secondary\" type=\"button\">\n Secondary\n </Button>\n <Button variant=\"outline\" type=\"button\">\n Outline\n </Button>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n\nfunction PreviewSectionTitle({\n children,\n}: {\n children: React.ReactNode;\n}): React.JSX.Element {\n return <h4 className=\"text-lg font-semibold\">{children}</h4>;\n}\n","/* eslint-disable unicorn/numeric-separators-style */\nexport function generatePaletteNN(color: {\n r: number;\n g: number;\n b: number;\n}): Record<string, number> {\n const input = new Float32Array([color.r, color.g, color.b]);\n return {\n '50-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.8661608695983887 +\n (1.969373345375061 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.4601062536239624 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.7962396740913391 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '50-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.9256014823913574 +\n (1.231925129890442 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.3603883981704712 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.8378368616104126 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '50-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.5751663446426392 +\n (0.6084778904914856 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.0512851476669312 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (1.9236465692520142 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.6104178428649902 +\n (2.411083698272705 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.4946855306625366 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.5684743523597717 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.6873022317886353 +\n (0.7176924347877502 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.6131407022476196 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.15697577595710754 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.0808522701263428 -\n (0.09388591349124908 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.5177313685417175 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.6253278255462646 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.3480290174484253 +\n (2.2088170051574707 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (1.1226733922958374 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.41870957612991333 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.3919278383255005 +\n (0.2666841745376587 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.5987523794174194 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.23637670278549194 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.6176453232765198 -\n (0.6029531359672546 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.21029342710971832 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.906541109085083 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.9194338321685791 +\n (2.3936944007873535 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (1.68363356590271 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.36374539136886597 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.1811708211898804 -\n (0.08378893882036209 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.4275716543197632 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.6511568427085876 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.04160493612289429 -\n (1.0422184467315674 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.1739543229341507 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.306165933609009 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.5908379554748535 +\n (2.6282155513763428 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.483553886413574 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.16029347479343414 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.9054368138313293 -\n (0.38720616698265076 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.231947422027588 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.0837976932525635 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6404189467430115 -\n (1.6898466348648071 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.029696132987737656 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.7177767753601074 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.3420727550983429 +\n (2.987776756286621 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (3.3403704166412354 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.07194828987121582 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.5289734601974487 -\n (0.5567987561225891 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.3352314233779907 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.4835448265075684 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.2478309869766235 -\n (2.2976744174957275 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.30013492703437805 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (4.339084625244141 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.18572008609771729 +\n (2.5128233432769775 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (3.407212495803833 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.20814435184001923 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.15741883218288422 -\n (0.7273809909820557 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.2500137090682983 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.6501106023788452 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.3073996305465698 -\n (2.5112154483795166 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.7157139182090759 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (4.086366176605225 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.25121745467185974 +\n (1.7795124053955078 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.7557551860809326 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.0411522202193737 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.43503373861312866 -\n (0.6766132712364197 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.150789737701416 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.3406033515930176 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.1124053001403809 -\n (2.359389305114746 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.943118691444397 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.267453908920288 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.42729225754737854 +\n (1.2738885879516602 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.573699474334717 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.11818580329418182 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6730203628540039 -\n (0.770199716091156 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.9060920476913452 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.2600882053375244 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.32567298412323 -\n (1.9301948547363281 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.8552113175392151 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.6513888835906982 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6309270858764648 +\n (1.0235852003097534 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.4659388065338135 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.15058130025863647 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.9010928273200989 -\n (0.7559532523155212 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.7665435075759888 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.1884112358093262 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.5088001489639282 -\n (1.5986618995666504 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.7353832125663757 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.180158853530884 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.166185975074768 +\n (0.5363732576370239 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.587523937225342 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.061746854335069656 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.2907893657684326 -\n (1.3924223184585571 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.5465696454048157 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.2647709846496582 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.8633685111999512 -\n (1.8034374713897705 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.8856748938560486 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (1.8510282039642334 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n };\n}\n","import type { ColorPalette } from '@baseplate-dev/project-builder-lib';\nimport type { Rgb } from 'culori';\n\nimport { PALETTE_SHADES } from '@baseplate-dev/project-builder-lib';\nimport { converter, formatHex } from 'culori';\n\nimport { generatePaletteNN } from './palette-neural-net.js';\n\nfunction getPaletteKey(shade: string, component: string): string {\n return `${shade}-${component}`;\n}\n\nexport function generatePalette(baseColor: string): ColorPalette {\n const convertToRgb = converter('rgb');\n\n const rgb = convertToRgb(baseColor);\n\n if (!rgb) {\n throw new Error(`Invalid color: ${baseColor}`);\n }\n\n const newPalette = generatePaletteNN(rgb);\n\n return Object.fromEntries(\n PALETTE_SHADES.map((shade) => {\n const shadeRgb: Rgb = {\n mode: 'rgb',\n r: newPalette[getPaletteKey(shade, 'r')],\n g: newPalette[getPaletteKey(shade, 'g')],\n b: newPalette[getPaletteKey(shade, 'b')],\n };\n return [shade, formatHex(shadeRgb)];\n }),\n ) as ColorPalette;\n}\n","import type {\n ColorPaletteName,\n PaletteShades,\n ThemeConfig,\n} from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type {\n Control,\n UseFormGetValues,\n UseFormSetValue,\n} from 'react-hook-form';\n\nimport {\n COLOR_PALETTES,\n convertHexToOklch,\n convertOklchToHex,\n PALETTE_SHADES,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n Button,\n ColorPickerFieldController,\n ComboboxFieldController,\n} from '@baseplate-dev/ui-components';\nimport { capitalize } from 'inflection';\nimport { useCallback } from 'react';\nimport { useWatch } from 'react-hook-form';\n\nimport { generatePalette } from '../-theme-utils/palette-generator.js';\n\ninterface ThemePaletteEditorProps {\n control: Control<ThemeConfig>;\n getValues: UseFormGetValues<ThemeConfig>;\n setValue: UseFormSetValue<ThemeConfig>;\n onShadesChange?: (shades: Partial<PaletteShades>) => void;\n type: 'base' | 'primary';\n}\n\nexport function ThemePaletteEditor({\n control,\n getValues,\n setValue,\n onShadesChange,\n type,\n}: ThemePaletteEditorProps): React.JSX.Element {\n const paletteOptions = [\n { value: 'custom', label: 'Custom Base' },\n ...Object.keys(COLOR_PALETTES).map((key) => ({\n value: key,\n label: capitalize(key),\n })),\n ];\n\n const paletteName = useWatch({\n control,\n name: `palettes.${type}.paletteName`,\n });\n\n const handlePaletteNameChange = useCallback(\n (name: string | null) => {\n if (!name || !Object.prototype.hasOwnProperty.call(COLOR_PALETTES, name))\n return;\n const palette = COLOR_PALETTES[name as ColorPaletteName];\n setValue(`palettes.${type}.shades`, palette);\n onShadesChange?.(palette);\n },\n [setValue, onShadesChange, type],\n );\n\n const handleCustomPaletteGenerate = (): void => {\n const baseColor = getValues(`palettes.${type}.customBase`);\n if (!baseColor) return;\n const newPalette = generatePalette(baseColor);\n setValue(`palettes.${type}.shades`, newPalette);\n onShadesChange?.(newPalette);\n };\n\n return (\n <div className=\"flex max-w-fit flex-col gap-4\">\n <ComboboxFieldController\n name={`palettes.${type}.paletteName`}\n control={control}\n options={paletteOptions}\n placeholder=\"Choose a base palette\"\n onChange={handlePaletteNameChange}\n />\n {paletteName === 'custom' && (\n <div className=\"flex max-w-xl items-center justify-between\">\n <ColorPickerFieldController\n className=\"flex-1 space-x-1\"\n wrapperClassName=\"items-center\"\n control={control}\n name={`palettes.${type}.customBase`}\n label=\"Custom Base Color\"\n placeholder=\"Choose a color\"\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n />\n <Button\n variant=\"secondary\"\n onClick={handleCustomPaletteGenerate}\n size=\"sm\"\n >\n Generate\n </Button>\n </div>\n )}\n <div className=\"flex gap-3\">\n {PALETTE_SHADES.map((shade) => (\n <ColorPickerFieldController\n key={shade}\n wrapperClassName=\"flex flex-col items-center\"\n hideText\n control={control}\n name={`palettes.${type}.shades.${shade}`}\n label={shade}\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n onChange={() =>\n onShadesChange?.(getValues(`palettes.${type}.shades`))\n }\n />\n ))}\n </div>\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createThemeSchema,\n generateDefaultTheme,\n generateThemeColorsFromShade,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n Alert,\n AlertDescription,\n AlertTitle,\n Button,\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { createFileRoute } from '@tanstack/react-router';\nimport { useCallback, useMemo, useState } from 'react';\nimport { MdConstruction } from 'react-icons/md';\n\nimport { ThemeColorsCssDisplay } from './-components/theme-colors-css-display.js';\nimport { ThemeColorsEditor } from './-components/theme-colors-editor.js';\nimport { ThemeColorsPreview } from './-components/theme-colors-preview.js';\nimport { ThemePaletteEditor } from './-components/theme-palette-editor.js';\n\nexport const Route = createFileRoute('/settings/theme-builder')({\n component: ThemeBuilderPage,\n beforeLoad: () => ({\n getTitle: () => 'Theme Builder',\n }),\n});\n\nfunction ThemeBuilderPage(): React.JSX.Element {\n const { definition, saveDefinitionWithFeedback } = useProjectDefinition();\n const themeSchema = useDefinitionSchema(createThemeSchema);\n const values = useMemo(\n () => definition.settings.theme ?? generateDefaultTheme(),\n [definition.settings.theme],\n );\n\n const form = useResettableForm<ThemeConfig>({\n resolver: zodResolver(themeSchema),\n values,\n });\n const { control, handleSubmit, setValue, getValues, reset } = form;\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback((draftConfig) => {\n draftConfig.settings.theme = data;\n }),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n const generateNewThemeColors = useCallback(\n (resetColors?: boolean) => {\n const palettes = getValues('palettes');\n setValue('colors', {\n light: generateThemeColorsFromShade(\n palettes,\n 'light',\n resetColors\n ? undefined\n : {\n palettes: values.palettes,\n config: values.colors.light,\n },\n ),\n dark: generateThemeColorsFromShade(\n palettes,\n 'dark',\n resetColors\n ? undefined\n : {\n palettes: values.palettes,\n config: values.colors.dark,\n },\n ),\n });\n },\n [getValues, setValue, values],\n );\n\n const handleShadesChange = useCallback(() => {\n generateNewThemeColors();\n }, [generateNewThemeColors]);\n\n const [themeMode, setThemeMode] = useState<string>('light');\n\n return (\n <form\n className=\"relative h-full max-h-full pb-(--action-bar-height)\"\n onSubmit={onSubmit}\n >\n <div className=\"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6\">\n <div className=\"sticky top-0 z-10 space-y-2 border-b bg-background py-6\">\n <h1>Theme Builder</h1>\n <p className=\"max-w-3xl text-muted-foreground\">\n The theme of the UI is based off color variables used with{' '}\n <a\n href=\"https://ui.shadcn.com/docs/theming\"\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"underline\"\n >\n the Shadn UI component library\n </a>\n . We generate the color variables based off the Tailwind color\n palette structure but you can customize them as you wish.\n </p>\n </div>\n <div className=\"pt-4\">\n {/* TODO: check if this should be removed */}\n <Alert className=\"max-w-fit\">\n <MdConstruction />\n <AlertTitle>Work in Progress</AlertTitle>\n <AlertDescription>\n This page is still a work in progress. It is not being used for\n generation at the moment.\n </AlertDescription>\n </Alert>\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Theme Palettes\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Pick the colors for your theme\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"max-w-3xl\">\n <Tabs defaultValue=\"base\">\n <TabsList>\n <TabsTrigger value=\"base\">Base</TabsTrigger>\n <TabsTrigger value=\"primary\">Primary</TabsTrigger>\n </TabsList>\n <TabsContent value=\"base\">\n <ThemePaletteEditor\n control={control}\n getValues={getValues}\n setValue={setValue}\n type=\"base\"\n onShadesChange={handleShadesChange}\n />\n </TabsContent>\n <TabsContent value=\"primary\">\n <ThemePaletteEditor\n control={control}\n getValues={getValues}\n setValue={setValue}\n type=\"primary\"\n onShadesChange={handleShadesChange}\n />\n </TabsContent>\n </Tabs>\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Theme Colors</SectionListSectionTitle>\n <SectionListSectionDescription>\n Pick the colors for your theme\n </SectionListSectionDescription>\n <div className=\"sticky top-44\">\n <ThemeColorsPreview\n key={themeMode} // force rerender\n control={control}\n mode={themeMode as 'light' | 'dark'}\n />\n </div>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex flex-col gap-4\">\n <Tabs value={themeMode} onValueChange={setThemeMode}>\n <TabsList>\n <TabsTrigger value=\"light\">Light</TabsTrigger>\n <TabsTrigger value=\"dark\">Dark</TabsTrigger>\n </TabsList>\n <TabsContent value=\"light\">\n <ThemeColorsEditor\n control={control}\n setValue={setValue}\n mode=\"light\"\n />\n </TabsContent>\n <TabsContent value=\"dark\">\n <ThemeColorsEditor\n control={control}\n setValue={setValue}\n mode=\"dark\"\n />\n </TabsContent>\n </Tabs>\n <Button\n onClick={() => {\n generateNewThemeColors(true);\n }}\n variant=\"outline\"\n size=\"sm\"\n type=\"button\"\n className=\"w-fit\"\n >\n Reset Colors\n </Button>\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>CSS Preview</SectionListSectionTitle>\n <SectionListSectionDescription>\n Preview the CSS for your theme\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex flex-col gap-4\">\n <ThemeColorsCssDisplay control={control} />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n </div>\n <FormActionBar form={form} />\n </form>\n );\n}\n"],"names":["generateCssFromThemeConfig","importShared","TextareaField","useMemo","convertRecordToCss","record","key","value","ThemeColorsCssDisplay","className","control","colors","useWatch","cssValue","jsx","clsx","convertHexToOklch","convertOklchToColorName","convertOklchToHex","getDefaultThemeColorFromShade","THEME_COLORS","Button","ColorPickerFieldController","Tooltip","TooltipContent","TooltipTrigger","ThemeColorsEditor","mode","setValue","themeColorEntries","palettes","themeColors","config","idx","themeKey","shouldStartNewColumn","currentColor","defaultValue","jsxs","MdInfo","color","baseShade","shadeColor","primaryShade","MdRestartAlt","Badge","Card","CardContent","CardDescription","CardHeader","CardTitle","Combobox","ComboboxContent","ComboboxEmpty","ComboboxInput","ComboboxItem","ThemeColorsPreview","colorCss","PreviewSectionTitle","children","generatePaletteNN","input","PALETTE_SHADES","getPaletteKey","shade","component","generatePalette","baseColor","rgb","converter","newPalette","shadeRgb","formatHex","COLOR_PALETTES","ComboboxFieldController","useCallback","ThemePaletteEditor","getValues","onShadesChange","type","paletteOptions","capitalize","paletteName","handlePaletteNameChange","name","palette","handleCustomPaletteGenerate","createThemeSchema","generateDefaultTheme","generateThemeColorsFromShade","useBlockUnsavedChangesNavigate","useDefinitionSchema","useProjectDefinition","useResettableForm","Alert","AlertDescription","AlertTitle","FormActionBar","SectionList","SectionListSection","SectionListSectionContent","SectionListSectionDescription","SectionListSectionHeader","SectionListSectionTitle","Tabs","TabsContent","TabsList","TabsTrigger","useState","SplitComponent","definition","saveDefinitionWithFeedback","themeSchema","values","settings","theme","form","resolver","zodResolver","handleSubmit","reset","onSubmit","draftConfig","data","generateNewThemeColors","resetColors","light","undefined","dark","handleShadesChange","themeMode","setThemeMode","MdConstruction"],"mappings":"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"}
1
+ {"version":3,"file":"theme-builder-CWetoMuo.js","sources":["../../src/routes/settings/-components/theme-colors-css-display.tsx","../../src/routes/settings/-components/theme-colors-editor.tsx","../../src/routes/settings/-components/theme-colors-preview.tsx","../../src/routes/settings/-theme-utils/palette-neural-net.ts","../../src/routes/settings/-theme-utils/palette-generator.ts","../../src/routes/settings/-components/theme-palette-editor.tsx","../../src/routes/settings/theme-builder.tsx?tsr-split=component"],"sourcesContent":["import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { generateCssFromThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport { TextareaField } from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useMemo } from 'react';\nimport { useWatch } from 'react-hook-form';\n\ninterface ThemeColorsCssDisplayProps {\n className?: string;\n control: Control<ThemeConfig>;\n}\n\nfunction convertRecordToCss(record: Record<string, string>): string {\n return Object.entries(record)\n .map(([key, value]) => ` ${key}: ${value};`)\n .join('\\n');\n}\n\nexport function ThemeColorsCssDisplay({\n className,\n control,\n}: ThemeColorsCssDisplayProps): React.JSX.Element {\n const colors = useWatch({ control, name: `colors` });\n\n const cssValue = useMemo(\n () =>\n `\n:root {\n${convertRecordToCss(generateCssFromThemeConfig(colors.light))}\n}\n\n.dark, html[data-theme='dark'] {\n${convertRecordToCss(generateCssFromThemeConfig(colors.dark))}\n}\n `.trim(),\n [colors],\n );\n\n return (\n <div className={clsx('', className)}>\n <TextareaField className=\"h-60\" readOnly value={cssValue} />\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control, UseFormSetValue } from 'react-hook-form';\n\nimport {\n convertHexToOklch,\n convertOklchToColorName,\n convertOklchToHex,\n getDefaultThemeColorFromShade,\n THEME_COLORS,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n Button,\n ColorPickerFieldController,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useWatch } from 'react-hook-form';\nimport { MdInfo, MdRestartAlt } from 'react-icons/md';\n\ninterface ThemeColorEditorProps {\n className?: string;\n control: Control<ThemeConfig>;\n mode: 'light' | 'dark';\n setValue: UseFormSetValue<ThemeConfig>;\n}\n\nexport function ThemeColorsEditor({\n className,\n control,\n mode,\n setValue,\n}: ThemeColorEditorProps): React.JSX.Element {\n const themeColorEntries = Object.entries(THEME_COLORS);\n const palettes = useWatch({ control, name: 'palettes' });\n const themeColors = useWatch({ control, name: `colors.${mode}` });\n return (\n <div className={clsx('flex w-full max-w-xl gap-4', className)}>\n <div className=\"grid flex-1 grid-cols-1 gap-4 sm:grid-cols-2\">\n {themeColorEntries.map(([key, config], idx) => {\n const themeKey = key as keyof typeof THEME_COLORS;\n const lastCategoryKey =\n idx > 0 ? themeColorEntries[idx - 1][1].groupKey : undefined;\n const shouldStartNewColumn = lastCategoryKey !== config.groupKey;\n const currentColor = themeColors[themeKey];\n const defaultValue = getDefaultThemeColorFromShade(\n palettes,\n mode,\n themeKey,\n );\n return (\n <div\n className={clsx(\n shouldStartNewColumn ? 'col-start-1' : undefined,\n 'relative',\n )}\n key={key}\n >\n <ColorPickerFieldController\n control={control}\n className=\"w-full\"\n wrapperClassName=\"flex-col items-start\"\n label={\n <div className=\"flex h-6 w-full items-center gap-1\">\n <div>{config.name}</div>\n <Tooltip delayDuration={500}>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n aria-label=\"Color Info\"\n className=\"opacity-30\"\n >\n <MdInfo />\n </Button>\n </TooltipTrigger>\n <TooltipContent\n align=\"start\"\n side=\"bottom\"\n className=\"max-w-[400px]\"\n >\n <div className=\"font-normal\">{config.description}</div>\n </TooltipContent>\n </Tooltip>\n </div>\n }\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n formatColorName={(color) => {\n const baseShade = Object.entries(palettes.base.shades).find(\n ([, shadeColor]) => shadeColor === color,\n )?.[0];\n if (baseShade) {\n return `base-${baseShade}`;\n }\n const primaryShade = Object.entries(\n palettes.primary.shades,\n ).find(([, shadeColor]) => shadeColor === color)?.[0];\n if (primaryShade) {\n return `primary-${primaryShade}`;\n }\n return convertOklchToColorName(color);\n }}\n name={`colors.${mode}.${themeKey}`}\n />\n {currentColor !== defaultValue && (\n <Button\n className=\"absolute right-2 bottom-1\"\n onClick={() => {\n setValue(`colors.${mode}.${themeKey}`, defaultValue);\n }}\n size=\"icon\"\n variant=\"ghost\"\n aria-label=\"Reset Color\"\n >\n <MdRestartAlt />\n </Button>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type { Control } from 'react-hook-form';\n\nimport { generateCssFromThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n} from '@baseplate-dev/ui-components';\nimport { clsx } from 'clsx';\nimport { useWatch } from 'react-hook-form';\n\ninterface ThemeColorsPreviewProps {\n className?: string;\n control: Control<ThemeConfig>;\n mode: 'light' | 'dark';\n}\n\nexport function ThemeColorsPreview({\n className,\n control,\n mode,\n}: ThemeColorsPreviewProps): React.JSX.Element {\n const colors = useWatch({\n control,\n name: `colors.${mode}`,\n });\n const colorCss = generateCssFromThemeConfig(colors);\n return (\n <div\n className={clsx(\n 'size-full rounded-xl border border-border bg-background p-4',\n className,\n )}\n style={colorCss}\n >\n <Card>\n <CardHeader>\n <CardTitle>Color Preview</CardTitle>\n <CardDescription>\n This is a preview of how your theme colors will be applied on\n various elements\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div>\n <PreviewSectionTitle>Paragraph Text</PreviewSectionTitle>\n <p className=\"text-base\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin\n faucibus.\n </p>\n </div>\n <div>\n <PreviewSectionTitle>Combobox</PreviewSectionTitle>\n <Combobox>\n <ComboboxInput placeholder={'Select an option'} />\n <ComboboxContent style={colorCss}>\n <ComboboxItem value=\"opt1\" label=\"Option 1\">\n Option 1\n </ComboboxItem>\n <ComboboxItem value=\"green\" label=\"Option 2\">\n Option 2\n </ComboboxItem>\n <ComboboxItem value=\"blue\" label=\"Option 3\">\n Option 3\n </ComboboxItem>\n <ComboboxEmpty>No results found</ComboboxEmpty>\n </ComboboxContent>\n </Combobox>\n </div>\n <div>\n <PreviewSectionTitle>Badges</PreviewSectionTitle>\n <div className=\"flex flex-wrap gap-1\">\n <Badge variant=\"default\">Default</Badge>\n <Badge variant=\"destructive\">Destructive</Badge>\n <Badge variant=\"secondary\">Secondary</Badge>\n <Badge variant=\"outline\">Outline</Badge>\n </div>\n </div>\n <div>\n <PreviewSectionTitle>Buttons</PreviewSectionTitle>\n <div className=\"flex flex-wrap gap-2 rounded-lg border border-border p-1\">\n <Button type=\"button\">Primary</Button>\n <Button variant=\"destructive\" type=\"button\">\n Destructive\n </Button>\n <Button variant=\"ghost\" type=\"button\">\n Ghost\n </Button>\n <Button variant=\"link\" type=\"button\">\n Link\n </Button>\n <Button variant=\"secondary\" type=\"button\">\n Secondary\n </Button>\n <Button variant=\"outline\" type=\"button\">\n Outline\n </Button>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n\nfunction PreviewSectionTitle({\n children,\n}: {\n children: React.ReactNode;\n}): React.JSX.Element {\n return <h4 className=\"text-lg font-semibold\">{children}</h4>;\n}\n","/* eslint-disable unicorn/numeric-separators-style */\nexport function generatePaletteNN(color: {\n r: number;\n g: number;\n b: number;\n}): Record<string, number> {\n const input = new Float32Array([color.r, color.g, color.b]);\n return {\n '50-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.8661608695983887 +\n (1.969373345375061 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.4601062536239624 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.7962396740913391 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '50-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.9256014823913574 +\n (1.231925129890442 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.3603883981704712 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.8378368616104126 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '50-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.5751663446426392 +\n (0.6084778904914856 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.0512851476669312 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (1.9236465692520142 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.6104178428649902 +\n (2.411083698272705 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.4946855306625366 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.5684743523597717 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.6873022317886353 +\n (0.7176924347877502 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.6131407022476196 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.15697577595710754 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '100-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.0808522701263428 -\n (0.09388591349124908 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.5177313685417175 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.6253278255462646 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.3480290174484253 +\n (2.2088170051574707 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (1.1226733922958374 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.41870957612991333 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.3919278383255005 +\n (0.2666841745376587 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.5987523794174194 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.23637670278549194 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '200-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.6176453232765198 -\n (0.6029531359672546 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.21029342710971832 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.906541109085083 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.9194338321685791 +\n (2.3936944007873535 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (1.68363356590271 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.36374539136886597 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 1.1811708211898804 -\n (0.08378893882036209 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.4275716543197632 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.6511568427085876 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '300-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.04160493612289429 -\n (1.0422184467315674 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.1739543229341507 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.306165933609009 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.5908379554748535 +\n (2.6282155513763428 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.483553886413574 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (0.16029347479343414 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.9054368138313293 -\n (0.38720616698265076 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.231947422027588 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.0837976932525635 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '400-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6404189467430115 -\n (1.6898466348648071 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.029696132987737656 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.7177767753601074 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.3420727550983429 +\n (2.987776756286621 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (3.3403704166412354 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.07194828987121582 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.5289734601974487 -\n (0.5567987561225891 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.3352314233779907 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.4835448265075684 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '500-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.2478309869766235 -\n (2.2976744174957275 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.30013492703437805 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (4.339084625244141 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.18572008609771729 +\n (2.5128233432769775 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (3.407212495803833 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.20814435184001923 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n 0.15741883218288422 -\n (0.7273809909820557 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.2500137090682983 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.6501106023788452 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '600-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.3073996305465698 -\n (2.5112154483795166 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.7157139182090759 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (4.086366176605225 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.25121745467185974 +\n (1.7795124053955078 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.7557551860809326 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.0411522202193737 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.43503373861312866 -\n (0.6766132712364197 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (1.150789737701416 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.3406033515930176 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '700-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.1124053001403809 -\n (2.359389305114746 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.943118691444397 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (3.267453908920288 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.42729225754737854 +\n (1.2738885879516602 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.573699474334717 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.11818580329418182 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6730203628540039 -\n (0.770199716091156 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.9060920476913452 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.2600882053375244 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '800-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.32567298412323 -\n (1.9301948547363281 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.8552113175392151 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.6513888835906982 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.6309270858764648 +\n (1.0235852003097534 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.4659388065338135 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.15058130025863647 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -0.9010928273200989 -\n (0.7559532523155212 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.7665435075759888 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.1884112358093262 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '900-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.5088001489639282 -\n (1.5986618995666504 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.7353832125663757 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (2.180158853530884 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-r':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.166185975074768 +\n (0.5363732576370239 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (2.587523937225342 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (0.061746854335069656 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-g':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.2907893657684326 -\n (1.3924223184585571 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) +\n (0.5465696454048157 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) -\n (1.2647709846496582 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n '950-b':\n 1 /\n (1 +\n 1 /\n Math.exp(\n -1.8633685111999512 -\n (1.8034374713897705 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.5648569464683533 +\n 8.592248916625977 * (input[0] || 0) -\n 2.0615885257720947 * (input[1] || 0) -\n 7.465658187866211 * (input[2] || 0),\n )) -\n (0.8856748938560486 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.6313956379890442 -\n 7.673094272613525 * (input[0] || 0) +\n 8.008654594421387 * (input[1] || 0) -\n 1.6121777296066284 * (input[2] || 0),\n )) +\n (1.8510282039642334 * 1) /\n (1 +\n 1 /\n Math.exp(\n 0.08400232344865799 -\n 0.9345706105232239 * (input[0] || 0) -\n 7.6551032066345215 * (input[1] || 0) +\n 8.717894554138184 * (input[2] || 0),\n )),\n )),\n };\n}\n","import type { ColorPalette } from '@baseplate-dev/project-builder-lib';\nimport type { Rgb } from 'culori';\n\nimport { PALETTE_SHADES } from '@baseplate-dev/project-builder-lib';\nimport { converter, formatHex } from 'culori';\n\nimport { generatePaletteNN } from './palette-neural-net.js';\n\nfunction getPaletteKey(shade: string, component: string): string {\n return `${shade}-${component}`;\n}\n\nexport function generatePalette(baseColor: string): ColorPalette {\n const convertToRgb = converter('rgb');\n\n const rgb = convertToRgb(baseColor);\n\n if (!rgb) {\n throw new Error(`Invalid color: ${baseColor}`);\n }\n\n const newPalette = generatePaletteNN(rgb);\n\n return Object.fromEntries(\n PALETTE_SHADES.map((shade) => {\n const shadeRgb: Rgb = {\n mode: 'rgb',\n r: newPalette[getPaletteKey(shade, 'r')],\n g: newPalette[getPaletteKey(shade, 'g')],\n b: newPalette[getPaletteKey(shade, 'b')],\n };\n return [shade, formatHex(shadeRgb)];\n }),\n ) as ColorPalette;\n}\n","import type {\n ColorPaletteName,\n PaletteShades,\n ThemeConfig,\n} from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\nimport type {\n Control,\n UseFormGetValues,\n UseFormSetValue,\n} from 'react-hook-form';\n\nimport {\n COLOR_PALETTES,\n convertHexToOklch,\n convertOklchToHex,\n PALETTE_SHADES,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n Button,\n ColorPickerFieldController,\n ComboboxFieldController,\n} from '@baseplate-dev/ui-components';\nimport { capitalize } from 'inflection';\nimport { useCallback } from 'react';\nimport { useWatch } from 'react-hook-form';\n\nimport { generatePalette } from '../-theme-utils/palette-generator.js';\n\ninterface ThemePaletteEditorProps {\n control: Control<ThemeConfig>;\n getValues: UseFormGetValues<ThemeConfig>;\n setValue: UseFormSetValue<ThemeConfig>;\n onShadesChange?: (shades: Partial<PaletteShades>) => void;\n type: 'base' | 'primary';\n}\n\nexport function ThemePaletteEditor({\n control,\n getValues,\n setValue,\n onShadesChange,\n type,\n}: ThemePaletteEditorProps): React.JSX.Element {\n const paletteOptions = [\n { value: 'custom', label: 'Custom Base' },\n ...Object.keys(COLOR_PALETTES).map((key) => ({\n value: key,\n label: capitalize(key),\n })),\n ];\n\n const paletteName = useWatch({\n control,\n name: `palettes.${type}.paletteName`,\n });\n\n const handlePaletteNameChange = useCallback(\n (name: string | null) => {\n if (!name || !Object.prototype.hasOwnProperty.call(COLOR_PALETTES, name))\n return;\n const palette = COLOR_PALETTES[name as ColorPaletteName];\n setValue(`palettes.${type}.shades`, palette);\n onShadesChange?.(palette);\n },\n [setValue, onShadesChange, type],\n );\n\n const handleCustomPaletteGenerate = (): void => {\n const baseColor = getValues(`palettes.${type}.customBase`);\n if (!baseColor) return;\n const newPalette = generatePalette(baseColor);\n setValue(`palettes.${type}.shades`, newPalette);\n onShadesChange?.(newPalette);\n };\n\n return (\n <div className=\"flex max-w-fit flex-col gap-4\">\n <ComboboxFieldController\n name={`palettes.${type}.paletteName`}\n control={control}\n options={paletteOptions}\n placeholder=\"Choose a base palette\"\n onChange={handlePaletteNameChange}\n />\n {paletteName === 'custom' && (\n <div className=\"flex max-w-xl items-center justify-between\">\n <ColorPickerFieldController\n className=\"flex-1 space-x-1\"\n wrapperClassName=\"items-center\"\n control={control}\n name={`palettes.${type}.customBase`}\n label=\"Custom Base Color\"\n placeholder=\"Choose a color\"\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n />\n <Button\n variant=\"secondary\"\n onClick={handleCustomPaletteGenerate}\n size=\"sm\"\n >\n Generate\n </Button>\n </div>\n )}\n <div className=\"flex gap-3\">\n {PALETTE_SHADES.map((shade) => (\n <ColorPickerFieldController\n key={shade}\n wrapperClassName=\"flex flex-col items-center\"\n hideText\n control={control}\n name={`palettes.${type}.shades.${shade}`}\n label={shade}\n parseColor={convertOklchToHex}\n serializeColor={convertHexToOklch}\n onChange={() =>\n onShadesChange?.(getValues(`palettes.${type}.shades`))\n }\n />\n ))}\n </div>\n </div>\n );\n}\n","import type { ThemeConfig } from '@baseplate-dev/project-builder-lib';\nimport type React from 'react';\n\nimport {\n createThemeSchema,\n generateDefaultTheme,\n generateThemeColorsFromShade,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n useBlockUnsavedChangesNavigate,\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport {\n Alert,\n AlertDescription,\n AlertTitle,\n Button,\n FormActionBar,\n SectionList,\n SectionListSection,\n SectionListSectionContent,\n SectionListSectionDescription,\n SectionListSectionHeader,\n SectionListSectionTitle,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { createFileRoute } from '@tanstack/react-router';\nimport { useCallback, useMemo, useState } from 'react';\nimport { MdConstruction } from 'react-icons/md';\n\nimport { ThemeColorsCssDisplay } from './-components/theme-colors-css-display.js';\nimport { ThemeColorsEditor } from './-components/theme-colors-editor.js';\nimport { ThemeColorsPreview } from './-components/theme-colors-preview.js';\nimport { ThemePaletteEditor } from './-components/theme-palette-editor.js';\n\nexport const Route = createFileRoute('/settings/theme-builder')({\n component: ThemeBuilderPage,\n beforeLoad: () => ({\n getTitle: () => 'Theme Builder',\n }),\n});\n\nfunction ThemeBuilderPage(): React.JSX.Element {\n const { definition, saveDefinitionWithFeedback } = useProjectDefinition();\n const themeSchema = useDefinitionSchema(createThemeSchema);\n const values = useMemo(\n () => definition.settings.theme ?? generateDefaultTheme(),\n [definition.settings.theme],\n );\n\n const form = useResettableForm<ThemeConfig>({\n resolver: zodResolver(themeSchema),\n values,\n });\n const { control, handleSubmit, setValue, getValues, reset } = form;\n\n const onSubmit = handleSubmit((data) =>\n saveDefinitionWithFeedback((draftConfig) => {\n draftConfig.settings.theme = data;\n }),\n );\n\n useBlockUnsavedChangesNavigate({ control, reset, onSubmit });\n\n const generateNewThemeColors = useCallback(\n (resetColors?: boolean) => {\n const palettes = getValues('palettes');\n setValue('colors', {\n light: generateThemeColorsFromShade(\n palettes,\n 'light',\n resetColors\n ? undefined\n : {\n palettes: values.palettes,\n config: values.colors.light,\n },\n ),\n dark: generateThemeColorsFromShade(\n palettes,\n 'dark',\n resetColors\n ? undefined\n : {\n palettes: values.palettes,\n config: values.colors.dark,\n },\n ),\n });\n },\n [getValues, setValue, values],\n );\n\n const handleShadesChange = useCallback(() => {\n generateNewThemeColors();\n }, [generateNewThemeColors]);\n\n const [themeMode, setThemeMode] = useState<string>('light');\n\n return (\n <form\n className=\"relative h-full max-h-full pb-(--action-bar-height)\"\n onSubmit={onSubmit}\n >\n <div className=\"flex h-full max-h-full flex-1 flex-col overflow-y-auto px-6\">\n <div className=\"sticky top-0 z-10 space-y-2 border-b bg-background py-6\">\n <h1>Theme Builder</h1>\n <p className=\"max-w-3xl text-muted-foreground\">\n The theme of the UI is based off color variables used with{' '}\n <a\n href=\"https://ui.shadcn.com/docs/theming\"\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"underline\"\n >\n the Shadn UI component library\n </a>\n . We generate the color variables based off the Tailwind color\n palette structure but you can customize them as you wish.\n </p>\n </div>\n <div className=\"pt-4\">\n {/* TODO: check if this should be removed */}\n <Alert className=\"max-w-fit\">\n <MdConstruction />\n <AlertTitle>Work in Progress</AlertTitle>\n <AlertDescription>\n This page is still a work in progress. It is not being used for\n generation at the moment.\n </AlertDescription>\n </Alert>\n <SectionList>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>\n Theme Palettes\n </SectionListSectionTitle>\n <SectionListSectionDescription>\n Pick the colors for your theme\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"max-w-3xl\">\n <Tabs defaultValue=\"base\">\n <TabsList>\n <TabsTrigger value=\"base\">Base</TabsTrigger>\n <TabsTrigger value=\"primary\">Primary</TabsTrigger>\n </TabsList>\n <TabsContent value=\"base\">\n <ThemePaletteEditor\n control={control}\n getValues={getValues}\n setValue={setValue}\n type=\"base\"\n onShadesChange={handleShadesChange}\n />\n </TabsContent>\n <TabsContent value=\"primary\">\n <ThemePaletteEditor\n control={control}\n getValues={getValues}\n setValue={setValue}\n type=\"primary\"\n onShadesChange={handleShadesChange}\n />\n </TabsContent>\n </Tabs>\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>Theme Colors</SectionListSectionTitle>\n <SectionListSectionDescription>\n Pick the colors for your theme\n </SectionListSectionDescription>\n <div className=\"sticky top-44\">\n <ThemeColorsPreview\n key={themeMode} // force rerender\n control={control}\n mode={themeMode as 'light' | 'dark'}\n />\n </div>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex flex-col gap-4\">\n <Tabs value={themeMode} onValueChange={setThemeMode}>\n <TabsList>\n <TabsTrigger value=\"light\">Light</TabsTrigger>\n <TabsTrigger value=\"dark\">Dark</TabsTrigger>\n </TabsList>\n <TabsContent value=\"light\">\n <ThemeColorsEditor\n control={control}\n setValue={setValue}\n mode=\"light\"\n />\n </TabsContent>\n <TabsContent value=\"dark\">\n <ThemeColorsEditor\n control={control}\n setValue={setValue}\n mode=\"dark\"\n />\n </TabsContent>\n </Tabs>\n <Button\n onClick={() => {\n generateNewThemeColors(true);\n }}\n variant=\"outline\"\n size=\"sm\"\n type=\"button\"\n className=\"w-fit\"\n >\n Reset Colors\n </Button>\n </SectionListSectionContent>\n </SectionListSection>\n <SectionListSection>\n <SectionListSectionHeader>\n <SectionListSectionTitle>CSS Preview</SectionListSectionTitle>\n <SectionListSectionDescription>\n Preview the CSS for your theme\n </SectionListSectionDescription>\n </SectionListSectionHeader>\n <SectionListSectionContent className=\"flex flex-col gap-4\">\n <ThemeColorsCssDisplay control={control} />\n </SectionListSectionContent>\n </SectionListSection>\n </SectionList>\n </div>\n </div>\n <FormActionBar form={form} />\n </form>\n );\n}\n"],"names":["generateCssFromThemeConfig","importShared","TextareaField","useMemo","convertRecordToCss","record","key","value","ThemeColorsCssDisplay","className","control","colors","useWatch","cssValue","jsx","clsx","convertHexToOklch","convertOklchToColorName","convertOklchToHex","getDefaultThemeColorFromShade","THEME_COLORS","Button","ColorPickerFieldController","Tooltip","TooltipContent","TooltipTrigger","ThemeColorsEditor","mode","setValue","themeColorEntries","palettes","themeColors","config","idx","themeKey","shouldStartNewColumn","currentColor","defaultValue","jsxs","MdInfo","color","baseShade","shadeColor","primaryShade","MdRestartAlt","Badge","Card","CardContent","CardDescription","CardHeader","CardTitle","Combobox","ComboboxContent","ComboboxEmpty","ComboboxInput","ComboboxItem","ThemeColorsPreview","colorCss","PreviewSectionTitle","children","generatePaletteNN","input","PALETTE_SHADES","getPaletteKey","shade","component","generatePalette","baseColor","rgb","converter","newPalette","shadeRgb","formatHex","COLOR_PALETTES","ComboboxFieldController","useCallback","ThemePaletteEditor","getValues","onShadesChange","type","paletteOptions","capitalize","paletteName","handlePaletteNameChange","name","palette","handleCustomPaletteGenerate","createThemeSchema","generateDefaultTheme","generateThemeColorsFromShade","useBlockUnsavedChangesNavigate","useDefinitionSchema","useProjectDefinition","useResettableForm","Alert","AlertDescription","AlertTitle","FormActionBar","SectionList","SectionListSection","SectionListSectionContent","SectionListSectionDescription","SectionListSectionHeader","SectionListSectionTitle","Tabs","TabsContent","TabsList","TabsTrigger","useState","SplitComponent","definition","saveDefinitionWithFeedback","themeSchema","values","settings","theme","form","resolver","zodResolver","handleSubmit","reset","onSubmit","draftConfig","data","generateNewThemeColors","resetColors","light","undefined","dark","handleShadesChange","themeMode","setThemeMode","MdConstruction"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{i as o}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{n as x,s as I,l as j}from"./index-BekC6gsX.js";import{s as B}from"./sortBy-C9bvycg5.js";const{createEnumBaseSchema:T,EnumUtils:U,FeatureUtils:L,modelEnumEntityType:u}=await o("@baseplate-dev/project-builder-lib"),{useDefinitionSchema:M,useProjectDefinition:O,useResettableForm:$}=await o("@baseplate-dev/project-builder-lib/web"),{useEventCallback:A}=await o("@baseplate-dev/ui-components"),{useNavigate:K}=await o("@tanstack/react-router"),{useMemo:r,useRef:P}=await o("react");function V(){return{id:u.generateNewId(),name:"",featureRef:"",isExposed:!1,values:[]}}function H({enumKey:g,omit:D,onSubmitSuccess:k,isCreate:i}={}){const{definition:m,saveDefinitionWithFeedback:b,isSavingDefinition:N}=O(),p=K(),w=i?void 0:u.idFromKey(g),n=w?U.byId(m,w):void 0;if(!i&&!n)throw new x("Enum not found");const a=r(()=>V(),[]),c=M(T),d=P(D),l=r(()=>d.current?c.omit(Object.fromEntries(d.current.map(t=>[t,!0]))):c,[c]),v=r(()=>{const t=n??a;return d.current?l.parse(t):t},[n,a,l]),y=$({resolver:I(l),defaultValues:v}),{reset:f,handleSubmit:S,setError:h}=y,F=A(k),R=r(()=>S(t=>{const e={...n,...t,id:n?.id??u.generateNewId()};if(m.enums?.find(s=>s.id!==e.id&&s.name.toLowerCase()===e.name.toLowerCase())){h("name",{message:`Enum with name ${e.name} already exists.`});return}return b(s=>{e.featureRef=L.ensureFeatureByNameRecursively(s,e.featureRef),s.enums=B([...s.enums?.filter(E=>E.id!==e.id)??[],e],[E=>E.name])},{successMessage:i?"Successfully created enum!":"Successfully saved enum!",onSuccess:()=>{i?(p({to:"/data/enums/edit/$key",params:{key:u.keyFromId(e.id)}}).catch(j),f(a)):f(t),F?.()}})}),[p,f,b,h,S,m,i,n,a,F]);return{form:y,onSubmit:R,defaultValues:v,isSavingDefinition:N}}export{H as u};
2
- //# sourceMappingURL=use-enum-form-D7XmblPC.js.map
1
+ import{i as o}from"./_virtual___federation_fn_import-D3sI42Ph.js";import{n as x,s as I,l as j}from"./index-DEKFCy0H.js";import{s as B}from"./sortBy-C9bvycg5.js";const{createEnumBaseSchema:T,EnumUtils:U,FeatureUtils:L,modelEnumEntityType:u}=await o("@baseplate-dev/project-builder-lib"),{useDefinitionSchema:M,useProjectDefinition:O,useResettableForm:$}=await o("@baseplate-dev/project-builder-lib/web"),{useEventCallback:A}=await o("@baseplate-dev/ui-components"),{useNavigate:K}=await o("@tanstack/react-router"),{useMemo:r,useRef:P}=await o("react");function V(){return{id:u.generateNewId(),name:"",featureRef:"",isExposed:!1,values:[]}}function H({enumKey:g,omit:D,onSubmitSuccess:k,isCreate:i}={}){const{definition:m,saveDefinitionWithFeedback:b,isSavingDefinition:N}=O(),p=K(),w=i?void 0:u.idFromKey(g),n=w?U.byId(m,w):void 0;if(!i&&!n)throw new x("Enum not found");const a=r(()=>V(),[]),c=M(T),d=P(D),l=r(()=>d.current?c.omit(Object.fromEntries(d.current.map(t=>[t,!0]))):c,[c]),v=r(()=>{const t=n??a;return d.current?l.parse(t):t},[n,a,l]),y=$({resolver:I(l),defaultValues:v}),{reset:f,handleSubmit:S,setError:h}=y,F=A(k),R=r(()=>S(t=>{const e={...n,...t,id:n?.id??u.generateNewId()};if(m.enums?.find(s=>s.id!==e.id&&s.name.toLowerCase()===e.name.toLowerCase())){h("name",{message:`Enum with name ${e.name} already exists.`});return}return b(s=>{e.featureRef=L.ensureFeatureByNameRecursively(s,e.featureRef),s.enums=B([...s.enums?.filter(E=>E.id!==e.id)??[],e],[E=>E.name])},{successMessage:i?"Successfully created enum!":"Successfully saved enum!",onSuccess:()=>{i?(p({to:"/data/enums/edit/$key",params:{key:u.keyFromId(e.id)}}).catch(j),f(a)):f(t),F?.()}})}),[p,f,b,h,S,m,i,n,a,F]);return{form:y,onSubmit:R,defaultValues:v,isSavingDefinition:N}}export{H as u};
2
+ //# sourceMappingURL=use-enum-form-BRBAlWJc.js.map