tldraw
Version:
A tiny little drawing editor.
8 lines (7 loc) • 2.52 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../../src/lib/ui/components/ColorSchemeMenu.tsx"],
"sourcesContent": ["import { useEditor, useValue } from '@tldraw/editor'\nimport { useUiEvents } from '../context/events'\nimport { TldrawUiMenuCheckboxItem } from './primitives/menus/TldrawUiMenuCheckboxItem'\nimport { TldrawUiMenuGroup } from './primitives/menus/TldrawUiMenuGroup'\nimport { TldrawUiMenuSubmenu } from './primitives/menus/TldrawUiMenuSubmenu'\n\nconst COLOR_SCHEMES = [\n\t{ colorScheme: 'light' as const, label: 'theme.light' },\n\t{ colorScheme: 'dark' as const, label: 'theme.dark' },\n\t{ colorScheme: 'system' as const, label: 'theme.system' },\n]\n\n/** @public @react */\nexport function ColorSchemeMenu() {\n\tconst editor = useEditor()\n\tconst trackEvent = useUiEvents()\n\tconst currentColorScheme = useValue(\n\t\t'colorScheme',\n\t\t() =>\n\t\t\teditor.user.getUserPreferences().colorScheme ??\n\t\t\t(editor.user.getIsDarkMode() ? 'dark' : 'light'),\n\t\t[editor]\n\t)\n\n\treturn (\n\t\t<TldrawUiMenuSubmenu id=\"help menu color-scheme\" label=\"menu.theme\">\n\t\t\t<TldrawUiMenuGroup id=\"theme\">\n\t\t\t\t{COLOR_SCHEMES.map(({ colorScheme, label }) => (\n\t\t\t\t\t<TldrawUiMenuCheckboxItem\n\t\t\t\t\t\tid={`color-scheme-${colorScheme}`}\n\t\t\t\t\t\tkey={colorScheme}\n\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\tchecked={colorScheme === currentColorScheme}\n\t\t\t\t\t\treadonlyOk\n\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\teditor.user.updateUserPreferences({ colorScheme })\n\t\t\t\t\t\t\ttrackEvent('color-scheme', { source: 'menu', value: colorScheme })\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</TldrawUiMenuGroup>\n\t\t</TldrawUiMenuSubmenu>\n\t)\n}\n"],
"mappings": "AA4BK;AA5BL,SAAS,WAAW,gBAAgB;AACpC,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AACzC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AAEpC,MAAM,gBAAgB;AAAA,EACrB,EAAE,aAAa,SAAkB,OAAO,cAAc;AAAA,EACtD,EAAE,aAAa,QAAiB,OAAO,aAAa;AAAA,EACpD,EAAE,aAAa,UAAmB,OAAO,eAAe;AACzD;AAGO,SAAS,kBAAkB;AACjC,QAAM,SAAS,UAAU;AACzB,QAAM,aAAa,YAAY;AAC/B,QAAM,qBAAqB;AAAA,IAC1B;AAAA,IACA,MACC,OAAO,KAAK,mBAAmB,EAAE,gBAChC,OAAO,KAAK,cAAc,IAAI,SAAS;AAAA,IACzC,CAAC,MAAM;AAAA,EACR;AAEA,SACC,oBAAC,uBAAoB,IAAG,0BAAyB,OAAM,cACtD,8BAAC,qBAAkB,IAAG,SACpB,wBAAc,IAAI,CAAC,EAAE,aAAa,MAAM,MACxC;AAAA,IAAC;AAAA;AAAA,MACA,IAAI,gBAAgB,WAAW;AAAA,MAE/B;AAAA,MACA,SAAS,gBAAgB;AAAA,MACzB,YAAU;AAAA,MACV,UAAU,MAAM;AACf,eAAO,KAAK,sBAAsB,EAAE,YAAY,CAAC;AACjD,mBAAW,gBAAgB,EAAE,QAAQ,QAAQ,OAAO,YAAY,CAAC;AAAA,MAClE;AAAA;AAAA,IAPK;AAAA,EAQN,CACA,GACF,GACD;AAEF;",
"names": []
}