@ibiz-template/mob-vue3-components 0.7.41-alpha.17 → 0.7.41-alpha.18

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.
Files changed (48) hide show
  1. package/dist/ibiz-markdown-editor-CpFrKPxk.js +2 -0
  2. package/dist/ibiz-markdown-editor-CpFrKPxk.js.map +1 -0
  3. package/dist/{index-CLxzVzNz.js → index-DO9R8HNp.js} +13 -13
  4. package/dist/index-DO9R8HNp.js.map +1 -0
  5. package/dist/index.min.css +3 -3
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/{quill-CG16aqds.js → quill-DKjojHxx.js} +2 -2
  8. package/dist/{quill-CG16aqds.js.map → quill-DKjojHxx.js.map} +1 -1
  9. package/dist/quill-editor-B4FDYSA7.js +2 -0
  10. package/dist/quill-editor-B4FDYSA7.js.map +1 -0
  11. package/dist/{quill-editor-preview-YXGzGLmQ.js → quill-editor-preview-6GV-nd2y.js} +2 -2
  12. package/dist/{quill-editor-preview-YXGzGLmQ.js.map → quill-editor-preview-6GV-nd2y.js.map} +1 -1
  13. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -0
  14. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +8 -2
  15. package/es/editor/date-range/date-range-editor.controller.mjs +4 -1
  16. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +12 -0
  17. package/es/editor/html/html-editor.controller.mjs +52 -1
  18. package/es/editor/html/quill-editor/quill-editor.mjs +10 -1
  19. package/es/editor/index.mjs +13 -3
  20. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +10 -1
  21. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +25 -0
  22. package/es/editor/upload/ibiz-image-select/ibiz-image-select.mjs +5 -2
  23. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +5 -2
  24. package/es/editor/upload/upload-editor.controller.mjs +29 -1
  25. package/es/editor/upload/use/use-van-upload.mjs +8 -1
  26. package/es/platform/ios-platform-provider.mjs +11 -0
  27. package/es/platform/wechat-official-platform-provider.mjs +11 -0
  28. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +3 -0
  29. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +8 -2
  30. package/lib/editor/date-range/date-range-editor.controller.cjs +4 -1
  31. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +12 -0
  32. package/lib/editor/html/html-editor.controller.cjs +52 -1
  33. package/lib/editor/html/quill-editor/quill-editor.cjs +10 -1
  34. package/lib/editor/index.cjs +14 -4
  35. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +10 -1
  36. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +25 -0
  37. package/lib/editor/upload/ibiz-image-select/ibiz-image-select.cjs +5 -2
  38. package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +5 -2
  39. package/lib/editor/upload/upload-editor.controller.cjs +29 -1
  40. package/lib/editor/upload/use/use-van-upload.cjs +8 -1
  41. package/lib/platform/ios-platform-provider.cjs +11 -0
  42. package/lib/platform/wechat-official-platform-provider.cjs +11 -0
  43. package/package.json +5 -5
  44. package/dist/ibiz-markdown-editor-B7D3K0dJ.js +0 -2
  45. package/dist/ibiz-markdown-editor-B7D3K0dJ.js.map +0 -1
  46. package/dist/index-CLxzVzNz.js.map +0 -1
  47. package/dist/quill-editor-C7zYyQrk.js +0 -2
  48. package/dist/quill-editor-C7zYyQrk.js.map +0 -1
