@pixpilot/shadcn-ui 0.57.1 → 0.58.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.
Files changed (50) hide show
  1. package/dist/AbsoluteFill.d.ts +2 -2
  2. package/dist/Alert.cjs +0 -1
  3. package/dist/Alert.js +0 -1
  4. package/dist/Button.d.ts +2 -2
  5. package/dist/ColorSelect.d.cts +2 -2
  6. package/dist/ColorSelect.d.ts +2 -2
  7. package/dist/ContentCard.d.cts +2 -2
  8. package/dist/ContentCard.d.ts +2 -2
  9. package/dist/DatePicker.d.ts +2 -2
  10. package/dist/Rating.d.ts +3 -3
  11. package/dist/Select.d.ts +2 -2
  12. package/dist/avatar-upload/AvatarUpload.cjs +0 -1
  13. package/dist/avatar-upload/AvatarUpload.js +0 -1
  14. package/dist/avatar-upload/AvatarUploadComponents.cjs +0 -1
  15. package/dist/avatar-upload/AvatarUploadComponents.js +0 -1
  16. package/dist/dialog/Dialog.d.ts +4 -4
  17. package/dist/file-upload/FileUpload.d.ts +2 -2
  18. package/dist/file-upload/utils/index.d.ts +1 -1
  19. package/dist/file-upload/utils/merge-file-metadata.d.cts +8 -0
  20. package/dist/file-upload/utils/merge-file-metadata.d.ts +8 -1
  21. package/dist/file-upload-inline/FileUploadInline.cjs +16 -45
  22. package/dist/file-upload-inline/FileUploadInline.d.ts +2 -2
  23. package/dist/file-upload-inline/FileUploadInline.js +18 -46
  24. package/dist/file-upload-inline/types.d.cts +3 -2
  25. package/dist/file-upload-inline/types.d.ts +3 -2
  26. package/dist/file-upload-root/FileUploadRoot.cjs +69 -0
  27. package/dist/file-upload-root/FileUploadRoot.d.cts +13 -0
  28. package/dist/file-upload-root/FileUploadRoot.d.ts +13 -0
  29. package/dist/file-upload-root/FileUploadRoot.js +63 -0
  30. package/dist/{file-upload-inline/FileUploadInlineItem.cjs → file-upload-root/FileUploadRootItem.cjs} +4 -3
  31. package/dist/file-upload-root/FileUploadRootItem.d.cts +13 -0
  32. package/dist/file-upload-root/FileUploadRootItem.d.ts +14 -0
  33. package/dist/{file-upload-inline/FileUploadInlineItem.js → file-upload-root/FileUploadRootItem.js} +4 -3
  34. package/dist/file-upload-root/index.cjs +2 -0
  35. package/dist/file-upload-root/index.d.cts +3 -0
  36. package/dist/file-upload-root/index.d.ts +3 -0
  37. package/dist/file-upload-root/index.js +2 -0
  38. package/dist/file-upload-root/types.d.cts +26 -0
  39. package/dist/file-upload-root/types.d.ts +26 -0
  40. package/dist/index.cjs +5 -0
  41. package/dist/index.d.cts +5 -1
  42. package/dist/index.d.ts +5 -1
  43. package/dist/index.js +4 -1
  44. package/dist/input/Input.d.cts +2 -2
  45. package/dist/tags-input/TagsInput.d.cts +2 -2
  46. package/dist/tags-input/TagsInputInline.d.cts +2 -2
  47. package/dist/theme-toggle/ThemeModeToggleButton.d.cts +2 -2
  48. package/package.json +2 -2
  49. package/dist/shadcn/src/lib/index.cjs +0 -1
  50. package/dist/shadcn/src/lib/index.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/AbsoluteFill.d.ts
5
5
 
@@ -10,7 +10,7 @@ import * as react_jsx_runtime4 from "react/jsx-runtime";
10
10
  */
11
11
  declare function AbsoluteFill(props: React.HTMLAttributes<HTMLDivElement> & {
12
12
  ref?: React.Ref<HTMLDivElement>;
13
- }): react_jsx_runtime4.JSX.Element;
13
+ }): react_jsx_runtime0.JSX.Element;
14
14
  declare namespace AbsoluteFill {
15
15
  var displayName: string;
16
16
  }
package/dist/Alert.cjs CHANGED
@@ -1,6 +1,5 @@
1
1
  const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
2
  const require_utils = require('./shadcn/src/lib/utils.cjs');
3
- require('./shadcn/src/lib/index.cjs');
4
3
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
5
4
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
6
5
  let lucide_react = require("lucide-react");
package/dist/Alert.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { cn as cn$1 } from "./shadcn/src/lib/utils.js";
2
- import "./shadcn/src/lib/index.js";
3
2
  import { Alert, AlertDescription, AlertTitle } from "@pixpilot/shadcn";
4
3
  import { CircleAlertIcon, CircleCheckBigIcon, OctagonAlertIcon } from "lucide-react";
5
4
  import React from "react";
package/dist/Button.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Button, Tooltip, TooltipContent, TooltipTrigger, buttonVariants } from "@pixpilot/shadcn";
2
2
  import React from "react";
3
- import * as react_jsx_runtime5 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
 
6
6
  //#region src/Button.d.ts
@@ -50,7 +50,7 @@ interface ButtonProps extends React.ComponentProps<typeof Button>, VariantProps<
50
50
  }
