{"version":3,"file":"RichTextEditorToolbar.mjs","sources":["../../src/RichTextEditorToolbar/RichTextEditorToolbar.tsx"],"sourcesContent":["import { JSX, splitProps } from 'solid-js';\nimport {\n  Box,\n  BoxProps,\n  CompoundStylesApiProps,\n  ElementProps,\n  factory,\n  Factory,\n  rem,\n  useProps,\n} from '@empoleon/core';\nimport { useRichTextEditorContext } from '../RichTextEditor.context';\nimport classes from '../RichTextEditor.module.css';\n\nexport type RichTextEditorToolbarStylesNames = 'toolbar';\n\nexport interface RichTextEditorToolbarProps\n  extends BoxProps,\n    CompoundStylesApiProps<RichTextEditorToolbarFactory>,\n    ElementProps<'div'> {\n  /** Determines whether `position: sticky` styles should be added to the toolbar, `false` by default */\n  sticky?: boolean;\n\n  /** Sets top style to offset elements with fixed position, `0` by default */\n  stickyOffset?: JSX.CSSProperties['top'];\n}\n\nexport type RichTextEditorToolbarFactory = Factory<{\n  props: RichTextEditorToolbarProps;\n  ref: HTMLDivElement;\n  stylesNames: RichTextEditorToolbarStylesNames;\n  compound: true;\n}>;\n\nconst defaultProps: Partial<RichTextEditorToolbarProps> = {};\n\nexport const RichTextEditorToolbar = factory<RichTextEditorToolbarFactory>(_props => {\n  const props = useProps('RichTextEditorToolbar', defaultProps, _props);\n  const [local, others] = splitProps(props, [\n    'classNames',\n    'className',\n    'style',\n    'styles',\n    'vars',\n    'sticky',\n    'stickyOffset',\n    'mod',\n    'variant',\n    'ref'\n  ]);\n  const ctx = useRichTextEditorContext();\n\n  return (\n    <Box\n      ref={local.ref}\n      mod={[{ sticky: local.sticky }, local.mod]}\n      variant={local.variant || ctx.variant}\n      {...ctx.getStyles('toolbar', { className: local.className, style: local.style, styles: local.styles, classNames: local.classNames })}\n      {...others}\n      __vars={{ '--rte-sticky-offset': rem(local.stickyOffset) }}\n    />\n  );\n});\n\nRichTextEditorToolbar.classes = classes;\nRichTextEditorToolbar.displayName = '@empoleon/tiptap/RichTextEditorToolbar';\n"],"names":["defaultProps","RichTextEditorToolbar","factory","_props","props","useProps","local","others","splitProps","ctx","useRichTextEditorContext","_$createComponent","Box","_$mergeProps","ref","r$","_ref$","mod","sticky","variant","getStyles","className","style","styles","classNames","__vars","rem","stickyOffset","classes","displayName"],"mappings":";;;;;;AAkCA,MAAMA,eAAoD,EAAC;MAE9CC,qBAAA,GAAwBC,QAAsCC,MAAA,IAAU;EACnF,MAAMC,KAAA,GAAQC,QAAA,CAAS,uBAAA,EAAyBL,YAAA,EAAcG,MAAM,CAAA;AACpE,EAAA,MAAM,CAACG,KAAA,EAAOC,MAAM,CAAA,GAAIC,WAAWJ,KAAA,EAAO,CACxC,YAAA,EACA,WAAA,EACA,OAAA,EACA,QAAA,EACA,MAAA,EACA,QAAA,EACA,cAAA,EACA,KAAA,EACA,SAAA,EACA,KAAA,CACD,CAAA;AACD,EAAA,MAAMK,MAAMC,wBAAA,EAAyB;AAErC,EAAA,OAAAC,eAAA,CACGC,GAAA,EAAAC,UAAA,CAAA;AAAAC,IAAAA,GAAAA,CAAAC,EAAA,EAAA;AAAA,MAAA,IAAAC,KAAA,GACMV,KAAA,CAAMQ,GAAA;MAAA,OAAAE,KAAA,KAAA,UAAA,GAAAA,KAAA,CAAAD,EAAA,IAANT,KAAA,CAAMQ,GAAA,GAAAC,EAAA;AAAA,IAAA,CAAA;AAAA,IAAA,IACXE,GAAAA,GAAA;AAAA,MAAA,OAAK,CAAC;QAAEC,MAAA,EAAQZ,MAAMY;AAAO,OAAA,EAAGZ,MAAMW,GAAG,CAAA;AAAA,IAAA,CAAA;AAAA,IAAA,IACzCE,OAAAA,GAAA;AAAA,MAAA,OAASb,KAAA,CAAMa,OAAA,IAAWV,GAAA,CAAIU,OAAA;AAAA,IAAA;AAAA,GAAA,EAAA,MAC1BV,IAAIW,SAAA,CAAU,SAAA,EAAW;IAAEC,SAAA,EAAWf,MAAMe,SAAA;IAAWC,KAAA,EAAOhB,KAAA,CAAMgB,KAAA;IAAOC,QAAQjB,KAAA,CAAMiB,MAAA;IAAQC,UAAA,EAAYlB,KAAA,CAAMkB;GAAY,CAAA,EAC/HjB,MAAA,EAAA;AAAA,IAAA,IACJkB;aAAQ;AAAE,QAAA,qBAAA,EAAuBC,GAAA,CAAIpB,KAAA,CAAMqB,YAAY;OAAE;AAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAG/D,CAAC;AAED1B,qBAAA,CAAsB2B,OAAA,GAAUA,OAAA;AAChC3B,qBAAA,CAAsB4B,WAAA,GAAc,wCAAA;;;;"}