@@ -1,2 +0,0 @@
1
- System.register(["vue","@ibiz-template/vue3-util","./quill-CG16aqds.js","@ibiz-template/core","lodash-es","./index-CLxzVzNz.js","vant","ramda","@ibiz-template/runtime","@floating-ui/dom","vue-router","pinia","qx-util","dayjs","vuedraggable","qs","vue-i18n","@ibiz-template/devtool","@ibiz-template/model-helper"],function(B){"use strict";var C,n,u,a,h,y,z,w,x,T,E,U,k,H;return{setters:[function(t){C=t.defineComponent,n=t.createVNode,u=t.resolveComponent,a=t.ref,h=t.watch,y=t.isVNode,z=t.nextTick},function(t){w=t.getEditorEmits,x=t.getHtmlProps,T=t.useNamespace},function(t){E=t.Q},function(t){U=t.getAppCookie,k=t.CoreConst,H=t.base64ToBlob},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],execute:function(){function t(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!y(e)}const I=B("default",C({name:"IBizQuill",props:x(),emits:w(),setup(e,{emit:r}){const d=T("quill"),l=e.controller,m=a(null),q=ibiz.i18n.getLang();let i=null;const L=a({[`${ibiz.env.tokenHeader}Authorization`]:`${ibiz.env.tokenPrefix}Bearer ${U(k.TOKEN)}`}),M=a(""),N=a(""),b=a(!1),g=a(!1),f=a(""),O=a(!0),P=o=>{const s=o.ops.find(c=>c.insert&&c.insert.image);if(s)return s.insert.image},j=()=>l.valueMode==="text"?i.getText():i.getSemanticHTML(),Q=async o=>{const s=H(o),c=await ibiz.util.file.fileUpload(M.value,s,L.value),p=N.value.replace("%fileId%",c.fileid),v=j();f.value=v.replace(o,p)},V=()=>{if(!m.value)return;const o=l.showToolbar?"snow":"bubble";i=new E(m.value,{theme:o,modules:l.modules,readOnly:e.disabled||e.readonly,placeholder:l.placeHolder}),i.on("text-change",(s,c,p)=>{if(p==="user"){const v=P(s);if(v&&l.imageMode==="file"){Q(v);return}f.value=j()}}),l.valueMode==="text"&&i.setText(e.value||"")};return h(()=>[e.disabled,e.readonly],()=>{i&&(e.disabled||e.readonly?i.enable(!1):i.enable())},{immediate:!0}),h(()=>e.data,o=>{if(o){const s=ibiz.util.file.calcFileUpDownUrl(l.context,l.params,o,l.editorParams);M.value=s.uploadUrl,N.value=s.downloadUrl}},{immediate:!0,deep:!0}),h(()=>e.value,()=>{!i||!e.value||(f.value=e.value,l.valueMode==="text"?i.setText(e.value):(g.value=!0,z(()=>{g.value=!1})))},{immediate:!0}),{ns:d,c:l,lang:q,editing:b,updating:g,editorRef:m,isCollapse:O,handleEdit:()=>{i||V()},handleCancel:()=>{b.value=!1},handleConfirm:()=>{r("change",f.value),b.value=!1}}},render(){let e,r;return n("div",{class:[this.ns.b(),this.disabled?this.ns.m("disabled"):"",this.readonly?this.ns.m("readonly"):"",this.ns.m(this.lang.toLowerCase())]},[!this.updating&&n(u("iBizQuillPreview"),{value:this.value,controller:this.controller,disabled:this.disabled,readonly:this.readonly,showCollapse:this.c.showCollapse,defaultHeight:this.c.defaultHeight,isCollapse:this.isCollapse,onEdit:()=>{this.editing=!0},onCollapse:d=>{this.isCollapse=d}},null),n(u("van-action-sheet"),{show:this.editing,"onUpdate:show":d=>this.editing=d,teleport:"body",class:[this.ns.e("popup"),this.ns.m(this.lang.toLowerCase())],onOpened:this.handleEdit},{default:()=>[n("div",{class:this.ns.e("content")},[n("div",{ref:"editorRef"},[this.controller.valueMode==="html"?n("div",{innerHTML:this.value},null):null])]),n("div",{class:this.ns.e("footer")},[n(u("van-button"),{class:this.ns.e("cancel"),onClick:this.handleCancel},t(e=ibiz.i18n.t("editor.common.cancel"))?e:{default:()=>[e]}),n(u("van-button"),{class:this.ns.e("confirm"),onClick:this.handleConfirm,type:"primary"},t(r=ibiz.i18n.t("editor.common.confirm"))?r:{default:()=>[r]})])]})])}}))}}});
2
- //# sourceMappingURL=quill-editor-C7zYyQrk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quill-editor-C7zYyQrk.js","sources":["../src/editor/html/quill-editor/quill-editor.tsx"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { defineComponent, nextTick, Ref, ref, watch } from 'vue';\nimport {\n getHtmlProps,\n getEditorEmits,\n useNamespace,\n} from '@ibiz-template/vue3-util';\nimport 'quill/dist/quill.core.css';\nimport 'quill/dist/quill.snow.css';\nimport 'quill/dist/quill.bubble.css';\nimport Quill from 'quill';\nimport { Delta } from 'quill/core';\nimport { base64ToBlob, CoreConst, getAppCookie } from '@ibiz-template/core';\nimport { HtmlEditorController } from '../html-editor.controller';\nimport './quill-editor.scss';\n\n/**\n * 移动端HTML编辑框\n * @primary\n * @description 基于Quill深度定制可扩展的富文本编辑器,集成文件/图片上传、实时预览及样式配置功能,提供完整的富媒体编辑解决方案。支持编辑器类型包含:`移动端HTML编辑框`\n * @editorparams {name:uploadParams,parameterType:IData,defaultvalue:{},description:上传参数}\n * @editorparams {name:exportParams,parameterType:IData,defaultvalue:{},description:下载参数}\n * @editorparams {name:SHOWTOOLBAR,parameterType:boolean,defaultvalue:true,description:显示工具栏}\n * @editorparams {name:VALUEMODE,parameterType:'text' | 'html',defaultvalue:html,description:值模式,暂时只支持html模式}\n * @editorparams {name:IMAGEMODE,parameterType:'base64' | 'file',defaultvalue:'file',description:图片模式}\n * @editorparams {name:MODULES,parameterType:IData,description:quill配置}\n * @editorparams {name:DEFAULTHEIGHT,parameterType:number,defaultvalue:200,description:收缩时的高度}\n * @editorparams {name:SHOWCOLLAPSE,parameterType:boolean,defaultvalue:true,description:是否显示伸缩按钮}\n * @ignoreprops autoFocus | overflowMode\n * @ignoreemits infoTextChange | enter\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst IBizQuill: any = defineComponent({\n name: 'IBizQuill',\n props: getHtmlProps<HtmlEditorController>(),\n emits: getEditorEmits(),\n setup(props, { emit }) {\n const ns = useNamespace('quill');\n const c: HtmlEditorController = props.controller;\n\n const editorRef = ref(null);\n\n const lang = ibiz.i18n.getLang();\n\n // 编辑器对象\n let quill: Quill | null = null;\n\n // 请求头\n const headers: Ref<IData> = ref({\n [`${ibiz.env.tokenHeader}Authorization`]: `${\n ibiz.env.tokenPrefix\n }Bearer ${getAppCookie(CoreConst.TOKEN)}`,\n });\n\n // 上传文件路径\n const uploadUrl: Ref<string> = ref('');\n\n // 下载文件路径\n const downloadUrl: Ref<string> = ref('');\n\n // 编辑状态\n const editing: Ref<boolean> = ref(false);\n\n // 更新中\n const updating: Ref<boolean> = ref(false);\n\n // 临时数据\n const tempValue: Ref<string> = ref('');\n\n // 是否完全展开\n const isCollapse: Ref<boolean> = ref(true);\n\n const getImage = (delta: Delta) => {\n const item = delta.ops.find(x => x.insert && (x.insert as IData).image);\n if (item) {\n return (item.insert as IData).image;\n }\n };\n\n const getValue = () => {\n if (c.valueMode === 'text') {\n return quill!.getText();\n }\n return quill!.getSemanticHTML();\n };\n\n // 处理图片上传(文件模式)\n const handleUpload = async (image: string) => {\n const blob = base64ToBlob(image);\n const file = await ibiz.util.file.fileUpload(\n uploadUrl.value,\n blob,\n headers.value,\n );\n const url = downloadUrl.value.replace('%fileId%', file.fileid);\n const value = getValue();\n tempValue.value = value.replace(image, url);\n };\n\n const init = () => {\n if (!editorRef.value) {\n return;\n }\n const theme = c.showToolbar ? 'snow' : 'bubble';\n quill = new Quill(editorRef.value, {\n theme,\n modules: c.modules,\n readOnly: props.disabled || props.readonly,\n placeholder: c.placeHolder,\n });\n quill.on('text-change', (delta, oldDelta, source) => {\n if (source === 'user') {\n const image = getImage(delta);\n if (image && c.imageMode === 'file') {\n handleUpload(image);\n return;\n }\n tempValue.value = getValue();\n }\n });\n if (c.valueMode === 'text') {\n quill.setText(props.value || '');\n }\n };\n\n watch(\n () => [props.disabled, props.readonly],\n () => {\n if (!quill) {\n return;\n }\n if (props.disabled || props.readonly) {\n quill.enable(false);\n } else {\n quill.enable();\n }\n },\n { immediate: true },\n );\n\n // data响应式变更基础路径\n watch(\n () => props.data,\n newVal => {\n if (newVal) {\n const urls = ibiz.util.file.calcFileUpDownUrl(\n c.context,\n c.params,\n newVal,\n c.editorParams,\n );\n uploadUrl.value = urls.uploadUrl;\n downloadUrl.value = urls.downloadUrl;\n }\n },\n { immediate: true, deep: true },\n );\n\n watch(\n () => props.value,\n () => {\n if (!quill || !props.value) {\n return;\n }\n tempValue.value = props.value;\n if (c.valueMode === 'text') {\n quill.setText(props.value);\n } else {\n updating.value = true;\n nextTick(() => {\n updating.value = false;\n });\n }\n },\n { immediate: true },\n );\n\n // 展开编辑\n const handleEdit = () => {\n if (!quill) {\n init();\n }\n };\n\n // 取消编辑\n const handleCancel = () => {\n editing.value = false;\n };\n\n // 确认编辑\n const handleConfirm = () => {\n emit('change', tempValue.value);\n editing.value = false;\n };\n\n return {\n ns,\n c,\n lang,\n editing,\n updating,\n editorRef,\n isCollapse,\n handleEdit,\n handleCancel,\n handleConfirm,\n };\n },\n render() {\n return (\n <div\n class={[\n this.ns.b(),\n this.disabled ? this.ns.m('disabled') : '',\n this.readonly ? this.ns.m('readonly') : '',\n this.ns.m(this.lang.toLowerCase()),\n ]}\n >\n {!this.updating && (\n <iBizQuillPreview\n value={this.value}\n controller={this.controller}\n disabled={this.disabled}\n readonly={this.readonly}\n showCollapse={this.c.showCollapse}\n defaultHeight={this.c.defaultHeight}\n isCollapse={this.isCollapse}\n onEdit={() => {\n this.editing = true;\n }}\n onCollapse={(val: boolean) => {\n this.isCollapse = val;\n }}\n />\n )}\n <van-action-sheet\n v-model:show={this.editing}\n teleport='body'\n class={[this.ns.e('popup'), this.ns.m(this.lang.toLowerCase())]}\n onOpened={this.handleEdit}\n >\n <div class={this.ns.e('content')}>\n <div ref='editorRef'>\n {this.controller.valueMode === 'html' ? (\n <div v-html={this.value}></div>\n ) : null}\n </div>\n </div>\n <div class={this.ns.e('footer')}>\n <van-button class={this.ns.e('cancel')} onClick={this.handleCancel}>\n {ibiz.i18n.t('editor.common.cancel')}\n </van-button>\n <van-button\n class={this.ns.e('confirm')}\n onClick={this.handleConfirm}\n type='primary'\n >\n {ibiz.i18n.t('editor.common.confirm')}\n </van-button>\n </div>\n </van-action-sheet>\n </div>\n );\n },\n});\n\nexport default IBizQuill;\n"],"names":["s","_isVNode","IBizQuill","exports","defineComponent","getHtmlProps","getEditorEmits","props","emit","ns","useNamespace","c","editorRef","ref","lang","quill","headers","getAppCookie","CoreConst","uploadUrl","downloadUrl","updating","delta","item","image","tokenHeader","file","blob","value","getValue","tempValue","url","init","editing","theme","source","isCollapse","getImage","ops","valueMode","getText","watch","base64ToBlob","ibiz","newVal","Quill","urls","readOnly","placeholder","nextTick","immediate","deep","_slot","_createVNode","_resolveComponent","val","$event","handleCancel","handleConfirm","handleEdit","_isSlot","_slot2","render"],"mappings":"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"}