51
51
  declare function Button$1(props: ButtonProps & {
52
52
  ref?: React.Ref<HTMLButtonElement>;
53
- }): react_jsx_runtime5.JSX.Element;
53
+ }): react_jsx_runtime0.JSX.Element;
54
54
  declare namespace Button$1 {
55
55
  var displayName: string;
56
56
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
2
2
  import { Select, SelectContent } from "@pixpilot/shadcn";
3
3
  import React, { ComponentProps } from "react";
4
4
 
@@ -15,6 +15,6 @@ type BaseColorSelectProps = {
15
15
  placeholder?: string;
16
16
  keyboardMode?: 'cycle' | 'dropdown';
17
17
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children'>;
18
- declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime2.JSX.Element;
18
+ declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime1.JSX.Element;
19
19
  //#endregion
20
20
  export { BaseColorSelectProps, ColorSelect, ColorSelectOption };
@@ -1,6 +1,6 @@
1
1
  import { Select, SelectContent } from "@pixpilot/shadcn";
2
2
  import React, { ComponentProps } from "react";
3
- import * as react_jsx_runtime3 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/ColorSelect.d.ts
6
6
  interface ColorSelectOption {
@@ -15,6 +15,6 @@ type BaseColorSelectProps = {
15
15
  placeholder?: string;
16
16
  keyboardMode?: 'cycle' | 'dropdown';
17
17
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children'>;
18
- declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime3.JSX.Element;
18
+ declare function ColorSelect(props: BaseColorSelectProps): react_jsx_runtime2.JSX.Element;
19
19
  //#endregion
20
20
  export { BaseColorSelectProps, ColorSelect, ColorSelectOption };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
  import { Card } from "@pixpilot/shadcn";
3
3
  import React, { ReactNode } from "react";
4
4
 
@@ -8,7 +8,7 @@ interface SectionCardProps extends React.ComponentProps<typeof Card> {
8
8
  children: ReactNode;
9
9
  marginBottom?: boolean;
10
10
  }
11
- declare function ContentCard(props: SectionCardProps): react_jsx_runtime1.JSX.Element;
11
+ declare function ContentCard(props: SectionCardProps): react_jsx_runtime2.JSX.Element;
12
12
  declare namespace ContentCard {
13
13
  var displayName: string;
14
14
  }
@@ -1,6 +1,6 @@
1
1
  import { Card } from "@pixpilot/shadcn";
2
2
  import React, { ReactNode } from "react";
3
- import * as react_jsx_runtime6 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/ContentCard.d.ts
6
6
  interface SectionCardProps extends React.ComponentProps<typeof Card> {
@@ -8,7 +8,7 @@ interface SectionCardProps extends React.ComponentProps<typeof Card> {
8
8
  children: ReactNode;
9
9
  marginBottom?: boolean;
10
10
  }
11
- declare function ContentCard(props: SectionCardProps): react_jsx_runtime6.JSX.Element;
11
+ declare function ContentCard(props: SectionCardProps): react_jsx_runtime1.JSX.Element;
12
12
  declare namespace ContentCard {
13
13
  var displayName: string;
14
14
  }
@@ -1,6 +1,6 @@
1
1
  import { Calendar } from "@pixpilot/shadcn";
2
2
  import { ComponentProps } from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/DatePicker.d.ts
6
6
  type DatePickerProps = {
@@ -8,7 +8,7 @@ type DatePickerProps = {
8
8
  onChange?: (date: Date | undefined) => void;
9
9
  placeholder?: string;
10
10
  } & Omit<ComponentProps<typeof Calendar>, 'selected' | 'onSelect' | 'mode'>;
11
- declare function DatePicker(props: DatePickerProps): react_jsx_runtime0.JSX.Element;
11
+ declare function DatePicker(props: DatePickerProps): react_jsx_runtime3.JSX.Element;
12
12
  declare namespace DatePicker {
13
13
  var displayName: string;
14
14
  }
package/dist/Rating.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
@@ -35,7 +35,7 @@ declare function RatingButton({
35
35
  index,
36
36
  className,
37
37
  ...props
38
- }: RatingButtonProps): react_jsx_runtime0.JSX.Element;
38
+ }: RatingButtonProps): react_jsx_runtime4.JSX.Element;
39
39
  declare function Rating({
40
40
  value: valueProp,
41
41
  defaultValue,
@@ -52,6 +52,6 @@ declare function Rating({
52
52
  className,
53
53
  children,
54
54
  ...props
55
- }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime0.JSX.Element;
55
+ }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime4.JSX.Element;
56
56
  //#endregion
57
57
  export { Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps };
package/dist/Select.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Select, SelectContent } from "@pixpilot/shadcn";
2
2
  import React, { ComponentProps } from "react";
3
- import * as react_jsx_runtime2 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime6 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/Select.d.ts
6
6
  interface SelectOption {
@@ -46,6 +46,6 @@ type BaseSelectProps = {
46
46
  */
47
47
  clearable?: boolean;
48
48
  } & Omit<ComponentProps<typeof Select>, 'value' | 'onValueChange' | 'children'>;
49
- declare function Select$1(props: BaseSelectProps): react_jsx_runtime2.JSX.Element;
49
+ declare function Select$1(props: BaseSelectProps): react_jsx_runtime6.JSX.Element;
50
50
  //#endregion
51
51
  export { Select$1 as Select, SelectContentProps, SelectOption };
@@ -1,6 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_utils = require('../shadcn/src/lib/utils.cjs');
3
- require('../shadcn/src/lib/index.cjs');
4
3
  const require_AvatarUploadComponents = require('./AvatarUploadComponents.cjs');
5
4
  const require_AvatarUploadItem = require('./AvatarUploadItem.cjs');
6
5
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
@@ -1,5 +1,4 @@
1
1
  import { cn as cn$1 } from "../shadcn/src/lib/utils.js";
2
- import "../shadcn/src/lib/index.js";
3
2
  import { AvatarWrap, Image, MainWrapper, MessageComponent } from "./AvatarUploadComponents.js";
4
3
  import { AvatarUploadItem } from "./AvatarUploadItem.js";
5
4
  import { FileUpload, FileUploadDropzone, FileUploadList } from "@pixpilot/shadcn";
@@ -1,6 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_utils = require('../shadcn/src/lib/utils.cjs');
3
- require('../shadcn/src/lib/index.cjs');
4
3
  let lucide_react = require("lucide-react");
5
4
  lucide_react = require_rolldown_runtime.__toESM(lucide_react);
6
5
  let react = require("react");
@@ -1,5 +1,4 @@
1
1
  import { cn } from "../shadcn/src/lib/utils.js";
2
- import "../shadcn/src/lib/index.js";
3
2
  import { Pencil } from "lucide-react";
4
3
  import React from "react";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime7 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime8 from "react/jsx-runtime";
3
3
  import * as _radix_ui_react_dialog0 from "@radix-ui/react-dialog";
4
4
 
5
5
  //#region src/dialog/Dialog.d.ts
@@ -9,14 +9,14 @@ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<_radix_ui_re
9
9
  declare function DialogHeader({
10
10
  className,
11
11
  ...props
12
- }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime7.JSX.Element;
12
+ }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime8.JSX.Element;
13
13
  declare function DialogBody({
14
14
  className,
15
15
  ...props
16
- }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime7.JSX.Element;
16
+ }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime8.JSX.Element;
17
17
  declare function DialogFooter({
18
18
  className,
19
19
  ...props
20
- }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime7.JSX.Element;
20
+ }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime8.JSX.Element;
21
21
  //#endregion
22
22
  export { DialogBody, DialogContent, DialogFooter, DialogHeader };
@@ -1,7 +1,7 @@
1
1
  import { FileUploadProps } from "./types/index.js";
2
- import * as react_jsx_runtime18 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime7 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/file-upload/FileUpload.d.ts
5
- declare function FileUpload(props: FileUploadProps): react_jsx_runtime18.JSX.Element;
5
+ declare function FileUpload(props: FileUploadProps): react_jsx_runtime7.JSX.Element;
6
6
  //#endregion
7
7
  export { FileUpload };
@@ -1,4 +1,4 @@
1
1
  import "./get-file-key.js";
2
2
  import "./get-file-meta.js";
3
3
  import "./is-file-equal.js";
4
- import "./merge-file-metadata.js";
4
+ import { FileWithMetadata } from "./merge-file-metadata.js";
@@ -0,0 +1,8 @@
1
+ import { FileMetadata } from "../types/index.cjs";
2
+
3
+ //#region src/file-upload/utils/merge-file-metadata.d.ts
4
+ interface FileWithMetadata extends FileMetadata {
5
+ file?: File;
6
+ }
7
+ //#endregion
8
+ export { FileWithMetadata };
@@ -1 +1,8 @@
1
- import "../types/index.js";
1
+ import { FileMetadata } from "../types/index.js";
2
+
3
+ //#region src/file-upload/utils/merge-file-metadata.d.ts
4
+ interface FileWithMetadata extends FileMetadata {
5
+ file?: File;
6
+ }
7
+ //#endregion
8
+ export { FileWithMetadata };
@@ -2,16 +2,13 @@
2
2
 
3
3
 
4
4
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
5
- const require_use_file_upload_store = require('../file-upload/hooks/use-file-upload-store.cjs');
6
- require('../file-upload/index.cjs');
5
+ const require_FileUploadRoot = require('../file-upload-root/FileUploadRoot.cjs');
6
+ require('../file-upload-root/index.cjs');
7
7
  const require_defaults = require('./defaults.cjs');
8
- const require_FileUploadInlineItem = require('./FileUploadInlineItem.cjs');
9
8
  let __pixpilot_shadcn = require("@pixpilot/shadcn");
10
9
  __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
11
10
  let lucide_react = require("lucide-react");
12
11
  lucide_react = require_rolldown_runtime.__toESM(lucide_react);
13
- let react = require("react");
14
- react = require_rolldown_runtime.__toESM(react);
15
12
  let react_jsx_runtime = require("react/jsx-runtime");
16
13
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
17
14
 
@@ -20,51 +17,25 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
20
17
  * FileUploadInline - An inline file upload component using FileUpload primitives
21
18
  */
22
19
  function FileUploadInline(props) {
23
- const { value, onChange, className, disabled = require_defaults.defaultOptions.disabled, multiple = require_defaults.defaultOptions.multiple, buttonText: buttonTextProp, showIcon = require_defaults.defaultOptions.showIcon, onAccept, preventDuplicates,...rest } = props;
20
+ const { value, onChange, className, disabled = require_defaults.defaultOptions.disabled, buttonText: buttonTextProp, showIcon = require_defaults.defaultOptions.showIcon, onAccept, preventDuplicates,...rest } = props;
21
+ const multiple = props.multiple ?? require_defaults.defaultOptions.multiple;
24
22
  const buttonText = buttonTextProp ?? (multiple ? "Click to upload files" : "Click to upload a file");
25
- const { handleAccept, displayFiles, deleteFile, getFile, orgValue } = require_use_file_upload_store.useFileUploadStore({
26
- value,
27
- onChange,
28
- multiple,
29
- preventDuplicates
30
- });
31
- const handleFileAccept = (0, react.useCallback)((files) => {
32
- onAccept?.(files);
33
- handleAccept(files);
34
- }, [handleAccept, onAccept]);
35
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUpload, {
23
+ const dropzoneClassName = (0, __pixpilot_shadcn.cn)("rounded-md border border-input border-solid flex-row bg-background px-3 py-0 display-block w-full cursor-pointer", "hover:bg-accent/50 transition-colors m-0", disabled && "cursor-not-allowed opacity-50");
24
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_FileUploadRoot.FileUploadRoot, {
36
25
  ...rest,
37
- value: orgValue,
38
- onAccept: handleFileAccept,
26
+ value,
27
+ onAccept,
39
28
  disabled,
40
29
  multiple,
41
30
  className: (0, __pixpilot_shadcn.cn)("space-y-2", className),
42
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(multiple || !multiple && displayFiles.length === 0) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.FileUploadDropzone, {
43
- className: (0, __pixpilot_shadcn.cn)("rounded-md border border-input border-solid flex-row bg-background px-3 py-0 display-block w-full cursor-pointer", "hover:bg-accent/50 transition-colors m-0", disabled && "cursor-not-allowed opacity-50"),
44
- children: [showIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CloudUpload, { className: "h-4 w-4 shrink-0 mx-1 text-muted-foreground" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUploadTrigger, {
45
- asChild: true,
46
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
47
- variant: "link",
48
- size: "sm",
49
- className: "h-auto py-2 px-0 text-sm text-muted-foreground hover:no-underline justify-start flex-1",
50
- disabled,
51
- children: buttonText
52
- })
53
- })]
54
- }), displayFiles.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUploadList, {
55
- className: "space-y-1 m-0",
56
- forceMount: true,
57
- children: displayFiles.map((data) => {
58
- const { name, lastModified } = data;
59
- const key = `${name}-${lastModified}`;
60
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_FileUploadInlineItem.FileUploadInlineItem, {
61
- ...data,
62
- file: getFile(data),
63
- disabled,
64
- onDelete: deleteFile
65
- }, key);
66
- })
67
- })] })
31
+ slots: { trigger: { className: dropzoneClassName } },
32
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Button, {
33
+ variant: "link",
34
+ size: "sm",
35
+ className: (0, __pixpilot_shadcn.cn)("h-auto py-2 px-0 text-sm text-muted-foreground hover:no-underline flex-1", showIcon ? "justify-start" : "justify-center"),
36
+ disabled,
37
+ children: [showIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CloudUpload, { className: "h-4 w-4 shrink-0 mx-1 text-muted-foreground" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: buttonText })]
38
+ })
68
39
  });
