@baseplate-dev/project-builder-web 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/-constants-C0cnDlAn.js +4 -0
- package/dist/assets/-constants-C0cnDlAn.js.map +1 -0
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BCejYgPM.js +2 -0
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-dPVRSC8L.js.map → web-BCejYgPM.js.map} +1 -1
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-BxDAWgq7.js +2 -0
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-BxDAWgq7.js.map +1 -0
- package/dist/assets/__federation_shared_@baseplate-dev/ui-components-D6OnTPTN.js +46 -0
- package/dist/assets/__federation_shared_@baseplate-dev/ui-components-D6OnTPTN.js.map +1 -0
- package/dist/assets/__federation_shared_@baseplate-dev/utils-DvvrgoSE.js +5 -0
- package/dist/assets/__federation_shared_@baseplate-dev/utils-DvvrgoSE.js.map +1 -0
- package/dist/assets/__federation_shared_@tanstack/react-router-B5c6YNeC.js +19 -0
- package/dist/assets/__federation_shared_@tanstack/react-router-B5c6YNeC.js.map +1 -0
- package/dist/assets/__federation_shared_react-WURrSs1p.js +2 -0
- package/dist/assets/{__federation_shared_react-CTQ9xfiH.js.map → __federation_shared_react-WURrSs1p.js.map} +1 -1
- package/dist/assets/__federation_shared_react-dom-CWagDEjd.js +2 -0
- package/dist/assets/{__federation_shared_react-dom-DPv53nVg.js.map → __federation_shared_react-dom-CWagDEjd.js.map} +1 -1
- package/dist/assets/_commonjsHelpers-CqkleIqs.js +2 -0
- package/dist/assets/_commonjsHelpers-CqkleIqs.js.map +1 -0
- package/dist/assets/_virtual___federation_fn_import-DXu2m-ZE.js +2 -0
- package/dist/assets/{_virtual___federation_fn_import-DK_YYIlv.js.map → _virtual___federation_fn_import-DXu2m-ZE.js.map} +1 -1
- package/dist/assets/admin-Bw70Pql0.js +2 -0
- package/dist/assets/admin-Bw70Pql0.js.map +1 -0
- package/dist/assets/backend-CoqSwiCt.js +2 -0
- package/dist/assets/{backend-B_UhUC1z.js.map → backend-CoqSwiCt.js.map} +1 -1
- package/dist/assets/badge-with-type-label-BXoSRTRE.js +2 -0
- package/dist/assets/{badge-with-type-label-Cvf-Kq7s.js.map → badge-with-type-label-BXoSRTRE.js.map} +1 -1
- package/dist/assets/edit._key-CtMMGDWu.js +2 -0
- package/dist/assets/edit._key-CtMMGDWu.js.map +1 -0
- package/dist/assets/edit._sectionKey-CTX9L0j4.js +3 -0
- package/dist/assets/edit._sectionKey-CTX9L0j4.js.map +1 -0
- package/dist/assets/enum-info-form-D5bAsvPH.js +2 -0
- package/dist/assets/{enum-info-form-CfQbLUQ3.js.map → enum-info-form-D5bAsvPH.js.map} +1 -1
- package/dist/assets/graphql-BmA-sAqU.js +2 -0
- package/dist/assets/{graphql-DTRjqtIq.js.map → graphql-BmA-sAqU.js.map} +1 -1
- package/dist/assets/hierarchy-CZorhmS7.js +2 -0
- package/dist/assets/{hierarchy-BDu76BxG.js.map → hierarchy-CZorhmS7.js.map} +1 -1
- package/dist/assets/immer-B7fdkLVi.js +2 -0
- package/dist/assets/immer-B7fdkLVi.js.map +1 -0
- package/dist/assets/index-BABen-rU.js +2 -0
- package/dist/assets/index-BABen-rU.js.map +1 -0
- package/dist/assets/index-BGLRovL6.js +2 -0
- package/dist/assets/index-BGLRovL6.js.map +1 -0
- package/dist/assets/index-BPzqpd9P.js +2 -0
- package/dist/assets/{index-CKCJuR7p.js.map → index-BPzqpd9P.js.map} +1 -1
- package/dist/assets/index-BUYA3Tes.js +40 -0
- package/dist/assets/index-BUYA3Tes.js.map +1 -0
- package/dist/assets/index-Bl_iRlKL.js +2 -0
- package/dist/assets/index-Bl_iRlKL.js.map +1 -0
- package/dist/assets/index-BpDkQSTy.js +2 -0
- package/dist/assets/{index-01LAxHjt.js.map → index-BpDkQSTy.js.map} +1 -1
- package/dist/assets/index-CaiaVpxa.js +2 -0
- package/dist/assets/index-CaiaVpxa.js.map +1 -0
- package/dist/assets/index-CsGKSjOd.js +2 -0
- package/dist/assets/index-CsGKSjOd.js.map +1 -0
- package/dist/assets/index-D-dbw3Qx.js +2 -0
- package/dist/assets/{index-DITwAD5X.js.map → index-D-dbw3Qx.js.map} +1 -1
- package/dist/assets/index-DCiH936w.js +2 -0
- package/dist/assets/{index-D8LleqeK.js.map → index-DCiH936w.js.map} +1 -1
- package/dist/assets/index-DDivWD4R.js +2 -0
- package/dist/assets/index-DDivWD4R.js.map +1 -0
- package/dist/assets/index-DpJKJe06.js +2 -0
- package/dist/assets/index-DpJKJe06.js.map +1 -0
- package/dist/assets/{index-B0D_rfGi.js → index-DqHVrEeL.js} +2 -2
- package/dist/assets/{index-B0D_rfGi.js.map → index-DqHVrEeL.js.map} +1 -1
- package/dist/assets/index-PlVWOW99.css +1 -0
- package/dist/assets/index-_mf2naQd.js +2 -0
- package/dist/assets/index-_mf2naQd.js.map +1 -0
- package/dist/assets/{index-9Ra4Lmds.js → index-c0qeY2gs.js} +3 -3
- package/dist/assets/{index-9Ra4Lmds.js.map → index-c0qeY2gs.js.map} +1 -1
- package/dist/assets/index-p--SDqro.js +2 -0
- package/dist/assets/{index-DhWOhNFS.js.map → index-p--SDqro.js.map} +1 -1
- package/dist/assets/index.esm-CTDJ8Wko.js +2 -0
- package/dist/assets/index.esm-CTDJ8Wko.js.map +1 -0
- package/dist/assets/jsx-runtime-D_zvdyIk.js +10 -0
- package/dist/assets/jsx-runtime-D_zvdyIk.js.map +1 -0
- package/dist/assets/model-info-form-pKQBCJu4.js +2 -0
- package/dist/assets/{model-info-form-tJoD-VwE.js.map → model-info-form-pKQBCJu4.js.map} +1 -1
- package/dist/assets/model-merger-vEOkdVdS.js +2 -0
- package/dist/assets/model-merger-vEOkdVdS.js.map +1 -0
- package/dist/assets/new-admin-section-dialog-F58HZ0yO.js +2 -0
- package/dist/assets/new-admin-section-dialog-F58HZ0yO.js.map +1 -0
- package/dist/assets/new-app-dialog-DPQv-mvi.js +2 -0
- package/dist/assets/new-app-dialog-DPQv-mvi.js.map +1 -0
- package/dist/assets/new-enum-dialog-xVvneRQN.js +2 -0
- package/dist/assets/{new-enum-dialog-BxDxXwX_.js.map → new-enum-dialog-xVvneRQN.js.map} +1 -1
- package/dist/assets/new-model-dialog-ApenxGWq.js +2 -0
- package/dist/assets/{new-model-dialog-D4pnLGR_.js.map → new-model-dialog-ApenxGWq.js.map} +1 -1
- package/dist/assets/route-1RLqcpwJ.js +2 -0
- package/dist/assets/{route-DYHQ0t6P.js.map → route-1RLqcpwJ.js.map} +1 -1
- package/dist/assets/route-9nRSk82v.js +2 -0
- package/dist/assets/route-9nRSk82v.js.map +1 -0
- package/dist/assets/route-B5_zLW88.js +2 -0
- package/dist/assets/{route-DSICQIL3.js.map → route-B5_zLW88.js.map} +1 -1
- package/dist/assets/route-BPsno3Cl.js +2 -0
- package/dist/assets/route-BPsno3Cl.js.map +1 -0
- package/dist/assets/route-BW0F_EH4.js +2 -0
- package/dist/assets/{route-BGYla1q4.js.map → route-BW0F_EH4.js.map} +1 -1
- package/dist/assets/route-C1hyfOXp.js +2 -0
- package/dist/assets/route-C1hyfOXp.js.map +1 -0
- package/dist/assets/route-CH7VQVwb.js +2 -0
- package/dist/assets/route-CH7VQVwb.js.map +1 -0
- package/dist/assets/route-CpoiDvOD.js +2 -0
- package/dist/assets/route-CpoiDvOD.js.map +1 -0
- package/dist/assets/route-Dq2UgkxS.js +2 -0
- package/dist/assets/{route-CO2y2T3j.js.map → route-Dq2UgkxS.js.map} +1 -1
- package/dist/assets/route-z54yq2nP.js +2 -0
- package/dist/assets/route-z54yq2nP.js.map +1 -0
- package/dist/assets/service-Cv-U7NUv.js +2 -0
- package/dist/assets/service-Cv-U7NUv.js.map +1 -0
- package/dist/assets/sortBy-C9bvycg5.js +2 -0
- package/dist/assets/sortBy-C9bvycg5.js.map +1 -0
- package/dist/assets/template-extractor-ElrbBsVj.js +2 -0
- package/dist/assets/{template-extractor-1dzSeRMo.js.map → template-extractor-ElrbBsVj.js.map} +1 -1
- package/dist/assets/{theme-builder-NSOA1xIw.js → theme-builder-Butjmy7L.js} +6 -6
- package/dist/assets/{theme-builder-NSOA1xIw.js.map → theme-builder-Butjmy7L.js.map} +1 -1
- package/dist/assets/{use-definition-schema-DOTr2MSB.js → use-definition-schema-e7us6WfR.js} +2 -2
- package/dist/assets/{use-definition-schema-DOTr2MSB.js.map → use-definition-schema-e7us6WfR.js.map} +1 -1
- package/dist/assets/use-enum-form-CEyTBPQn.js +2 -0
- package/dist/assets/{use-enum-form-Bon-b8Oc.js.map → use-enum-form-CEyTBPQn.js.map} +1 -1
- package/dist/assets/use-model-form-Ch_tz0Rd.js +2 -0
- package/dist/assets/{use-model-form-Bjm8n0m8.js.map → use-model-form-Ch_tz0Rd.js.map} +1 -1
- package/dist/assets/words-Cs2RBKRm.js +2 -0
- package/dist/assets/words-Cs2RBKRm.js.map +1 -0
- package/dist/index.html +11 -8
- package/package.json +11 -11
- package/dist/assets/-constants-CyTNHADu.js +0 -4
- package/dist/assets/-constants-CyTNHADu.js.map +0 -1
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-dPVRSC8L.js +0 -2
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-DnM8acZf.js +0 -5
- package/dist/assets/__federation_shared_@baseplate-dev/project-builder-lib-DnM8acZf.js.map +0 -1
- package/dist/assets/__federation_shared_@baseplate-dev/ui-components-z-HwX7Wv.js +0 -46
- package/dist/assets/__federation_shared_@baseplate-dev/ui-components-z-HwX7Wv.js.map +0 -1
- package/dist/assets/__federation_shared_react-CTQ9xfiH.js +0 -2
- package/dist/assets/__federation_shared_react-dom-DPv53nVg.js +0 -2
- package/dist/assets/_virtual___federation_fn_import-DK_YYIlv.js +0 -2
- package/dist/assets/backend-B_UhUC1z.js +0 -2
- package/dist/assets/badge-with-type-label-Cvf-Kq7s.js +0 -2
- package/dist/assets/edit._id-TYAWf8Zb.js +0 -2
- package/dist/assets/edit._id-TYAWf8Zb.js.map +0 -1
- package/dist/assets/enum-info-form-CfQbLUQ3.js +0 -2
- package/dist/assets/graphql-DTRjqtIq.js +0 -2
- package/dist/assets/hierarchy-BDu76BxG.js +0 -2
- package/dist/assets/immer-BOh2djD_.js +0 -2
- package/dist/assets/immer-BOh2djD_.js.map +0 -1
- package/dist/assets/index-01LAxHjt.js +0 -2
- package/dist/assets/index-B7G2CMwL.js +0 -58
- package/dist/assets/index-B7G2CMwL.js.map +0 -1
- package/dist/assets/index-B9Di1LKs.css +0 -1
- package/dist/assets/index-BgFEd-vA.js +0 -2
- package/dist/assets/index-BgFEd-vA.js.map +0 -1
- package/dist/assets/index-BkkIaDrq.js +0 -2
- package/dist/assets/index-BkkIaDrq.js.map +0 -1
- package/dist/assets/index-CKCJuR7p.js +0 -2
- package/dist/assets/index-Cg4QKyV6.js +0 -2
- package/dist/assets/index-Cg4QKyV6.js.map +0 -1
- package/dist/assets/index-D8LleqeK.js +0 -2
- package/dist/assets/index-DITwAD5X.js +0 -2
- package/dist/assets/index-DhWOhNFS.js +0 -2
- package/dist/assets/index-PWrncK3R.js +0 -2
- package/dist/assets/index-PWrncK3R.js.map +0 -1
- package/dist/assets/index-tLZ1b0Gc.js +0 -2
- package/dist/assets/index-tLZ1b0Gc.js.map +0 -1
- package/dist/assets/index.esm-Bvv3vNQh.js +0 -10
- package/dist/assets/index.esm-Bvv3vNQh.js.map +0 -1
- package/dist/assets/model-info-form-tJoD-VwE.js +0 -2
- package/dist/assets/model-merger-DuBMgrZ3.js +0 -2
- package/dist/assets/model-merger-DuBMgrZ3.js.map +0 -1
- package/dist/assets/new-app-dialog-CFhp6QLe.js +0 -2
- package/dist/assets/new-app-dialog-CFhp6QLe.js.map +0 -1
- package/dist/assets/new-enum-dialog-BxDxXwX_.js +0 -2
- package/dist/assets/new-model-dialog-D4pnLGR_.js +0 -2
- package/dist/assets/route-BGYla1q4.js +0 -2
- package/dist/assets/route-BILZA_nq.js +0 -2
- package/dist/assets/route-BILZA_nq.js.map +0 -1
- package/dist/assets/route-BLMjDHl_.js +0 -2
- package/dist/assets/route-BLMjDHl_.js.map +0 -1
- package/dist/assets/route-CO2y2T3j.js +0 -2
- package/dist/assets/route-DSICQIL3.js +0 -2
- package/dist/assets/route-DYHQ0t6P.js +0 -2
- package/dist/assets/route-DvbGaH6v.js +0 -2
- package/dist/assets/route-DvbGaH6v.js.map +0 -1
- package/dist/assets/route-MA2rDgPd.js +0 -2
- package/dist/assets/route-MA2rDgPd.js.map +0 -1
- package/dist/assets/route-rzAviP-P.js +0 -2
- package/dist/assets/route-rzAviP-P.js.map +0 -1
- package/dist/assets/sections-BSA71xrl.js +0 -2
- package/dist/assets/sections-BSA71xrl.js.map +0 -1
- package/dist/assets/sections._sectionKey-DSatzih8.js +0 -2
- package/dist/assets/sections._sectionKey-DSatzih8.js.map +0 -1
- package/dist/assets/service-C0mRE7Wd.js +0 -2
- package/dist/assets/service-C0mRE7Wd.js.map +0 -1
- package/dist/assets/template-extractor-1dzSeRMo.js +0 -2
- package/dist/assets/use-enum-form-Bon-b8Oc.js +0 -2
- package/dist/assets/use-model-form-Bjm8n0m8.js +0 -2
- package/dist/assets/utils-BGrwv_U7.js +0 -2
- package/dist/assets/utils-BGrwv_U7.js.map +0 -1
- package/dist/assets/web-B598C4Bq.js +0 -2
- package/dist/assets/web-B598C4Bq.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-builder-NSOA1xIw.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-Butjmy7L.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}from"./_virtual___federation_fn_import-
|
|
2
|
-
//# sourceMappingURL=use-definition-schema-
|
|
1
|
+
import{i}from"./_virtual___federation_fn_import-DXu2m-ZE.js";const{useProjectDefinition:o}=await i("@baseplate-dev/project-builder-lib/web"),{useMemo:n}=await i("react");function r(e){const{definitionSchemaParserContext:t}=o();return n(()=>e(t),[t,e])}export{r as u};
|
|
2
|
+
//# sourceMappingURL=use-definition-schema-e7us6WfR.js.map
|
package/dist/assets/{use-definition-schema-DOTr2MSB.js.map → use-definition-schema-e7us6WfR.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-definition-schema-
|
|
1
|
+
{"version":3,"file":"use-definition-schema-e7us6WfR.js","sources":["../../src/hooks/use-definition-schema.ts"],"sourcesContent":["import type {\n def,\n DefinitionSchemaCreator,\n} from '@baseplate-dev/project-builder-lib';\n\nimport { useProjectDefinition } from '@baseplate-dev/project-builder-lib/web';\nimport { useMemo } from 'react';\n\nexport function useDefinitionSchema<T extends DefinitionSchemaCreator>(\n schemaCreator: T,\n): def.InferSchema<T> {\n const { definitionSchemaParserContext } = useProjectDefinition();\n return useMemo(\n () => schemaCreator(definitionSchemaParserContext),\n [definitionSchemaParserContext, schemaCreator],\n ) as def.InferSchema<T>;\n}\n"],"names":["useProjectDefinition","importShared","useMemo","useDefinitionSchema","schemaCreator","definitionSchemaParserContext"],"mappings":"6DAKA,KAAA,CAAA,qBAAAA,CAAA,EAAA,MAAAC,EAAA,wCAAA,EACA,CAAA,QAAAC,CAAA,EAAA,MAAAD,EAAA,OAAA,EAEO,SAASE,EACdC,EACoB,CACd,KAAA,CAAE,8BAAAC,CAA8B,EAAIL,EAAqB,EACxD,OAAAE,EACL,IAAME,EAAcC,CAA6B,EACjD,CAACA,EAA+BD,CAAa,CAC/C,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as o}from"./_virtual___federation_fn_import-DXu2m-ZE.js";import{n as x,s as I,l as j}from"./index-BUYA3Tes.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-CEyTBPQn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-enum-form-
|
|
1
|
+
{"version":3,"file":"use-enum-form-CEyTBPQn.js","sources":["../../src/routes/data/enums/-hooks/use-enum-form.tsx"],"sourcesContent":["import type {\n EnumConfig,\n EnumConfigInput,\n} from '@baseplate-dev/project-builder-lib';\nimport type { UseFormReturn } from 'react-hook-form';\n\nimport {\n createEnumBaseSchema,\n EnumUtils,\n FeatureUtils,\n modelEnumEntityType,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport { useEventCallback } from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { useNavigate } from '@tanstack/react-router';\nimport { sortBy } from 'es-toolkit';\nimport { useMemo, useRef } from 'react';\n\nimport { logAndFormatError } from '#src/services/error-formatter.js';\nimport { NotFoundError } from '#src/utils/error.js';\n\ninterface UseEnumFormOptions {\n enumKey?: string;\n omit?: string[];\n onSubmitSuccess?: () => void;\n isCreate?: boolean;\n}\n\nfunction createNewEnum(): EnumConfig {\n return {\n id: modelEnumEntityType.generateNewId(),\n name: '',\n featureRef: '',\n isExposed: false,\n values: [],\n };\n}\n\nexport function useEnumForm({\n enumKey,\n omit,\n onSubmitSuccess,\n isCreate,\n}: UseEnumFormOptions = {}): {\n form: UseFormReturn<EnumConfigInput>;\n onSubmit: () => Promise<void>;\n defaultValues: EnumConfigInput;\n isSavingDefinition: boolean;\n} {\n const { definition, saveDefinitionWithFeedback, isSavingDefinition } =\n useProjectDefinition();\n const navigate = useNavigate();\n\n const urlEnumId = isCreate\n ? undefined\n : modelEnumEntityType.idFromKey(enumKey);\n const enumDefinition = urlEnumId\n ? EnumUtils.byId(definition, urlEnumId)\n : undefined;\n\n if (!isCreate && !enumDefinition) {\n throw new NotFoundError('Enum not found');\n }\n\n // memoize it to keep the same key when resetting\n const newEnumDefinition = useMemo(() => createNewEnum(), []);\n\n const baseEnumSchema = useDefinitionSchema(createEnumBaseSchema);\n\n const fieldsToOmit = useRef(omit);\n\n const finalSchema = useMemo(() => {\n if (fieldsToOmit.current) {\n return baseEnumSchema.omit(\n Object.fromEntries(\n fieldsToOmit.current.map((field) => [field, true]),\n ) as Record<string | number, never>,\n ) as typeof baseEnumSchema;\n }\n\n return baseEnumSchema;\n }, [baseEnumSchema]);\n\n const defaultValues = useMemo(() => {\n const enumToUse = enumDefinition ?? newEnumDefinition;\n return fieldsToOmit.current\n ? (finalSchema.parse(enumToUse) as EnumConfigInput)\n : enumToUse;\n }, [enumDefinition, newEnumDefinition, finalSchema]);\n\n const form = useResettableForm<EnumConfigInput>({\n resolver: zodResolver(finalSchema),\n defaultValues,\n });\n\n const { reset, handleSubmit, setError } = form;\n\n const handleSubmitSuccess = useEventCallback(onSubmitSuccess);\n\n const onSubmit = useMemo(\n () =>\n handleSubmit((data) => {\n const updatedDefinition = {\n ...enumDefinition,\n ...data,\n // generate new ID if new\n id: enumDefinition?.id ?? modelEnumEntityType.generateNewId(),\n };\n // check for enums with the same name\n const existingEnum = definition.enums?.find(\n (e) =>\n e.id !== updatedDefinition.id &&\n e.name.toLowerCase() === updatedDefinition.name.toLowerCase(),\n );\n if (existingEnum) {\n setError('name', {\n message: `Enum with name ${updatedDefinition.name} already exists.`,\n });\n return;\n }\n\n return saveDefinitionWithFeedback(\n (draftConfig) => {\n // create feature if a new feature exists\n updatedDefinition.featureRef =\n FeatureUtils.ensureFeatureByNameRecursively(\n draftConfig,\n updatedDefinition.featureRef,\n );\n draftConfig.enums = sortBy(\n [\n ...(draftConfig.enums?.filter(\n (e) => e.id !== updatedDefinition.id,\n ) ?? []),\n updatedDefinition,\n ],\n [(e) => e.name],\n );\n },\n {\n successMessage: isCreate\n ? 'Successfully created enum!'\n : 'Successfully saved enum!',\n onSuccess: () => {\n if (isCreate) {\n navigate({\n to: '/data/enums/edit/$key',\n params: {\n key: modelEnumEntityType.keyFromId(updatedDefinition.id),\n },\n }).catch(logAndFormatError);\n reset(newEnumDefinition);\n } else {\n reset(data);\n }\n handleSubmitSuccess?.();\n },\n },\n );\n }),\n [\n navigate,\n reset,\n saveDefinitionWithFeedback,\n setError,\n handleSubmit,\n definition,\n isCreate,\n enumDefinition,\n newEnumDefinition,\n handleSubmitSuccess,\n ],\n );\n\n return { form, onSubmit, defaultValues, isSavingDefinition };\n}\n"],"names":["createEnumBaseSchema","EnumUtils","FeatureUtils","modelEnumEntityType","importShared","useDefinitionSchema","useProjectDefinition","useResettableForm","useEventCallback","useNavigate","useMemo","useRef","createNewEnum","useEnumForm","enumKey","omit","onSubmitSuccess","isCreate","definition","saveDefinitionWithFeedback","isSavingDefinition","navigate","urlEnumId","enumDefinition","NotFoundError","newEnumDefinition","baseEnumSchema","fieldsToOmit","finalSchema","field","defaultValues","enumToUse","form","zodResolver","reset","handleSubmit","setError","handleSubmitSuccess","onSubmit","data","updatedDefinition","e","draftConfig","sortBy","logAndFormatError"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as l}from"./_virtual___federation_fn_import-DXu2m-ZE.js";import{s as j}from"./index-BUYA3Tes.js";import{s as x}from"./sortBy-C9bvycg5.js";const{createModelBaseSchema:E,FeatureUtils:k,modelEntityType:B,ModelUtils:D}=await l("@baseplate-dev/project-builder-lib"),{useDefinitionSchema:N,useProjectDefinition:O,useResettableForm:T}=await l("@baseplate-dev/project-builder-lib/web"),{toast:o,useEventCallback:U}=await l("@baseplate-dev/ui-components"),{useMemo:c,useRef:C}=await l("react");function V({onSubmitSuccess:S,omit:g,modelKey:w}){const{definition:n,saveDefinitionWithFeedback:f}=O(),F=B.idFromKey(w),r=D.byIdOrThrow(n,F),i=N(E),d=C(g),m=c(()=>d.current?i.omit(Object.fromEntries(d.current.map(s=>[s,!0]))):i,[i]),b=c(()=>d.current?m.parse(r):r,[r,m]),p=T({resolver:j(m),defaultValues:b}),{reset:h,handleSubmit:v,setError:M}=p,y=U(S),R=c(()=>v(s=>{const t={...r,...s};if(t.model.fields.length===0){o.error("Model must have at least one field.");return}if(t.model.primaryKeyFieldRefs.length===0){o.error("Model must have at least one primary key field.");return}if(n.models.find(a=>a.id!==s.id&&a.name.toLowerCase()===t.name.toLowerCase())){M("name",{message:`Model with name ${t.name} already exists.`});return}const{service:e}=t;if(e.create.enabled){if(!e.create.fields?.length&&!e.create.transformerNames?.length){o.error("Create method must have at least one field or transformer.");return}}else e.create={enabled:!1};if(e.update.enabled){if(!e.update.fields?.length&&!e.update.transformerNames?.length){o.error("Update method must have at least one field or transformer.");return}}else e.update={enabled:!1};return e.delete.enabled||(e.delete={enabled:!1}),!e.create.enabled&&!e.update.enabled&&!e.delete.enabled&&(t.service={create:{enabled:!1},update:{enabled:!1},delete:{enabled:!1},transformers:[]}),f(a=>{t.featureRef=k.ensureFeatureByNameRecursively(a,t.featureRef),a.models=x([...a.models.filter(u=>u.id!==t.id),t],[u=>u.name])},{successMessage:"Successfully saved model!",onSuccess:()=>{h(s),y?.()}})}),[h,M,v,f,y,n,r]);return{form:p,onSubmit:R,originalModel:r,defaultValues:b}}export{V as u};
|
|
2
|
+
//# sourceMappingURL=use-model-form-Ch_tz0Rd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-form-
|
|
1
|
+
{"version":3,"file":"use-model-form-Ch_tz0Rd.js","sources":["../../src/routes/data/models/-hooks/use-model-form.ts"],"sourcesContent":["import type {\n ModelConfig,\n ModelConfigInput,\n} from '@baseplate-dev/project-builder-lib';\nimport type { UseFormReturn } from 'react-hook-form';\nimport type { z } from 'zod';\n\nimport {\n createModelBaseSchema,\n FeatureUtils,\n modelEntityType,\n ModelUtils,\n} from '@baseplate-dev/project-builder-lib';\nimport {\n useDefinitionSchema,\n useProjectDefinition,\n useResettableForm,\n} from '@baseplate-dev/project-builder-lib/web';\nimport { toast, useEventCallback } from '@baseplate-dev/ui-components';\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { sortBy } from 'es-toolkit';\nimport { useMemo, useRef } from 'react';\n\ninterface UseModelFormOptions {\n schema?: z.ZodTypeAny;\n omit?: string[];\n onSubmitSuccess?: () => void;\n modelKey: string;\n}\n\n/**\n * Unifies logic for editing an existing model and updating it.\n */\nexport function useModelForm({\n onSubmitSuccess,\n omit,\n modelKey,\n}: UseModelFormOptions): {\n form: UseFormReturn<ModelConfigInput>;\n onSubmit: () => Promise<void>;\n originalModel: ModelConfig;\n defaultValues: ModelConfigInput;\n} {\n const { definition, saveDefinitionWithFeedback } = useProjectDefinition();\n\n const urlModelId = modelEntityType.idFromKey(modelKey);\n const model = ModelUtils.byIdOrThrow(definition, urlModelId);\n\n const baseModelSchema = useDefinitionSchema(createModelBaseSchema);\n\n // These should remain constant throughout the form's lifecycle\n const fieldsToOmit = useRef(omit);\n\n const finalSchema = useMemo(() => {\n if (fieldsToOmit.current) {\n return baseModelSchema.omit(\n Object.fromEntries(\n fieldsToOmit.current.map((field) => [field, true]),\n ) as Record<string | number, never>,\n ) as typeof baseModelSchema;\n }\n\n return baseModelSchema;\n }, [baseModelSchema]);\n\n // Make sure strip out unused fields\n const defaultValues = useMemo(\n () =>\n fieldsToOmit.current\n ? (finalSchema.parse(model) as ModelConfigInput)\n : model,\n [model, finalSchema],\n );\n\n const form = useResettableForm<ModelConfigInput, unknown, ModelConfig>({\n resolver: zodResolver(finalSchema),\n defaultValues,\n });\n\n const { reset, handleSubmit, setError } = form;\n\n const handleSubmitSuccess = useEventCallback(onSubmitSuccess);\n\n const onSubmit = useMemo(\n () =>\n handleSubmit((data) => {\n const updatedModel = {\n ...model,\n ...data,\n };\n if (updatedModel.model.fields.length === 0) {\n toast.error('Model must have at least one field.');\n return;\n }\n if (updatedModel.model.primaryKeyFieldRefs.length === 0) {\n toast.error('Model must have at least one primary key field.');\n return;\n }\n // check for models with the same name\n const existingModel = definition.models.find(\n (m) =>\n m.id !== data.id &&\n m.name.toLowerCase() === updatedModel.name.toLowerCase(),\n );\n if (existingModel) {\n setError('name', {\n message: `Model with name ${updatedModel.name} already exists.`,\n });\n return;\n }\n\n // clear out any service methods that are disabled\n const { service } = updatedModel;\n if (service.create.enabled) {\n if (\n !service.create.fields?.length &&\n !service.create.transformerNames?.length\n ) {\n toast.error(\n 'Create method must have at least one field or transformer.',\n );\n return;\n }\n } else {\n service.create = {\n enabled: false,\n };\n }\n if (service.update.enabled) {\n if (\n !service.update.fields?.length &&\n !service.update.transformerNames?.length\n ) {\n toast.error(\n 'Update method must have at least one field or transformer.',\n );\n return;\n }\n } else {\n service.update = {\n enabled: false,\n };\n }\n if (!service.delete.enabled) {\n service.delete = {\n enabled: false,\n };\n }\n if (\n !service.create.enabled &&\n !service.update.enabled &&\n !service.delete.enabled\n ) {\n updatedModel.service = {\n create: { enabled: false },\n update: { enabled: false },\n delete: { enabled: false },\n transformers: [],\n };\n }\n\n return saveDefinitionWithFeedback(\n (draftConfig) => {\n // create feature if a new feature exists\n updatedModel.featureRef =\n FeatureUtils.ensureFeatureByNameRecursively(\n draftConfig,\n updatedModel.featureRef,\n );\n draftConfig.models = sortBy(\n [\n ...draftConfig.models.filter((m) => m.id !== updatedModel.id),\n updatedModel,\n ],\n [(m) => m.name],\n );\n },\n {\n successMessage: 'Successfully saved model!',\n onSuccess: () => {\n reset(data);\n handleSubmitSuccess?.();\n },\n },\n );\n }),\n [\n reset,\n setError,\n handleSubmit,\n saveDefinitionWithFeedback,\n handleSubmitSuccess,\n definition,\n model,\n ],\n );\n\n return {\n form,\n onSubmit,\n originalModel: model,\n defaultValues,\n };\n}\n"],"names":["createModelBaseSchema","FeatureUtils","modelEntityType","ModelUtils","importShared","useDefinitionSchema","useProjectDefinition","useResettableForm","toast","useEventCallback","useMemo","useRef","useModelForm","onSubmitSuccess","omit","modelKey","definition","saveDefinitionWithFeedback","urlModelId","model","baseModelSchema","fieldsToOmit","finalSchema","field","defaultValues","form","zodResolver","reset","handleSubmit","setError","handleSubmitSuccess","onSubmit","data","updatedModel","m","service","draftConfig","sortBy"],"mappings":"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"}
|