@pixpilot/shadcn-ui 3.5.0 → 3.6.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.
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime5 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import React from "react";
3
3
 
4
4
  //#region src/absolute-fill/AbsoluteFill.d.ts
@@ -10,7 +10,7 @@ import React from "react";
10
10
  */
11
11
  declare function AbsoluteFill(props: React.HTMLAttributes<HTMLDivElement> & {
12
12
  ref?: React.Ref<HTMLDivElement>;
13
- }): react_jsx_runtime5.JSX.Element;
13
+ }): react_jsx_runtime0.JSX.Element;
14
14
  declare namespace AbsoluteFill {
15
15
  var displayName: string;
16
16
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
  import { Button, Tooltip, TooltipContent, TooltipTrigger, buttonVariants } from "@pixpilot/shadcn";
3
3
  import React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
@@ -27,7 +27,7 @@ interface ButtonProps extends React.ComponentProps<typeof Button>, VariantProps<
27
27
  }
28
28
  declare function Button$1(props: ButtonProps & {
29
29
  ref?: React.Ref<HTMLButtonElement>;
30
- }): react_jsx_runtime0.JSX.Element;
30
+ }): react_jsx_runtime1.JSX.Element;
31
31
  declare namespace Button$1 {
32
32
  var displayName: string;
33
33
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime3 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
2
2
  import { Button, Tooltip, TooltipContent, TooltipTrigger, buttonVariants } from "@pixpilot/shadcn";
3
3
  import React from "react";
4
4
  import { VariantProps } from "class-variance-authority";
@@ -50,7 +50,7 @@ interface ButtonExtendedProps extends React.ComponentProps<typeof Button>, Varia
50
50
  }
51
51
  declare function ButtonExtended(props: ButtonExtendedProps & {
52
52
  ref?: React.Ref<HTMLButtonElement>;
53
- }): react_jsx_runtime3.JSX.Element;
53
+ }): react_jsx_runtime5.JSX.Element;
54
54
  declare namespace ButtonExtended {
55
55
  var displayName: string;
56
56
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
2
2
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@pixpilot/shadcn";
3
3
  import React from "react";
4
4
 
@@ -6,10 +6,10 @@ import React from "react";
6
6
  declare function CardTitle$1({
7
7
  className,
8
8
  ...props
9
- }: React.ComponentProps<typeof CardTitle>): react_jsx_runtime1.JSX.Element;
9
+ }: React.ComponentProps<typeof CardTitle>): react_jsx_runtime3.JSX.Element;
10
10
  declare function CardHeader$1({
11
11
  className,
12
12
  ...props
13
- }: React.ComponentProps<typeof CardHeader>): react_jsx_runtime1.JSX.Element;
13
+ }: React.ComponentProps<typeof CardHeader>): react_jsx_runtime3.JSX.Element;
14
14
  //#endregion
15
15
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader$1 as CardHeader, CardTitle$1 as CardTitle };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime4 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
  import { Select, SelectContent } from "@pixpilot/shadcn";
3
3
  import React, { ComponentProps } from "react";
4
4
 
@@ -17,6 +17,6 @@ type BaseColorSelectProps = {
17
17
  keyboardMode?: 'cycle' | 'dropdown';
18
18
  className?: string;
19
19
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children'>;
20
- declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime4.JSX.Element;
20
+ declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime2.JSX.Element;
21
21
  //#endregion
22
22
  export { BaseColorSelectProps, ColorSelect, ColorSelectOption };
@@ -1,10 +1,10 @@
1
1
  import { FileUploadInlineProps } from "./types.cjs";
2
- import * as react_jsx_runtime17 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/file-upload-inline/FileUploadInline.d.ts
5
5
  /**
6
6
  * FileUploadInline - An inline file upload component using FileUpload primitives
7
7
  */
8
- declare function FileUploadInline(props: FileUploadInlineProps): react_jsx_runtime17.JSX.Element;
8
+ declare function FileUploadInline(props: FileUploadInlineProps): react_jsx_runtime18.JSX.Element;
9
9
  //#endregion
10
10
  export { FileUploadInline };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime18 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime17 from "react/jsx-runtime";
2
2
  import { InputProps } from "@pixpilot/shadcn";
3
3
  import * as React$1 from "react";
4
4
 
@@ -10,6 +10,6 @@ type InputProps$1 = InputProps & {
10
10
  prefixClassName?: string;
11
11
  suffixClassName?: string;
12
12
  };
13
- declare function Input(props: InputProps$1): react_jsx_runtime18.JSX.Element;
13
+ declare function Input(props: InputProps$1): react_jsx_runtime17.JSX.Element;
14
14
  //#endregion
15
15
  export { Input, InputProps$1 as InputProps };
@@ -135,7 +135,10 @@ const RichTextEditor = ({ value, onChange, extensions = defaultExtensions, edita
135
135
  allowLinkTarget
136
136
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
137
137
  className: "flex-1 min-h-0 overflow-y-auto",
138
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__tiptap_react.EditorContent, { editor: editorInstance })
138
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__tiptap_react.EditorContent, {
139
+ editor: editorInstance,
140
+ "data-slot": "editor-content"
141
+ })
139
142
  })]