69
40
  }
70
41
 
@@ -1,10 +1,10 @@
1
1
  import { FileUploadInlineProps } from "./types.js";
2
- import * as react_jsx_runtime10 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_runtime10.JSX.Element;
8
+ declare function FileUploadInline(props: FileUploadInlineProps): react_jsx_runtime18.JSX.Element;
9
9
  //#endregion
10
10
  export { FileUploadInline };
@@ -1,65 +1,37 @@
1
1
  'use client';
2
2
 
3
3
 
4
- import { useFileUploadStore } from "../file-upload/hooks/use-file-upload-store.js";
5
- import "../file-upload/index.js";
4
+ import { FileUploadRoot } from "../file-upload-root/FileUploadRoot.js";
5
+ import "../file-upload-root/index.js";
6
6
  import { defaultOptions } from "./defaults.js";
7
- import { FileUploadInlineItem } from "./FileUploadInlineItem.js";
8
- import { Button, FileUpload, FileUploadDropzone, FileUploadList, FileUploadTrigger, cn } from "@pixpilot/shadcn";
7
+ import { Button, cn } from "@pixpilot/shadcn";
9
8
  import { CloudUpload } from "lucide-react";
10
- import { useCallback } from "react";
11
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
12
10
 
13
11
  //#region src/file-upload-inline/FileUploadInline.tsx
14
12
  /**
15
13
  * FileUploadInline - An inline file upload component using FileUpload primitives
16
14
  */
