From 504fc976b2c9b097efeb2e2bf00b9d4e414ee233 Mon Sep 17 00:00:00 2001 From: Oleg Isonen Date: Thu, 3 Nov 2022 23:11:00 +0100 Subject: [PATCH] render font weights we have defined --- .../controls/select/select-control.tsx | 19 +++++-- .../features/style-panel/shared/configs.ts | 28 ++++++++-- .../design-system/src/components/select.tsx | 19 +++++-- packages/fonts/src/font-data.ts | 36 ++++--------- packages/fonts/src/font-weights.ts | 52 +++++++++++++++++++ packages/fonts/src/index.ts | 1 + 6 files changed, 118 insertions(+), 37 deletions(-) create mode 100644 packages/fonts/src/font-weights.ts diff --git a/apps/designer/app/designer/features/style-panel/controls/select/select-control.tsx b/apps/designer/app/designer/features/style-panel/controls/select/select-control.tsx index b09942843e..7f11a16f29 100644 --- a/apps/designer/app/designer/features/style-panel/controls/select/select-control.tsx +++ b/apps/designer/app/designer/features/style-panel/controls/select/select-control.tsx @@ -1,4 +1,5 @@ import { Select } from "@webstudio-is/design-system"; +import { useMemo } from "react"; import { getFinalValue } from "../../shared/get-final-value"; import type { ControlProps } from "../../style-sections"; @@ -15,17 +16,29 @@ export const SelectControl = ({ property: styleConfig.property, }); + const [options, selectedOption] = useMemo(() => { + const item = styleConfig.items.find((item) => item.name == value?.value); + const options = styleConfig.items.map((item) => item.label); + return [options, item?.label]; + }, [value?.value, styleConfig.items]); + if (value === undefined) return null; const setValue = setProperty(styleConfig.property); return (