@bigbinary/neeto-atoms 1.0.29 → 1.0.30

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.
@@ -3,6 +3,7 @@ import { forwardRef } from 'react';
3
3
  import { c as cn } from './utils-DdHUxIdC.js';
4
4
  import { Empty as Empty$1, EmptyHeader, EmptyMedia, EmptyTitle, EmptyDescription, EmptyContent } from './primitives/Empty.js';
5
5
  import { B as Button } from './Button-DSvnInaL.js';
6
+ import { T as Typography } from './Typography-ClPJbLjP.js';
6
7
  import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from './primitives/Tooltip.js';
7
8
  import { r as renderIcon } from './renderIcon-tlvMyboj.js';
8
9
 
@@ -16,11 +17,11 @@ function MaybeTooltipButton({ buttonProps, showTooltipWhenDisabled, defaultVaria
16
17
  const Empty = forwardRef(({ image, icon, title, description, helpText, primaryButtonProps, secondaryButtonProps, buttonSeparatorText, showTooltipWhenButtonDisabled = false, className, ...otherProps }, ref) => {
17
18
  const hasMedia = image || icon;
18
19
  const hasButtons = primaryButtonProps || secondaryButtonProps;
19
- return (jsxs(Empty$1, { ref: ref, className: cn(className), ...otherProps, children: [jsxs(EmptyHeader, { children: [hasMedia && (jsxs(Fragment, { children: [image && (jsx(EmptyMedia, { children: typeof image === "string" ? (jsx("img", { src: image, alt: title ?? "" })) : (image) })), !image && icon && (jsx(EmptyMedia, { variant: "icon", children: renderIcon(icon) }))] })), title && jsx(EmptyTitle, { children: title }), description && jsx(EmptyDescription, { children: description }), helpText && (jsx("p", { className: "text-sm text-muted-foreground", children: helpText }))] }), hasButtons && (jsx(EmptyContent, { children: jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [primaryButtonProps && (jsx(MaybeTooltipButton, { buttonProps: primaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "default" })), buttonSeparatorText &&
20
+ return (jsxs(Empty$1, { ref: ref, className: cn(className), ...otherProps, children: [jsxs(EmptyHeader, { children: [hasMedia && (jsxs(Fragment, { children: [image && (jsx(EmptyMedia, { children: typeof image === "string" ? (jsx("img", { src: image, alt: title ?? "" })) : (image) })), !image && icon && (jsx(EmptyMedia, { variant: "icon", children: renderIcon(icon) }))] })), title && (jsx(Typography, { variant: "h4", asChild: true, children: jsx(EmptyTitle, { children: title }) })), description && (jsx(Typography, { variant: "body3", color: "muted", asChild: true, children: jsx(EmptyDescription, { children: description }) })), helpText && (jsx(Typography, { variant: "body3", color: "muted", asChild: true, children: jsx("p", { children: helpText }) }))] }), hasButtons && (jsx(EmptyContent, { children: jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [primaryButtonProps && (jsx(MaybeTooltipButton, { buttonProps: primaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "default" })), buttonSeparatorText &&
20
21
  primaryButtonProps &&
21
- secondaryButtonProps && (jsx("span", { className: "text-sm text-muted-foreground", children: buttonSeparatorText })), secondaryButtonProps && (jsx(MaybeTooltipButton, { buttonProps: secondaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "outline" }))] }) }))] }));
22
+ secondaryButtonProps && (jsx(Typography, { variant: "body3", color: "muted", asChild: true, children: jsx("span", { children: buttonSeparatorText }) })), secondaryButtonProps && (jsx(MaybeTooltipButton, { buttonProps: secondaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "outline" }))] }) }))] }));
22
23
  });
23
24
  Empty.displayName = "Empty";
24
25
 
25
26
  export { Empty as E };
