@solace-health/ui 0.10.357-beta1 → 0.10.357-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button/index.cjs +1 -1
- package/dist/Button/index.d.ts +2 -1
- package/dist/Button/index.js +1 -1
- package/dist/Card/index.cjs +1 -1
- package/dist/Card/index.js +1 -1
- package/dist/Checkbox/index.cjs +1 -1
- package/dist/Checkbox/index.js +1 -1
- package/dist/Checkbox/style.cjs +1 -1
- package/dist/Checkbox/style.d.ts +2 -1
- package/dist/Checkbox/style.js +1 -1
- package/dist/DateDropdown/index.cjs +1 -1
- package/dist/DateDropdown/index.js +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.cjs +1 -1
- package/dist/DateSelectCalendar/DateSelectCalendar.js +1 -1
- package/dist/DateSelectCalendar/style.cjs +1 -1
- package/dist/DateSelectCalendar/style.d.ts +2 -1
- package/dist/DateSelectCalendar/style.js +1 -1
- package/dist/Error/index.cjs +1 -1
- package/dist/Error/index.js +1 -1
- package/dist/ExpandableDrawer/index.cjs +1 -1
- package/dist/ExpandableDrawer/index.js +1 -1
- package/dist/ExpandableDrawer/style.cjs +1 -1
- package/dist/ExpandableDrawer/style.d.ts +2 -1
- package/dist/ExpandableDrawer/style.js +1 -1
- package/dist/File/index.cjs +1 -1
- package/dist/File/index.js +1 -1
- package/dist/File/styles.cjs +1 -1
- package/dist/File/styles.d.ts +2 -1
- package/dist/File/styles.js +1 -1
- package/dist/Form/AddressSelect/index.cjs +1 -1
- package/dist/Form/AddressSelect/index.js +1 -1
- package/dist/Form/Checkbox/index.cjs +1 -1
- package/dist/Form/Checkbox/index.js +1 -1
- package/dist/Form/DateDropdown/index.cjs +1 -1
- package/dist/Form/DateDropdown/index.js +1 -1
- package/dist/Form/DateSelect/index.cjs +1 -1
- package/dist/Form/DateSelect/index.js +1 -1
- package/dist/Form/DateTextMaskInput/index.cjs +1 -1
- package/dist/Form/DateTextMaskInput/index.js +1 -1
- package/dist/Form/FileUpload/index.cjs +1 -1
- package/dist/Form/FileUpload/index.js +1 -1
- package/dist/Form/Keyword/index.cjs +1 -1
- package/dist/Form/Keyword/index.js +1 -1
- package/dist/Form/LocationSelect/index.cjs +1 -1
- package/dist/Form/LocationSelect/index.js +1 -1
- package/dist/Form/Number/index.cjs +1 -1
- package/dist/Form/Number/index.js +1 -1
- package/dist/Form/OTP/index.cjs +1 -1
- package/dist/Form/OTP/index.js +1 -1
- package/dist/Form/Radio/index.cjs +1 -1
- package/dist/Form/Radio/index.js +1 -1
- package/dist/Form/Select/index.cjs +1 -1
- package/dist/Form/Select/index.js +1 -1
- package/dist/Form/SelectMenu/index.cjs +1 -1
- package/dist/Form/SelectMenu/index.js +1 -1
- package/dist/Form/SentimentSelector/index.cjs +1 -1
- package/dist/Form/SentimentSelector/index.js +1 -1
- package/dist/Form/Signature/index.cjs +1 -1
- package/dist/Form/Signature/index.js +1 -1
- package/dist/Form/Submit/index.cjs +1 -1
- package/dist/Form/Submit/index.js +1 -1
- package/dist/Form/Text/index.cjs +1 -1
- package/dist/Form/Text/index.js +1 -1
- package/dist/Form/TextInput/index.cjs +1 -1
- package/dist/Form/TextInput/index.js +1 -1
- package/dist/Form/TimePicker/index.cjs +1 -1
- package/dist/Form/TimePicker/index.js +1 -1
- package/dist/Form/TimeSelect/index.cjs +1 -1
- package/dist/Form/TimeSelect/index.js +1 -1
- package/dist/Form/index.cjs +1 -1
- package/dist/Form/index.js +1 -1
- package/dist/Form/shared/FormInputLabel.cjs +1 -1
- package/dist/Form/shared/FormInputLabel.js +1 -1
- package/dist/Form/shared/HelpModal.cjs +1 -1
- package/dist/Form/shared/HelpModal.js +1 -1
- package/dist/Form/shared/styles.cjs +1 -1
- package/dist/Form/shared/styles.d.ts +2 -1
- package/dist/Form/shared/styles.js +1 -1
- package/dist/Icons/index.cjs +1 -1
- package/dist/Icons/index.js +1 -1
- package/dist/Illustration/index.cjs +1 -1
- package/dist/Illustration/index.js +1 -1
- package/dist/Input/Mask/index.cjs +1 -1
- package/dist/Input/Mask/index.js +1 -1
- package/dist/Input/Mask/style.cjs +1 -1
- package/dist/Input/Mask/style.d.ts +2 -1
- package/dist/Input/Mask/style.js +1 -1
- package/dist/Input/index.cjs +1 -1
- package/dist/Input/index.js +1 -1
- package/dist/Menu/ExpandIcon.cjs +1 -1
- package/dist/Menu/ExpandIcon.js +1 -1
- package/dist/Menu/index.cjs +1 -1
- package/dist/Menu/index.js +1 -1
- package/dist/NavigationMenu/ExpandIcon.cjs +1 -1
- package/dist/NavigationMenu/ExpandIcon.js +1 -1
- package/dist/NavigationMenu/index.cjs +1 -1
- package/dist/NavigationMenu/index.js +1 -1
- package/dist/Radio/index.cjs +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/Radio/style.cjs +1 -1
- package/dist/Radio/style.d.ts +2 -1
- package/dist/Radio/style.js +1 -1
- package/dist/RichText/index.cjs +1 -1
- package/dist/RichText/index.js +1 -1
- package/dist/RichText/plugins/ToolbarPlugin/ToolbarPlugin.cjs +1 -1
- package/dist/RichText/plugins/ToolbarPlugin/ToolbarPlugin.js +1 -1
- package/dist/RichText/plugins/ToolbarPlugin/style.cjs +1 -1
- package/dist/RichText/plugins/ToolbarPlugin/style.d.ts +2 -1
- package/dist/RichText/plugins/ToolbarPlugin/style.js +1 -1
- package/dist/RichText/style.cjs +1 -1
- package/dist/RichText/style.d.ts +2 -1
- package/dist/RichText/style.js +1 -1
- package/dist/Search/index.cjs +1 -1
- package/dist/Search/index.js +1 -1
- package/dist/SelectClient/index.cjs +1 -1
- package/dist/SelectClient/index.js +1 -1
- package/dist/SentimentSelector/index.cjs +1 -1
- package/dist/SentimentSelector/index.js +1 -1
- package/dist/SentimentSelector/style.cjs +1 -1
- package/dist/SentimentSelector/style.d.ts +2 -1
- package/dist/SentimentSelector/style.js +1 -1
- package/dist/TimeSelect/styles.cjs +4 -4
- package/dist/TimeSelect/styles.js +1 -1
- package/dist/{chunk-DOO56DON.cjs → chunk-3526LPSO.cjs} +4 -4
- package/dist/{chunk-DOO56DON.cjs.map → chunk-3526LPSO.cjs.map} +1 -1
- package/dist/{chunk-GYRLZUP4.js → chunk-3QTP6PGB.js} +3 -3
- package/dist/{chunk-GYRLZUP4.js.map → chunk-3QTP6PGB.js.map} +1 -1
- package/dist/{chunk-LOIUFVYE.cjs → chunk-3ZTWJP5T.cjs} +4 -4
- package/dist/{chunk-LOIUFVYE.cjs.map → chunk-3ZTWJP5T.cjs.map} +1 -1
- package/dist/chunk-6A5LBPDZ.js +2 -0
- package/dist/{chunk-F42CG3CW.js.map → chunk-6A5LBPDZ.js.map} +1 -1
- package/dist/{chunk-SHGU5JUZ.js → chunk-6RPETBJO.js} +3 -3
- package/dist/{chunk-SHGU5JUZ.js.map → chunk-6RPETBJO.js.map} +1 -1
- package/dist/{chunk-QADGP3CX.cjs → chunk-6VOD2VVD.cjs} +2 -2
- package/dist/{chunk-QADGP3CX.cjs.map → chunk-6VOD2VVD.cjs.map} +1 -1
- package/dist/{chunk-EFSCXHHW.js → chunk-7ZKFTZ3M.js} +3 -3
- package/dist/{chunk-EFSCXHHW.js.map → chunk-7ZKFTZ3M.js.map} +1 -1
- package/dist/chunk-CVDWSZYC.cjs +2 -0
- package/dist/{chunk-E4YSHWGD.cjs.map → chunk-CVDWSZYC.cjs.map} +1 -1
- package/dist/chunk-DCR4DBQV.js +2 -0
- package/dist/{chunk-BBYQPMOB.js.map → chunk-DCR4DBQV.js.map} +1 -1
- package/dist/{chunk-PM34NULY.js → chunk-DKORPIUO.js} +3 -3
- package/dist/{chunk-PM34NULY.js.map → chunk-DKORPIUO.js.map} +1 -1
- package/dist/{chunk-A6FW357L.js → chunk-DVMK65EP.js} +2 -2
- package/dist/{chunk-A6FW357L.js.map → chunk-DVMK65EP.js.map} +1 -1
- package/dist/{chunk-QIOITD35.cjs → chunk-E5E5THGM.cjs} +8 -8
- package/dist/{chunk-QIOITD35.cjs.map → chunk-E5E5THGM.cjs.map} +1 -1
- package/dist/{chunk-WDXUK5PN.cjs → chunk-HRPC6FSI.cjs} +2 -2
- package/dist/{chunk-WDXUK5PN.cjs.map → chunk-HRPC6FSI.cjs.map} +1 -1
- package/dist/{chunk-LNIZGXII.cjs → chunk-J2NZH2PU.cjs} +3 -3
- package/dist/{chunk-LNIZGXII.cjs.map → chunk-J2NZH2PU.cjs.map} +1 -1
- package/dist/{chunk-MDDMYANW.js → chunk-JYAGUFG3.js} +3 -3
- package/dist/{chunk-MDDMYANW.js.map → chunk-JYAGUFG3.js.map} +1 -1
- package/dist/{chunk-FSQXK6BB.cjs → chunk-KGQV2DDH.cjs} +4 -4
- package/dist/{chunk-FSQXK6BB.cjs.map → chunk-KGQV2DDH.cjs.map} +1 -1
- package/dist/{chunk-SCMIEUAT.cjs → chunk-KYRR2AQR.cjs} +3 -3
- package/dist/{chunk-SCMIEUAT.cjs.map → chunk-KYRR2AQR.cjs.map} +1 -1
- package/dist/{chunk-RQOGGFWW.js → chunk-LLF5TELQ.js} +3 -3
- package/dist/{chunk-RQOGGFWW.js.map → chunk-LLF5TELQ.js.map} +1 -1
- package/dist/{chunk-XWKMRK6U.cjs → chunk-LNWXLTRU.cjs} +4 -4
- package/dist/{chunk-XWKMRK6U.cjs.map → chunk-LNWXLTRU.cjs.map} +1 -1
- package/dist/chunk-N5Z6GV2B.cjs +2 -0
- package/dist/{chunk-VKS3IHTO.cjs.map → chunk-N5Z6GV2B.cjs.map} +1 -1
- package/dist/{chunk-ECUR5YKB.js → chunk-NBCEBCZT.js} +3 -3
- package/dist/{chunk-ECUR5YKB.js.map → chunk-NBCEBCZT.js.map} +1 -1
- package/dist/{chunk-ASXC7PCM.js → chunk-O23VPSAV.js} +3 -3
- package/dist/{chunk-ASXC7PCM.js.map → chunk-O23VPSAV.js.map} +1 -1
- package/dist/{chunk-CWEYL3FX.js → chunk-OHCNUR3C.js} +3 -3
- package/dist/{chunk-CWEYL3FX.js.map → chunk-OHCNUR3C.js.map} +1 -1
- package/dist/chunk-OIA4VCLR.cjs +2 -0
- package/dist/{chunk-FFHRKY5P.cjs.map → chunk-OIA4VCLR.cjs.map} +1 -1
- package/dist/{chunk-MRZTSAFW.cjs → chunk-OSAD4FZ6.cjs} +4 -4
- package/dist/{chunk-MRZTSAFW.cjs.map → chunk-OSAD4FZ6.cjs.map} +1 -1
- package/dist/{chunk-HGNKZGVC.js → chunk-PWOY44UK.js} +2 -2
- package/dist/{chunk-HGNKZGVC.js.map → chunk-PWOY44UK.js.map} +1 -1
- package/dist/{chunk-OTWLEA7V.cjs → chunk-QYLP254C.cjs} +3 -3
- package/dist/{chunk-OTWLEA7V.cjs.map → chunk-QYLP254C.cjs.map} +1 -1
- package/dist/chunk-R2ZKIG3U.cjs +2 -0
- package/dist/{chunk-5KFKTOYB.cjs.map → chunk-R2ZKIG3U.cjs.map} +1 -1
- package/dist/{chunk-ZSZKQIMB.js → chunk-R53JQSP2.js} +3 -3
- package/dist/{chunk-ZSZKQIMB.js.map → chunk-R53JQSP2.js.map} +1 -1
- package/dist/{chunk-JJBQFYOX.cjs → chunk-RY6QOJZR.cjs} +4 -4
- package/dist/{chunk-JJBQFYOX.cjs.map → chunk-RY6QOJZR.cjs.map} +1 -1
- package/dist/{chunk-R6VYVMXZ.js → chunk-TJMLD54L.js} +2 -2
- package/dist/{chunk-R6VYVMXZ.js.map → chunk-TJMLD54L.js.map} +1 -1
- package/dist/{chunk-PJTSTOZ3.cjs → chunk-UABPYRQD.cjs} +3 -3
- package/dist/{chunk-PJTSTOZ3.cjs.map → chunk-UABPYRQD.cjs.map} +1 -1
- package/dist/{chunk-Y3YSVA4T.cjs → chunk-UFECQGG4.cjs} +2 -2
- package/dist/{chunk-Y3YSVA4T.cjs.map → chunk-UFECQGG4.cjs.map} +1 -1
- package/dist/{chunk-3JFYO7IY.js → chunk-ULIOF27W.js} +2 -2
- package/dist/{chunk-3JFYO7IY.js.map → chunk-ULIOF27W.js.map} +1 -1
- package/dist/{chunk-A3RI74FR.cjs → chunk-WJY3ZHVS.cjs} +2 -2
- package/dist/{chunk-A3RI74FR.cjs.map → chunk-WJY3ZHVS.cjs.map} +1 -1
- package/dist/{chunk-DBWZBAPY.js → chunk-WRGPALFL.js} +2 -2
- package/dist/{chunk-DBWZBAPY.js.map → chunk-WRGPALFL.js.map} +1 -1
- package/dist/chunk-XOSKFQRV.js +2 -0
- package/dist/{chunk-VHU3WV3O.js.map → chunk-XOSKFQRV.js.map} +1 -1
- package/dist/{chunk-OHWYMLZR.js → chunk-ZNWYGYA5.js} +3 -3
- package/dist/{chunk-OHWYMLZR.js.map → chunk-ZNWYGYA5.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +1 -1
- package/dist/chunk-5KFKTOYB.cjs +0 -2
- package/dist/chunk-BBYQPMOB.js +0 -2
- package/dist/chunk-E4YSHWGD.cjs +0 -2
- package/dist/chunk-F42CG3CW.js +0 -2
- package/dist/chunk-FFHRKY5P.cjs +0 -2
- package/dist/chunk-VHU3WV3O.js +0 -2
- package/dist/chunk-VKS3IHTO.cjs +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkUFECQGG4_cjs=require('./chunk-UFECQGG4.cjs'),chunkOC3US4OX_cjs=require('./chunk-OC3US4OX.cjs'),t=require('@emotion/styled');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var t__default=/*#__PURE__*/_interopDefault(t);var a=t__default.default(chunkOC3US4OX_cjs.a.Body)`
|
|
2
2
|
margin-top: 0.2rem;
|
|
3
3
|
`,l=t__default.default.div`
|
|
4
4
|
margin-bottom: 12px;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
color: #da4d54;
|
|
10
10
|
margin-left: 1px;
|
|
11
11
|
}
|
|
12
|
-
`,s=t__default.default(
|
|
12
|
+
`,s=t__default.default(chunkUFECQGG4_cjs.f.Unstyled)`
|
|
13
13
|
padding: 0;
|
|
14
14
|
display: inline;
|
|
15
15
|
height: auto;
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
line-height: 130%;
|
|
27
27
|
letter-spacing: 0.009rem;
|
|
28
28
|
text-decoration-line: underline;
|
|
29
|
-
`;exports.a=a;exports.b=l;exports.c=p;exports.d=s;exports.e=d;//# sourceMappingURL=chunk-
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
`;exports.a=a;exports.b=l;exports.c=p;exports.d=s;exports.e=d;//# sourceMappingURL=chunk-KGQV2DDH.cjs.map
|
|
30
|
+
//# sourceMappingURL=chunk-KGQV2DDH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Form/shared/styles.tsx"],"names":["Details","styled","Typography_default","LabelWrap","Asterisk","UnstyledButton","Button_default","ModalLabel"],"mappings":"kQAIO,IAAMA,CAAUC,CAAAA,kBAAAA,CAAOC,oBAAW,IAAI,CAAA;AAAA;AAAA,CAAA,CAIhCC,EAAYF,kBAAO,CAAA,GAAA;AAAA;AAAA,CAAA,CAInBG,EAAWH,kBAAO,CAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CASlBI,CAAAA,CAAAA,CAAiBJ,kBAAOK,CAAAA,mBAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAAA,CAUvCC,EAAaN,kBAAO,CAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Form/shared/styles.tsx"],"names":["Details","styled","Typography_default","LabelWrap","Asterisk","UnstyledButton","Button_default","ModalLabel"],"mappings":"kQAIO,IAAMA,CAAUC,CAAAA,kBAAAA,CAAOC,oBAAW,IAAI,CAAA;AAAA;AAAA,CAAA,CAIhCC,EAAYF,kBAAO,CAAA,GAAA;AAAA;AAAA,CAAA,CAInBG,EAAWH,kBAAO,CAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CASlBI,CAAAA,CAAAA,CAAiBJ,kBAAOK,CAAAA,mBAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAAA,CAUvCC,EAAaN,kBAAO,CAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-KGQV2DDH.cjs","sourcesContent":["import styled from '@emotion/styled';\nimport Typography from '../../Typography';\nimport Button from '../../Button';\n\nexport const Details = styled(Typography.Body)`\n margin-top: 0.2rem;\n`;\n\nexport const LabelWrap = styled.div`\n margin-bottom: 12px;\n`;\n\nexport const Asterisk = styled.span`\n &:before {\n display: inline-block;\n content: '*';\n color: #da4d54;\n margin-left: 1px;\n }\n`;\n\nexport const UnstyledButton = styled(Button.Unstyled)`\n padding: 0;\n display: inline;\n height: auto;\n\n && {\n width: auto;\n }\n`;\n\nexport const ModalLabel = styled.span`\n padding-left: 0.5rem;\n color: var(--Surface-Dark-Green, #285e50);\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 130%;\n letter-spacing: 0.009rem;\n text-decoration-line: underline;\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkUFECQGG4_cjs=require('./chunk-UFECQGG4.cjs'),LexicalComposerContext=require('@lexical/react/LexicalComposerContext'),react=require('react'),lexical=require('lexical'),link=require('@lexical/link'),selection=require('@lexical/selection'),utils=require('@lexical/utils'),list=require('@lexical/list'),reactDom=require('react-dom'),richText=require('@lexical/rich-text'),code=require('@lexical/code'),q=require('@emotion/styled'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var q__default=/*#__PURE__*/_interopDefault(q);var l=q__default.default(chunkUFECQGG4_cjs.f.Unstyled)`
|
|
2
2
|
border: 0;
|
|
3
3
|
display: flex;
|
|
4
4
|
height: auto;
|
|
@@ -121,5 +121,5 @@
|
|
|
121
121
|
pointer-events: none;
|
|
122
122
|
}
|
|
123
123
|
`;var $=1,xe=new Set(["paragraph","quote","code","h1","h2","ul","ol"]),Se={code:"Code Block",h1:"Large Heading",h2:"Small Heading",h3:"Heading",h4:"Heading",h5:"Heading",ol:"Numbered List",paragraph:"Normal",quote:"Quote",ul:"Bulleted List"},H=()=>jsxRuntime.jsx("div",{className:"divider"}),X=(a,t)=>t?Object.assign(a.style,{opacity:1,top:`${t.top+t.height+window.scrollY+10}px`,left:`${t.left+window.scrollX-a.offsetWidth/2+t.width/2}px`}):Object.assign(a.style,{opacity:0,top:-1e3,left:-1e3}),W=a=>{let{anchor:t,focus:r}=a,i=t.getNode(),s=r.getNode();return i===s?i:a.isBackward()?selection.$isAtNodeEnd(r)?i:s:selection.$isAtNodeEnd(t)?s:i},Be=({editor:a})=>{let t=react.useRef(null),r=react.useRef(null),i=react.useRef(!1),[s,N]=react.useState(""),[x,u]=react.useState(!1),[E,S]=react.useState(null),b=react.useCallback(()=>{let n=lexical.$getSelection();if(lexical.$isRangeSelection(n)){let f=W(n),C=f.getParent();link.$isLinkNode(C)?N(C.getURL()):link.$isLinkNode(f)?N(f.getURL()):N("");}let o=t.current,c=window.getSelection(),{activeElement:h}=document;if(!o||!c)return;let g=a.getRootElement();if(n!==null&&!c.isCollapsed&&g!==null&&g.contains(c.anchorNode)){let f=c.getRangeAt(0),C;if(c.anchorNode===g){let B=g;for(;B.firstElementChild!=null;)B=B.firstElementChild;C=B.getBoundingClientRect();}else C=f.getBoundingClientRect();i.current||X(o,C),S(n);}else (!h||h.className!=="link-input")&&(X(o,null),S(null),u(!1),N(""));},[a]);return react.useEffect(()=>utils.mergeRegister(a.registerUpdateListener(({editorState:n})=>{n.read(()=>{b();});}),a.registerCommand(lexical.SELECTION_CHANGE_COMMAND,()=>(b(),!0),$)),[a,b]),react.useEffect(()=>{a.getEditorState().read(()=>{b();});},[a,b]),react.useEffect(()=>{x&&r.current&&r.current.focus();},[x]),jsxRuntime.jsx("div",{ref:t,className:"link-editor",children:x?jsxRuntime.jsx("input",{ref:r,className:"link-input",value:s,onChange:n=>{N(n.target.value);},onKeyDown:n=>{n.key==="Enter"?(n.preventDefault(),E!==null&&(s!==""&&a.dispatchCommand(link.TOGGLE_LINK_COMMAND,s),u(!1))):n.key==="Escape"&&(n.preventDefault(),u(!1));}}):jsxRuntime.jsxs("div",{className:"link-input",children:[jsxRuntime.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",children:s}),jsxRuntime.jsx("div",{className:"link-edit",role:"button",tabIndex:0,onMouseDown:n=>n.preventDefault(),onClick:()=>{u(!0);},onKeyDown:n=>{n.key==="Enter"&&(n.preventDefault(),u(!0));},"aria-label":"Edit link"})]})})},ve=({editor:a,blockType:t,toolbarRef:r,setShowBlockOptionsDropDown:i})=>{let s=react.useRef(null);return react.useEffect(()=>{let o=r.current,c=s.current;if(o!==null&&c!==null){let{top:h,left:g}=o.getBoundingClientRect();c.style.top=`${h+40}px`,c.style.left=`${g}px`;}},[s,r]),react.useEffect(()=>{let o=s.current,c=r.current;if(!o||!c)return ()=>null;let h=g=>{let{target:f}=g;f&&!o.contains(f)&&!c.contains(f)&&i(!1);};return document.addEventListener("click",h),()=>{document.removeEventListener("click",h);}},[s,i,r]),jsxRuntime.jsxs("div",{className:"dropdown",ref:s,children:[jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="paragraph"&&a.update(()=>{let o=lexical.$getSelection();lexical.$isRangeSelection(o)&&selection.$wrapNodes(o,()=>lexical.$createParagraphNode());}),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon paragraph"}),jsxRuntime.jsx("span",{className:"text",children:"Normal"}),t==="paragraph"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="h1"&&a.update(()=>{let o=lexical.$getSelection();lexical.$isRangeSelection(o)&&selection.$wrapNodes(o,()=>richText.$createHeadingNode("h1"));}),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon large-heading"}),jsxRuntime.jsx("span",{className:"text",children:"Large Heading"}),t==="h1"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="h2"&&a.update(()=>{let o=lexical.$getSelection();lexical.$isRangeSelection(o)&&selection.$wrapNodes(o,()=>richText.$createHeadingNode("h2"));}),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon small-heading"}),jsxRuntime.jsx("span",{className:"text",children:"Small Heading"}),t==="h2"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="ul"?a.dispatchCommand(list.INSERT_UNORDERED_LIST_COMMAND,void 0):a.dispatchCommand(list.REMOVE_LIST_COMMAND,void 0),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon bullet-list"}),jsxRuntime.jsx("span",{className:"text",children:"Bullet List"}),t==="ul"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="ol"?a.dispatchCommand(list.INSERT_ORDERED_LIST_COMMAND,void 0):a.dispatchCommand(list.REMOVE_LIST_COMMAND,void 0),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon numbered-list"}),jsxRuntime.jsx("span",{className:"text",children:"Numbered List"}),t==="ol"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="quote"&&a.update(()=>{let o=lexical.$getSelection();lexical.$isRangeSelection(o)&&selection.$wrapNodes(o,()=>richText.$createQuoteNode());}),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon quote"}),jsxRuntime.jsx("span",{className:"text",children:"Quote"}),t==="quote"&&jsxRuntime.jsx("span",{className:"active"})]}),jsxRuntime.jsxs(l,{className:"item",onClick:()=>{t!=="code"&&a.update(()=>{let o=lexical.$getSelection();lexical.$isRangeSelection(o)&&selection.$wrapNodes(o,()=>code.$createCodeNode());}),i(!1);},children:[jsxRuntime.jsx("span",{className:"icon code"}),jsxRuntime.jsx("span",{className:"text",children:"Code Block"}),t==="code"&&jsxRuntime.jsx("span",{className:"active"})]})]})},Le=({className:a=""})=>{let[t]=LexicalComposerContext.useLexicalComposerContext(),r=react.useRef(null),[i,s]=react.useState(!1),[N,x]=react.useState(!1),[u,E]=react.useState("paragraph"),[S,b]=react.useState(!1),[n,o]=react.useState(!1),[c,h]=react.useState(!1),[g,f]=react.useState(!1),[C,B]=react.useState(!1),[Y,Z]=react.useState(!1),[ee,te]=react.useState(!1),A=react.useCallback(()=>{let d=lexical.$getSelection();if(lexical.$isRangeSelection(d)){let w=d.anchor.getNode(),v=w.getKey()==="root"?w:w.getTopLevelElementOrThrow(),ne=v.getKey();if(t.getElementByKey(ne)!==null)if(list.$isListNode(v)){let D=utils.$getNearestNodeOfType(w,list.ListNode),ie=D?D.getTag():v.getTag();E(ie);}else {let D=richText.$isHeadingNode(v)?v.getTag():v.getType();E(D);}h(d.hasFormat("bold")),f(d.hasFormat("italic")),B(d.hasFormat("underline")),Z(d.hasFormat("strikethrough")),te(d.hasFormat("code"));let F=W(d),le=F.getParent();link.$isLinkNode(le)||link.$isLinkNode(F)?o(!0):o(!1);}},[t]);react.useEffect(()=>utils.mergeRegister(t.registerUpdateListener(({editorState:d})=>{d.read(()=>{A();});}),t.registerCommand(lexical.SELECTION_CHANGE_COMMAND,()=>(A(),!1),$),t.registerCommand(lexical.CAN_UNDO_COMMAND,d=>(s(d),!1),$),t.registerCommand(lexical.CAN_REDO_COMMAND,d=>(x(d),!1),$)),[t,A]);let ae=react.useCallback(()=>{n?t.dispatchCommand(link.TOGGLE_LINK_COMMAND,null):t.dispatchCommand(link.TOGGLE_LINK_COMMAND,"https://");},[t,n]),oe=()=>n?reactDom.createPortal(jsxRuntime.jsx(Be,{editor:t}),document.body):null;return jsxRuntime.jsxs("div",{className:`toolbar ${a}`,ref:r,children:[jsxRuntime.jsx(l,{disabled:!i,onClick:()=>{t.dispatchCommand(lexical.UNDO_COMMAND,void 0);},className:"toolbar-item spaced","aria-label":"Undo",children:jsxRuntime.jsx("i",{className:"format undo"})}),jsxRuntime.jsx(l,{disabled:!N,onClick:()=>{t.dispatchCommand(lexical.REDO_COMMAND,void 0);},className:"toolbar-item","aria-label":"Redo",children:jsxRuntime.jsx("i",{className:"format redo"})}),jsxRuntime.jsx(H,{}),xe.has(u)&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(l,{className:"toolbar-item block-controls",onClick:()=>b(!S),"aria-label":"Formatting Options",children:[jsxRuntime.jsx("span",{className:`icon block-type ${u}`}),jsxRuntime.jsx("span",{className:"text",children:Se[u]}),jsxRuntime.jsx("i",{className:"chevron-down"})]}),S&&reactDom.createPortal(jsxRuntime.jsx(ve,{editor:t,blockType:u,toolbarRef:r,setShowBlockOptionsDropDown:b}),document.body),jsxRuntime.jsx(H,{})]}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_TEXT_COMMAND,"bold");},className:`toolbar-item spaced ${c?"active":""}`,"aria-label":"Format Bold",children:jsxRuntime.jsx("i",{className:"format bold"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_TEXT_COMMAND,"italic");},className:`toolbar-item spaced ${g?"active":""}`,"aria-label":"Format Italics",children:jsxRuntime.jsx("i",{className:"format italic"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_TEXT_COMMAND,"underline");},className:`toolbar-item spaced ${C?"active":""}`,"aria-label":"Format Underline",children:jsxRuntime.jsx("i",{className:"format underline"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_TEXT_COMMAND,"strikethrough");},className:`toolbar-item spaced ${Y?"active":""}`,"aria-label":"Format Strikethrough",children:jsxRuntime.jsx("i",{className:"format strikethrough"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_TEXT_COMMAND,"code");},className:`toolbar-item spaced ${ee?"active":""}`,"aria-label":"Insert Code",children:jsxRuntime.jsx("i",{className:"format code"})}),jsxRuntime.jsx(l,{onClick:ae,className:`toolbar-item spaced ${n?"active":""}`,"aria-label":"Insert Link",children:jsxRuntime.jsx("i",{className:"format link"})}),jsxRuntime.jsx(oe,{}),jsxRuntime.jsx(H,{}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_ELEMENT_COMMAND,"left");},className:"toolbar-item spaced","aria-label":"Left Align",children:jsxRuntime.jsx("i",{className:"format left-align"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_ELEMENT_COMMAND,"center");},className:"toolbar-item spaced","aria-label":"Center Align",children:jsxRuntime.jsx("i",{className:"format center-align"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_ELEMENT_COMMAND,"right");},className:"toolbar-item spaced","aria-label":"Right Align",children:jsxRuntime.jsx("i",{className:"format right-align"})}),jsxRuntime.jsx(l,{onClick:()=>{t.dispatchCommand(lexical.FORMAT_ELEMENT_COMMAND,"justify");},className:"toolbar-item","aria-label":"Justify Align",children:jsxRuntime.jsx("i",{className:"format justify-align"})})," "]})},K=Le;
|
|
124
|
-
exports.a=K;exports.b=l;exports.c=De;//# sourceMappingURL=chunk-
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
124
|
+
exports.a=K;exports.b=l;exports.c=De;//# sourceMappingURL=chunk-KYRR2AQR.cjs.map
|
|
125
|
+
//# sourceMappingURL=chunk-KYRR2AQR.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/RichText/plugins/ToolbarPlugin/style.tsx","../src/RichText/plugins/ToolbarPlugin/ToolbarPlugin.tsx"],"names":["ToolbarButton","styled","Button_default","StyledToolbar","ToolbarPlugin_default","LowPriority","supportedBlockTypes","blockTypeToBlockName","Divider","jsx","positionEditorElement","editor","rect","getSelectedNode","selection","anchor","focus","anchorNode","focusNode","$isAtNodeEnd","FloatingLinkEditor","editorRef","useRef","inputRef","mouseDownRef","linkUrl","setLinkUrl","useState","isEditMode","setEditMode","lastSelection","setLastSelection","updateLinkEditor","useCallback","$getSelection","$isRangeSelection","node","parent","$isLinkNode","editorElem","nativeSelection","activeElement","rootElement","domRange","inner","useEffect","mergeRegister","editorState","SELECTION_CHANGE_COMMAND","event","TOGGLE_LINK_COMMAND","jsxs","BlockOptionsDropdownList","blockType","toolbarRef","setShowBlockOptionsDropDown","dropDownRef","toolbar","dropDown","top","left","handle","target","$wrapNodes","$createParagraphNode","$createHeadingNode","INSERT_UNORDERED_LIST_COMMAND","REMOVE_LIST_COMMAND","INSERT_ORDERED_LIST_COMMAND","$createQuoteNode","$createCodeNode","ToolbarPlugin","className","useLexicalComposerContext","canUndo","setCanUndo","canRedo","setCanRedo","setBlockType","showBlockOptionsDropDown","isLink","setIsLink","isBold","setIsBold","isItalic","setIsItalic","isUnderline","setIsUnderline","isStrikethrough","setIsStrikethrough","isCode","setIsCode","updateToolbar","element","elementKey","$isListNode","parentList","$getNearestNodeOfType","ListNode","type","$isHeadingNode","CAN_UNDO_COMMAND","payload","CAN_REDO_COMMAND","insertLink","LinkPortal","createPortal","UNDO_COMMAND","REDO_COMMAND","Fragment","FORMAT_TEXT_COMMAND","FORMAT_ELEMENT_COMMAND"],"mappings":"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","file":"chunk-SCMIEUAT.cjs","sourcesContent":["import styled from '@emotion/styled';\nimport ToolbarPlugin from './ToolbarPlugin';\nimport Button from '../../../Button';\n\nexport const ToolbarButton = styled(Button.Unstyled)`\n border: 0;\n display: flex;\n height: auto;\n background: none;\n border-radius: 10px;\n padding: 8px;\n cursor: pointer;\n vertical-align: middle;\n\n &:disabled {\n cursor: not-allowed;\n }\n\n &.spaced {\n margin-right: 2px;\n }\n\n i.format {\n background-size: contain;\n display: inline-block;\n height: 18px;\n width: 18px;\n margin-top: 2px;\n vertical-align: -0.25em;\n display: flex;\n opacity: 0.6;\n }\n\n &:disabled i.format {\n opacity: 0.2;\n }\n\n &.active {\n background-color: rgba(223, 232, 250, 0.3);\n }\n\n &.active i {\n opacity: 1;\n }\n &&&:hover:not([disabled]) {\n background-color: #eee;\n }\n`;\n\nexport const StyledToolbar = styled(ToolbarPlugin)`\n display: flex;\n margin-bottom: 1px;\n background: #fff;\n padding: 4px;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n vertical-align: middle;\n overflow: auto;\n\n .divider {\n width: 1px;\n background-color: #eee;\n margin: 0 4px;\n }\n\n .toolbar-item:hover:not([disabled]) {\n background-color: #eee;\n }\n\n select.toolbar-item {\n border: 0;\n display: flex;\n background: none;\n border-radius: 10px;\n padding: 8px;\n vertical-align: middle;\n width: 70px;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n }\n\n select.code-language {\n text-transform: capitalize;\n width: 130px;\n }\n\n .toolbar-item .text {\n display: flex;\n line-height: 20px;\n width: 200px;\n vertical-align: middle;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n width: 70px;\n overflow: hidden;\n height: 20px;\n text-align: left;\n }\n\n .toolbar-item .icon {\n display: flex;\n width: 20px;\n height: 20px;\n user-select: none;\n margin-right: 8px;\n line-height: 16px;\n background-size: contain;\n }\n\n i.chevron-down {\n margin-top: 3px;\n width: 16px;\n height: 16px;\n display: flex;\n user-select: none;\n }\n\n i.chevron-down.inside {\n width: 16px;\n height: 16px;\n display: flex;\n margin-left: -25px;\n margin-top: 11px;\n margin-right: 10px;\n pointer-events: none;\n }\n`;\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n CAN_REDO_COMMAND,\n CAN_UNDO_COMMAND,\n REDO_COMMAND,\n UNDO_COMMAND,\n SELECTION_CHANGE_COMMAND,\n FORMAT_TEXT_COMMAND,\n FORMAT_ELEMENT_COMMAND,\n $getSelection,\n $isRangeSelection,\n $createParagraphNode,\n LexicalEditor,\n RangeSelection,\n GridSelection,\n NodeSelection,\n} from 'lexical';\nimport { $isLinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';\nimport { $wrapNodes, $isAtNodeEnd } from '@lexical/selection';\nimport { $getNearestNodeOfType, mergeRegister } from '@lexical/utils';\nimport {\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n REMOVE_LIST_COMMAND,\n $isListNode,\n ListNode,\n} from '@lexical/list';\nimport { createPortal } from 'react-dom';\nimport { $createHeadingNode, $createQuoteNode, $isHeadingNode } from '@lexical/rich-text';\nimport { $createCodeNode } from '@lexical/code';\nimport * as S from './style';\n\nconst LowPriority = 1;\n\nconst supportedBlockTypes = new Set(['paragraph', 'quote', 'code', 'h1', 'h2', 'ul', 'ol']);\n\nconst blockTypeToBlockName = {\n code: 'Code Block',\n h1: 'Large Heading',\n h2: 'Small Heading',\n h3: 'Heading',\n h4: 'Heading',\n h5: 'Heading',\n ol: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n ul: 'Bulleted List',\n};\n\nconst Divider = () => <div className=\"divider\" />;\n\nconst positionEditorElement = (editor: HTMLElement, rect: DOMRect | null) => {\n if (!rect) return Object.assign(editor.style, { opacity: 0, top: -1000, left: -1000 });\n\n return Object.assign(editor.style, {\n opacity: 1,\n top: `${rect.top + rect.height + window.scrollY + 10}px`,\n left: `${rect.left + window.scrollX - editor.offsetWidth / 2 + rect.width / 2}px`,\n });\n};\n\nconst getSelectedNode = (selection: RangeSelection) => {\n const { anchor, focus } = selection;\n const anchorNode = anchor.getNode();\n const focusNode = focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n }\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n};\n\nconst FloatingLinkEditor = ({ editor }: { editor: LexicalEditor }) => {\n const editorRef = useRef(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const mouseDownRef = useRef(false);\n const [linkUrl, setLinkUrl] = useState('');\n const [isEditMode, setEditMode] = useState(false);\n const [lastSelection, setLastSelection] = useState<\n RangeSelection | GridSelection | NodeSelection | null\n >(null);\n\n const updateLinkEditor = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent)) {\n setLinkUrl(parent.getURL());\n } else if ($isLinkNode(node)) {\n setLinkUrl(node.getURL());\n } else {\n setLinkUrl('');\n }\n }\n const editorElem = editorRef.current;\n const nativeSelection = window.getSelection();\n const { activeElement } = document;\n\n if (!editorElem || !nativeSelection) return;\n\n const rootElement = editor.getRootElement();\n if (\n selection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const domRange = nativeSelection.getRangeAt(0);\n let rect;\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) {\n inner = inner.firstElementChild as HTMLElement;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n if (!mouseDownRef.current) {\n positionEditorElement(editorElem, rect);\n }\n setLastSelection(selection);\n } else if (!activeElement || activeElement.className !== 'link-input') {\n positionEditorElement(editorElem, null);\n setLastSelection(null);\n setEditMode(false);\n setLinkUrl('');\n }\n }, [editor]);\n\n useEffect(\n () =>\n mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateLinkEditor();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateLinkEditor();\n return true;\n },\n LowPriority,\n ),\n ),\n [editor, updateLinkEditor],\n );\n\n useEffect(() => {\n editor.getEditorState().read(() => {\n updateLinkEditor();\n });\n }, [editor, updateLinkEditor]);\n\n useEffect(() => {\n if (isEditMode && inputRef.current) {\n inputRef.current.focus();\n }\n }, [isEditMode]);\n\n return (\n <div ref={editorRef} className=\"link-editor\">\n {isEditMode ? (\n <input\n ref={inputRef}\n className=\"link-input\"\n value={linkUrl}\n onChange={(event) => {\n setLinkUrl(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (lastSelection !== null) {\n if (linkUrl !== '') {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, linkUrl);\n }\n setEditMode(false);\n }\n } else if (event.key === 'Escape') {\n event.preventDefault();\n setEditMode(false);\n }\n }}\n />\n ) : (\n <div className=\"link-input\">\n <a href={linkUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {linkUrl}\n </a>\n <div\n className=\"link-edit\"\n role=\"button\"\n tabIndex={0}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n setEditMode(true);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setEditMode(true);\n }\n }}\n aria-label=\"Edit link\"\n />\n </div>\n )}\n </div>\n );\n};\n\n// const Select = ({\n// onChange,\n// className,\n// options,\n// value,\n// }: {\n// onChange: (event: TargetedEvent<HTMLSelectElement>) => void;\n// className: string;\n// options: string[];\n// value: string;\n// }) => (\n// <select className={className} onChange={onChange} value={value}>\n// <option hidden value=\"\" aria-label=\"Select an option\" />\n// {options.map((option) => (\n// <option key={option} value={option}>\n// {option}\n// </option>\n// ))}\n// </select>\n// );\n\nconst BlockOptionsDropdownList = ({\n editor,\n blockType,\n toolbarRef,\n setShowBlockOptionsDropDown,\n}: {\n editor: LexicalEditor;\n blockType: keyof typeof blockTypeToBlockName;\n toolbarRef: React.RefObject<HTMLDivElement>;\n setShowBlockOptionsDropDown: (value: boolean) => void;\n}) => {\n const dropDownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const toolbar = toolbarRef.current;\n const dropDown = dropDownRef.current;\n\n if (toolbar !== null && dropDown !== null) {\n const { top, left } = toolbar.getBoundingClientRect();\n dropDown.style.top = `${top + 40}px`;\n dropDown.style.left = `${left}px`;\n }\n }, [dropDownRef, toolbarRef]);\n\n useEffect(() => {\n const dropDown = dropDownRef.current;\n const toolbar = toolbarRef.current;\n\n if (!dropDown || !toolbar) return () => null;\n\n const handle = (event: MouseEvent) => {\n const { target } = event;\n if (target && !dropDown.contains(target as Node) && !toolbar.contains(target as Node)) {\n setShowBlockOptionsDropDown(false);\n }\n };\n document.addEventListener('click', handle);\n\n return () => {\n document.removeEventListener('click', handle);\n };\n }, [dropDownRef, setShowBlockOptionsDropDown, toolbarRef]);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatLargeHeading = () => {\n if (blockType !== 'h1') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode('h1'));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatSmallHeading = () => {\n if (blockType !== 'h2') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode('h2'));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatBulletList = () => {\n if (blockType !== 'ul') {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatNumberedList = () => {\n if (blockType !== 'ol') {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatQuote = () => {\n if (blockType !== 'quote') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatCode = () => {\n if (blockType !== 'code') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createCodeNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n return (\n <div className=\"dropdown\" ref={dropDownRef}>\n <S.ToolbarButton className=\"item\" onClick={formatParagraph}>\n <span className=\"icon paragraph\" />\n <span className=\"text\">Normal</span>\n {blockType === 'paragraph' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatLargeHeading}>\n <span className=\"icon large-heading\" />\n <span className=\"text\">Large Heading</span>\n {blockType === 'h1' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatSmallHeading}>\n <span className=\"icon small-heading\" />\n <span className=\"text\">Small Heading</span>\n {blockType === 'h2' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatBulletList}>\n <span className=\"icon bullet-list\" />\n <span className=\"text\">Bullet List</span>\n {blockType === 'ul' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatNumberedList}>\n <span className=\"icon numbered-list\" />\n <span className=\"text\">Numbered List</span>\n {blockType === 'ol' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatQuote}>\n <span className=\"icon quote\" />\n <span className=\"text\">Quote</span>\n {blockType === 'quote' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatCode}>\n <span className=\"icon code\" />\n <span className=\"text\">Code Block</span>\n {blockType === 'code' && <span className=\"active\" />}\n </S.ToolbarButton>\n </div>\n );\n};\n\nconst ToolbarPlugin = ({ className = '' }: { className?: string }) => {\n const [editor] = useLexicalComposerContext();\n const toolbarRef = useRef<HTMLDivElement>(null);\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n const [blockType, setBlockType] = useState('paragraph');\n // const [selectedElementKey, setSelectedElementKey] = useState<string | null>(\n // null\n // );\n const [showBlockOptionsDropDown, setShowBlockOptionsDropDown] = useState(false);\n // const [codeLanguage, setCodeLanguage] = useState(\"\");\n const [isLink, setIsLink] = useState(false);\n const [isBold, setIsBold] = useState(false);\n const [isItalic, setIsItalic] = useState(false);\n const [isUnderline, setIsUnderline] = useState(false);\n const [isStrikethrough, setIsStrikethrough] = useState(false);\n const [isCode, setIsCode] = useState(false);\n\n const updateToolbar = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const element =\n anchorNode.getKey() === 'root' ? anchorNode : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n if (elementDOM !== null) {\n // setSelectedElementKey(elementKey);\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList ? parentList.getTag() : element.getTag();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element) ? element.getTag() : element.getType();\n setBlockType(type);\n // if ($isCodeNode(element)) {\n // setCodeLanguage(element.getLanguage() || getDefaultCodeLanguage());\n // }\n }\n }\n // Update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n setIsUnderline(selection.hasFormat('underline'));\n setIsStrikethrough(selection.hasFormat('strikethrough'));\n setIsCode(selection.hasFormat('code'));\n\n // Update links\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent) || $isLinkNode(node)) {\n setIsLink(true);\n } else {\n setIsLink(false);\n }\n }\n }, [editor]);\n\n useEffect(\n () =>\n mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateToolbar();\n });\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateToolbar();\n return false;\n },\n LowPriority,\n ),\n editor.registerCommand(\n CAN_UNDO_COMMAND,\n (payload) => {\n setCanUndo(payload);\n return false;\n },\n LowPriority,\n ),\n editor.registerCommand(\n CAN_REDO_COMMAND,\n (payload) => {\n setCanRedo(payload);\n return false;\n },\n LowPriority,\n ),\n ),\n [editor, updateToolbar],\n );\n\n // const codeLanguges = useMemo(() => getCodeLanguages(), []);\n // const onCodeLanguageSelect = useCallback(\n // (e: TargetedEvent<HTMLSelectElement>) => {\n // editor.update(() => {\n // if (selectedElementKey !== null) {\n // const node = $getNodeByKey(selectedElementKey);\n // if ($isCodeNode(node)) {\n // node.setLanguage((e?.target as HTMLSelectElement).value);\n // }\n // }\n // });\n // },\n // [editor, selectedElementKey]\n // );\n\n const insertLink = useCallback(() => {\n if (!isLink) {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, 'https://');\n } else {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);\n }\n }, [editor, isLink]);\n\n const LinkPortal = () =>\n isLink ? createPortal(<FloatingLinkEditor editor={editor} />, document.body) : null;\n\n return (\n <div className={`toolbar ${className}`} ref={toolbarRef}>\n <S.ToolbarButton\n disabled={!canUndo}\n onClick={() => {\n editor.dispatchCommand(UNDO_COMMAND, undefined);\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Undo\"\n >\n <i className=\"format undo\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n disabled={!canRedo}\n onClick={() => {\n editor.dispatchCommand(REDO_COMMAND, undefined);\n }}\n className=\"toolbar-item\"\n aria-label=\"Redo\"\n >\n <i className=\"format redo\" />\n </S.ToolbarButton>\n <Divider />\n {supportedBlockTypes.has(blockType) && (\n <>\n <S.ToolbarButton\n className=\"toolbar-item block-controls\"\n onClick={() => setShowBlockOptionsDropDown(!showBlockOptionsDropDown)}\n aria-label=\"Formatting Options\"\n >\n <span className={`icon block-type ${blockType}`} />\n <span className=\"text\">\n {blockTypeToBlockName[blockType as keyof typeof blockTypeToBlockName]}\n </span>\n <i className=\"chevron-down\" />\n </S.ToolbarButton>\n {showBlockOptionsDropDown &&\n createPortal(\n <BlockOptionsDropdownList\n editor={editor}\n blockType={blockType as keyof typeof blockTypeToBlockName}\n toolbarRef={toolbarRef}\n setShowBlockOptionsDropDown={setShowBlockOptionsDropDown}\n />,\n document.body,\n )}\n <Divider />\n </>\n )}\n {/* {blockType === \"code\" ? (\n <>\n <Select\n className=\"toolbar-item code-language\"\n onChange={onCodeLanguageSelect}\n options={codeLanguges}\n value={codeLanguage}\n />\n <i className=\"chevron-down inside\" />\n </>\n ) : ( */}\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }}\n className={`toolbar-item spaced ${isBold ? 'active' : ''}`}\n aria-label=\"Format Bold\"\n >\n <i className=\"format bold\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }}\n className={`toolbar-item spaced ${isItalic ? 'active' : ''}`}\n aria-label=\"Format Italics\"\n >\n <i className=\"format italic\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'underline');\n }}\n className={`toolbar-item spaced ${isUnderline ? 'active' : ''}`}\n aria-label=\"Format Underline\"\n >\n <i className=\"format underline\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'strikethrough');\n }}\n className={`toolbar-item spaced ${isStrikethrough ? 'active' : ''}`}\n aria-label=\"Format Strikethrough\"\n >\n <i className=\"format strikethrough\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'code');\n }}\n className={`toolbar-item spaced ${isCode ? 'active' : ''}`}\n aria-label=\"Insert Code\"\n >\n <i className=\"format code\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={insertLink}\n className={`toolbar-item spaced ${isLink ? 'active' : ''}`}\n aria-label=\"Insert Link\"\n >\n <i className=\"format link\" />\n </S.ToolbarButton>\n <LinkPortal />\n <Divider />\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'left');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Left Align\"\n >\n <i className=\"format left-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'center');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Center Align\"\n >\n <i className=\"format center-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'right');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Right Align\"\n >\n <i className=\"format right-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'justify');\n }}\n className=\"toolbar-item\"\n aria-label=\"Justify Align\"\n >\n <i className=\"format justify-align\" />\n </S.ToolbarButton>{' '}\n </div>\n );\n};\nexport default ToolbarPlugin;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/RichText/plugins/ToolbarPlugin/style.tsx","../src/RichText/plugins/ToolbarPlugin/ToolbarPlugin.tsx"],"names":["ToolbarButton","styled","Button_default","StyledToolbar","ToolbarPlugin_default","LowPriority","supportedBlockTypes","blockTypeToBlockName","Divider","jsx","positionEditorElement","editor","rect","getSelectedNode","selection","anchor","focus","anchorNode","focusNode","$isAtNodeEnd","FloatingLinkEditor","editorRef","useRef","inputRef","mouseDownRef","linkUrl","setLinkUrl","useState","isEditMode","setEditMode","lastSelection","setLastSelection","updateLinkEditor","useCallback","$getSelection","$isRangeSelection","node","parent","$isLinkNode","editorElem","nativeSelection","activeElement","rootElement","domRange","inner","useEffect","mergeRegister","editorState","SELECTION_CHANGE_COMMAND","event","TOGGLE_LINK_COMMAND","jsxs","BlockOptionsDropdownList","blockType","toolbarRef","setShowBlockOptionsDropDown","dropDownRef","toolbar","dropDown","top","left","handle","target","$wrapNodes","$createParagraphNode","$createHeadingNode","INSERT_UNORDERED_LIST_COMMAND","REMOVE_LIST_COMMAND","INSERT_ORDERED_LIST_COMMAND","$createQuoteNode","$createCodeNode","ToolbarPlugin","className","useLexicalComposerContext","canUndo","setCanUndo","canRedo","setCanRedo","setBlockType","showBlockOptionsDropDown","isLink","setIsLink","isBold","setIsBold","isItalic","setIsItalic","isUnderline","setIsUnderline","isStrikethrough","setIsStrikethrough","isCode","setIsCode","updateToolbar","element","elementKey","$isListNode","parentList","$getNearestNodeOfType","ListNode","type","$isHeadingNode","CAN_UNDO_COMMAND","payload","CAN_REDO_COMMAND","insertLink","LinkPortal","createPortal","UNDO_COMMAND","REDO_COMMAND","Fragment","FORMAT_TEXT_COMMAND","FORMAT_ELEMENT_COMMAND"],"mappings":"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","file":"chunk-KYRR2AQR.cjs","sourcesContent":["import styled from '@emotion/styled';\nimport ToolbarPlugin from './ToolbarPlugin';\nimport Button from '../../../Button';\n\nexport const ToolbarButton = styled(Button.Unstyled)`\n border: 0;\n display: flex;\n height: auto;\n background: none;\n border-radius: 10px;\n padding: 8px;\n cursor: pointer;\n vertical-align: middle;\n\n &:disabled {\n cursor: not-allowed;\n }\n\n &.spaced {\n margin-right: 2px;\n }\n\n i.format {\n background-size: contain;\n display: inline-block;\n height: 18px;\n width: 18px;\n margin-top: 2px;\n vertical-align: -0.25em;\n display: flex;\n opacity: 0.6;\n }\n\n &:disabled i.format {\n opacity: 0.2;\n }\n\n &.active {\n background-color: rgba(223, 232, 250, 0.3);\n }\n\n &.active i {\n opacity: 1;\n }\n &&&:hover:not([disabled]) {\n background-color: #eee;\n }\n`;\n\nexport const StyledToolbar = styled(ToolbarPlugin)`\n display: flex;\n margin-bottom: 1px;\n background: #fff;\n padding: 4px;\n border-top-left-radius: 10px;\n border-top-right-radius: 10px;\n vertical-align: middle;\n overflow: auto;\n\n .divider {\n width: 1px;\n background-color: #eee;\n margin: 0 4px;\n }\n\n .toolbar-item:hover:not([disabled]) {\n background-color: #eee;\n }\n\n select.toolbar-item {\n border: 0;\n display: flex;\n background: none;\n border-radius: 10px;\n padding: 8px;\n vertical-align: middle;\n width: 70px;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n }\n\n select.code-language {\n text-transform: capitalize;\n width: 130px;\n }\n\n .toolbar-item .text {\n display: flex;\n line-height: 20px;\n width: 200px;\n vertical-align: middle;\n font-size: 14px;\n color: #777;\n text-overflow: ellipsis;\n width: 70px;\n overflow: hidden;\n height: 20px;\n text-align: left;\n }\n\n .toolbar-item .icon {\n display: flex;\n width: 20px;\n height: 20px;\n user-select: none;\n margin-right: 8px;\n line-height: 16px;\n background-size: contain;\n }\n\n i.chevron-down {\n margin-top: 3px;\n width: 16px;\n height: 16px;\n display: flex;\n user-select: none;\n }\n\n i.chevron-down.inside {\n width: 16px;\n height: 16px;\n display: flex;\n margin-left: -25px;\n margin-top: 11px;\n margin-right: 10px;\n pointer-events: none;\n }\n`;\n","import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport {\n CAN_REDO_COMMAND,\n CAN_UNDO_COMMAND,\n REDO_COMMAND,\n UNDO_COMMAND,\n SELECTION_CHANGE_COMMAND,\n FORMAT_TEXT_COMMAND,\n FORMAT_ELEMENT_COMMAND,\n $getSelection,\n $isRangeSelection,\n $createParagraphNode,\n LexicalEditor,\n RangeSelection,\n GridSelection,\n NodeSelection,\n} from 'lexical';\nimport { $isLinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';\nimport { $wrapNodes, $isAtNodeEnd } from '@lexical/selection';\nimport { $getNearestNodeOfType, mergeRegister } from '@lexical/utils';\nimport {\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n REMOVE_LIST_COMMAND,\n $isListNode,\n ListNode,\n} from '@lexical/list';\nimport { createPortal } from 'react-dom';\nimport { $createHeadingNode, $createQuoteNode, $isHeadingNode } from '@lexical/rich-text';\nimport { $createCodeNode } from '@lexical/code';\nimport * as S from './style';\n\nconst LowPriority = 1;\n\nconst supportedBlockTypes = new Set(['paragraph', 'quote', 'code', 'h1', 'h2', 'ul', 'ol']);\n\nconst blockTypeToBlockName = {\n code: 'Code Block',\n h1: 'Large Heading',\n h2: 'Small Heading',\n h3: 'Heading',\n h4: 'Heading',\n h5: 'Heading',\n ol: 'Numbered List',\n paragraph: 'Normal',\n quote: 'Quote',\n ul: 'Bulleted List',\n};\n\nconst Divider = () => <div className=\"divider\" />;\n\nconst positionEditorElement = (editor: HTMLElement, rect: DOMRect | null) => {\n if (!rect) return Object.assign(editor.style, { opacity: 0, top: -1000, left: -1000 });\n\n return Object.assign(editor.style, {\n opacity: 1,\n top: `${rect.top + rect.height + window.scrollY + 10}px`,\n left: `${rect.left + window.scrollX - editor.offsetWidth / 2 + rect.width / 2}px`,\n });\n};\n\nconst getSelectedNode = (selection: RangeSelection) => {\n const { anchor, focus } = selection;\n const anchorNode = anchor.getNode();\n const focusNode = focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n }\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n};\n\nconst FloatingLinkEditor = ({ editor }: { editor: LexicalEditor }) => {\n const editorRef = useRef(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const mouseDownRef = useRef(false);\n const [linkUrl, setLinkUrl] = useState('');\n const [isEditMode, setEditMode] = useState(false);\n const [lastSelection, setLastSelection] = useState<\n RangeSelection | GridSelection | NodeSelection | null\n >(null);\n\n const updateLinkEditor = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent)) {\n setLinkUrl(parent.getURL());\n } else if ($isLinkNode(node)) {\n setLinkUrl(node.getURL());\n } else {\n setLinkUrl('');\n }\n }\n const editorElem = editorRef.current;\n const nativeSelection = window.getSelection();\n const { activeElement } = document;\n\n if (!editorElem || !nativeSelection) return;\n\n const rootElement = editor.getRootElement();\n if (\n selection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const domRange = nativeSelection.getRangeAt(0);\n let rect;\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) {\n inner = inner.firstElementChild as HTMLElement;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n if (!mouseDownRef.current) {\n positionEditorElement(editorElem, rect);\n }\n setLastSelection(selection);\n } else if (!activeElement || activeElement.className !== 'link-input') {\n positionEditorElement(editorElem, null);\n setLastSelection(null);\n setEditMode(false);\n setLinkUrl('');\n }\n }, [editor]);\n\n useEffect(\n () =>\n mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateLinkEditor();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateLinkEditor();\n return true;\n },\n LowPriority,\n ),\n ),\n [editor, updateLinkEditor],\n );\n\n useEffect(() => {\n editor.getEditorState().read(() => {\n updateLinkEditor();\n });\n }, [editor, updateLinkEditor]);\n\n useEffect(() => {\n if (isEditMode && inputRef.current) {\n inputRef.current.focus();\n }\n }, [isEditMode]);\n\n return (\n <div ref={editorRef} className=\"link-editor\">\n {isEditMode ? (\n <input\n ref={inputRef}\n className=\"link-input\"\n value={linkUrl}\n onChange={(event) => {\n setLinkUrl(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (lastSelection !== null) {\n if (linkUrl !== '') {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, linkUrl);\n }\n setEditMode(false);\n }\n } else if (event.key === 'Escape') {\n event.preventDefault();\n setEditMode(false);\n }\n }}\n />\n ) : (\n <div className=\"link-input\">\n <a href={linkUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {linkUrl}\n </a>\n <div\n className=\"link-edit\"\n role=\"button\"\n tabIndex={0}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n setEditMode(true);\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n setEditMode(true);\n }\n }}\n aria-label=\"Edit link\"\n />\n </div>\n )}\n </div>\n );\n};\n\n// const Select = ({\n// onChange,\n// className,\n// options,\n// value,\n// }: {\n// onChange: (event: TargetedEvent<HTMLSelectElement>) => void;\n// className: string;\n// options: string[];\n// value: string;\n// }) => (\n// <select className={className} onChange={onChange} value={value}>\n// <option hidden value=\"\" aria-label=\"Select an option\" />\n// {options.map((option) => (\n// <option key={option} value={option}>\n// {option}\n// </option>\n// ))}\n// </select>\n// );\n\nconst BlockOptionsDropdownList = ({\n editor,\n blockType,\n toolbarRef,\n setShowBlockOptionsDropDown,\n}: {\n editor: LexicalEditor;\n blockType: keyof typeof blockTypeToBlockName;\n toolbarRef: React.RefObject<HTMLDivElement>;\n setShowBlockOptionsDropDown: (value: boolean) => void;\n}) => {\n const dropDownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const toolbar = toolbarRef.current;\n const dropDown = dropDownRef.current;\n\n if (toolbar !== null && dropDown !== null) {\n const { top, left } = toolbar.getBoundingClientRect();\n dropDown.style.top = `${top + 40}px`;\n dropDown.style.left = `${left}px`;\n }\n }, [dropDownRef, toolbarRef]);\n\n useEffect(() => {\n const dropDown = dropDownRef.current;\n const toolbar = toolbarRef.current;\n\n if (!dropDown || !toolbar) return () => null;\n\n const handle = (event: MouseEvent) => {\n const { target } = event;\n if (target && !dropDown.contains(target as Node) && !toolbar.contains(target as Node)) {\n setShowBlockOptionsDropDown(false);\n }\n };\n document.addEventListener('click', handle);\n\n return () => {\n document.removeEventListener('click', handle);\n };\n }, [dropDownRef, setShowBlockOptionsDropDown, toolbarRef]);\n\n const formatParagraph = () => {\n if (blockType !== 'paragraph') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatLargeHeading = () => {\n if (blockType !== 'h1') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode('h1'));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatSmallHeading = () => {\n if (blockType !== 'h2') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode('h2'));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatBulletList = () => {\n if (blockType !== 'ul') {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatNumberedList = () => {\n if (blockType !== 'ol') {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND, undefined);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND, undefined);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatQuote = () => {\n if (blockType !== 'quote') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatCode = () => {\n if (blockType !== 'code') {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createCodeNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n return (\n <div className=\"dropdown\" ref={dropDownRef}>\n <S.ToolbarButton className=\"item\" onClick={formatParagraph}>\n <span className=\"icon paragraph\" />\n <span className=\"text\">Normal</span>\n {blockType === 'paragraph' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatLargeHeading}>\n <span className=\"icon large-heading\" />\n <span className=\"text\">Large Heading</span>\n {blockType === 'h1' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatSmallHeading}>\n <span className=\"icon small-heading\" />\n <span className=\"text\">Small Heading</span>\n {blockType === 'h2' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatBulletList}>\n <span className=\"icon bullet-list\" />\n <span className=\"text\">Bullet List</span>\n {blockType === 'ul' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatNumberedList}>\n <span className=\"icon numbered-list\" />\n <span className=\"text\">Numbered List</span>\n {blockType === 'ol' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatQuote}>\n <span className=\"icon quote\" />\n <span className=\"text\">Quote</span>\n {blockType === 'quote' && <span className=\"active\" />}\n </S.ToolbarButton>\n <S.ToolbarButton className=\"item\" onClick={formatCode}>\n <span className=\"icon code\" />\n <span className=\"text\">Code Block</span>\n {blockType === 'code' && <span className=\"active\" />}\n </S.ToolbarButton>\n </div>\n );\n};\n\nconst ToolbarPlugin = ({ className = '' }: { className?: string }) => {\n const [editor] = useLexicalComposerContext();\n const toolbarRef = useRef<HTMLDivElement>(null);\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n const [blockType, setBlockType] = useState('paragraph');\n // const [selectedElementKey, setSelectedElementKey] = useState<string | null>(\n // null\n // );\n const [showBlockOptionsDropDown, setShowBlockOptionsDropDown] = useState(false);\n // const [codeLanguage, setCodeLanguage] = useState(\"\");\n const [isLink, setIsLink] = useState(false);\n const [isBold, setIsBold] = useState(false);\n const [isItalic, setIsItalic] = useState(false);\n const [isUnderline, setIsUnderline] = useState(false);\n const [isStrikethrough, setIsStrikethrough] = useState(false);\n const [isCode, setIsCode] = useState(false);\n\n const updateToolbar = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const element =\n anchorNode.getKey() === 'root' ? anchorNode : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n if (elementDOM !== null) {\n // setSelectedElementKey(elementKey);\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList ? parentList.getTag() : element.getTag();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element) ? element.getTag() : element.getType();\n setBlockType(type);\n // if ($isCodeNode(element)) {\n // setCodeLanguage(element.getLanguage() || getDefaultCodeLanguage());\n // }\n }\n }\n // Update text format\n setIsBold(selection.hasFormat('bold'));\n setIsItalic(selection.hasFormat('italic'));\n setIsUnderline(selection.hasFormat('underline'));\n setIsStrikethrough(selection.hasFormat('strikethrough'));\n setIsCode(selection.hasFormat('code'));\n\n // Update links\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent) || $isLinkNode(node)) {\n setIsLink(true);\n } else {\n setIsLink(false);\n }\n }\n }, [editor]);\n\n useEffect(\n () =>\n mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateToolbar();\n });\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateToolbar();\n return false;\n },\n LowPriority,\n ),\n editor.registerCommand(\n CAN_UNDO_COMMAND,\n (payload) => {\n setCanUndo(payload);\n return false;\n },\n LowPriority,\n ),\n editor.registerCommand(\n CAN_REDO_COMMAND,\n (payload) => {\n setCanRedo(payload);\n return false;\n },\n LowPriority,\n ),\n ),\n [editor, updateToolbar],\n );\n\n // const codeLanguges = useMemo(() => getCodeLanguages(), []);\n // const onCodeLanguageSelect = useCallback(\n // (e: TargetedEvent<HTMLSelectElement>) => {\n // editor.update(() => {\n // if (selectedElementKey !== null) {\n // const node = $getNodeByKey(selectedElementKey);\n // if ($isCodeNode(node)) {\n // node.setLanguage((e?.target as HTMLSelectElement).value);\n // }\n // }\n // });\n // },\n // [editor, selectedElementKey]\n // );\n\n const insertLink = useCallback(() => {\n if (!isLink) {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, 'https://');\n } else {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);\n }\n }, [editor, isLink]);\n\n const LinkPortal = () =>\n isLink ? createPortal(<FloatingLinkEditor editor={editor} />, document.body) : null;\n\n return (\n <div className={`toolbar ${className}`} ref={toolbarRef}>\n <S.ToolbarButton\n disabled={!canUndo}\n onClick={() => {\n editor.dispatchCommand(UNDO_COMMAND, undefined);\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Undo\"\n >\n <i className=\"format undo\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n disabled={!canRedo}\n onClick={() => {\n editor.dispatchCommand(REDO_COMMAND, undefined);\n }}\n className=\"toolbar-item\"\n aria-label=\"Redo\"\n >\n <i className=\"format redo\" />\n </S.ToolbarButton>\n <Divider />\n {supportedBlockTypes.has(blockType) && (\n <>\n <S.ToolbarButton\n className=\"toolbar-item block-controls\"\n onClick={() => setShowBlockOptionsDropDown(!showBlockOptionsDropDown)}\n aria-label=\"Formatting Options\"\n >\n <span className={`icon block-type ${blockType}`} />\n <span className=\"text\">\n {blockTypeToBlockName[blockType as keyof typeof blockTypeToBlockName]}\n </span>\n <i className=\"chevron-down\" />\n </S.ToolbarButton>\n {showBlockOptionsDropDown &&\n createPortal(\n <BlockOptionsDropdownList\n editor={editor}\n blockType={blockType as keyof typeof blockTypeToBlockName}\n toolbarRef={toolbarRef}\n setShowBlockOptionsDropDown={setShowBlockOptionsDropDown}\n />,\n document.body,\n )}\n <Divider />\n </>\n )}\n {/* {blockType === \"code\" ? (\n <>\n <Select\n className=\"toolbar-item code-language\"\n onChange={onCodeLanguageSelect}\n options={codeLanguges}\n value={codeLanguage}\n />\n <i className=\"chevron-down inside\" />\n </>\n ) : ( */}\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'bold');\n }}\n className={`toolbar-item spaced ${isBold ? 'active' : ''}`}\n aria-label=\"Format Bold\"\n >\n <i className=\"format bold\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'italic');\n }}\n className={`toolbar-item spaced ${isItalic ? 'active' : ''}`}\n aria-label=\"Format Italics\"\n >\n <i className=\"format italic\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'underline');\n }}\n className={`toolbar-item spaced ${isUnderline ? 'active' : ''}`}\n aria-label=\"Format Underline\"\n >\n <i className=\"format underline\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'strikethrough');\n }}\n className={`toolbar-item spaced ${isStrikethrough ? 'active' : ''}`}\n aria-label=\"Format Strikethrough\"\n >\n <i className=\"format strikethrough\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'code');\n }}\n className={`toolbar-item spaced ${isCode ? 'active' : ''}`}\n aria-label=\"Insert Code\"\n >\n <i className=\"format code\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={insertLink}\n className={`toolbar-item spaced ${isLink ? 'active' : ''}`}\n aria-label=\"Insert Link\"\n >\n <i className=\"format link\" />\n </S.ToolbarButton>\n <LinkPortal />\n <Divider />\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'left');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Left Align\"\n >\n <i className=\"format left-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'center');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Center Align\"\n >\n <i className=\"format center-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'right');\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Right Align\"\n >\n <i className=\"format right-align\" />\n </S.ToolbarButton>\n <S.ToolbarButton\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, 'justify');\n }}\n className=\"toolbar-item\"\n aria-label=\"Justify Align\"\n >\n <i className=\"format justify-align\" />\n </S.ToolbarButton>{' '}\n </div>\n );\n};\nexport default ToolbarPlugin;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-DVMK65EP.js';import e from'@emotion/styled';import {ContentEditable}from'@lexical/react/LexicalContentEditable';var a=e(f.Unstyled)`
|
|
2
2
|
height: auto;
|
|
3
3
|
font-weight: 400;
|
|
4
4
|
font-size: 1rem;
|
|
@@ -38,5 +38,5 @@ import {f}from'./chunk-A6FW357L.js';import e from'@emotion/styled';import {Conte
|
|
|
38
38
|
font-weight: 400;
|
|
39
39
|
font-size: 18px;
|
|
40
40
|
line-height: 20px;
|
|
41
|
-
`;export{a,s as b,d as c,p as d};//# sourceMappingURL=chunk-
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
`;export{a,s as b,d as c,p as d};//# sourceMappingURL=chunk-LLF5TELQ.js.map
|
|
42
|
+
//# sourceMappingURL=chunk-LLF5TELQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/RichText/style.tsx"],"names":["ButtonUnstyled","styled","Button_default","ContentEditable","ContentEditableBase","p","EditorInner","props","Placeholder"],"mappings":"uIAIaA,IAAAA,CAAAA,CAAiBC,CAAOC,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAWvCC,CAAAA,CAAAA,CAAkBF,EAAOG,eAAmB,CAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,EAQpDC,EAAAA,CAAAA,EACDA,EAAE,QACF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMC,CAAA;AAAA,CAAA,CAGQC,EAAcL,CAAO,CAAA,GAAA;AAAA,cAAA,EACjBM,CAAWA,EAAAA,CAAAA,CAAM,UAAa,CAAA,MAAA,CAAS,aAAc,CAAA;AAAA;AAAA,CAAA,CAIzDC,EAAcP,CAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/RichText/style.tsx"],"names":["ButtonUnstyled","styled","Button_default","ContentEditable","ContentEditableBase","p","EditorInner","props","Placeholder"],"mappings":"uIAIaA,IAAAA,CAAAA,CAAiBC,CAAOC,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAWvCC,CAAAA,CAAAA,CAAkBF,EAAOG,eAAmB,CAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,EAQpDC,EAAAA,CAAAA,EACDA,EAAE,QACF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMC,CAAA;AAAA,CAAA,CAGQC,EAAcL,CAAO,CAAA,GAAA;AAAA,cAAA,EACjBM,CAAWA,EAAAA,CAAAA,CAAM,UAAa,CAAA,MAAA,CAAS,aAAc,CAAA;AAAA;AAAA,CAAA,CAIzDC,EAAcP,CAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-LLF5TELQ.js","sourcesContent":["import styled from '@emotion/styled';\nimport { ContentEditable as ContentEditableBase } from '@lexical/react/LexicalContentEditable';\nimport Button from '../Button';\n\nexport const ButtonUnstyled = styled(Button.Unstyled)`\n height: auto;\n font-weight: 400;\n font-size: 1rem;\n text-align: left;\n letter-spacing: 0;\n border: 1px solid #000;\n padding: 0;\n overflow: hidden;\n`;\n\nexport const ContentEditable = styled(ContentEditableBase)<{\n editable: boolean;\n}>`\n position: relative;\n padding: 15px 10px;\n min-height: 150px;\n cursor: text;\n\n ${(p) =>\n p.editable &&\n `\n resize: none;\n font-size: 1rem;\n tab-size: 1;\n outline: 0;\n caret-color: #444;\n `}\n`;\n\nexport const EditorInner = styled.div<{ isEditable: boolean }>`\n background: ${(props) => (props.isEditable ? '#fff' : 'transparent')};\n position: relative;\n`;\n\nexport const Placeholder = styled.div`\n color: var(--grey-400, #555555);\n overflow: hidden;\n position: absolute;\n text-overflow: ellipsis;\n top: 15px;\n left: 10px;\n user-select: none;\n display: inline-block;\n pointer-events: none;\n font-family: var(--font-lato);\n font-style: normal;\n font-weight: 400;\n font-size: 18px;\n line-height: 20px;\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkUFECQGG4_cjs=require('./chunk-UFECQGG4.cjs'),chunkNHJHFREJ_cjs=require('./chunk-NHJHFREJ.cjs');var o=chunkNHJHFREJ_cjs.a.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
gap: 16px;
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
display: flex;
|
|
14
14
|
align-items: center;
|
|
15
15
|
gap: 16px;
|
|
16
|
-
`,r=chunkNHJHFREJ_cjs.a(
|
|
16
|
+
`,r=chunkNHJHFREJ_cjs.a(chunkUFECQGG4_cjs.f.Outline)`
|
|
17
17
|
display: flex;
|
|
18
18
|
align-items: center;
|
|
19
19
|
justify-content: center;
|
|
20
20
|
gap: 10px;
|
|
21
21
|
max-width: 150px;
|
|
22
|
-
`;exports.a=o;exports.b=p;exports.c=a;exports.d=r;//# sourceMappingURL=chunk-
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
`;exports.a=o;exports.b=p;exports.c=a;exports.d=r;//# sourceMappingURL=chunk-LNWXLTRU.cjs.map
|
|
23
|
+
//# sourceMappingURL=chunk-LNWXLTRU.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/File/styles.ts"],"names":["GroupContainer","styled","CardContainer","LeftContent","DownloadButton","Button_default"],"mappings":"qHAGA,IAAMA,EAAiBC,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMxBC,EAAgBD,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CASvBE,EAAcF,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,CAMrBG,CAAAA,CAAAA,CAAiBH,mBAAOI,CAAAA,mBAAAA,CAAO,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/File/styles.ts"],"names":["GroupContainer","styled","CardContainer","LeftContent","DownloadButton","Button_default"],"mappings":"qHAGA,IAAMA,EAAiBC,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAMxBC,EAAgBD,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CASvBE,EAAcF,mBAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA,CAMrBG,CAAAA,CAAAA,CAAiBH,mBAAOI,CAAAA,mBAAAA,CAAO,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-LNWXLTRU.cjs","sourcesContent":["import Button from '../Button';\nimport { styled } from '../theme';\n\nconst GroupContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 16px;\n`;\n\nconst CardContainer = styled.div`\n display: flex;\n align-items: center;\n border: 1px solid #afc8bf;\n border-radius: 10px;\n padding: 18px 14px;\n justify-content: space-between;\n`;\n\nconst LeftContent = styled.div`\n display: flex;\n align-items: center;\n gap: 16px;\n`;\n\nconst DownloadButton = styled(Button.Outline)`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n max-width: 150px;\n`;\n\nexport { GroupContainer, CardContainer, LeftContent, DownloadButton };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk773RJPH6_cjs=require('./chunk-773RJPH6.cjs'),chunkHRPC6FSI_cjs=require('./chunk-HRPC6FSI.cjs'),chunkPID3GEGN_cjs=require('./chunk-PID3GEGN.cjs'),chunkWXY4TRXJ_cjs=require('./chunk-WXY4TRXJ.cjs'),chunkKA7VSKIZ_cjs=require('./chunk-KA7VSKIZ.cjs'),chunkNRYSQA6A_cjs=require('./chunk-NRYSQA6A.cjs');var x={Area:chunk773RJPH6_cjs.a,Text:chunkNRYSQA6A_cjs.a,Number:chunkPID3GEGN_cjs.a,Password:chunkKA7VSKIZ_cjs.a,Mask:chunkHRPC6FSI_cjs.a,OTP:chunkWXY4TRXJ_cjs.a};exports.a=x;//# sourceMappingURL=chunk-N5Z6GV2B.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-N5Z6GV2B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Input/index.ts"],"names":["Input_default","Area_default","Text_default","Number_default","Password_default","Mask_default","OTP_default"],"mappings":"6TAOA,IAAOA,CAAQ,CAAA,CACb,IAAAC,CAAAA,mBAAAA,CACA,IAAAC,CAAAA,mBAAAA,CACA,MAAAC,CAAAA,mBAAAA,CACA,QAAAC,CAAAA,mBAAAA,CACA,IAAAC,CAAAA,mBAAAA,CACA,IAAAC,mBACF","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Input/index.ts"],"names":["Input_default","Area_default","Text_default","Number_default","Password_default","Mask_default","OTP_default"],"mappings":"6TAOA,IAAOA,CAAQ,CAAA,CACb,IAAAC,CAAAA,mBAAAA,CACA,IAAAC,CAAAA,mBAAAA,CACA,MAAAC,CAAAA,mBAAAA,CACA,QAAAC,CAAAA,mBAAAA,CACA,IAAAC,CAAAA,mBAAAA,CACA,IAAAC,mBACF","file":"chunk-N5Z6GV2B.cjs","sourcesContent":["import Area from './Area';\nimport Text from './Text';\nimport Number from './Number';\nimport Password from './Password';\nimport Mask from './Mask';\nimport OTP from './OTP';\n\nexport default {\n Area,\n Text,\n Number,\n Password,\n Mask,\n OTP,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-DVMK65EP.js';import e from'@emotion/styled';import {IMaskInput}from'react-imask';var s=e(IMaskInput)`
|
|
2
2
|
width: 100%;
|
|
3
3
|
height: 50px;
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -58,5 +58,5 @@ import {f}from'./chunk-A6FW357L.js';import e from'@emotion/styled';import {IMask
|
|
|
58
58
|
align-items: center;
|
|
59
59
|
justify-content: center;
|
|
60
60
|
padding-right: 1rem;
|
|
61
|
-
`;export{s as a,p as b,d as c,l as d};//# sourceMappingURL=chunk-
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
`;export{s as a,p as b,d as c,l as d};//# sourceMappingURL=chunk-NBCEBCZT.js.map
|
|
62
|
+
//# sourceMappingURL=chunk-NBCEBCZT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Input/Mask/style.tsx"],"names":["StyledMaskedInput","styled","IMaskInput","error","props","theme","p","MaskWrap","RevealToggle","Button_default","SuffixContainer"],"mappings":"wGAKO,IAAMA,CAAoBC,CAAAA,CAAAA,CAAOC,UAAU,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAA,EAS5B,CAAC,CAAE,KAAA,CAAAC,CAAM,CAAOA,GAAAA,CAAAA,CAAQ,MAAQ,SAAU,CAAA;AAAA;AAAA,oBAAA,EAEzCC,CAAWA,EAAAA,CAAAA,CAAM,QAAW,CAAA,SAAA,CAAY,MAAO,CAAA;AAAA,SAAA,EAC1DA,CAAWA,EAAAA,CAAAA,CAAM,QAAW,CAAA,SAAA,CAAY,MAAO,CAAA;AAAA,eAC1C,EAAA,CAAC,CAAE,KAAAC,CAAAA,CAAM,IAAMA,CAAM,CAAA,UAAA,CAAW,OAAO,IAAI,CAAA;AAAA,eAC3C,EAAA,CAAC,CAAE,KAAAA,CAAAA,CAAM,IAAMA,CAAM,CAAA,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA,EAAA,EAGzDC,CAAMA,EAAAA,CAAAA,CAAE,MAAW,GAAA,KAAA,EAAkB,yBAAyB;;AAAA;AAAA;AAAA;AAAA,sBAAA,EAK3C,CAAC,CAAE,KAAA,CAAAD,CAAM,CAAMA,GAAAA,CAAAA,CAAM,OAAO,cAAc,CAAA;AAAA,0BAAA,EACtC,CAAC,CAAE,KAAA,CAAAA,CAAM,CAAMA,GAAAA,CAAAA,CAAM,OAAO,cAAc,CAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAUzDE,EAAWN,CAAO,CAAA,GAAA;AAAA;AAAA,CAIlBO,CAAAA,CAAAA,CAAeP,CAAOQ,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAwBrCC,EAAkBT,CAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/Input/Mask/style.tsx"],"names":["StyledMaskedInput","styled","IMaskInput","error","props","theme","p","MaskWrap","RevealToggle","Button_default","SuffixContainer"],"mappings":"wGAKO,IAAMA,CAAoBC,CAAAA,CAAAA,CAAOC,UAAU,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAA,EAS5B,CAAC,CAAE,KAAA,CAAAC,CAAM,CAAOA,GAAAA,CAAAA,CAAQ,MAAQ,SAAU,CAAA;AAAA;AAAA,oBAAA,EAEzCC,CAAWA,EAAAA,CAAAA,CAAM,QAAW,CAAA,SAAA,CAAY,MAAO,CAAA;AAAA,SAAA,EAC1DA,CAAWA,EAAAA,CAAAA,CAAM,QAAW,CAAA,SAAA,CAAY,MAAO,CAAA;AAAA,eAC1C,EAAA,CAAC,CAAE,KAAAC,CAAAA,CAAM,IAAMA,CAAM,CAAA,UAAA,CAAW,OAAO,IAAI,CAAA;AAAA,eAC3C,EAAA,CAAC,CAAE,KAAAA,CAAAA,CAAM,IAAMA,CAAM,CAAA,UAAA,CAAW,OAAO,MAAM,CAAA;AAAA;AAAA;AAAA,EAAA,EAGzDC,CAAMA,EAAAA,CAAAA,CAAE,MAAW,GAAA,KAAA,EAAkB,yBAAyB;;AAAA;AAAA;AAAA;AAAA,sBAAA,EAK3C,CAAC,CAAE,KAAA,CAAAD,CAAM,CAAMA,GAAAA,CAAAA,CAAM,OAAO,cAAc,CAAA;AAAA,0BAAA,EACtC,CAAC,CAAE,KAAA,CAAAA,CAAM,CAAMA,GAAAA,CAAAA,CAAM,OAAO,cAAc,CAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAUzDE,EAAWN,CAAO,CAAA,GAAA;AAAA;AAAA,CAIlBO,CAAAA,CAAAA,CAAeP,CAAOQ,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAwBrCC,EAAkBT,CAAO,CAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunk-NBCEBCZT.js","sourcesContent":["import styled from '@emotion/styled';\nimport { IMaskInput } from 'react-imask';\nimport Button from '../../Button';\nimport { FormatType } from '../../Form/types';\n\nexport const StyledMaskedInput = styled(IMaskInput)<{\n disabled?: boolean;\n error?: boolean;\n format?: FormatType | string | ((value: any) => string);\n}>`\n width: 100%;\n height: 50px;\n box-sizing: border-box;\n border-radius: 8px;\n border: 1px solid ${({ error }) => (error ? 'red' : '#5a5a5a')};\n padding: 11px 14px;\n background-color: ${(props) => (props.disabled ? '#EEEEEE' : '#fff')};\n color: ${(props) => (props.disabled ? '#7F7F7F' : '#000')};\n font-family: ${({ theme }) => theme.typography.family.body};\n font-weight: ${({ theme }) => theme.typography.weight.normal};\n font-style: normal;\n font-size: 16px;\n ${(p) => p.format === FormatType.SSN && 'letter-spacing: 0.1rem;'}\n\n &:focus {\n outline-style: none;\n border-radius: 8px;\n border: 1px solid ${({ theme }) => theme.colors.secondaryGreen};\n box-shadow: 0 0 0 1px ${({ theme }) => theme.colors.secondaryGreen};\n }\n\n &:autofill {\n box-shadow: 0 0 0px 1000px #e9f0ee inset;\n transition: background-color 5000s ease-in-out 0s;\n background-clip: content-box !important;\n }\n`;\n\nexport const MaskWrap = styled.div`\n position: relative;\n`;\n\nexport const RevealToggle = styled(Button.Unstyled)`\n position: absolute;\n right: 0;\n top: 0;\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n outline: none;\n cursor: pointer;\n padding: 0 1rem;\n\n && {\n width: auto;\n }\n\n &:hover {\n path {\n fill: #285e50;\n }\n }\n`;\n\nexport const SuffixContainer = styled.div`\n position: absolute;\n right: 0;\n top: 0;\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding-right: 1rem;\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-DVMK65EP.js';import r from'@emotion/styled';import {Calendar}from'antd';var i=r(f.Unstyled)`
|
|
2
2
|
padding: 0;
|
|
3
3
|
display: inline;
|
|
4
4
|
height: auto;
|
|
@@ -57,5 +57,5 @@ import {f}from'./chunk-A6FW357L.js';import r from'@emotion/styled';import {Calen
|
|
|
57
57
|
&.ant-picker-calendar .ant-picker-panel {
|
|
58
58
|
border-top: none;
|
|
59
59
|
}
|
|
60
|
-
`;export{i as a,d as b};//# sourceMappingURL=chunk-
|
|
61
|
-
//# sourceMappingURL=chunk-
|
|
60
|
+
`;export{i as a,d as b};//# sourceMappingURL=chunk-O23VPSAV.js.map
|
|
61
|
+
//# sourceMappingURL=chunk-O23VPSAV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/DateSelectCalendar/style.tsx"],"names":["UnstyledButton","styled","Button_default","StyledCalendar","Calendar"],"mappings":"+FAIaA,IAAAA,CAAAA,CAAiBC,CAAOC,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAavCC,CAAAA,CAAAA,CAAiBF,EAAOG,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/DateSelectCalendar/style.tsx"],"names":["UnstyledButton","styled","Button_default","StyledCalendar","Calendar"],"mappings":"+FAIaA,IAAAA,CAAAA,CAAiBC,CAAOC,CAAAA,CAAAA,CAAO,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,CAavCC,CAAAA,CAAAA,CAAiBF,EAAOG,QAAQ,CAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA","file":"chunk-O23VPSAV.js","sourcesContent":["import styled from '@emotion/styled';\nimport { Calendar } from 'antd';\nimport Button from '../Button';\n\nexport const UnstyledButton = styled(Button.Unstyled)`\n padding: 0;\n display: inline;\n height: auto;\n border: 1px solid var(--border-color-light, #d9d9d9);\n border-radius: var(--Border-Radius-rounded-full, 624.9375rem);\n padding: 0.5rem 0.85rem;\n\n && {\n width: auto;\n }\n`;\n\nexport const StyledCalendar = styled(Calendar)`\n &&&& .ant-picker-calendar-date {\n background: rgba(0, 0, 0, 0);\n color: #000;\n }\n\n &&&&.ant-picker-calendar\n .ant-picker-cell-in-view.ant-picker-cell-today\n .ant-picker-cell-inner::before {\n border: none;\n }\n\n &&&& .ant-picker-cell-selected .ant-picker-cell-inner {\n background: rgba(212, 226, 221, 0.8);\n color: var(--green-900);\n font-weight: 700;\n }\n\n &&&&& .ant-picker-calendar-date-today {\n border: 1px solid var(--border-color-light-green, #afc8bf);\n }\n\n &&&& .ant-picker-cell-inner {\n border-radius: var(--Border-Radius-rounded-full, 624.9375rem);\n height: 2rem;\n width: 2rem;\n display: flex;\n margin: auto;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n }\n\n &&&& .ant-picker-cell-inner {\n border: none;\n }\n\n &&&& th {\n color: var(--copy-secondary, #555);\n }\n\n .ant-picker-cell:not(.ant-picker-cell-in-view) {\n visibility: hidden;\n }\n\n &.ant-picker-calendar .ant-picker-panel {\n border-top: none;\n }\n`;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {f}from'./chunk-
|
|
1
|
+
import {f}from'./chunk-DVMK65EP.js';import {useLexicalComposerContext}from'@lexical/react/LexicalComposerContext';import {useRef,useState,useCallback,useEffect}from'react';import {$getSelection,$isRangeSelection,SELECTION_CHANGE_COMMAND,CAN_UNDO_COMMAND,CAN_REDO_COMMAND,UNDO_COMMAND,REDO_COMMAND,FORMAT_TEXT_COMMAND,FORMAT_ELEMENT_COMMAND,$createParagraphNode}from'lexical';import {$isLinkNode,TOGGLE_LINK_COMMAND}from'@lexical/link';import {$isAtNodeEnd,$wrapNodes}from'@lexical/selection';import {$getNearestNodeOfType,mergeRegister}from'@lexical/utils';import {$isListNode,ListNode,INSERT_UNORDERED_LIST_COMMAND,REMOVE_LIST_COMMAND,INSERT_ORDERED_LIST_COMMAND}from'@lexical/list';import {createPortal}from'react-dom';import {$isHeadingNode,$createHeadingNode,$createQuoteNode}from'@lexical/rich-text';import {$createCodeNode}from'@lexical/code';import q from'@emotion/styled';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var l=q(f.Unstyled)`
|
|
2
2
|
border: 0;
|
|
3
3
|
display: flex;
|
|
4
4
|
height: auto;
|
|
@@ -121,5 +121,5 @@ import {f}from'./chunk-A6FW357L.js';import {useLexicalComposerContext}from'@lexi
|
|
|
121
121
|
pointer-events: none;
|
|
122
122
|
}
|
|
123
123
|
`;var $=1,xe=new Set(["paragraph","quote","code","h1","h2","ul","ol"]),Se={code:"Code Block",h1:"Large Heading",h2:"Small Heading",h3:"Heading",h4:"Heading",h5:"Heading",ol:"Numbered List",paragraph:"Normal",quote:"Quote",ul:"Bulleted List"},H=()=>jsx("div",{className:"divider"}),X=(a,t)=>t?Object.assign(a.style,{opacity:1,top:`${t.top+t.height+window.scrollY+10}px`,left:`${t.left+window.scrollX-a.offsetWidth/2+t.width/2}px`}):Object.assign(a.style,{opacity:0,top:-1e3,left:-1e3}),W=a=>{let{anchor:t,focus:r}=a,i=t.getNode(),s=r.getNode();return i===s?i:a.isBackward()?$isAtNodeEnd(r)?i:s:$isAtNodeEnd(t)?s:i},Be=({editor:a})=>{let t=useRef(null),r=useRef(null),i=useRef(!1),[s,N]=useState(""),[x,u]=useState(!1),[E,S]=useState(null),b=useCallback(()=>{let n=$getSelection();if($isRangeSelection(n)){let f=W(n),C=f.getParent();$isLinkNode(C)?N(C.getURL()):$isLinkNode(f)?N(f.getURL()):N("");}let o=t.current,c=window.getSelection(),{activeElement:h}=document;if(!o||!c)return;let g=a.getRootElement();if(n!==null&&!c.isCollapsed&&g!==null&&g.contains(c.anchorNode)){let f=c.getRangeAt(0),C;if(c.anchorNode===g){let B=g;for(;B.firstElementChild!=null;)B=B.firstElementChild;C=B.getBoundingClientRect();}else C=f.getBoundingClientRect();i.current||X(o,C),S(n);}else (!h||h.className!=="link-input")&&(X(o,null),S(null),u(!1),N(""));},[a]);return useEffect(()=>mergeRegister(a.registerUpdateListener(({editorState:n})=>{n.read(()=>{b();});}),a.registerCommand(SELECTION_CHANGE_COMMAND,()=>(b(),!0),$)),[a,b]),useEffect(()=>{a.getEditorState().read(()=>{b();});},[a,b]),useEffect(()=>{x&&r.current&&r.current.focus();},[x]),jsx("div",{ref:t,className:"link-editor",children:x?jsx("input",{ref:r,className:"link-input",value:s,onChange:n=>{N(n.target.value);},onKeyDown:n=>{n.key==="Enter"?(n.preventDefault(),E!==null&&(s!==""&&a.dispatchCommand(TOGGLE_LINK_COMMAND,s),u(!1))):n.key==="Escape"&&(n.preventDefault(),u(!1));}}):jsxs("div",{className:"link-input",children:[jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",children:s}),jsx("div",{className:"link-edit",role:"button",tabIndex:0,onMouseDown:n=>n.preventDefault(),onClick:()=>{u(!0);},onKeyDown:n=>{n.key==="Enter"&&(n.preventDefault(),u(!0));},"aria-label":"Edit link"})]})})},ve=({editor:a,blockType:t,toolbarRef:r,setShowBlockOptionsDropDown:i})=>{let s=useRef(null);return useEffect(()=>{let o=r.current,c=s.current;if(o!==null&&c!==null){let{top:h,left:g}=o.getBoundingClientRect();c.style.top=`${h+40}px`,c.style.left=`${g}px`;}},[s,r]),useEffect(()=>{let o=s.current,c=r.current;if(!o||!c)return ()=>null;let h=g=>{let{target:f}=g;f&&!o.contains(f)&&!c.contains(f)&&i(!1);};return document.addEventListener("click",h),()=>{document.removeEventListener("click",h);}},[s,i,r]),jsxs("div",{className:"dropdown",ref:s,children:[jsxs(l,{className:"item",onClick:()=>{t!=="paragraph"&&a.update(()=>{let o=$getSelection();$isRangeSelection(o)&&$wrapNodes(o,()=>$createParagraphNode());}),i(!1);},children:[jsx("span",{className:"icon paragraph"}),jsx("span",{className:"text",children:"Normal"}),t==="paragraph"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="h1"&&a.update(()=>{let o=$getSelection();$isRangeSelection(o)&&$wrapNodes(o,()=>$createHeadingNode("h1"));}),i(!1);},children:[jsx("span",{className:"icon large-heading"}),jsx("span",{className:"text",children:"Large Heading"}),t==="h1"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="h2"&&a.update(()=>{let o=$getSelection();$isRangeSelection(o)&&$wrapNodes(o,()=>$createHeadingNode("h2"));}),i(!1);},children:[jsx("span",{className:"icon small-heading"}),jsx("span",{className:"text",children:"Small Heading"}),t==="h2"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="ul"?a.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND,void 0):a.dispatchCommand(REMOVE_LIST_COMMAND,void 0),i(!1);},children:[jsx("span",{className:"icon bullet-list"}),jsx("span",{className:"text",children:"Bullet List"}),t==="ul"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="ol"?a.dispatchCommand(INSERT_ORDERED_LIST_COMMAND,void 0):a.dispatchCommand(REMOVE_LIST_COMMAND,void 0),i(!1);},children:[jsx("span",{className:"icon numbered-list"}),jsx("span",{className:"text",children:"Numbered List"}),t==="ol"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="quote"&&a.update(()=>{let o=$getSelection();$isRangeSelection(o)&&$wrapNodes(o,()=>$createQuoteNode());}),i(!1);},children:[jsx("span",{className:"icon quote"}),jsx("span",{className:"text",children:"Quote"}),t==="quote"&&jsx("span",{className:"active"})]}),jsxs(l,{className:"item",onClick:()=>{t!=="code"&&a.update(()=>{let o=$getSelection();$isRangeSelection(o)&&$wrapNodes(o,()=>$createCodeNode());}),i(!1);},children:[jsx("span",{className:"icon code"}),jsx("span",{className:"text",children:"Code Block"}),t==="code"&&jsx("span",{className:"active"})]})]})},Le=({className:a=""})=>{let[t]=useLexicalComposerContext(),r=useRef(null),[i,s]=useState(!1),[N,x]=useState(!1),[u,E]=useState("paragraph"),[S,b]=useState(!1),[n,o]=useState(!1),[c,h]=useState(!1),[g,f]=useState(!1),[C,B]=useState(!1),[Y,Z]=useState(!1),[ee,te]=useState(!1),A=useCallback(()=>{let d=$getSelection();if($isRangeSelection(d)){let w=d.anchor.getNode(),v=w.getKey()==="root"?w:w.getTopLevelElementOrThrow(),ne=v.getKey();if(t.getElementByKey(ne)!==null)if($isListNode(v)){let D=$getNearestNodeOfType(w,ListNode),ie=D?D.getTag():v.getTag();E(ie);}else {let D=$isHeadingNode(v)?v.getTag():v.getType();E(D);}h(d.hasFormat("bold")),f(d.hasFormat("italic")),B(d.hasFormat("underline")),Z(d.hasFormat("strikethrough")),te(d.hasFormat("code"));let F=W(d),le=F.getParent();$isLinkNode(le)||$isLinkNode(F)?o(!0):o(!1);}},[t]);useEffect(()=>mergeRegister(t.registerUpdateListener(({editorState:d})=>{d.read(()=>{A();});}),t.registerCommand(SELECTION_CHANGE_COMMAND,()=>(A(),!1),$),t.registerCommand(CAN_UNDO_COMMAND,d=>(s(d),!1),$),t.registerCommand(CAN_REDO_COMMAND,d=>(x(d),!1),$)),[t,A]);let ae=useCallback(()=>{n?t.dispatchCommand(TOGGLE_LINK_COMMAND,null):t.dispatchCommand(TOGGLE_LINK_COMMAND,"https://");},[t,n]),oe=()=>n?createPortal(jsx(Be,{editor:t}),document.body):null;return jsxs("div",{className:`toolbar ${a}`,ref:r,children:[jsx(l,{disabled:!i,onClick:()=>{t.dispatchCommand(UNDO_COMMAND,void 0);},className:"toolbar-item spaced","aria-label":"Undo",children:jsx("i",{className:"format undo"})}),jsx(l,{disabled:!N,onClick:()=>{t.dispatchCommand(REDO_COMMAND,void 0);},className:"toolbar-item","aria-label":"Redo",children:jsx("i",{className:"format redo"})}),jsx(H,{}),xe.has(u)&&jsxs(Fragment,{children:[jsxs(l,{className:"toolbar-item block-controls",onClick:()=>b(!S),"aria-label":"Formatting Options",children:[jsx("span",{className:`icon block-type ${u}`}),jsx("span",{className:"text",children:Se[u]}),jsx("i",{className:"chevron-down"})]}),S&&createPortal(jsx(ve,{editor:t,blockType:u,toolbarRef:r,setShowBlockOptionsDropDown:b}),document.body),jsx(H,{})]}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_TEXT_COMMAND,"bold");},className:`toolbar-item spaced ${c?"active":""}`,"aria-label":"Format Bold",children:jsx("i",{className:"format bold"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_TEXT_COMMAND,"italic");},className:`toolbar-item spaced ${g?"active":""}`,"aria-label":"Format Italics",children:jsx("i",{className:"format italic"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_TEXT_COMMAND,"underline");},className:`toolbar-item spaced ${C?"active":""}`,"aria-label":"Format Underline",children:jsx("i",{className:"format underline"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_TEXT_COMMAND,"strikethrough");},className:`toolbar-item spaced ${Y?"active":""}`,"aria-label":"Format Strikethrough",children:jsx("i",{className:"format strikethrough"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_TEXT_COMMAND,"code");},className:`toolbar-item spaced ${ee?"active":""}`,"aria-label":"Insert Code",children:jsx("i",{className:"format code"})}),jsx(l,{onClick:ae,className:`toolbar-item spaced ${n?"active":""}`,"aria-label":"Insert Link",children:jsx("i",{className:"format link"})}),jsx(oe,{}),jsx(H,{}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_ELEMENT_COMMAND,"left");},className:"toolbar-item spaced","aria-label":"Left Align",children:jsx("i",{className:"format left-align"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_ELEMENT_COMMAND,"center");},className:"toolbar-item spaced","aria-label":"Center Align",children:jsx("i",{className:"format center-align"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_ELEMENT_COMMAND,"right");},className:"toolbar-item spaced","aria-label":"Right Align",children:jsx("i",{className:"format right-align"})}),jsx(l,{onClick:()=>{t.dispatchCommand(FORMAT_ELEMENT_COMMAND,"justify");},className:"toolbar-item","aria-label":"Justify Align",children:jsx("i",{className:"format justify-align"})})," "]})},K=Le;
|
|
124
|
-
export{K as a,l as b,De as c};//# sourceMappingURL=chunk-
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
124
|
+
export{K as a,l as b,De as c};//# sourceMappingURL=chunk-OHCNUR3C.js.map
|
|
125
|
+
//# sourceMappingURL=chunk-OHCNUR3C.js.map
|