mtxuilib 0.0.339 → 0.0.340
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/esm/ui/button.d.ts +1 -1
- package/dist/esm/ui/novel/tailwind/advanced-editor.d.ts +5 -1
- package/dist/esm/ui/novel/tailwind/advanced-editor.js +1 -1
- package/dist/esm/ui/novel/tailwind/extensions.js +1 -1
- package/dist/esm/ui/novel/tailwind/ui/button.d.ts +1 -1
- package/dist/esm/ui/novel/tailwind/utils.d.ts +1 -0
- package/dist/esm/ui/novel/tailwind/utils.js +1 -0
- package/dist/esm/ui/ui-mt/input-field/RichEditorInput.d.ts +8 -0
- package/dist/esm/ui/ui-mt/input-field/RichEditorInput.js +1 -0
- package/dist/esm/ui/ui-mt/inputs/SearchInput.d.ts +1 -1
- package/dist/tailwind.cjs +1 -7
- package/dist/tsconfig.type.tsbuildinfo +1 -1
- package/dist/ui/novel/tailwind/advanced-editor.cjs +13 -13
- package/dist/ui/novel/tailwind/extensions.cjs +3 -1
- package/dist/{NovelEditor.cjs → ui/novel/tailwind/utils.cjs} +13 -7
- package/dist/ui/ui-mt/input-field/RichEditorInput.cjs +38 -0
- package/package.json +18 -9
- package/dist/esm/NovelEditor.d.ts +0 -2
- package/dist/esm/NovelEditor.js +0 -1
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/InputField.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/InputField.js +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/SingleUploadForm.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/SingleUploadForm.js +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/TextArea.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/TextArea.js +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/TextFileInput.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/TextFileInput.js +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/select/InputSelect.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/select/InputSelect.js +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/types.d.ts +0 -0
- /package/dist/esm/ui/ui-mt/{inputField → input-field}/types.js +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/InputField.cjs +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/SingleUploadForm.cjs +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/TextArea.cjs +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/TextFileInput.cjs +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/select/InputSelect.cjs +0 -0
- /package/dist/ui/ui-mt/{inputField → input-field}/types.cjs +0 -0
package/dist/esm/ui/button.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "icon" | "default" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
8
|
asChild?: boolean;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
import { type JSONContent } from "../novel/src/components";
|
|
3
|
+
export declare const TailwindAdvancedEditor: (props: {
|
|
4
|
+
onValueChange?: ((content: any) => void) | undefined;
|
|
5
|
+
content?: JSONContent | null | undefined;
|
|
6
|
+
}) => import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";var
|
|
1
|
+
"use client";var w=(f,m,r)=>new Promise((p,l)=>{var g=t=>{try{d(r.next(t))}catch(s){l(s)}},c=t=>{try{d(r.throw(t))}catch(s){l(s)}},d=t=>t.done?p(t.value):Promise.resolve(t.value).then(g,c);d((r=r.apply(f,m)).next())});import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useEffect as A,useState as i}from"react";import{useDebouncedCallback as D}from"use-debounce";import{defaultExtensions as z}from"./extensions";import{ColorSelector as E}from"./selectors/color-selector";import{LinkSelector as N}from"./selectors/link-selector";import{NodeSelector as S}from"./selectors/node-selector";import{Separator as u}from"./ui/separator";import{defaultEditorContent as B}from"../content";import{EditorBubble as M,EditorCommand as P,EditorCommandEmpty as R,EditorCommandItem as U,EditorCommandList as G,EditorContent as T,EditorRoot as V}from"../novel/src/components";import{ImageResizer as _,handleCommandNavigation as j}from"../novel/src/extensions";import{handleImageDrop as F,handleImagePaste as K}from"../novel/src/plugins";import q from"./generative/generative-menu-switch";import{uploadFn as O}from"./image-upload";import{TextButtons as y}from"./selectors/text-buttons";import{suggestionItems as H}from"./slash-command";const I="novel-content",pe=f=>{const{onValueChange:m,content:r}=f,[p,l]=i(r||null),[g,c]=i("Saved"),[d,t]=i(!1),[s,v]=i(!1),[C,b]=i(!1),[h,k]=i(!1),J=D(o=>w(void 0,null,function*(){const n=o.getJSON(),x=JSON.stringify(n);window.localStorage.setItem(I,x),c("Saved"),m&&m(n)}),500);return A(()=>{const o=window.localStorage.getItem(I);l(o?JSON.parse(o):B)},[]),p?a("div",{className:"relative w-full max-w-screen-lg",children:[e("div",{className:"bg-accent text-muted-foreground absolute right-5 top-5 z-10 mb-5 rounded-lg px-2 py-1 text-sm",children:g}),e(V,{children:a(T,{initialContent:p,extensions:z,className:"border-muted bg-background relative min-h-[500px] w-full max-w-screen-lg sm:mb-[calc(20vh)] sm:rounded-lg sm:border sm:shadow-lg",editorProps:{handleDOMEvents:{keydown:(o,n)=>j(n)},handlePaste:(o,n)=>K(o,n,O),handleDrop:(o,n,x,L)=>F(o,n,L,O),attributes:{class:"prose prose-lg dark:prose-invert prose-headings:font-title font-default focus:outline-none max-w-full"}},onUpdate:({editor:o})=>{J(o),c("Unsaved")},slotAfter:e(_,{}),children:[a(M,{tippyOptions:{placement:h?"bottom-start":"top"},className:"border-muted bg-background flex w-fit max-w-[90vw] overflow-hidden rounded border shadow-xl",children:[e(S,{open:d,onOpenChange:t}),e(N,{open:C,onOpenChange:b}),e(y,{}),e(E,{open:s,onOpenChange:v})]}),a(P,{className:"border-muted bg-background z-50 h-auto max-h-[330px] overflow-y-auto rounded-md border px-1 py-2 shadow-md transition-all",children:[e(R,{className:"text-muted-foreground px-2",children:"No results"}),e(G,{children:H.map(o=>a(U,{value:o.title,onCommand:n=>{o.command&&o.command(n)},className:"hover:bg-accent aria-selected:bg-accent flex w-full items-center space-x-2 rounded-md px-2 py-1 text-left text-sm ",children:[e("div",{className:"border-muted bg-background flex h-10 w-10 items-center justify-center rounded-md border",children:o.icon}),a("div",{children:[e("p",{className:"font-medium",children:o.title}),e("p",{className:"text-muted-foreground text-xs",children:o.description})]})]},o.title))})]}),a(q,{open:h,onOpenChange:k,children:[e(u,{orientation:"vertical"}),e(S,{open:d,onOpenChange:t}),e(u,{orientation:"vertical"}),e(N,{open:C,onOpenChange:b}),e(u,{orientation:"vertical"}),e(y,{}),e(u,{orientation:"vertical"}),e(E,{open:s,onOpenChange:v})]})]})})]}):null};export{pe as TailwindAdvancedEditor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cx as t}from"class-variance-authority";import{AIHighlight as e,HorizontalRule as r,Placeholder as o,StarterKit as s,TaskItem as i,TaskList as l,TiptapImage as d,TiptapLink as
|
|
1
|
+
import{cx as t}from"class-variance-authority";import{AIHighlight as e,HorizontalRule as r,Placeholder as o,StarterKit as s,TaskItem as i,TaskList as l,TiptapImage as d,TiptapLink as a,UpdatedImage as n}from"../novel/src/extensions";import{UploadImagesPlugin as u}from"../novel/src/plugins";import m from"tiptap-extension-auto-joiner";import c from"tiptap-extension-global-drag-handle";import{slashCommand as g}from"./slash-command";const p=e,b=o,f=a.configure({HTMLAttributes:{class:t("text-muted-foreground underline underline-offset-[3px] hover:text-primary transition-colors cursor-pointer")}}),L=d.extend({addProseMirrorPlugins(){return[u({imageClass:t("opacity-40 rounded-lg border border-stone-200")})]}}).configure({allowBase64:!0,HTMLAttributes:{class:t("rounded-lg border border-muted")}}),T=n.configure({HTMLAttributes:{class:t("rounded-lg border border-muted")}}),H=l.configure({HTMLAttributes:{class:t("not-prose pl-2 ")}}),A=i.configure({HTMLAttributes:{class:t("flex gap-2 items-start my-4")},nested:!0}),h=r.configure({HTMLAttributes:{class:t("mt-4 mb-6 border-t border-muted-foreground")}}),M=s.configure({bulletList:{HTMLAttributes:{class:t("list-disc list-outside leading-3 -mt-2")}},orderedList:{HTMLAttributes:{class:t("list-decimal list-outside leading-3 -mt-2")}},listItem:{HTMLAttributes:{class:t("leading-normal -mb-2")}},blockquote:{HTMLAttributes:{class:t("border-l-4 border-primary")}},codeBlock:{HTMLAttributes:{class:t("rounded-md bg-muted text-muted-foreground border p-5 font-mono font-medium")}},code:{HTMLAttributes:{class:t("rounded-md bg-muted px-1.5 py-1 font-mono font-medium"),spellcheck:"false"}},horizontalRule:!1,dropcursor:{color:"#DBEAFE",width:4},gapcursor:!1}),B=[M,b,f,L,T,H,A,h,p,c.configure({dragHandleWidth:20,scrollTreshold:100}),m.configure({elementsToJoin:["bulletList","orderedList"]}),g];export{B as defaultExtensions};
|
|
@@ -2,7 +2,7 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "icon" | "default" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
8
|
asChild?: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function convertEditorJsonToHTML(editorJsonValue: any): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{generateHTML as n}from"@tiptap/html";import{defaultExtensions as r}from"./extensions";function i(o){return console.log("convertEditorJsonToHTML",o),n(o,[...r])}export{i as convertEditorJsonToHTML};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface RichTextInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'name'> {
|
|
3
|
+
onOpenFile?: (data: any) => void;
|
|
4
|
+
asChild?: boolean;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const RichTextInput: (props: RichTextInputProps) => React.JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useFormContext as r}from"react-hook-form";import{TailwindAdvancedEditor as i}from"../../novel/tailwind/advanced-editor";import{convertEditorJsonToHTML as p}from"../../novel/tailwind/utils";const l=a=>{const o=r();return t("div",{children:t(i,{onValueChange:n=>{const e=p(n);o.setValue("content",e)}})})};export{l as RichTextInput};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import type { InputProps } from "../
|
|
2
|
+
import type { InputProps } from "../input-field/types";
|
|
3
3
|
declare const SearchInput: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
4
4
|
export { SearchInput };
|
package/dist/tailwind.cjs
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
const path = require("path");
|
|
2
|
-
|
|
3
|
-
// console.log("tailwindcss[mtxuilib]");
|
|
2
|
+
console.log("tailwindcss[mtxuilib]");
|
|
4
3
|
/** @type {import('tailwindcss').Config} */
|
|
5
4
|
module.exports = {
|
|
6
|
-
// `content` is replaced instead of extended, so this line has to be added in
|
|
7
|
-
// the `content` of each app' tailwind.config.js
|
|
8
5
|
content: [
|
|
9
6
|
path.join(
|
|
10
7
|
path.dirname(require.resolve("mtxuilib")),
|
|
11
8
|
"**/*.{js,ts,jsx,tsx}",
|
|
12
9
|
),
|
|
13
10
|
],
|
|
14
|
-
// theme: {
|
|
15
|
-
// extend: {},
|
|
16
|
-
// },
|
|
17
11
|
darkMode: ["class"],
|
|
18
12
|
theme: {
|
|
19
13
|
container: {
|