26
- //# sourceMappingURL=Empty-CkJBrO62.js.map
27
+ //# sourceMappingURL=Empty-zyL2ZsHX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Empty-zyL2ZsHX.js","sources":["../src/components/Empty/Empty.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Empty as PrimitiveEmpty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n} from \"src/primitives/Empty\";\nimport { Button } from \"src/components/Button\";\nimport { Typography } from \"src/components/Typography\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nexport interface EmptyProps extends React.ComponentProps<\"div\"> {\n /** Image URL or JSX for the media area. */\n image?: string | React.ReactNode;\n /** Icon for the media area (rendered inside EmptyMedia with variant=\"icon\"). */\n icon?: IconProp;\n /** Empty state title. */\n title?: string;\n /** Description text or JSX. */\n description?: React.ReactNode;\n /** Additional help text below the description. */\n helpText?: React.ReactNode;\n /** Props forwarded to the primary action Button. */\n primaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Props forwarded to the secondary action Button. */\n secondaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Text displayed between the primary and secondary buttons (e.g., \"or\"). */\n buttonSeparatorText?: string;\n /** Show tooltip on disabled buttons using their label as content. */\n showTooltipWhenButtonDisabled?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\nfunction MaybeTooltipButton({\n buttonProps,\n showTooltipWhenDisabled,\n defaultVariant,\n}: {\n buttonProps: React.ComponentProps<typeof Button>;\n showTooltipWhenDisabled: boolean;\n defaultVariant: \"default\" | \"outline\";\n}) {\n const button = <Button variant={defaultVariant} {...buttonProps} />;\n\n if (showTooltipWhenDisabled && buttonProps.disabled && buttonProps.label) {\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"inline-flex\">{button}</span>\n </TooltipTrigger>\n <TooltipContent>{buttonProps.label}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n}\n\nconst Empty = forwardRef<HTMLDivElement, EmptyProps>(\n (\n {\n image,\n icon,\n title,\n description,\n helpText,\n primaryButtonProps,\n secondaryButtonProps,\n buttonSeparatorText,\n showTooltipWhenButtonDisabled = false,\n className,\n ...otherProps\n },\n ref\n ) => {\n const hasMedia = image || icon;\n const hasButtons = primaryButtonProps || secondaryButtonProps;\n\n return (\n <PrimitiveEmpty ref={ref} className={cn(className)} {...otherProps}>\n <EmptyHeader>\n {hasMedia && (\n <>\n {image && (\n <EmptyMedia>\n {typeof image === \"string\" ? (\n <img src={image} alt={title ?? \"\"} />\n ) : (\n image\n )}\n </EmptyMedia>\n )}\n {!image && icon && (\n <EmptyMedia variant=\"icon\">{renderIcon(icon)}</EmptyMedia>\n )}\n </>\n )}\n {title && (\n <Typography variant=\"h4\" asChild>\n <EmptyTitle>{title}</EmptyTitle>\n </Typography>\n )}\n {description && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <EmptyDescription>{description}</EmptyDescription>\n </Typography>\n )}\n {helpText && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <p>{helpText}</p>\n </Typography>\n )}\n </EmptyHeader>\n\n {hasButtons && (\n <EmptyContent>\n <div className=\"flex flex-wrap items-center justify-center gap-2\">\n {primaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={primaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"default\"\n />\n )}\n {buttonSeparatorText &&\n primaryButtonProps &&\n secondaryButtonProps && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <span>{buttonSeparatorText}</span>\n </Typography>\n )}\n {secondaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={secondaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"outline\"\n />\n )}\n </div>\n </EmptyContent>\n )}\n </PrimitiveEmpty>\n );\n }\n);\n\nEmpty.displayName = \"Empty\";\n\nexport { Empty };\n"],"names":["_jsx","_jsxs","PrimitiveEmpty","_Fragment"],"mappings":"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"}
@@ -5,6 +5,7 @@ var React = require('react');
5
5
  var utils = require('./utils-CTr7wn5d.js');
6
6
  var primitives_Empty = require('./primitives/Empty.js');
7
7
  var Button = require('./Button-BniJ4TT_.js');
8
+ var Typography = require('./Typography-DaZ0HTha.js');
8
9
  var primitives_Tooltip = require('./primitives/Tooltip.js');
