{ "version": 3, "sources": ["../../../../src/lib/ui/components/HelpMenu.tsx"], "sourcesContent": ["import { Content, Portal, Root, Trigger } from '@radix-ui/react-dropdown-menu'\nimport { useContainer } from '@tldraw/editor'\nimport * as React from 'react'\nimport { TLUiMenuChild } from '../hooks/menuHelpers'\nimport { useHelpMenuSchema } from '../hooks/useHelpMenuSchema'\nimport { useMenuIsOpen } from '../hooks/useMenuIsOpen'\nimport { useReadonly } from '../hooks/useReadonly'\nimport { TLUiTranslationKey } from '../hooks/useTranslation/TLUiTranslationKey'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { TLUiIconType } from '../icon-types'\nimport { LanguageMenu } from './LanguageMenu'\nimport * as M from './primitives/DropdownMenu'\nimport { Icon } from './primitives/Icon'\n\ninterface HelpMenuLink {\n\tlabel: TLUiTranslationKey\n\ticon: TLUiIconType\n\turl: string\n}\n\n/** @internal */\nexport interface HelpMenuProps {\n\tlinks?: HelpMenuLink[]\n}\n\n/** @internal */\nexport const HelpMenu = React.memo(function HelpMenu() {\n\tconst container = useContainer()\n\tconst msg = useTranslation()\n\tconst [isOpen, onOpenChange] = useMenuIsOpen('help menu')\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n})\n\nfunction HelpMenuContent() {\n\tconst menuSchema = useHelpMenuSchema()\n\n\tconst isReadonly = useReadonly()\n\n\tfunction getHelpMenuItem(item: TLUiMenuChild) {\n\t\tif (isReadonly && !item.readonlyOk) return null\n\n\t\tswitch (item.type) {\n\t\t\tcase 'custom': {\n\t\t\t\tif (item.id === 'LANGUAGE_MENU') {\n\t\t\t\t\treturn \n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'group': {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{item.children.map(getHelpMenuItem)}\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase 'submenu': {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{item.children.map(getHelpMenuItem)}\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase 'item': {\n\t\t\t\tconst { id, kbd, label, onSelect, icon } = item.actionItem\n\t\t\t\treturn (\n\t\t\t\t\t onSelect('help-menu')}\n\t\t\t\t\t\ticonLeft={icon}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn <>{menuSchema.map(getHelpMenuItem)}\n}\n"], "mappings": "AAiCG,SAsEK,UAhEH,KANF;AAjCH,SAAS,SAAS,QAAQ,MAAM,eAAe;AAC/C,SAAS,oBAAoB;AAC7B,YAAY,WAAW;AAEvB,SAAS,yBAAyB;AAClC,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AAE5B,SAAS,sBAAsB;AAE/B,SAAS,oBAAoB;AAC7B,YAAY,OAAO;AACnB,SAAS,YAAY;AAcd,MAAM,WAAW,MAAM,KAAK,SAASA,YAAW;AACtD,QAAM,YAAY,aAAa;AAC/B,QAAM,MAAM,eAAe;AAC3B,QAAM,CAAC,QAAQ,YAAY,IAAI,cAAc,WAAW;AAExD,SACC,oBAAC,SAAI,WAAU,kBACd,+BAAC,QAAK,KAAI,OAAM,MAAM,QAAQ,cAA4B,OAAO,OAChE;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,KAAI;AAAA,QACJ,OAAO,IAAI,iBAAiB;AAAA,QAE5B,8BAAC,QAAK,MAAK,iBAAgB;AAAA;AAAA,IAC5B;AAAA,IACA,oBAAC,UAAO,WAAsB,KAAI,OACjC;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,MAAK;AAAA,QACL,YAAY;AAAA,QACZ,OAAM;AAAA,QACN,aAAa;AAAA,QACb,kBAAkB;AAAA,QAElB,8BAAC,mBAAgB;AAAA;AAAA,IAClB,GACD;AAAA,KACD,GACD;AAEF,CAAC;AAED,SAAS,kBAAkB;AAC1B,QAAM,aAAa,kBAAkB;AAErC,QAAM,aAAa,YAAY;AAE/B,WAAS,gBAAgB,MAAqB;AAC7C,QAAI,cAAc,CAAC,KAAK;AAAY,aAAO;AAE3C,YAAQ,KAAK,MAAM;AAAA,MAClB,KAAK,UAAU;AACd,YAAI,KAAK,OAAO,iBAAiB;AAChC,iBAAO,oBAAC,kBAAiB,MAAO;AAAA,QACjC;AACA;AAAA,MACD;AAAA,MACA,KAAK,SAAS;AACb,eACC,oBAAC,EAAE,OAAF,EAAQ,MAAK,SACZ,eAAK,SAAS,IAAI,eAAe,KADR,KAAK,EAEhC;AAAA,MAEF;AAAA,MACA,KAAK,WAAW;AACf,eACC,qBAAC,EAAE,KAAF,EAAM,IAAI,aAAa,KAAK,EAAE,IAC9B;AAAA,8BAAC,EAAE,YAAF,EAAa,OAAO,KAAK,OAAO;AAAA,UACjC,oBAAC,EAAE,YAAF,EAAc,eAAK,SAAS,IAAI,eAAe,GAAE;AAAA,aAFX,KAAK,EAG7C;AAAA,MAEF;AAAA,MACA,KAAK,QAAQ;AACZ,cAAM,EAAE,IAAI,KAAK,OAAO,UAAU,KAAK,IAAI,KAAK;AAChD,eACC;AAAA,UAAC,EAAE;AAAA,UAAF;AAAA,YAEA;AAAA,YACA;AAAA,YACA,SAAS,MAAM,SAAS,WAAW;AAAA,YACnC,UAAU;AAAA;AAAA,UAJL;AAAA,QAKN;AAAA,MAEF;AAAA,IACD;AAAA,EACD;AAEA,SAAO,gCAAG,qBAAW,IAAI,eAAe,GAAE;AAC3C;", "names": ["HelpMenu"] }