17
15
  function FileUploadInline(props) {
18
- const { value, onChange, className, disabled = defaultOptions.disabled, multiple = defaultOptions.multiple, buttonText: buttonTextProp, showIcon = defaultOptions.showIcon, onAccept, preventDuplicates,...rest } = props;
16
+ const { value, onChange, className, disabled = defaultOptions.disabled, buttonText: buttonTextProp, showIcon = defaultOptions.showIcon, onAccept, preventDuplicates,...rest } = props;
17
+ const multiple = props.multiple ?? defaultOptions.multiple;
19
18
  const buttonText = buttonTextProp ?? (multiple ? "Click to upload files" : "Click to upload a file");
20
- const { handleAccept, displayFiles, deleteFile, getFile, orgValue } = useFileUploadStore({
21
- value,
22
- onChange,
23
- multiple,
24
- preventDuplicates
25
- });
26
- const handleFileAccept = useCallback((files) => {
27
- onAccept?.(files);
28
- handleAccept(files);
29
- }, [handleAccept, onAccept]);
30
- return /* @__PURE__ */ jsx(FileUpload, {
19
+ const dropzoneClassName = cn("rounded-md border border-input border-solid flex-row bg-background px-3 py-0 display-block w-full cursor-pointer", "hover:bg-accent/50 transition-colors m-0", disabled && "cursor-not-allowed opacity-50");
20
+ return /* @__PURE__ */ jsx(FileUploadRoot, {
31
21
  ...rest,
32
- value: orgValue,
33
- onAccept: handleFileAccept,
22
+ value,
23
+ onAccept,
34
24
  disabled,
35
25
  multiple,
36
26
  className: cn("space-y-2", className),
37
- children: /* @__PURE__ */ jsxs(Fragment, { children: [(multiple || !multiple && displayFiles.length === 0) && /* @__PURE__ */ jsxs(FileUploadDropzone, {
38
- className: cn("rounded-md border border-input border-solid flex-row bg-background px-3 py-0 display-block w-full cursor-pointer", "hover:bg-accent/50 transition-colors m-0", disabled && "cursor-not-allowed opacity-50"),
39
- children: [showIcon && /* @__PURE__ */ jsx(CloudUpload, { className: "h-4 w-4 shrink-0 mx-1 text-muted-foreground" }), /* @__PURE__ */ jsx(FileUploadTrigger, {
40
- asChild: true,
41
- children: /* @__PURE__ */ jsx(Button, {
42
- variant: "link",
43
- size: "sm",
44
- className: "h-auto py-2 px-0 text-sm text-muted-foreground hover:no-underline justify-start flex-1",
45
- disabled,
46
- children: buttonText
47
- })
48
- })]
49
- }), displayFiles.length > 0 && /* @__PURE__ */ jsx(FileUploadList, {
50
- className: "space-y-1 m-0",
51
- forceMount: true,
52
- children: displayFiles.map((data) => {
53
- const { name, lastModified } = data;
54
- const key = `${name}-${lastModified}`;
55
- return /* @__PURE__ */ jsx(FileUploadInlineItem, {
56
- ...data,
57
- file: getFile(data),
58
- disabled,
59
- onDelete: deleteFile
60
- }, key);
61
- })
62
- })] })
27
+ slots: { trigger: { className: dropzoneClassName } },
28
+ children: /* @__PURE__ */ jsxs(Button, {
29
+ variant: "link",
30
+ size: "sm",
31
+ className: cn("h-auto py-2 px-0 text-sm text-muted-foreground hover:no-underline flex-1", showIcon ? "justify-start" : "justify-center"),
32
+ disabled,
33
+ children: [showIcon && /* @__PURE__ */ jsx(CloudUpload, { className: "h-4 w-4 shrink-0 mx-1 text-muted-foreground" }), /* @__PURE__ */ jsx("span", { children: buttonText })]
34
+ })
63
35
  });
64
36
  }
65
37
 
@@ -1,4 +1,5 @@
1
- import { FileUploadProps } from "../file-upload/types/index.cjs";
1
+ import { FileUploadRootProps } from "../file-upload-root/types.cjs";
2
+ import "../file-upload-root/index.cjs";
2
3
 
3
4
  //#region src/file-upload-inline/types.d.ts
4
5
  interface FileUploadInlineBaseProps {
@@ -11,6 +12,6 @@ interface FileUploadInlineBaseProps {
11
12
  */
12
13
  showIcon?: boolean;
13
14
  }
14
- type FileUploadInlineProps = FileUploadInlineBaseProps & FileUploadProps;
15
+ type FileUploadInlineProps = FileUploadInlineBaseProps & FileUploadRootProps;
15
16
  //#endregion
16
17
  export { FileUploadInlineBaseProps, FileUploadInlineProps };
@@ -1,4 +1,5 @@
1
- import { FileUploadProps } from "../file-upload/types/index.js";
1
+ import { FileUploadRootProps } from "../file-upload-root/types.js";
2
+ import "../file-upload-root/index.js";
2
3
 
3
4
  //#region src/file-upload-inline/types.d.ts
4
5
  interface FileUploadInlineBaseProps {
@@ -11,6 +12,6 @@ interface FileUploadInlineBaseProps {
11
12
  */
12
13
  showIcon?: boolean;
13
14
  }
14
- type FileUploadInlineProps = FileUploadInlineBaseProps & FileUploadProps;
15
+ type FileUploadInlineProps = FileUploadInlineBaseProps & FileUploadRootProps;
15
16
  //#endregion
16
17
  export { FileUploadInlineBaseProps, FileUploadInlineProps };
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
5
+ const require_use_file_upload_store = require('../file-upload/hooks/use-file-upload-store.cjs');
6
+ require('../file-upload/index.cjs');
7
+ const require_FileUploadRootItem = require('./FileUploadRootItem.cjs');
8
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
9
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
10
+ let react = require("react");
11
+ react = require_rolldown_runtime.__toESM(react);
12
+ let react_jsx_runtime = require("react/jsx-runtime");
13
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
14
+
15
+ //#region src/file-upload-root/FileUploadRoot.tsx
16
+ /**
17
+ * FileUploadInline - An inline file upload component using FileUpload primitives
18
+ */
19
+ function FileUploadRoot(props) {
20
+ const { value, onChange, className, disabled, multiple = false, children, onAccept, preventDuplicates, slots,...rest } = props;
21
+ const { handleAccept, displayFiles, deleteFile, getFile, orgValue } = require_use_file_upload_store.useFileUploadStore({
22
+ value,
23
+ onChange,
24
+ multiple,
25
+ preventDuplicates
26
+ });
27
+ const handleFileAccept = (0, react.useCallback)((files) => {
28
+ onAccept?.(files);
29
+ handleAccept(files);
30
+ }, [handleAccept, onAccept]);
31
+ if (process.env.NODE_ENV !== "production") {
32
+ if (!children && !(slots && slots.trigger)) throw new Error("FileUploadRoot requires children or slots.trigger to be passed in.");
33
+ }
34
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUpload, {
35
+ ...rest,
36
+ value: orgValue,
37
+ onAccept: handleFileAccept,
38
+ disabled,
39
+ multiple,
40
+ className: (0, __pixpilot_shadcn.cn)("space-y-2", className),
41
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(multiple || !multiple && displayFiles.length === 0) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUploadDropzone, {
42
+ ...slots?.dropzone || {},
43
+ className: (0, __pixpilot_shadcn.cn)("p-0 border-0 hover:bg-transparent", slots?.dropzone?.className),
44
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUploadTrigger, {
45
+ asChild: true,
46
+ ...slots?.trigger || {},
47
+ children
48
+ })
49
+ }), displayFiles.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.FileUploadList, {
50
+ className: "space-y-1 m-0",
51
+ forceMount: true,
52
+ children: displayFiles.map((data) => {
53
+ const { name, lastModified } = data;
54
+ const key = `${name}-${lastModified}`;
55
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_FileUploadRootItem.FileUploadRootItem, {
56
+ ...data,
57
+ file: getFile(data),
58
+ disabled,
59
+ onDelete: deleteFile,
60
+ ...slots?.fileItem || {}
61
+ }, key);
62
+ })
63
+ })] })
64
+ });
65
+ }
66
+ FileUploadRoot.displayName = "FileUploadRoot";
67
+
68
+ //#endregion
69
+ exports.FileUploadRoot = FileUploadRoot;
@@ -0,0 +1,13 @@
1
+ import { FileUploadRootProps } from "./types.cjs";
2
+ import * as react_jsx_runtime12 from "react/jsx-runtime";
3
+
4
+ //#region src/file-upload-root/FileUploadRoot.d.ts
5
+ /**
6
+ * FileUploadInline - An inline file upload component using FileUpload primitives
7
+ */
8
+ declare function FileUploadRoot(props: FileUploadRootProps): react_jsx_runtime12.JSX.Element;
9
+ declare namespace FileUploadRoot {
10
+ var displayName: string;
11
+ }
12
+ //#endregion
13
+ export { FileUploadRoot };
@@ -0,0 +1,13 @@
1
+ import { FileUploadRootProps } from "./types.js";
2
+ import * as react_jsx_runtime19 from "react/jsx-runtime";
3
+
4
+ //#region src/file-upload-root/FileUploadRoot.d.ts
5
+ /**
6
+ * FileUploadInline - An inline file upload component using FileUpload primitives
7
+ */
8
+ declare function FileUploadRoot(props: FileUploadRootProps): react_jsx_runtime19.JSX.Element;
9
+ declare namespace FileUploadRoot {
10
+ var displayName: string;
11
+ }
12
+ //#endregion
13
+ export { FileUploadRoot };
@@ -0,0 +1,63 @@
1
+ 'use client';
2
+
3
+
4
+ import { useFileUploadStore } from "../file-upload/hooks/use-file-upload-store.js";
5
+ import "../file-upload/index.js";
6
+ import { FileUploadRootItem } from "./FileUploadRootItem.js";
7
+ import { FileUpload, FileUploadDropzone, FileUploadList, FileUploadTrigger, cn } from "@pixpilot/shadcn";
8
+ import { useCallback } from "react";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+
11
+ //#region src/file-upload-root/FileUploadRoot.tsx
12
+ /**
13
+ * FileUploadInline - An inline file upload component using FileUpload primitives
14
+ */
15
+ function FileUploadRoot(props) {
16
+ const { value, onChange, className, disabled, multiple = false, children, onAccept, preventDuplicates, slots,...rest } = props;
17
+ const { handleAccept, displayFiles, deleteFile, getFile, orgValue } = useFileUploadStore({
18
+ value,
19
+ onChange,
20
+ multiple,
21
+ preventDuplicates
22
+ });
23
+ const handleFileAccept = useCallback((files) => {
24
+ onAccept?.(files);
25
+ handleAccept(files);
26
+ }, [handleAccept, onAccept]);
27
+ if (!children && !(slots && slots.trigger)) throw new Error("FileUploadRoot requires children or slots.trigger to be passed in.");
28
+ return /* @__PURE__ */ jsx(FileUpload, {
29
+ ...rest,
30
+ value: orgValue,
31
+ onAccept: handleFileAccept,
32
+ disabled,
33
+ multiple,
34
+ className: cn("space-y-2", className),
35
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [(multiple || !multiple && displayFiles.length === 0) && /* @__PURE__ */ jsx(FileUploadDropzone, {
36
+ ...slots?.dropzone || {},
37
+ className: cn("p-0 border-0 hover:bg-transparent", slots?.dropzone?.className),
38
+ children: /* @__PURE__ */ jsx(FileUploadTrigger, {
39
+ asChild: true,
40
+ ...slots?.trigger || {},
41
+ children
42
+ })
43
+ }), displayFiles.length > 0 && /* @__PURE__ */ jsx(FileUploadList, {
44
+ className: "space-y-1 m-0",
45
+ forceMount: true,
46
+ children: displayFiles.map((data) => {
47
+ const { name, lastModified } = data;
48
+ const key = `${name}-${lastModified}`;
49
+ return /* @__PURE__ */ jsx(FileUploadRootItem, {
50
+ ...data,
51
+ file: getFile(data),
52
+ disabled,
53
+ onDelete: deleteFile,
54
+ ...slots?.fileItem || {}
55
+ }, key);
56
+ })
57
+ })] })
58
+ });
59
+ }
60
+ FileUploadRoot.displayName = "FileUploadRoot";
61
+
62
+ //#endregion
63
+ export { FileUploadRoot };
@@ -16,7 +16,7 @@ pretty_bytes = require_rolldown_runtime.__toESM(pretty_bytes);
16
16
  let react_jsx_runtime = require("react/jsx-runtime");