9
10
  var renderIcon = require('./renderIcon-fLF3odqg.js');
10
11
 
@@ -18,11 +19,11 @@ function MaybeTooltipButton({ buttonProps, showTooltipWhenDisabled, defaultVaria
18
19
  const Empty = React.forwardRef(({ image, icon, title, description, helpText, primaryButtonProps, secondaryButtonProps, buttonSeparatorText, showTooltipWhenButtonDisabled = false, className, ...otherProps }, ref) => {
19
20
  const hasMedia = image || icon;
20
21
  const hasButtons = primaryButtonProps || secondaryButtonProps;
21
- return (jsxRuntime.jsxs(primitives_Empty.Empty, { ref: ref, className: utils.cn(className), ...otherProps, children: [jsxRuntime.jsxs(primitives_Empty.EmptyHeader, { children: [hasMedia && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [image && (jsxRuntime.jsx(primitives_Empty.EmptyMedia, { children: typeof image === "string" ? (jsxRuntime.jsx("img", { src: image, alt: title ?? "" })) : (image) })), !image && icon && (jsxRuntime.jsx(primitives_Empty.EmptyMedia, { variant: "icon", children: renderIcon.renderIcon(icon) }))] })), title && jsxRuntime.jsx(primitives_Empty.EmptyTitle, { children: title }), description && jsxRuntime.jsx(primitives_Empty.EmptyDescription, { children: description }), helpText && (jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: helpText }))] }), hasButtons && (jsxRuntime.jsx(primitives_Empty.EmptyContent, { children: jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [primaryButtonProps && (jsxRuntime.jsx(MaybeTooltipButton, { buttonProps: primaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "default" })), buttonSeparatorText &&
22
+ return (jsxRuntime.jsxs(primitives_Empty.Empty, { ref: ref, className: utils.cn(className), ...otherProps, children: [jsxRuntime.jsxs(primitives_Empty.EmptyHeader, { children: [hasMedia && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [image && (jsxRuntime.jsx(primitives_Empty.EmptyMedia, { children: typeof image === "string" ? (jsxRuntime.jsx("img", { src: image, alt: title ?? "" })) : (image) })), !image && icon && (jsxRuntime.jsx(primitives_Empty.EmptyMedia, { variant: "icon", children: renderIcon.renderIcon(icon) }))] })), title && (jsxRuntime.jsx(Typography.Typography, { variant: "h4", asChild: true, children: jsxRuntime.jsx(primitives_Empty.EmptyTitle, { children: title }) })), description && (jsxRuntime.jsx(Typography.Typography, { variant: "body3", color: "muted", asChild: true, children: jsxRuntime.jsx(primitives_Empty.EmptyDescription, { children: description }) })), helpText && (jsxRuntime.jsx(Typography.Typography, { variant: "body3", color: "muted", asChild: true, children: jsxRuntime.jsx("p", { children: helpText }) }))] }), hasButtons && (jsxRuntime.jsx(primitives_Empty.EmptyContent, { children: jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [primaryButtonProps && (jsxRuntime.jsx(MaybeTooltipButton, { buttonProps: primaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "default" })), buttonSeparatorText &&
22
23
  primaryButtonProps &&
23
- secondaryButtonProps && (jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: buttonSeparatorText })), secondaryButtonProps && (jsxRuntime.jsx(MaybeTooltipButton, { buttonProps: secondaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "outline" }))] }) }))] }));
24
+ secondaryButtonProps && (jsxRuntime.jsx(Typography.Typography, { variant: "body3", color: "muted", asChild: true, children: jsxRuntime.jsx("span", { children: buttonSeparatorText }) })), secondaryButtonProps && (jsxRuntime.jsx(MaybeTooltipButton, { buttonProps: secondaryButtonProps, showTooltipWhenDisabled: showTooltipWhenButtonDisabled, defaultVariant: "outline" }))] }) }))] }));
24
25
  });
25
26
  Empty.displayName = "Empty";
26
27
 
27
28
  exports.Empty = Empty;
