UNPKG

@empoleon/tiptap

Version:

Rich text editor based on tiptap

1 lines 3.64 kB
{"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;;;;"}