{"version":3,"file":"keyboardShortcuts.mjs","sources":["../../../../../admin/src/pages/EditView/utils/keyboardShortcuts.ts"],"sourcesContent":["/* -------------------------------------------------------------------------------------------------\n * Edit view keyboard shortcuts\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * The document actions that can be triggered with a keyboard shortcut from the edit view.\n */\nexport type EditViewShortcut = 'save' | 'publish';\n\n/**\n * Resolves the document action intended by a keyboard event in the edit view.\n *\n * The platform modifier (`Cmd` on macOS, `Ctrl` on Windows/Linux) is always required so the\n * shortcuts never collide with a plain `Enter` (new line in a textarea, native form submit in a\n * single-line input).\n *\n * - `Cmd/Ctrl + Enter` → save (draft)\n * - `Cmd/Ctrl + S` → save (draft) — common editor alias\n * - `Cmd/Ctrl + Shift + Enter` → publish\n *\n * Returns `null` when the event does not match any shortcut.\n */\nexport const getEditViewShortcut = (event: KeyboardEvent): EditViewShortcut | null => {\n const hasPlatformModifier = event.metaKey || event.ctrlKey;\n\n if (!hasPlatformModifier) {\n return null;\n }\n\n const key = event.key.toLowerCase();\n\n if (key === 'enter') {\n return event.shiftKey ? 'publish' : 'save';\n }\n\n if (key === 's' && !event.shiftKey) {\n return 'save';\n }\n\n return null;\n};\n"],"names":["getEditViewShortcut","event","hasPlatformModifier","metaKey","ctrlKey","key","toLowerCase","shiftKey"],"mappings":"AAAA;;;;;;;;;;;;;;;;IAsBO,MAAMA,mBAAAA,GAAsB,CAACC,KAAAA,GAAAA;AAClC,IAAA,MAAMC,mBAAAA,GAAsBD,KAAAA,CAAME,OAAO,IAAIF,MAAMG,OAAO;AAE1D,IAAA,IAAI,CAACF,mBAAAA,EAAqB;QACxB,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMG,GAAAA,GAAMJ,KAAAA,CAAMI,GAAG,CAACC,WAAW,EAAA;AAEjC,IAAA,IAAID,QAAQ,OAAA,EAAS;QACnB,OAAOJ,KAAAA,CAAMM,QAAQ,GAAG,SAAA,GAAY,MAAA;AACtC,IAAA;AAEA,IAAA,IAAIF,GAAAA,KAAQ,GAAA,IAAO,CAACJ,KAAAA,CAAMM,QAAQ,EAAE;QAClC,OAAO,MAAA;AACT,IAAA;IAEA,OAAO,IAAA;AACT;;;;"}