28
- //# sourceMappingURL=Empty-CcZrv7wE.js.map
29
+ //# sourceMappingURL=Empty-CfPLWsLK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Empty-CfPLWsLK.js","sources":["../../../src/components/Empty/Empty.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Empty as PrimitiveEmpty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n} from \"src/primitives/Empty\";\nimport { Button } from \"src/components/Button\";\nimport { Typography } from \"src/components/Typography\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nexport interface EmptyProps extends React.ComponentProps<\"div\"> {\n /** Image URL or JSX for the media area. */\n image?: string | React.ReactNode;\n /** Icon for the media area (rendered inside EmptyMedia with variant=\"icon\"). */\n icon?: IconProp;\n /** Empty state title. */\n title?: string;\n /** Description text or JSX. */\n description?: React.ReactNode;\n /** Additional help text below the description. */\n helpText?: React.ReactNode;\n /** Props forwarded to the primary action Button. */\n primaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Props forwarded to the secondary action Button. */\n secondaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Text displayed between the primary and secondary buttons (e.g., \"or\"). */\n buttonSeparatorText?: string;\n /** Show tooltip on disabled buttons using their label as content. */\n showTooltipWhenButtonDisabled?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\nfunction MaybeTooltipButton({\n buttonProps,\n showTooltipWhenDisabled,\n defaultVariant,\n}: {\n buttonProps: React.ComponentProps<typeof Button>;\n showTooltipWhenDisabled: boolean;\n defaultVariant: \"default\" | \"outline\";\n}) {\n const button = <Button variant={defaultVariant} {...buttonProps} />;\n\n if (showTooltipWhenDisabled && buttonProps.disabled && buttonProps.label) {\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"inline-flex\">{button}</span>\n </TooltipTrigger>\n <TooltipContent>{buttonProps.label}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n}\n\nconst Empty = forwardRef<HTMLDivElement, EmptyProps>(\n (\n {\n image,\n icon,\n title,\n description,\n helpText,\n primaryButtonProps,\n secondaryButtonProps,\n buttonSeparatorText,\n showTooltipWhenButtonDisabled = false,\n className,\n ...otherProps\n },\n ref\n ) => {\n const hasMedia = image || icon;\n const hasButtons = primaryButtonProps || secondaryButtonProps;\n\n return (\n <PrimitiveEmpty ref={ref} className={cn(className)} {...otherProps}>\n <EmptyHeader>\n {hasMedia && (\n <>\n {image && (\n <EmptyMedia>\n {typeof image === \"string\" ? (\n <img src={image} alt={title ?? \"\"} />\n ) : (\n image\n )}\n </EmptyMedia>\n )}\n {!image && icon && (\n <EmptyMedia variant=\"icon\">{renderIcon(icon)}</EmptyMedia>\n )}\n </>\n )}\n {title && (\n <Typography variant=\"h4\" asChild>\n <EmptyTitle>{title}</EmptyTitle>\n </Typography>\n )}\n {description && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <EmptyDescription>{description}</EmptyDescription>\n </Typography>\n )}\n {helpText && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <p>{helpText}</p>\n </Typography>\n )}\n </EmptyHeader>\n\n {hasButtons && (\n <EmptyContent>\n <div className=\"flex flex-wrap items-center justify-center gap-2\">\n {primaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={primaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"default\"\n />\n )}\n {buttonSeparatorText &&\n primaryButtonProps &&\n secondaryButtonProps && (\n <Typography variant=\"body3\" color=\"muted\" asChild>\n <span>{buttonSeparatorText}</span>\n </Typography>\n )}\n {secondaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={secondaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"outline\"\n />\n )}\n </div>\n </EmptyContent>\n )}\n </PrimitiveEmpty>\n );\n }\n);\n\nEmpty.displayName = \"Empty\";\n\nexport { Empty };\n"],"names":["_jsx","Button","TooltipProvider","_jsxs","Tooltip","TooltipTrigger","TooltipContent","forwardRef","PrimitiveEmpty","cn","EmptyHeader","_Fragment","EmptyMedia","renderIcon","Typography","EmptyTitle","EmptyDescription","EmptyContent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Empty = require('../Empty-CcZrv7wE.js');
3
+ var Empty = require('../Empty-CfPLWsLK.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../utils-CTr7wn5d.js');
@@ -34,6 +34,7 @@ require('../index-Df-Ffa3s.js');
34
34
  require('../index-DcCSSgb7.js');