140
143
  });
141
144
  };
@@ -1,6 +1,6 @@
1
1
  import { ToolbarButtonTooltipMode } from "./ToolbarButton.cjs";
2
2
  import React from "react";
3
- import { Editor, Extension } from "@tiptap/core";
3
+ import { Editor, Extensions } from "@tiptap/core";
4
4
  import { UseEditorOptions } from "@tiptap/react";
5
5
 
6
6
  //#region src/rich-text-editor/RichTextEditor.d.ts
@@ -39,9 +39,12 @@ interface RichTextEditorProps {
39
39
  */
40
40
  onChange?: (content: string) => void;
41
41
  /**
42
- * Additional extensions to add to the editor
42
+ * Additional TipTap extensions to add to the editor. These are appended to
43
+ * the built-in extensions (StarterKit, Link, TextAlign, Placeholder), so you
44
+ * can plug in any TipTap `Extension`, `Node`, or `Mark` — official packages
45
+ * (e.g. `@tiptap/extension-highlight`) or your own custom ones.
43
46
  */
44
- extensions?: Extension[];
47
+ extensions?: Extensions;
45
48
  /**
46
49
  * Whether the editor is editable
47
50
  * @default true
@@ -1,7 +1,7 @@
1
1
  import { ToolbarButtonTooltipMode } from "./ToolbarButton.js";
2
2
  import React from "react";
3
3
  import { UseEditorOptions } from "@tiptap/react";
4
- import { Editor, Extension } from "@tiptap/core";
4
+ import { Editor, Extensions } from "@tiptap/core";
5
5
 
6
6
  //#region src/rich-text-editor/RichTextEditor.d.ts
7
7
  type EditorProps = Editor['options']['editorProps'];
@@ -39,9 +39,12 @@ interface RichTextEditorProps {
39
39
  */
40
40
  onChange?: (content: string) => void;
41
41
  /**
42
- * Additional extensions to add to the editor
42
+ * Additional TipTap extensions to add to the editor. These are appended to
43
+ * the built-in extensions (StarterKit, Link, TextAlign, Placeholder), so you
44
+ * can plug in any TipTap `Extension`, `Node`, or `Mark` — official packages
45
+ * (e.g. `@tiptap/extension-highlight`) or your own custom ones.
43
46
  */
44
- extensions?: Extension[];
47
+ extensions?: Extensions;
45
48
  /**
46
49
  * Whether the editor is editable
47
50
  * @default true
@@ -126,7 +126,10 @@ const RichTextEditor = ({ value, onChange, extensions = defaultExtensions, edita
126
126
  allowLinkTarget
127
127
  }), /* @__PURE__ */ jsx("div", {
128
128
  className: "flex-1 min-h-0 overflow-y-auto",
129
- children: /* @__PURE__ */ jsx(EditorContent, { editor: editorInstance })
129
+ children: /* @__PURE__ */ jsx(EditorContent, {
130
+ editor: editorInstance,
131
+ "data-slot": "editor-content"
132
+ })
130
133
  })]
131
134
  });
132
135
  };
@@ -25,7 +25,7 @@ const meta = {
25
25
  defaultValue: "true"
26
26
  },
27
27
  toolbarItems: "Explicit toolbar items: predefined command strings, \"|\" separators, or custom button objects.",
28
- extensions: "Additional TipTap extensions to add to the editor.",
28
+ extensions: "Additional TipTap extensions appended to the built-in ones (StarterKit, Link, TextAlign, Placeholder). Accepts any TipTap Extension, Node, or Mark — official packages or your own custom ones. See the \"Add a custom extension\" example.",
29
29
  editorProps: "Custom TipTap editorProps merged into the defaults.",
30
30
  slots: "Class overrides for the root, toolbar (and its buttons/separators), and content area.",
31
31
  placeholder: "Placeholder text shown when the editor is empty.",
@@ -58,13 +58,56 @@ const meta = {
58
58
  name: "@tiptap/starter-kit",
59
59
  type: "peer"
60
60
  }],
