{"version":3,"file":"toolbar.cjs","sources":["../../../../packages/components/src/editor/toolbar.ts"],"sourcesContent":["export const EDITOR_TOOLBAR_ITEMS = [\n  'format',\n  'heading',\n  'align',\n  'list',\n  'blockquote',\n  'code',\n  'link',\n  'table',\n  'image',\n] as const\n\nexport type EditorToolbarItem = (typeof EDITOR_TOOLBAR_ITEMS)[number]\n\nexport const DEFAULT_EDITOR_TOOLBAR: EditorToolbarItem[] = [...EDITOR_TOOLBAR_ITEMS]\n\nexport const SIMPLE_EDITOR_TOOLBAR: EditorToolbarItem[] = [\n  'format',\n  'link',\n  'image',\n  'list',\n  'blockquote',\n]\n\nexport const SUB_TEXT_EDITOR_TOOLBAR: EditorToolbarItem[] = DEFAULT_EDITOR_TOOLBAR.filter(\n  item => item !== 'table',\n)\n\nconst EDITOR_TOOLBAR_ITEM_SET = new Set<string>(EDITOR_TOOLBAR_ITEMS)\n\nexport function parseEditorToolbarItems(\n  value: string | readonly string[] | null | undefined,\n): EditorToolbarItem[] {\n  if (Array.isArray(value)) {\n    return value.filter((item): item is EditorToolbarItem => EDITOR_TOOLBAR_ITEM_SET.has(item))\n  }\n\n  if (typeof value !== 'string') {\n    return [...DEFAULT_EDITOR_TOOLBAR]\n  }\n\n  const tokens = value\n    .split(/[\\s,|]+/)\n    .map(token => token.trim())\n    .filter(Boolean)\n\n  return tokens.filter((item): item is EditorToolbarItem => EDITOR_TOOLBAR_ITEM_SET.has(item))\n}\n"],"names":["EDITOR_TOOLBAR_ITEMS","DEFAULT_EDITOR_TOOLBAR","SIMPLE_EDITOR_TOOLBAR","SUB_TEXT_EDITOR_TOOLBAR","item","EDITOR_TOOLBAR_ITEM_SET","parseEditorToolbarItems","value","token"],"mappings":"gFAAO,MAAMA,EAAuB,CAClC,SACA,UACA,QACA,OACA,aACA,OACA,OACA,QACA,OACF,EAIaC,EAA8C,CAAC,GAAGD,CAAoB,EAEtEE,EAA6C,CACxD,SACA,OACA,QACA,OACA,YACF,EAEaC,EAA+CF,EAAuB,UACzEG,IAAS,OACnB,EAEMC,EAA0B,IAAI,IAAYL,CAAoB,EAE7D,SAASM,EACdC,EACqB,CACrB,OAAI,MAAM,QAAQA,CAAK,EACdA,EAAM,OAAQH,GAAoCC,EAAwB,IAAID,CAAI,CAAC,EAGxF,OAAOG,GAAU,SACZ,CAAC,GAAGN,CAAsB,EAGpBM,EACZ,MAAM,SAAS,EACf,IAAIC,GAASA,EAAM,KAAA,CAAM,EACzB,OAAO,OAAO,EAEH,OAAQJ,GAAoCC,EAAwB,IAAID,CAAI,CAAC,CAC7F"}