17
17
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
18
18
 
19
- //#region src/file-upload-inline/FileUploadInlineItem.tsx
19
+ //#region src/file-upload-root/FileUploadRootItem.tsx
20
20
  const FileMetaDataDisplay = ({ size, name, children }) => {
21
21
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22
22
  className: (0, __pixpilot_shadcn.cn)("min-w-0 flex-1 flex flex-col"),
@@ -55,7 +55,7 @@ const FileItemInnerWrapper = ({ children }) => {
55
55
  children
56
56
  });
57
57
  };
58
- const FileUploadInlineItem = react.default.memo(({ file, name = "", size = 0, type = "", lastModified = 0, disabled = false, onDelete }) => {
58
+ const FileUploadRootItem = react.default.memo(({ file, name = "", size = 0, type = "", lastModified = 0, disabled = false, onDelete }) => {
59
59
  require_use_file_upload_progress_callbacks.useFileUploadProgressCallbacks(file, { onChange: () => {} });
60
60
  const fileError = require_use_file_error.useFileError(file);
61
61
  const isUploading = (0, __pixpilot_shadcn.useFileUpload)((store) => {
@@ -89,6 +89,7 @@ const FileUploadInlineItem = react.default.memo(({ file, name = "", size = 0, ty
89
89
  })] })
90
90
  }, `${name}-${size}-${lastModified}`);
91
91
  });
92
+ FileUploadRootItem.displayName = "FileUploadRootItem";
92
93
 
93
94
  //#endregion
94
- exports.FileUploadInlineItem = FileUploadInlineItem;
95
+ exports.FileUploadRootItem = FileUploadRootItem;
@@ -0,0 +1,13 @@
1
+ import { FileMetadata } from "../file-upload/types/index.cjs";
2
+ import { FileWithMetadata } from "../file-upload/utils/merge-file-metadata.cjs";
3
+ import React from "react";
4
+
5
+ //#region src/file-upload-root/FileUploadRootItem.d.ts
6
+ interface FileUploadRootItemProps extends Partial<FileMetadata> {
7
+ file: File;
8
+ disabled?: boolean;
9
+ onDelete: (file: FileWithMetadata) => void;
10
+ }
11
+ declare const FileUploadRootItem: React.FC<FileUploadRootItemProps>;
12
+ //#endregion
13
+ export { FileUploadRootItem, FileUploadRootItemProps };
@@ -0,0 +1,14 @@
1
+ import { FileMetadata } from "../file-upload/types/index.js";
2
+ import { FileWithMetadata } from "../file-upload/utils/merge-file-metadata.js";
3
+ import "../file-upload/utils/index.js";
4
+ import React from "react";
5
+
6
+ //#region src/file-upload-root/FileUploadRootItem.d.ts
7
+ interface FileUploadRootItemProps extends Partial<FileMetadata> {
8
+ file: File;
9
+ disabled?: boolean;
10
+ onDelete: (file: FileWithMetadata) => void;
11
+ }
12
+ declare const FileUploadRootItem: React.FC<FileUploadRootItemProps>;
13
+ //#endregion
14
+ export { FileUploadRootItem, FileUploadRootItemProps };
@@ -10,7 +10,7 @@ import React from "react";
10
10
  import prettyBytes from "pretty-bytes";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
 