61
- examples: [{
62
- title: "Basic editor",
63
- code: "<RichTextEditor value={html} onChange={setHtml} placeholder=\"Write something…\" />"
64
- }, {
65
- title: "Custom toolbar",
66
- code: "<RichTextEditor value={html} onChange={setHtml} toolbarItems={[\"bold\", \"italic\", \"|\", \"bulletList\"]} />"
67
- }],
61
+ examples: [
62
+ {
63
+ title: "Basic editor",
64
+ code: "<RichTextEditor value={html} onChange={setHtml} placeholder=\"Write something…\" />"
65
+ },
66
+ {
67
+ title: "Custom toolbar",
68
+ code: "<RichTextEditor value={html} onChange={setHtml} toolbarItems={[\"bold\", \"italic\", \"|\", \"bulletList\"]} />"
69
+ },
70
+ {
71
+ title: "Add an official extension",
72
+ code: `// npm i @tiptap/extension-highlight
73
+ import Highlight from '@tiptap/extension-highlight';
74
+
75
+ // Extensions are appended to the built-in ones (StarterKit, Link, TextAlign, Placeholder).
76
+ <RichTextEditor value={html} onChange={setHtml} extensions={[Highlight]} />`
77
+ },
78
+ {
79
+ title: "Add a custom extension (Mark/Node/Extension) with a toolbar button",
80
+ code: `import { Mark, mergeAttributes } from '@tiptap/core';
81
+
82
+ // Any Mark.create / Node.create / Extension.create result can be passed to \`extensions\`.
83
+ const Highlight = Mark.create({
84
+ name: 'highlight',
85
+ parseHTML() {
86
+ return [{ tag: 'mark' }];
87
+ },
88
+ renderHTML({ HTMLAttributes }) {
89
+ return ['mark', mergeAttributes(HTMLAttributes), 0];
90
+ },
91
+ });
92
+
93
+ <RichTextEditor
94
+ value={html}
95
+ onChange={setHtml}
96
+ extensions={[Highlight]}
97
+ toolbarItems={[
98
+ 'bold',
99
+ 'italic',
100
+ '|',
101
+ {
102
+ icon: '🖍️',
103
+ tooltip: 'Highlight',
104
+ onClick: (editor) => editor.chain().focus().toggleMark('highlight').run(),
105
+ isActive: (editor) => editor.isActive('highlight'),
106
+ },
107
+ ]}
108
+ />`
109
+ }
110
+ ],
68
111
  keywords: [
69
112
  "rich text",
70
113
  "editor",
@@ -1,6 +1,6 @@
1
1
  import { CommandOptionListItem } from "../command-option-list/CommandOptionList.cjs";
2
2
  import { TagsInputInline } from "./TagsInputInline.cjs";
3
- import * as react_jsx_runtime24 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime25 from "react/jsx-runtime";
4
4
  import { ComponentProps } from "react";
5
5
 
6
6
  //#region src/tags-input/TagsInput.d.ts
@@ -32,6 +32,6 @@ interface TagsInputProps extends Omit<ComponentProps<typeof TagsInputInline>, 'o
32
32
  * - Options support with dropdown (like Select)
33
33
  * - freeSolo mode for custom tags (like MUI Autocomplete)
34
34
  */
35
- declare function TagsInput(props: TagsInputProps): react_jsx_runtime24.JSX.Element;
35
+ declare function TagsInput(props: TagsInputProps): react_jsx_runtime25.JSX.Element;
36
36
  //#endregion
37
37
  export { TagsInput, TagsInputProps };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime27 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime28 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchInside.d.ts
4
4
  type ThemeModeSwitchInsideSize = 'sm' | 'md' | 'lg';
@@ -26,7 +26,7 @@ interface ThemeModeSwitchInsideProps {
26
26
  * Icons are embedded within the switch control.
27
27
  * Pure component - requires value and onChange props.
28
28
  */
29
- declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime27.JSX.Element;
29
+ declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime28.JSX.Element;
30
30
  declare namespace ThemeModeSwitchInside {
31
31
  var displayName: string;
32
32
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime28 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime27 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchOutside.d.ts
4
4
  interface ThemeModeSwitchOutsideProps {
@@ -23,7 +23,7 @@ interface ThemeModeSwitchOutsideProps {
23
23
  * Icons flank the switch control on either side.
24
24
  * Pure component - requires value and onChange props.
25
25
  */
26
- declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime28.JSX.Element;
26
+ declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime27.JSX.Element;
27
27
  declare namespace ThemeModeSwitchOutside {
28
28
  var displayName: string;
29
29
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime25 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeToggleButton.d.ts
4
4
  interface ThemeModeToggleButtonProps {
@@ -14,7 +14,7 @@ interface ThemeModeToggleButtonProps {
14
14
  * Light/Dark toggle button.
15
15
  * Pure component - toggles between light and dark.
16
16
  */
17
- declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime25.JSX.Element;
17
+ declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime24.JSX.Element;
18
18
  declare namespace ThemeModeToggleButton {
19
19
  var displayName: string;
20
20
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pixpilot/shadcn-ui",
3
3
  "type": "module",
4
- "version": "3.5.0",
4
+ "version": "3.6.0",
5
5
  "description": "Custom UI components and utilities built with shadcn/ui.",
6
6
  "author": "m.doaie <m.doaie@hotmail.com>",
7
7
  "license": "MIT",
@@ -72,9 +72,9 @@
72
72
  "tsx": "^4.21.0",
73
73
  "typescript": "^5.9.3",
74
74
  "@internal/eslint-config": "0.3.0",
75
- "@internal/prettier-config": "0.0.1",
76
- "@internal/mcp": "0.0.0",
77
75
  "@internal/hooks": "0.0.0",
76
+ "@internal/mcp": "0.0.0",
77
+ "@internal/prettier-config": "0.0.1",
78
78
  "@internal/tsconfig": "0.1.0",
79
79
  "@internal/tsdown-config": "0.1.0",
80
80
  "@internal/vitest-config": "0.1.0"