35
35
  require('../index-CyrAgb4H.js');
36
36
  require('../index-CB9xFokC.js');
37
+ require('../Typography-DaZ0HTha.js');
37
38
 
38
39
 
39
40
 
@@ -1 +1 @@
1
- {"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -12,7 +12,7 @@ var DataTable = require('../DataTable-D_rEai97.js');
12
12
  var DatePicker = require('../DatePicker-aFQ4yEf1.js');
13
13
  var Dialog = require('../Dialog-CtI_yWsJ.js');
14
14
  var components_DropdownMenu = require('./DropdownMenu.js');
15
- var Empty = require('../Empty-CcZrv7wE.js');
15
+ var Empty = require('../Empty-CfPLWsLK.js');
16
16
  var Input = require('../Input-pkugjUb0.js');
17
17
  var Kbd = require('../Kbd-DHirsI--.js');
18
18
  var Label = require('../Label-BHFmdHwe.js');
package/dist/cjs/index.js CHANGED
@@ -20,7 +20,7 @@ var TranslationProvider = require('./TranslationProvider-DBZHXmzX.js');
20
20
  var DirectionProvider = require('./DirectionProvider-Bec-6U8p.js');
21
21
  var Dialog = require('./Dialog-CtI_yWsJ.js');
22
22
  var components_DropdownMenu = require('./components/DropdownMenu.js');
23
- var Empty = require('./Empty-CcZrv7wE.js');
23
+ var Empty = require('./Empty-CfPLWsLK.js');
24
24
  var Input = require('./Input-pkugjUb0.js');
25
25
  var Kbd = require('./Kbd-DHirsI--.js');
26
26
  var Label = require('./Label-BHFmdHwe.js');
@@ -1,4 +1,4 @@
1
- export { E as Empty } from '../Empty-CkJBrO62.js';
1
+ export { E as Empty } from '../Empty-zyL2ZsHX.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import '../utils-DdHUxIdC.js';
@@ -32,4 +32,5 @@ import '../index-fV_U4ZJM.js';
32
32
  import '../index-yFgkK_AM.js';
33
33
  import '../index-Cor698lu.js';
34
34
  import '../index-CSggBaQF.js';
35
+ import '../Typography-ClPJbLjP.js';
35
36
  //# sourceMappingURL=Empty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Empty.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,7 +10,7 @@ export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as use
10
10
  export { D as DatePicker } from '../DatePicker-C5DROLCX.js';
11
11
  export { D as Dialog } from '../Dialog-BURSzxaP.js';
12
12
  export { DropdownMenu } from './DropdownMenu.js';
13
- export { E as Empty } from '../Empty-CkJBrO62.js';
13
+ export { E as Empty } from '../Empty-zyL2ZsHX.js';
14
14
  export { I as Input } from '../Input-C1gcv9o2.js';
15
15
  export { K as Kbd } from '../Kbd-EqbC0bua.js';
16
16
  export { L as Label } from '../Label-CryFO2yq.js';
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ export { T as TranslationProvider, r as translations } from './TranslationProvid
18
18
  export { D as DirectionProvider } from './DirectionProvider-DGYDg_He.js';
19
19
  export { D as Dialog } from './Dialog-BURSzxaP.js';
20
20
  export { DropdownMenu } from './components/DropdownMenu.js';
21
- export { E as Empty } from './Empty-CkJBrO62.js';
21
+ export { E as Empty } from './Empty-zyL2ZsHX.js';
22
22
  export { I as Input } from './Input-C1gcv9o2.js';
23
23
  export { K as Kbd } from './Kbd-EqbC0bua.js';
24
24
  export { L as Label } from './Label-CryFO2yq.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-atoms",
3
- "version": "1.0.29",
3
+ "version": "1.0.30",
4
4
  "author": "BigBinary",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"Empty-CkJBrO62.js","sources":["../src/components/Empty/Empty.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Empty as PrimitiveEmpty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n} from \"src/primitives/Empty\";\nimport { Button } from \"src/components/Button\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nexport interface EmptyProps extends React.ComponentProps<\"div\"> {\n /** Image URL or JSX for the media area. */\n image?: string | React.ReactNode;\n /** Icon for the media area (rendered inside EmptyMedia with variant=\"icon\"). */\n icon?: IconProp;\n /** Empty state title. */\n title?: string;\n /** Description text or JSX. */\n description?: React.ReactNode;\n /** Additional help text below the description. */\n helpText?: React.ReactNode;\n /** Props forwarded to the primary action Button. */\n primaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Props forwarded to the secondary action Button. */\n secondaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Text displayed between the primary and secondary buttons (e.g., \"or\"). */\n buttonSeparatorText?: string;\n /** Show tooltip on disabled buttons using their label as content. */\n showTooltipWhenButtonDisabled?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\nfunction MaybeTooltipButton({\n buttonProps,\n showTooltipWhenDisabled,\n defaultVariant,\n}: {\n buttonProps: React.ComponentProps<typeof Button>;\n showTooltipWhenDisabled: boolean;\n defaultVariant: \"default\" | \"outline\";\n}) {\n const button = <Button variant={defaultVariant} {...buttonProps} />;\n\n if (showTooltipWhenDisabled && buttonProps.disabled && buttonProps.label) {\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"inline-flex\">{button}</span>\n </TooltipTrigger>\n <TooltipContent>{buttonProps.label}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n}\n\nconst Empty = forwardRef<HTMLDivElement, EmptyProps>(\n (\n {\n image,\n icon,\n title,\n description,\n helpText,\n primaryButtonProps,\n secondaryButtonProps,\n buttonSeparatorText,\n showTooltipWhenButtonDisabled = false,\n className,\n ...otherProps\n },\n ref\n ) => {\n const hasMedia = image || icon;\n const hasButtons = primaryButtonProps || secondaryButtonProps;\n\n return (\n <PrimitiveEmpty ref={ref} className={cn(className)} {...otherProps}>\n <EmptyHeader>\n {hasMedia && (\n <>\n {image && (\n <EmptyMedia>\n {typeof image === \"string\" ? (\n <img src={image} alt={title ?? \"\"} />\n ) : (\n image\n )}\n </EmptyMedia>\n )}\n {!image && icon && (\n <EmptyMedia variant=\"icon\">{renderIcon(icon)}</EmptyMedia>\n )}\n </>\n )}\n {title && <EmptyTitle>{title}</EmptyTitle>}\n {description && <EmptyDescription>{description}</EmptyDescription>}\n {helpText && (\n <p className=\"text-sm text-muted-foreground\">{helpText}</p>\n )}\n </EmptyHeader>\n\n {hasButtons && (\n <EmptyContent>\n <div className=\"flex flex-wrap items-center justify-center gap-2\">\n {primaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={primaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"default\"\n />\n )}\n {buttonSeparatorText &&\n primaryButtonProps &&\n secondaryButtonProps && (\n <span className=\"text-sm text-muted-foreground\">\n {buttonSeparatorText}\n </span>\n )}\n {secondaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={secondaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"outline\"\n />\n )}\n </div>\n </EmptyContent>\n )}\n </PrimitiveEmpty>\n );\n }\n);\n\nEmpty.displayName = \"Empty\";\n\nexport { Empty };\n"],"names":["_jsx","_jsxs","PrimitiveEmpty","_Fragment"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Empty-CcZrv7wE.js","sources":["../../../src/components/Empty/Empty.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Empty as PrimitiveEmpty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n} from \"src/primitives/Empty\";\nimport { Button } from \"src/components/Button\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\n\nexport interface EmptyProps extends React.ComponentProps<\"div\"> {\n /** Image URL or JSX for the media area. */\n image?: string | React.ReactNode;\n /** Icon for the media area (rendered inside EmptyMedia with variant=\"icon\"). */\n icon?: IconProp;\n /** Empty state title. */\n title?: string;\n /** Description text or JSX. */\n description?: React.ReactNode;\n /** Additional help text below the description. */\n helpText?: React.ReactNode;\n /** Props forwarded to the primary action Button. */\n primaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Props forwarded to the secondary action Button. */\n secondaryButtonProps?: React.ComponentProps<typeof Button>;\n /** Text displayed between the primary and secondary buttons (e.g., \"or\"). */\n buttonSeparatorText?: string;\n /** Show tooltip on disabled buttons using their label as content. */\n showTooltipWhenButtonDisabled?: boolean;\n /** Additional CSS class names. */\n className?: string;\n}\n\nfunction MaybeTooltipButton({\n buttonProps,\n showTooltipWhenDisabled,\n defaultVariant,\n}: {\n buttonProps: React.ComponentProps<typeof Button>;\n showTooltipWhenDisabled: boolean;\n defaultVariant: \"default\" | \"outline\";\n}) {\n const button = <Button variant={defaultVariant} {...buttonProps} />;\n\n if (showTooltipWhenDisabled && buttonProps.disabled && buttonProps.label) {\n return (\n <TooltipProvider delayDuration={0}>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className=\"inline-flex\">{button}</span>\n </TooltipTrigger>\n <TooltipContent>{buttonProps.label}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n}\n\nconst Empty = forwardRef<HTMLDivElement, EmptyProps>(\n (\n {\n image,\n icon,\n title,\n description,\n helpText,\n primaryButtonProps,\n secondaryButtonProps,\n buttonSeparatorText,\n showTooltipWhenButtonDisabled = false,\n className,\n ...otherProps\n },\n ref\n ) => {\n const hasMedia = image || icon;\n const hasButtons = primaryButtonProps || secondaryButtonProps;\n\n return (\n <PrimitiveEmpty ref={ref} className={cn(className)} {...otherProps}>\n <EmptyHeader>\n {hasMedia && (\n <>\n {image && (\n <EmptyMedia>\n {typeof image === \"string\" ? (\n <img src={image} alt={title ?? \"\"} />\n ) : (\n image\n )}\n </EmptyMedia>\n )}\n {!image && icon && (\n <EmptyMedia variant=\"icon\">{renderIcon(icon)}</EmptyMedia>\n )}\n </>\n )}\n {title && <EmptyTitle>{title}</EmptyTitle>}\n {description && <EmptyDescription>{description}</EmptyDescription>}\n {helpText && (\n <p className=\"text-sm text-muted-foreground\">{helpText}</p>\n )}\n </EmptyHeader>\n\n {hasButtons && (\n <EmptyContent>\n <div className=\"flex flex-wrap items-center justify-center gap-2\">\n {primaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={primaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"default\"\n />\n )}\n {buttonSeparatorText &&\n primaryButtonProps &&\n secondaryButtonProps && (\n <span className=\"text-sm text-muted-foreground\">\n {buttonSeparatorText}\n </span>\n )}\n {secondaryButtonProps && (\n <MaybeTooltipButton\n buttonProps={secondaryButtonProps}\n showTooltipWhenDisabled={showTooltipWhenButtonDisabled}\n defaultVariant=\"outline\"\n />\n )}\n </div>\n </EmptyContent>\n )}\n </PrimitiveEmpty>\n );\n }\n);\n\nEmpty.displayName = \"Empty\";\n\nexport { Empty };\n"],"names":["_jsx","Button","TooltipProvider","_jsxs","Tooltip","TooltipTrigger","TooltipContent","forwardRef","PrimitiveEmpty","cn","EmptyHeader","_Fragment","EmptyMedia","renderIcon","EmptyTitle","EmptyDescription","EmptyContent"],"mappings":"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"}