13
- //#region src/file-upload-inline/FileUploadInlineItem.tsx
13
+ //#region src/file-upload-root/FileUploadRootItem.tsx
14
14
  const FileMetaDataDisplay = ({ size, name, children }) => {
15
15
  return /* @__PURE__ */ jsxs("div", {
16
16
  className: cn("min-w-0 flex-1 flex flex-col"),
@@ -49,7 +49,7 @@ const FileItemInnerWrapper = ({ children }) => {
49
49
  children
50
50
  });
51
51
  };
52
- const FileUploadInlineItem = React.memo(({ file, name = "", size = 0, type = "", lastModified = 0, disabled = false, onDelete }) => {
52
+ const FileUploadRootItem = React.memo(({ file, name = "", size = 0, type = "", lastModified = 0, disabled = false, onDelete }) => {
53
53
  useFileUploadProgressCallbacks(file, { onChange: () => {} });
54
54
  const fileError = useFileError(file);
55
55
  const isUploading = useFileUpload((store) => {
@@ -83,6 +83,7 @@ const FileUploadInlineItem = React.memo(({ file, name = "", size = 0, type = "",
83
83
  })] })
84
84
  }, `${name}-${size}-${lastModified}`);
85
85
  });
86
+ FileUploadRootItem.displayName = "FileUploadRootItem";
86
87
 
87
88
  //#endregion
88
- export { FileUploadInlineItem };
89
+ export { FileUploadRootItem };
@@ -0,0 +1,2 @@
1
+ const require_FileUploadRootItem = require('./FileUploadRootItem.cjs');
2
+ const require_FileUploadRoot = require('./FileUploadRoot.cjs');
@@ -0,0 +1,3 @@
1
+ import { FileUploadRootItem, FileUploadRootItemProps } from "./FileUploadRootItem.cjs";
2
+ import { FileUploadRootProps, FileUploadRootPropsBaseProps } from "./types.cjs";
3
+ import { FileUploadRoot } from "./FileUploadRoot.cjs";
@@ -0,0 +1,3 @@
1
+ import { FileUploadRootItem, FileUploadRootItemProps } from "./FileUploadRootItem.js";
2
+ import { FileUploadRootProps, FileUploadRootPropsBaseProps } from "./types.js";
3
+ import { FileUploadRoot } from "./FileUploadRoot.js";
@@ -0,0 +1,2 @@
1
+ import { FileUploadRootItem } from "./FileUploadRootItem.js";
2
+ import { FileUploadRoot } from "./FileUploadRoot.js";
@@ -0,0 +1,26 @@
1
+ import { FileUploadProps } from "../file-upload/types/index.cjs";
2
+ import { FileUploadRootItemProps } from "./FileUploadRootItem.cjs";
3
+ import { ComponentProps, ReactNode } from "react";
4
+
5
+ //#region src/file-upload-root/types.d.ts
6
+ interface FileUploadRootPropsBaseProps {
7
+ /**
8
+ * Optional custom trigger children
9
+ */
10
+ children?: ReactNode;
11
+ slots?: {
12
+ /** Props spread onto the `FileUploadTrigger` (renders a `button`) */
13
+ trigger?: Omit<ComponentProps<'button'>, 'children'> & {
14
+ asChild?: boolean;
15
+ };
16
+ /** Props spread onto the `FileUploadDropzone` (renders a `div`) */
17
+ dropzone?: ComponentProps<'div'> & {
18
+ asChild?: boolean;
19
+ };
20
+ /** Props passed to the file item component */
21
+ fileItem?: Partial<FileUploadRootItemProps>;
22
+ };
23
+ }
24
+ type FileUploadRootProps = FileUploadRootPropsBaseProps & FileUploadProps;
25
+ //#endregion
26
+ export { FileUploadRootProps, FileUploadRootPropsBaseProps };
@@ -0,0 +1,26 @@
1
+ import { FileUploadProps } from "../file-upload/types/index.js";
2
+ import { FileUploadRootItemProps } from "./FileUploadRootItem.js";
3
+ import { ComponentProps, ReactNode } from "react";
4
+
5
+ //#region src/file-upload-root/types.d.ts
6
+ interface FileUploadRootPropsBaseProps {
7
+ /**
8
+ * Optional custom trigger children
9
+ */
10
+ children?: ReactNode;
11
+ slots?: {
12
+ /** Props spread onto the `FileUploadTrigger` (renders a `button`) */
13
+ trigger?: Omit<ComponentProps<'button'>, 'children'> & {
14
+ asChild?: boolean;
15
+ };
16
+ /** Props spread onto the `FileUploadDropzone` (renders a `div`) */
17
+ dropzone?: ComponentProps<'div'> & {
18
+ asChild?: boolean;
19
+ };
20
+ /** Props passed to the file item component */
21
+ fileItem?: Partial<FileUploadRootItemProps>;
22
+ };
23
+ }
24
+ type FileUploadRootProps = FileUploadRootPropsBaseProps & FileUploadProps;
25
+ //#endregion
26
+ export { FileUploadRootProps, FileUploadRootPropsBaseProps };
package/dist/index.cjs CHANGED
@@ -25,6 +25,9 @@ const require_ContentCard = require('./ContentCard.cjs');
25
25
  const require_DatePicker = require('./DatePicker.cjs');
26
26
  const require_Dialog = require('./dialog/Dialog.cjs');
27
27
  require('./dialog/index.cjs');
28
+ const require_FileUploadRootItem = require('./file-upload-root/FileUploadRootItem.cjs');
29
+ const require_FileUploadRoot = require('./file-upload-root/FileUploadRoot.cjs');
30
+ require('./file-upload-root/index.cjs');
28
31
  const require_FileUploadInline = require('./file-upload-inline/FileUploadInline.cjs');
29
32
  require('./file-upload-inline/index.cjs');
30
33
  const require_use_media_query = require('./hooks/use-media-query.cjs');
@@ -106,6 +109,8 @@ exports.DialogTitle = __pixpilot_shadcn.DialogTitle;
106
109
  exports.DialogTrigger = __pixpilot_shadcn.DialogTrigger;
107
110
  exports.FileUpload = require_FileUpload.FileUpload;
108
111
  exports.FileUploadInline = require_FileUploadInline.FileUploadInline;
112
+ exports.FileUploadRoot = require_FileUploadRoot.FileUploadRoot;
113
+ exports.FileUploadRootItem = require_FileUploadRootItem.FileUploadRootItem;
109
114
  exports.IconPicker = require_IconPicker.IconPicker;
110
115
  exports.IconToggle = require_IconToggle.IconToggle;
111
116
  exports.Input = require_Input.Input;
package/dist/index.d.cts CHANGED
@@ -24,6 +24,10 @@ import { ContentCard } from "./ContentCard.cjs";
24
24
  import { DatePicker, DatePickerProps } from "./DatePicker.cjs";
25
25
  import { DialogBody, DialogContent, DialogFooter, DialogHeader } from "./dialog/Dialog.cjs";
26
26
  import { Dialog, DialogClose, DialogDescription, DialogTitle, DialogTrigger } from "./dialog/index.cjs";
27
+ import { FileUploadRootItem, FileUploadRootItemProps } from "./file-upload-root/FileUploadRootItem.cjs";
28
+ import { FileUploadRootProps, FileUploadRootPropsBaseProps } from "./file-upload-root/types.cjs";
29
+ import { FileUploadRoot } from "./file-upload-root/FileUploadRoot.cjs";
30
+ import "./file-upload-root/index.cjs";
27
31
  import { FileUploadInlineBaseProps, FileUploadInlineProps } from "./file-upload-inline/types.cjs";
28
32
  import { FileUploadInline } from "./file-upload-inline/FileUploadInline.cjs";
29
33
  import "./file-upload-inline/index.cjs";
@@ -79,4 +83,4 @@ import "./toast/index.cjs";
79
83
  import { ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue } from "./ToggleGroup.cjs";
80
84
  import { isSvgMarkupString, svgMarkupToMaskUrl } from "./utils/svg.cjs";
81
85
  import { cn } from "@pixpilot/shadcn";
82
- export { AbsoluteFill, Alert, AlertBaseProps, AlertProps, AlertToastProps, AlertVariant, AvatarUpload, AvatarUploadProps, BaseTabsTriggerProps, Button, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, ButtonLoaderProps, ButtonProps, CircleLoader, CircleLoaderProps, CloseButtonAbsolute, CloseButtonRounded, CloseButtonRoundedProps, ColorPicker, ColorPickerBase, ColorPickerBaseProps, ColorPickerBaseSection, ColorPickerProps, ColorSelect, ColorSelectOption, BaseColorSelectProps as ColorSelectProps, Combobox, ConfirmationDialogProps, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, DatePickerProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogProviderProps, DialogTitle, DialogTrigger, type FileMetadata, FileUpload, FileUploadBaseProps, FileUploadInline, FileUploadInlineBaseProps, FileUploadInlineProps, type FileUploadProgressCallBacks, type FileUploadProps, IconPicker, IconPickerProps, IconPickerVariant, IconProvider, IconProviderLoader, IconProviderProps, IconToggle, IconToggleProps, Input, InputProps, Layout, LayoutFooter, LayoutFooterProps, LayoutHeader, LayoutHeaderProps, LayoutMain, LayoutMainProps, LayoutProps, LoadingOverlay, LoadingOverlayProps, MultiFileUploadProps, OnChangeMultipleFiles, OnChangeSingleFile, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverCloseButtonProps, PopoverContent, PopoverContentProps, PopoverTrigger, PresetColor, Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps, RichTextEditor, RichTextEditorProps, RichTextEditorSlots, ScaledPreview, ScaledPreviewProps, ScaledPreviewSize, Select, SelectContentProps, SelectOption, SingleFileUploadProps, Slider, SliderInput, SliderInputProps, SliderProps, SliderSelect, SliderSelectOption, SliderSelectProps, SliderSelectValue, Tabs, TabsContent, TabsContext, TabsContextValue, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TabsVariant, TagsInput, TagsInputInline, TagsInputInlineItem, TagsInputInlineProps, TagsInputProps, ThemeModeDropdown, ThemeModeDropdownProps, ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize, ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps, ThemeModeToggleButton, ThemeModeToggleButtonProps, ThemeProvider, ThemeProviderProps, ToastFunction, ToastMessage, Toaster, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue, ToolbarItems, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
86
+ export { AbsoluteFill, Alert, AlertBaseProps, AlertProps, AlertToastProps, AlertVariant, AvatarUpload, AvatarUploadProps, BaseTabsTriggerProps, Button, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, ButtonLoaderProps, ButtonProps, CircleLoader, CircleLoaderProps, CloseButtonAbsolute, CloseButtonRounded, CloseButtonRoundedProps, ColorPicker, ColorPickerBase, ColorPickerBaseProps, ColorPickerBaseSection, ColorPickerProps, ColorSelect, ColorSelectOption, BaseColorSelectProps as ColorSelectProps, Combobox, ConfirmationDialogProps, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, DatePickerProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogProviderProps, DialogTitle, DialogTrigger, type FileMetadata, FileUpload, FileUploadBaseProps, FileUploadInline, FileUploadInlineBaseProps, FileUploadInlineProps, type FileUploadProgressCallBacks, type FileUploadProps, FileUploadRoot, FileUploadRootItem, FileUploadRootItemProps, FileUploadRootProps, FileUploadRootPropsBaseProps, IconPicker, IconPickerProps, IconPickerVariant, IconProvider, IconProviderLoader, IconProviderProps, IconToggle, IconToggleProps, Input, InputProps, Layout, LayoutFooter, LayoutFooterProps, LayoutHeader, LayoutHeaderProps, LayoutMain, LayoutMainProps, LayoutProps, LoadingOverlay, LoadingOverlayProps, MultiFileUploadProps, OnChangeMultipleFiles, OnChangeSingleFile, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverCloseButtonProps, PopoverContent, PopoverContentProps, PopoverTrigger, PresetColor, Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps, RichTextEditor, RichTextEditorProps, RichTextEditorSlots, ScaledPreview, ScaledPreviewProps, ScaledPreviewSize, Select, SelectContentProps, SelectOption, SingleFileUploadProps, Slider, SliderInput, SliderInputProps, SliderProps, SliderSelect, SliderSelectOption, SliderSelectProps, SliderSelectValue, Tabs, TabsContent, TabsContext, TabsContextValue, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TabsVariant, TagsInput, TagsInputInline, TagsInputInlineItem, TagsInputInlineProps, TagsInputProps, ThemeModeDropdown, ThemeModeDropdownProps, ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize, ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps, ThemeModeToggleButton, ThemeModeToggleButtonProps, ThemeProvider, ThemeProviderProps, ToastFunction, ToastMessage, Toaster, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue, ToolbarItems, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
package/dist/index.d.ts CHANGED
@@ -26,6 +26,10 @@ import { ContentCard } from "./ContentCard.js";
26
26
  import { DatePicker, DatePickerProps } from "./DatePicker.js";
27
27
  import { DialogBody, DialogContent, DialogFooter, DialogHeader } from "./dialog/Dialog.js";
28
28
  import { Dialog, DialogClose, DialogDescription, DialogTitle, DialogTrigger } from "./dialog/index.js";
29
+ import { FileUploadRootItem, FileUploadRootItemProps } from "./file-upload-root/FileUploadRootItem.js";
30
+ import { FileUploadRootProps, FileUploadRootPropsBaseProps } from "./file-upload-root/types.js";
31
+ import { FileUploadRoot } from "./file-upload-root/FileUploadRoot.js";
32
+ import "./file-upload-root/index.js";
29
33
  import { FileUploadInlineBaseProps, FileUploadInlineProps } from "./file-upload-inline/types.js";
30
34
  import { FileUploadInline } from "./file-upload-inline/FileUploadInline.js";
31
35
  import "./file-upload-inline/index.js";
@@ -81,4 +85,4 @@ import "./toast/index.js";
81
85
  import { ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue } from "./ToggleGroup.js";
82
86
  import { isSvgMarkupString, svgMarkupToMaskUrl } from "./utils/svg.js";
83
87
  import { cn } from "@pixpilot/shadcn";
84
- export { AbsoluteFill, Alert, AlertBaseProps, AlertProps, AlertToastProps, AlertVariant, AvatarUpload, AvatarUploadProps, BaseTabsTriggerProps, Button, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, ButtonLoaderProps, ButtonProps, CircleLoader, CircleLoaderProps, CloseButtonAbsolute, CloseButtonRounded, CloseButtonRoundedProps, ColorPicker, ColorPickerBase, ColorPickerBaseProps, ColorPickerBaseSection, ColorPickerProps, ColorSelect, ColorSelectOption, BaseColorSelectProps as ColorSelectProps, Combobox, ConfirmationDialogProps, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, DatePickerProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogProviderProps, DialogTitle, DialogTrigger, type FileMetadata, FileUpload, FileUploadBaseProps, FileUploadInline, FileUploadInlineBaseProps, FileUploadInlineProps, type FileUploadProgressCallBacks, type FileUploadProps, IconPicker, IconPickerProps, IconPickerVariant, IconProvider, IconProviderLoader, IconProviderProps, IconToggle, IconToggleProps, Input, InputProps, Layout, LayoutFooter, LayoutFooterProps, LayoutHeader, LayoutHeaderProps, LayoutMain, LayoutMainProps, LayoutProps, LoadingOverlay, LoadingOverlayProps, MultiFileUploadProps, OnChangeMultipleFiles, OnChangeSingleFile, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverCloseButtonProps, PopoverContent, PopoverContentProps, PopoverTrigger, PresetColor, Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps, RichTextEditor, RichTextEditorProps, RichTextEditorSlots, ScaledPreview, ScaledPreviewProps, ScaledPreviewSize, Select, SelectContentProps, SelectOption, SingleFileUploadProps, Slider, SliderInput, SliderInputProps, SliderProps, SliderSelect, SliderSelectOption, SliderSelectProps, SliderSelectValue, Tabs, TabsContent, TabsContext, TabsContextValue, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TabsVariant, TagsInput, TagsInputInline, TagsInputInlineItem, TagsInputInlineProps, TagsInputProps, ThemeModeDropdown, ThemeModeDropdownProps, ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize, ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps, ThemeModeToggleButton, ThemeModeToggleButtonProps, ThemeProvider, ThemeProviderProps, ToastFunction, ToastMessage, Toaster, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue, ToolbarItems, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
88
+ export { AbsoluteFill, Alert, AlertBaseProps, AlertProps, AlertToastProps, AlertVariant, AvatarUpload, AvatarUploadProps, BaseTabsTriggerProps, Button, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, ButtonLoaderProps, ButtonProps, CircleLoader, CircleLoaderProps, CloseButtonAbsolute, CloseButtonRounded, CloseButtonRoundedProps, ColorPicker, ColorPickerBase, ColorPickerBaseProps, ColorPickerBaseSection, ColorPickerProps, ColorSelect, ColorSelectOption, BaseColorSelectProps as ColorSelectProps, Combobox, ConfirmationDialogProps, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, DatePickerProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogProviderProps, DialogTitle, DialogTrigger, type FileMetadata, FileUpload, FileUploadBaseProps, FileUploadInline, FileUploadInlineBaseProps, FileUploadInlineProps, type FileUploadProgressCallBacks, type FileUploadProps, FileUploadRoot, FileUploadRootItem, FileUploadRootItemProps, FileUploadRootProps, FileUploadRootPropsBaseProps, IconPicker, IconPickerProps, IconPickerVariant, IconProvider, IconProviderLoader, IconProviderProps, IconToggle, IconToggleProps, Input, InputProps, Layout, LayoutFooter, LayoutFooterProps, LayoutHeader, LayoutHeaderProps, LayoutMain, LayoutMainProps, LayoutProps, LoadingOverlay, LoadingOverlayProps, MultiFileUploadProps, OnChangeMultipleFiles, OnChangeSingleFile, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverCloseButtonProps, PopoverContent, PopoverContentProps, PopoverTrigger, PresetColor, Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps, RichTextEditor, RichTextEditorProps, RichTextEditorSlots, ScaledPreview, ScaledPreviewProps, ScaledPreviewSize, Select, SelectContentProps, SelectOption, SingleFileUploadProps, Slider, SliderInput, SliderInputProps, SliderProps, SliderSelect, SliderSelectOption, SliderSelectProps, SliderSelectValue, Tabs, TabsContent, TabsContext, TabsContextValue, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps, TabsVariant, TagsInput, TagsInputInline, TagsInputInlineItem, TagsInputInlineProps, TagsInputProps, ThemeModeDropdown, ThemeModeDropdownProps, ThemeModeSwitchInside, ThemeModeSwitchInsideProps, ThemeModeSwitchInsideSize, ThemeModeSwitchOutside, ThemeModeSwitchOutsideProps, ThemeModeToggleButton, ThemeModeToggleButtonProps, ThemeProvider, ThemeProviderProps, ToastFunction, ToastMessage, Toaster, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleGroupValue, ToolbarItems, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
package/dist/index.js CHANGED
@@ -24,6 +24,9 @@ import { ContentCard } from "./ContentCard.js";
24
24
  import { DatePicker } from "./DatePicker.js";
25
25
  import { DialogBody, DialogContent, DialogFooter, DialogHeader } from "./dialog/Dialog.js";
26
26
  import { Dialog, DialogClose, DialogDescription, DialogTitle, DialogTrigger } from "./dialog/index.js";
27
+ import { FileUploadRootItem } from "./file-upload-root/FileUploadRootItem.js";
28
+ import { FileUploadRoot } from "./file-upload-root/FileUploadRoot.js";
29
+ import "./file-upload-root/index.js";
27
30
  import { FileUploadInline } from "./file-upload-inline/FileUploadInline.js";
28
31
  import "./file-upload-inline/index.js";
29
32
  import { useMediaQuery } from "./hooks/use-media-query.js";
@@ -75,4 +78,4 @@ import "./toast/index.js";
75
78
  import { ToggleGroup, ToggleGroupItem } from "./ToggleGroup.js";
76
79
  import { cn } from "@pixpilot/shadcn";
77
80
 
78
- export { AbsoluteFill, Alert, AvatarUpload, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CircleLoader, CloseButtonAbsolute, CloseButtonRounded, ColorPicker, ColorPickerBase, ColorSelect, Combobox, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogTitle, DialogTrigger, FileUpload, FileUploadInline, IconPicker, IconToggle, Input, Layout, LayoutFooter, LayoutHeader, LayoutMain, LoadingOverlay, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Rating, RatingButton, RichTextEditor, ScaledPreview, Select, Slider, SliderInput, SliderSelect, Tabs, TabsContent, TabsContext, TabsList, TabsTrigger, TagsInput, TagsInputInline, ThemeModeDropdown, ThemeModeSwitchInside, ThemeModeSwitchOutside, ThemeModeToggleButton, ThemeProvider, Toaster, ToggleGroup, ToggleGroupItem, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
81
+ export { AbsoluteFill, Alert, AvatarUpload, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CircleLoader, CloseButtonAbsolute, CloseButtonRounded, ColorPicker, ColorPickerBase, ColorSelect, Combobox, ContentCard, DEFAULT_ALERT_DURATION, DatePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogProvider, DialogTitle, DialogTrigger, FileUpload, FileUploadInline, FileUploadRoot, FileUploadRootItem, IconPicker, IconToggle, Input, Layout, LayoutFooter, LayoutHeader, LayoutMain, LoadingOverlay, Pagination, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Rating, RatingButton, RichTextEditor, ScaledPreview, Select, Slider, SliderInput, SliderSelect, Tabs, TabsContent, TabsContext, TabsList, TabsTrigger, TagsInput, TagsInputInline, ThemeModeDropdown, ThemeModeSwitchInside, ThemeModeSwitchOutside, ThemeModeToggleButton, ThemeProvider, Toaster, ToggleGroup, ToggleGroupItem, cn, isSvgMarkupString, showConfirmDialog, svgMarkupToMaskUrl, toast, useMediaQuery, useSelectKeyboard, useTabsContext, useTheme };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime12 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime13 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_runtime12.JSX.Element;
13
+ declare function Input(props: InputProps$1): react_jsx_runtime13.JSX.Element;
14
14
  //#endregion
15
15
  export { Input, InputProps$1 as InputProps };
@@ -1,5 +1,5 @@
1
1
  import { CommandOptionListItem } from "../CommandOptionList.cjs";
2
- import * as react_jsx_runtime14 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime19 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/tags-input/TagsInput.d.ts
5
5
  interface TagsInputProps {
@@ -57,6 +57,6 @@ declare function TagsInput({
57
57
  addOnTab,
58
58
  onValidate,
59
59
  addButtonVisibility
60
- }: TagsInputProps): react_jsx_runtime14.JSX.Element;
60
+ }: TagsInputProps): react_jsx_runtime19.JSX.Element;
61
61
  //#endregion
62
62
  export { TagsInput, TagsInputProps };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime13 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
2
2
  import { ChangeEventHandler, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, Ref } from "react";
3
3
 
4
4
  //#region src/tags-input/TagsInputInline.d.ts
@@ -75,6 +75,6 @@ declare function TagsInputInline({
75
75
  canAddCurrentValue,
76
76
  onAddCurrentInput,
77
77
  showClear
78
- }: TagsInputInlineProps): react_jsx_runtime13.JSX.Element;
78
+ }: TagsInputInlineProps): react_jsx_runtime18.JSX.Element;
79
79
  //#endregion
80
80
  export { TagsInputInline, TagsInputInlineItem, TagsInputInlineProps };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime18 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime14 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeToggleButton.d.ts
4
4
  interface ThemeModeToggleButtonProps {
@@ -13,7 +13,7 @@ interface ThemeModeToggleButtonProps {
13
13
  * Light/Dark toggle button.
14
14
  * Pure component - toggles between light and dark.
15
15
  */
16
- declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime18.JSX.Element;
16
+ declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime14.JSX.Element;
17
17
  declare namespace ThemeModeToggleButton {
18
18
  var displayName: string;
19
19
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pixpilot/shadcn-ui",
3
3
  "type": "module",
4
- "version": "0.57.1",
4
+ "version": "0.58.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",
@@ -47,7 +47,7 @@
47
47
  "pretty-bytes": "^7.1.0",
48
48
  "react-responsive": "^10.0.1",
49
49
  "sonner": "2.0.7",
50
- "@pixpilot/shadcn": "0.10.1"
50
+ "@pixpilot/shadcn": "0.11.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@storybook/react": "^8.6.14",
@@ -1 +0,0 @@
1
- const require_utils = require('./utils.cjs');
@@ -1 +0,0 @@
1
- import { cn } from "./utils.js";