mainstack-design-system 1.17.4 → 1.18.0

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/index.d.ts CHANGED
@@ -10068,6 +10068,7 @@ declare type TextEditorContextType = {
10068
10068
  onGenerateWithAi?: () => void;
10069
10069
  generateWithAiIsLoading?: boolean;
10070
10070
  onError?: (error: unknown) => void;
10071
+ onImageUpload?: (file: File) => Promise<string>;
10071
10072
  isError?: boolean;
10072
10073
  isSuccess?: boolean;
10073
10074
  };
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react");require("./mainstack-design-system366.cjs");const x=require("./mainstack-design-system241.cjs");require("./player-CocaNyQC.cjs");const n=require("./utils-s-0cOrOT.cjs"),a=require("./index-C1WE8GDC.cjs"),E=require("./mainstack-design-system506.cjs"),q=require("./mainstack-design-system610.cjs"),c=i.forwardRef(({className:d,...l},u)=>{const{onError:o}=q.useTextEditorContext(),{editor:t}=a.useCurrentEditor(),m=a.useEditorState({editor:t,selector:e=>e.editor?{isImage:t?.isActive("image")}:{}}),f=i.useCallback(e=>{if(e.preventDefault(),e.target.files){const p=e.target.files[0],r=new FileReader;r.onload=()=>{t?.chain().focus().insertContent({type:"image",attrs:{src:r.result}}).run()},r.onerror=g=>{o&&o(g)},r.readAsDataURL(p)}},[t,o]);return s.jsxs(E.TextEditorMenuAction,{isActive:m?.isImage,ref:u,onClick:()=>{},"data-slot":"text-editor-image-upload-menu",className:n.cn("mds:relative",d),...l,children:[s.jsx(x,{className:"mds:size-16"}),s.jsx("input",{className:n.cn("mds:absolute mds:file-selector mds:opacity-0 mds:file:cursor-pointer mds:w-full mds:h-full mds:left-0 mds:top-0"),type:"file",accept:"image/*",onChange:f})]})});c.displayName="ImageUploadMenu";exports.ImageUploadMenu=c;
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("react");require("./mainstack-design-system366.cjs");const I=require("./mainstack-design-system241.cjs");require("./player-CocaNyQC.cjs");const d=require("./utils-s-0cOrOT.cjs"),l=require("./index-C1WE8GDC.cjs"),y=require("./mainstack-design-system506.cjs"),_=require("./mainstack-design-system610.cjs"),u=c.forwardRef(({className:m,...p},f)=>{const{onError:a,onImageUpload:s}=_.useTextEditorContext(),{editor:t}=l.useCurrentEditor(),g=l.useEditorState({editor:t,selector:r=>r.editor?{isImage:t?.isActive("image")}:{}}),x=c.useCallback(async r=>{r.preventDefault();const n=r.target.files?.[0];if(n)try{let e;s?e=await s(n):e=await new Promise((E,q)=>{const o=new FileReader;o.onload=()=>E(o.result),o.onerror=q,o.readAsDataURL(n)}),t?.chain().focus().insertContent({type:"image",attrs:{src:e}}).run()}catch(e){a?.(e)}},[t,a,s]);return i.jsxs(y.TextEditorMenuAction,{isActive:g?.isImage,ref:f,onClick:()=>{},"data-slot":"text-editor-image-upload-menu",className:d.cn("mds:relative",m),...p,children:[i.jsx(I,{className:"mds:size-16"}),i.jsx("input",{className:d.cn("mds:absolute mds:file-selector mds:opacity-0 mds:file:cursor-pointer mds:w-full mds:h-full mds:left-0 mds:top-0"),type:"file",accept:"image/*",onChange:x})]})});u.displayName="ImageUploadMenu";exports.ImageUploadMenu=u;
@@ -1,59 +1,58 @@
1
1
  'use client';
2
- import { jsxs as p, jsx as s } from "react/jsx-runtime";
3
- import { forwardRef as u, useCallback as g } from "react";
2
+ import { jsxs as x, jsx as m } from "react/jsx-runtime";
3
+ import { forwardRef as I, useCallback as h } from "react";
4
4
  import "./mainstack-design-system366.js";
5
- import x from "./mainstack-design-system241.js";
5
+ import w from "./mainstack-design-system241.js";
6
6
  import "./player-Chgv-hOU.js";
7
- import { c as a } from "./utils-Z5JtG_Bc.js";
8
- import { u as C, a as I } from "./index-B9lFQRm4.js";
9
- import { TextEditorMenuAction as h } from "./mainstack-design-system506.js";
10
- import { useTextEditorContext as E } from "./mainstack-design-system610.js";
11
- const v = u(
12
- ({ className: i, ...m }, n) => {
13
- const { onError: r } = E(), { editor: t } = C(), l = I({
7
+ import { c as n } from "./utils-Z5JtG_Bc.js";
8
+ import { u as y, a as C } from "./index-B9lFQRm4.js";
9
+ import { TextEditorMenuAction as E } from "./mainstack-design-system506.js";
10
+ import { useTextEditorContext as U } from "./mainstack-design-system610.js";
11
+ const v = I(
12
+ ({ className: l, ...d }, c) => {
13
+ const { onError: i, onImageUpload: a } = U(), { editor: t } = y(), p = C({
14
14
  editor: t,
15
- selector: (e) => e.editor ? {
15
+ selector: (r) => r.editor ? {
16
16
  isImage: t?.isActive("image")
17
17
  } : {}
18
- }), d = g(
19
- (e) => {
20
- if (e.preventDefault(), e.target.files) {
21
- const c = e.target.files[0], o = new FileReader();
22
- o.onload = () => {
23
- t?.chain().focus().insertContent({
24
- type: "image",
25
- attrs: {
26
- src: o.result
27
- }
28
- }).run();
29
- }, o.onerror = (f) => {
30
- r && r(f);
31
- }, o.readAsDataURL(c);
32
- }
18
+ }), u = h(
19
+ async (r) => {
20
+ r.preventDefault();
21
+ const s = r.target.files?.[0];
22
+ if (s)
23
+ try {
24
+ let e;
25
+ a ? e = await a(s) : e = await new Promise((f, g) => {
26
+ const o = new FileReader();
27
+ o.onload = () => f(o.result), o.onerror = g, o.readAsDataURL(s);
28
+ }), t?.chain().focus().insertContent({ type: "image", attrs: { src: e } }).run();
29
+ } catch (e) {
30
+ i?.(e);
31
+ }
33
32
  },
34
- [t, r]
33
+ [t, i, a]
35
34
  );
36
- return /* @__PURE__ */ p(
37
- h,
35
+ return /* @__PURE__ */ x(
36
+ E,
38
37
  {
39
- isActive: l?.isImage,
40
- ref: n,
38
+ isActive: p?.isImage,
39
+ ref: c,
41
40
  onClick: () => {
42
41
  },
43
42
  "data-slot": "text-editor-image-upload-menu",
44
- className: a("mds:relative", i),
45
- ...m,
43
+ className: n("mds:relative", l),
44
+ ...d,
46
45
  children: [
47
- /* @__PURE__ */ s(x, { className: "mds:size-16" }),
48
- /* @__PURE__ */ s(
46
+ /* @__PURE__ */ m(w, { className: "mds:size-16" }),
47
+ /* @__PURE__ */ m(
49
48
  "input",
50
49
  {
51
- className: a(
50
+ className: n(
52
51
  "mds:absolute mds:file-selector mds:opacity-0 mds:file:cursor-pointer mds:w-full mds:h-full mds:left-0 mds:top-0"
53
52
  ),
54
53
  type: "file",
55
54
  accept: "image/*",
56
- onChange: d
55
+ onChange: u
57
56
  }
58
57
  )
59
58
  ]