@fuf-stack/pixels 1.11.1 → 1.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/Accordion.cjs +0 -1
- package/dist/Accordion/Accordion.cjs.map +1 -1
- package/dist/Accordion/Accordion.d.cts +14 -14
- package/dist/Accordion/Accordion.d.cts.map +1 -1
- package/dist/Accordion/Accordion.d.ts +14 -14
- package/dist/Accordion/Accordion.d.ts.map +1 -1
- package/dist/Alert/Alert.cjs +19 -15
- package/dist/Alert/Alert.cjs.map +1 -1
- package/dist/Alert/Alert.d.cts +102 -66
- package/dist/Alert/Alert.d.cts.map +1 -1
- package/dist/Alert/Alert.d.ts +102 -66
- package/dist/Alert/Alert.d.ts.map +1 -1
- package/dist/Alert/Alert.js +19 -14
- package/dist/Alert/Alert.js.map +1 -1
- package/dist/Avatar/Avatar.cjs +0 -1
- package/dist/Avatar/Avatar.cjs.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.cjs +0 -1
- package/dist/AvatarGroup/AvatarGroup.cjs.map +1 -1
- package/dist/Badge/Badge.cjs +0 -1
- package/dist/Badge/Badge.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +10 -11
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +10 -10
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/Button.cjs +0 -1
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/subcomponents/LoadingSpinner.cjs +0 -1
- package/dist/Button/subcomponents/LoadingSpinner.cjs.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.cjs +0 -1
- package/dist/ButtonGroup/ButtonGroup.cjs.map +1 -1
- package/dist/Card/Card.cjs +1 -2
- package/dist/Card/Card.cjs.map +1 -1
- package/dist/Card/Card.js +1 -1
- package/dist/Card/Card.js.map +1 -1
- package/dist/Drawer/Drawer.cjs +0 -1
- package/dist/Drawer/Drawer.cjs.map +1 -1
- package/dist/Drawer/Drawer.d.cts +16 -16
- package/dist/Drawer/Drawer.d.ts +16 -16
- package/dist/Json/Json.cjs +30 -23
- package/dist/Json/Json.cjs.map +1 -1
- package/dist/Json/Json.d.cts.map +1 -1
- package/dist/Json/Json.d.ts.map +1 -1
- package/dist/Json/Json.js +30 -22
- package/dist/Json/Json.js.map +1 -1
- package/dist/Json/subcomponents/CopiedRenderer.cjs +3 -4
- package/dist/Json/subcomponents/CopiedRenderer.cjs.map +1 -1
- package/dist/Json/subcomponents/CopiedRenderer.js +3 -3
- package/dist/Json/subcomponents/CopiedRenderer.js.map +1 -1
- package/dist/Json/subcomponents/ErrorRenderer.cjs +0 -1
- package/dist/Json/subcomponents/ErrorRenderer.cjs.map +1 -1
- package/dist/Json/subcomponents/NullRenderer.cjs +0 -1
- package/dist/Json/subcomponents/NullRenderer.cjs.map +1 -1
- package/dist/Label/Label.cjs +0 -1
- package/dist/Label/Label.cjs.map +1 -1
- package/dist/Label/Label.d.cts +52 -52
- package/dist/Label/Label.d.cts.map +1 -1
- package/dist/Label/Label.d.ts +52 -52
- package/dist/Label/Label.d.ts.map +1 -1
- package/dist/Menu/Menu.cjs +1 -2
- package/dist/Menu/Menu.cjs.map +1 -1
- package/dist/Menu/Menu.d.cts +10 -10
- package/dist/Menu/Menu.d.cts.map +1 -1
- package/dist/Menu/Menu.d.ts +10 -10
- package/dist/Menu/Menu.d.ts.map +1 -1
- package/dist/Menu/Menu.js +1 -1
- package/dist/Menu/Menu.js.map +1 -1
- package/dist/Menu/VerticalDotsIcon.cjs +0 -1
- package/dist/Menu/VerticalDotsIcon.cjs.map +1 -1
- package/dist/Modal/Modal.cjs +0 -1
- package/dist/Modal/Modal.cjs.map +1 -1
- package/dist/Modal/Modal.d.cts +10 -10
- package/dist/Modal/Modal.d.cts.map +1 -1
- package/dist/Modal/Modal.d.ts +10 -10
- package/dist/Modal/Modal.d.ts.map +1 -1
- package/dist/Modal/ModalHost.cjs +0 -1
- package/dist/Modal/ModalHost.cjs.map +1 -1
- package/dist/Modal/modalStore.cjs +0 -1
- package/dist/Modal/modalStore.cjs.map +1 -1
- package/dist/Popover/Popover.cjs +1 -2
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.d.cts +10 -10
- package/dist/Popover/Popover.d.ts +10 -10
- package/dist/Popover/Popover.js +1 -1
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Progress/Progress.cjs +0 -1
- package/dist/Progress/Progress.cjs.map +1 -1
- package/dist/Progress/Progress.d.cts +32 -32
- package/dist/Progress/Progress.d.cts.map +1 -1
- package/dist/Progress/Progress.d.ts +32 -32
- package/dist/Progress/Progress.d.ts.map +1 -1
- package/dist/ProgressCircular/ProgressCircular.cjs +1 -2
- package/dist/ProgressCircular/ProgressCircular.cjs.map +1 -1
- package/dist/ProgressCircular/ProgressCircular.d.cts +35 -35
- package/dist/ProgressCircular/ProgressCircular.d.cts.map +1 -1
- package/dist/ProgressCircular/ProgressCircular.d.ts +35 -35
- package/dist/ProgressCircular/ProgressCircular.d.ts.map +1 -1
- package/dist/ProgressCircular/ProgressCircular.js +1 -1
- package/dist/ProgressCircular/ProgressCircular.js.map +1 -1
- package/dist/ScrollShadow/ScrollShadow.cjs +0 -1
- package/dist/ScrollShadow/ScrollShadow.cjs.map +1 -1
- package/dist/SearchInput/SearchInput.cjs +8 -9
- package/dist/SearchInput/SearchInput.cjs.map +1 -1
- package/dist/SearchInput/SearchInput.js +8 -8
- package/dist/SearchInput/SearchInput.js.map +1 -1
- package/dist/Table/Table.cjs +0 -1
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Tabs/Tabs.cjs +0 -1
- package/dist/Tabs/Tabs.cjs.map +1 -1
- package/dist/Toast/Toaster.cjs +0 -1
- package/dist/Toast/Toaster.cjs.map +1 -1
- package/dist/Toast/toast.cjs +2 -3
- package/dist/Toast/toast.cjs.map +1 -1
- package/dist/Toast/toast.d.cts +17 -17
- package/dist/Toast/toast.d.cts.map +1 -1
- package/dist/Toast/toast.d.ts +17 -17
- package/dist/Toast/toast.d.ts.map +1 -1
- package/dist/Toast/toast.js +2 -2
- package/dist/Toast/toast.js.map +1 -1
- package/dist/Tooltip/Tooltip.cjs +6 -7
- package/dist/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/Tooltip/Tooltip.d.cts +6 -6
- package/dist/Tooltip/Tooltip.d.cts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +6 -6
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +6 -6
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/hooks/useDebounce/useDebounce.cjs +0 -1
- package/dist/hooks/useDebounce/useDebounce.cjs.map +1 -1
- package/dist/hooks/useIsInitialRenderCycle/useIsInitialRenderCycle.cjs +0 -1
- package/dist/hooks/useIsInitialRenderCycle/useIsInitialRenderCycle.cjs.map +1 -1
- package/dist/hooks/useLocalStorage/useLocalStorage.cjs +0 -1
- package/dist/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/comps/useIdCompat.cjs +0 -1
- package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/comps/useIdCompat.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/utils/useHighlight.cjs +0 -1
- package/dist/node_modules/.pnpm/@uiw_react-json-view@2.0.0-alpha.43_@babel_runtime@7.29.2_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@uiw/react-json-view/esm/utils/useHighlight.cjs.map +1 -1
- package/package.json +4 -4
package/dist/Alert/Alert.js
CHANGED
|
@@ -5,13 +5,14 @@ import { alert } from "@heroui/theme";
|
|
|
5
5
|
//#region src/Alert/Alert.tsx
|
|
6
6
|
const alertVariants = tv({
|
|
7
7
|
slots: {
|
|
8
|
-
base: "min-w-72",
|
|
9
|
-
title: "",
|
|
10
|
-
description: "",
|
|
11
|
-
mainWrapper: "items-stretch gap-1.5",
|
|
8
|
+
base: "min-w-72 gap-3",
|
|
12
9
|
closeButton: "",
|
|
10
|
+
description: "",
|
|
11
|
+
endContent: "",
|
|
12
|
+
icon: "",
|
|
13
13
|
iconWrapper: "",
|
|
14
|
-
|
|
14
|
+
mainWrapper: "ms-0 items-stretch gap-1.5",
|
|
15
|
+
title: ""
|
|
15
16
|
},
|
|
16
17
|
variants: {
|
|
17
18
|
hasTitleAndChildren: { true: { iconWrapper: "self-start" } },
|
|
@@ -21,14 +22,14 @@ const alertVariants = tv({
|
|
|
21
22
|
description: "text-foreground"
|
|
22
23
|
},
|
|
23
24
|
default: {
|
|
24
|
-
base: "bg-
|
|
25
|
+
base: "bg-background",
|
|
25
26
|
description: "text-foreground"
|
|
26
27
|
},
|
|
27
28
|
info: {
|
|
28
|
-
alertIcon: "fill-current",
|
|
29
29
|
base: "border-small border-info-200 bg-info-50 text-info-600 dark:border-info-100 dark:bg-info-50",
|
|
30
30
|
closeButton: "text-info-500 data-[hover]:bg-info-200",
|
|
31
31
|
description: "text-foreground",
|
|
32
|
+
icon: "fill-current",
|
|
32
33
|
iconWrapper: "border-info-100 bg-info-50 dark:bg-info-100",
|
|
33
34
|
mainWrapper: "text-inherit",
|
|
34
35
|
title: "text-inherit"
|
|
@@ -48,20 +49,24 @@ const alertVariants = tv({
|
|
|
48
49
|
* Alert component based on [HeroUI Alert](https://www.heroui.com//docs/components/alert)
|
|
49
50
|
*/
|
|
50
51
|
const Alert$1 = ({ children = void 0, className = void 0, endContent = void 0, icon = void 0, closable = false, onClose = void 0, testId = void 0, title = void 0, variant = "info" }) => {
|
|
52
|
+
const { endContent: endContentClassName, ...classNames } = variantsToClassNames(alertVariants({
|
|
53
|
+
hasTitleAndChildren: !!children && !!title,
|
|
54
|
+
variant
|
|
55
|
+
}), className, "base");
|
|
51
56
|
return /* @__PURE__ */ jsx(Alert, {
|
|
52
|
-
classNames
|
|
53
|
-
hasTitleAndChildren: !!children && !!title,
|
|
54
|
-
variant
|
|
55
|
-
}), className, "base"),
|
|
57
|
+
classNames,
|
|
56
58
|
color: Object.keys(alert.variants.color).includes(variant) ? variant : void 0,
|
|
57
59
|
"data-testid": testId,
|
|
58
|
-
description:
|
|
59
|
-
endContent,
|
|
60
|
+
description: children,
|
|
61
|
+
endContent: endContent ? /* @__PURE__ */ jsx("div", {
|
|
62
|
+
className: endContentClassName,
|
|
63
|
+
children: endContent
|
|
64
|
+
}) : void 0,
|
|
60
65
|
hideIcon: variant === "default",
|
|
61
66
|
icon,
|
|
62
67
|
isClosable: closable,
|
|
63
68
|
onClose,
|
|
64
|
-
title
|
|
69
|
+
title,
|
|
65
70
|
variant: "faded"
|
|
66
71
|
});
|
|
67
72
|
};
|
package/dist/Alert/Alert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","names":["Alert","HeroAlert","heroAlertVariants"],"sources":["../../src/Alert/Alert.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { AlertProps as HeroAlertProps } from '@heroui/alert';\nimport type { ReactNode } from 'react';\n\nimport { Alert as HeroAlert } from '@heroui/alert';\nimport { alert as heroAlertVariants } from '@heroui/theme';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const alertVariants = tv({\n slots: {\n base: 'min-w-72',\n
|
|
1
|
+
{"version":3,"file":"Alert.js","names":["Alert","HeroAlert","heroAlertVariants"],"sources":["../../src/Alert/Alert.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { AlertProps as HeroAlertProps } from '@heroui/alert';\nimport type { ReactNode } from 'react';\n\nimport { Alert as HeroAlert } from '@heroui/alert';\nimport { alert as heroAlertVariants } from '@heroui/theme';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const alertVariants = tv({\n slots: {\n base: 'min-w-72 gap-3',\n closeButton: '',\n description: '',\n endContent: '',\n icon: '',\n iconWrapper: '',\n mainWrapper: 'ms-0 items-stretch gap-1.5',\n title: '',\n },\n variants: {\n // if HeroUI Alert title and description are set the icon is placed on top (looks better)\n hasTitleAndChildren: {\n true: {\n iconWrapper: 'self-start',\n },\n },\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/alert.ts\n variant: {\n danger: {\n base: 'bg-danger-50 dark:bg-danger-50',\n description: 'text-foreground',\n },\n default: {\n base: 'bg-background',\n description: 'text-foreground',\n },\n info: {\n base: 'border-small border-info-200 bg-info-50 text-info-600 dark:border-info-100 dark:bg-info-50',\n closeButton: 'text-info-500 data-[hover]:bg-info-200',\n description: 'text-foreground',\n icon: 'fill-current',\n iconWrapper: 'border-info-100 bg-info-50 dark:bg-info-100',\n mainWrapper: 'text-inherit',\n title: 'text-inherit',\n },\n success: {\n base: 'bg-success-50 dark:bg-success-50',\n description: 'text-foreground',\n },\n warning: {\n base: 'bg-warning-50 dark:bg-warning-50',\n description: 'text-foreground',\n },\n },\n },\n});\n\nexport type VariantProps = TVProps<typeof alertVariants>;\ntype ClassName = TVClassName<typeof alertVariants>;\n\n// hasTitleAndChildren is omitted because its used for automatic icon position\nexport interface AlertProps extends Omit<VariantProps, 'hasTitleAndChildren'> {\n /** Content displayed inside the Alert if no description is given! */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Content displayed at the end of the Alert */\n endContent?: ReactNode;\n /** Icon displayed at the start of the Alert */\n icon?: ReactNode;\n /** Whether the Alert can be closed */\n closable?: boolean;\n /** Callback fired when the close button is clicked */\n onClose?: () => void;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** Title displayed in the Alert above the content */\n title?: string;\n /** Style variant of the Alert */\n variant?: VariantProps['variant'];\n}\n\n/**\n * Alert component based on [HeroUI Alert](https://www.heroui.com//docs/components/alert)\n */\nconst Alert = ({\n children = undefined,\n className = undefined,\n endContent = undefined,\n icon = undefined,\n closable = false,\n onClose = undefined,\n testId = undefined,\n title = undefined,\n variant = 'info',\n}: AlertProps) => {\n const hasTitleAndChildren = !!children && !!title;\n\n // classNames from slots\n const variants = alertVariants({ hasTitleAndChildren, variant });\n const { endContent: endContentClassName, ...classNames } =\n variantsToClassNames(variants, className, 'base');\n\n // map variant to HeroUI color prop (only for variants that exist in HeroUI)\n const heroColor = Object.keys(heroAlertVariants.variants.color).includes(\n variant,\n )\n ? (variant as HeroAlertProps['color'])\n : undefined;\n\n return (\n <HeroAlert\n classNames={classNames}\n color={heroColor}\n data-testid={testId}\n description={children}\n endContent={\n endContent ? (\n <div className={endContentClassName}>{endContent}</div>\n ) : undefined\n }\n hideIcon={variant === 'default'}\n icon={icon}\n // map closable to isClosable, because of we do not want \"is\" as prefix\n isClosable={closable}\n onClose={onClose}\n title={title}\n variant=\"faded\"\n />\n );\n};\n\nexport default Alert;\n"],"mappings":";;;;;AASA,MAAa,gBAAgB,GAAG;CAC9B,OAAO;EACL,MAAM;EACN,aAAa;EACb,aAAa;EACb,YAAY;EACZ,MAAM;EACN,aAAa;EACb,aAAa;EACb,OAAO;CACT;CACA,UAAU;EAER,qBAAqB,EACnB,MAAM,EACJ,aAAa,aACf,EACF;EAEA,SAAS;GACP,QAAQ;IACN,MAAM;IACN,aAAa;GACf;GACA,SAAS;IACP,MAAM;IACN,aAAa;GACf;GACA,MAAM;IACJ,MAAM;IACN,aAAa;IACb,aAAa;IACb,MAAM;IACN,aAAa;IACb,aAAa;IACb,OAAO;GACT;GACA,SAAS;IACP,MAAM;IACN,aAAa;GACf;GACA,SAAS;IACP,MAAM;IACN,aAAa;GACf;EACF;CACF;AACF,CAAC;;;;AA8BD,MAAMA,WAAS,EACb,WAAW,KAAA,GACX,YAAY,KAAA,GACZ,aAAa,KAAA,GACb,OAAO,KAAA,GACP,WAAW,OACX,UAAU,KAAA,GACV,SAAS,KAAA,GACT,QAAQ,KAAA,GACR,UAAU,aACM;CAKhB,MAAM,EAAE,YAAY,qBAAqB,GAAG,eAC1C,qBAFe,cAAc;EAAE,qBAHL,CAAC,CAAC,YAAY,CAAC,CAAC;EAGU;CAAQ,CAEhC,GAAG,WAAW,MAAM;CASlD,OACE,oBAACC,OAAD;EACc;EACZ,OATc,OAAO,KAAKC,MAAkB,SAAS,KAAK,EAAE,SAC9D,OACF,IACK,UACD,KAAA;EAMA,eAAa;EACb,aAAa;EACb,YACE,aACE,oBAAC,OAAD;GAAK,WAAW;aAAsB;EAAgB,CAAA,IACpD,KAAA;EAEN,UAAU,YAAY;EAChB;EAEN,YAAY;EACH;EACF;EACP,SAAQ;CACT,CAAA;AAEL"}
|
package/dist/Avatar/Avatar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.cjs","names":["HeroAvatar"],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type React from 'react';\n\nimport { Avatar as HeroAvatar } from '@heroui/avatar';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// avatar styling variants\nexport const avatarVariants = tv({\n slots: {\n base: '',\n fallback: '',\n icon: '',\n img: '',\n name: '',\n },\n});\n\ntype VariantProps = TVProps<typeof avatarVariants>;\ntype ClassName = TVClassName<typeof avatarVariants>;\nexport interface AvatarProps extends VariantProps {\n /* Display a border ring around the Avatar */\n bordered?: boolean;\n /* Roundness of the border around the Avatar */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** CSS class name */\n className?: ClassName;\n /* Disables the Avatar */\n disabled?: boolean;\n /* Fallback content to display if the image fails to load or is not provided */\n fallback?: React.ReactNode;\n /* Size of the Avatar */\n size?: 'sm' | 'md' | 'lg';\n /* Image source */\n src: string;\n}\n\n/**\n * Avatar component based on [HeroUI Avatar](https://www.heroui.com//docs/components/avatar)\n */\nconst Avatar = ({\n bordered = false,\n rounded = 'full',\n className: _className = undefined,\n disabled = false,\n fallback = undefined,\n size = 'md',\n src,\n}: AvatarProps) => {\n // className from slots\n const variants = avatarVariants();\n const className = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroAvatar\n classNames={className}\n fallback={fallback}\n isBordered={bordered}\n isDisabled={disabled}\n radius={rounded}\n showFallback={!!fallback}\n size={size}\n src={src}\n />\n );\n};\n\nexport default Avatar;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Avatar.cjs","names":["HeroAvatar"],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type React from 'react';\n\nimport { Avatar as HeroAvatar } from '@heroui/avatar';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// avatar styling variants\nexport const avatarVariants = tv({\n slots: {\n base: '',\n fallback: '',\n icon: '',\n img: '',\n name: '',\n },\n});\n\ntype VariantProps = TVProps<typeof avatarVariants>;\ntype ClassName = TVClassName<typeof avatarVariants>;\nexport interface AvatarProps extends VariantProps {\n /* Display a border ring around the Avatar */\n bordered?: boolean;\n /* Roundness of the border around the Avatar */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** CSS class name */\n className?: ClassName;\n /* Disables the Avatar */\n disabled?: boolean;\n /* Fallback content to display if the image fails to load or is not provided */\n fallback?: React.ReactNode;\n /* Size of the Avatar */\n size?: 'sm' | 'md' | 'lg';\n /* Image source */\n src: string;\n}\n\n/**\n * Avatar component based on [HeroUI Avatar](https://www.heroui.com//docs/components/avatar)\n */\nconst Avatar = ({\n bordered = false,\n rounded = 'full',\n className: _className = undefined,\n disabled = false,\n fallback = undefined,\n size = 'md',\n src,\n}: AvatarProps) => {\n // className from slots\n const variants = avatarVariants();\n const className = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroAvatar\n classNames={className}\n fallback={fallback}\n isBordered={bordered}\n isDisabled={disabled}\n radius={rounded}\n showFallback={!!fallback}\n size={size}\n src={src}\n />\n );\n};\n\nexport default Avatar;\n"],"mappings":";;;;AAQA,MAAa,kBAAA,GAAA,uBAAA,IAAoB,EAC/B,OAAO;CACL,MAAM;CACN,UAAU;CACV,MAAM;CACN,KAAK;CACL,MAAM;AACR,EACF,CAAC;;;;AAwBD,MAAM,UAAU,EACd,WAAW,OACX,UAAU,QACV,WAAW,aAAa,KAAA,GACxB,WAAW,OACX,WAAW,KAAA,GACX,OAAO,MACP,UACiB;CAKjB,OACE,iBAAA,GAAA,kBAAA,KAACA,eAAAA,QAAD;EACE,aAAA,GAAA,uBAAA,sBALa,eAC6B,GAAG,YAAY,MAIrC;EACV;EACV,YAAY;EACZ,YAAY;EACZ,QAAQ;EACR,cAAc,CAAC,CAAC;EACV;EACD;CACN,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.cjs","names":["HeroAvatarGroup","Avatar"],"sources":["../../src/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import type { JSX } from 'react';\nimport type { AvatarProps } from '../Avatar/Avatar';\n\nimport { AvatarGroup as HeroAvatarGroup } from '@heroui/avatar';\n\nimport { Avatar } from '../Avatar';\n\nexport interface AvatarGroupProps {\n /* Display a border ring around the Avatar */\n bordered?: boolean;\n /* Roundness of the border around the Avatar */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** CSS class name */\n className?: string;\n /* Disables the Avatar */\n disabled?: boolean;\n /* Size of the Avatar */\n size?: 'sm' | 'md' | 'lg';\n /* Maximum number of avatars to display before +X is displayed */\n max?: number;\n /* Array of avatarProps */\n avatars?: (Omit<AvatarProps, 'size' | 'rounded' | 'bordered'> & {\n /* Custom wrapperProps for each avatarWrapper */\n wrapperProps?: Record<string, unknown>;\n })[];\n /* Custom wrapper for each avatar */\n avatarWrapper?: JSX.ElementType;\n}\n\n/**\n * AvatarGroup component based on [HeroUI AvatarGroup](https://www.heroui.com//docs/components/avatar)\n */\nconst AvatarGroup = ({\n bordered = false,\n rounded = 'full',\n className = '',\n disabled = false,\n size = 'md',\n avatars = [],\n max = 3,\n avatarWrapper: AvatarWrapper = undefined,\n}: AvatarGroupProps) => {\n return (\n <HeroAvatarGroup\n className={className}\n isBordered={bordered}\n isDisabled={disabled}\n max={max}\n radius={rounded}\n size={size}\n >\n {avatars?.map((avatar, index) => {\n const avatarKey = avatar.src\n ? `${avatar.src}-${index}`\n : `avatar-${index}`;\n const { wrapperProps, ...avatarProps } = avatar;\n return AvatarWrapper ? (\n <AvatarWrapper key={avatarKey} {...wrapperProps}>\n <Avatar\n {...avatarProps}\n bordered={bordered}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n size={size}\n />\n </AvatarWrapper>\n ) : (\n <Avatar\n key={avatarKey}\n {...avatarProps}\n bordered={bordered}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n size={size}\n />\n );\n })}\n </HeroAvatarGroup>\n );\n};\n\nexport default AvatarGroup;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AvatarGroup.cjs","names":["HeroAvatarGroup","Avatar"],"sources":["../../src/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import type { JSX } from 'react';\nimport type { AvatarProps } from '../Avatar/Avatar';\n\nimport { AvatarGroup as HeroAvatarGroup } from '@heroui/avatar';\n\nimport { Avatar } from '../Avatar';\n\nexport interface AvatarGroupProps {\n /* Display a border ring around the Avatar */\n bordered?: boolean;\n /* Roundness of the border around the Avatar */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** CSS class name */\n className?: string;\n /* Disables the Avatar */\n disabled?: boolean;\n /* Size of the Avatar */\n size?: 'sm' | 'md' | 'lg';\n /* Maximum number of avatars to display before +X is displayed */\n max?: number;\n /* Array of avatarProps */\n avatars?: (Omit<AvatarProps, 'size' | 'rounded' | 'bordered'> & {\n /* Custom wrapperProps for each avatarWrapper */\n wrapperProps?: Record<string, unknown>;\n })[];\n /* Custom wrapper for each avatar */\n avatarWrapper?: JSX.ElementType;\n}\n\n/**\n * AvatarGroup component based on [HeroUI AvatarGroup](https://www.heroui.com//docs/components/avatar)\n */\nconst AvatarGroup = ({\n bordered = false,\n rounded = 'full',\n className = '',\n disabled = false,\n size = 'md',\n avatars = [],\n max = 3,\n avatarWrapper: AvatarWrapper = undefined,\n}: AvatarGroupProps) => {\n return (\n <HeroAvatarGroup\n className={className}\n isBordered={bordered}\n isDisabled={disabled}\n max={max}\n radius={rounded}\n size={size}\n >\n {avatars?.map((avatar, index) => {\n const avatarKey = avatar.src\n ? `${avatar.src}-${index}`\n : `avatar-${index}`;\n const { wrapperProps, ...avatarProps } = avatar;\n return AvatarWrapper ? (\n <AvatarWrapper key={avatarKey} {...wrapperProps}>\n <Avatar\n {...avatarProps}\n bordered={bordered}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n size={size}\n />\n </AvatarWrapper>\n ) : (\n <Avatar\n key={avatarKey}\n {...avatarProps}\n bordered={bordered}\n disabled={disabled || avatar?.disabled}\n rounded={rounded}\n size={size}\n />\n );\n })}\n </HeroAvatarGroup>\n );\n};\n\nexport default AvatarGroup;\n"],"mappings":";;;;;;;AAgCA,MAAM,eAAe,EACnB,WAAW,OACX,UAAU,QACV,YAAY,IACZ,WAAW,OACX,OAAO,MACP,UAAU,CAAC,GACX,MAAM,GACN,eAAe,gBAAgB,KAAA,QACT;CACtB,OACE,iBAAA,GAAA,kBAAA,KAACA,eAAAA,aAAD;EACa;EACX,YAAY;EACZ,YAAY;EACP;EACL,QAAQ;EACF;YAEL,SAAS,KAAK,QAAQ,UAAU;GAC/B,MAAM,YAAY,OAAO,MACrB,GAAG,OAAO,IAAI,GAAG,UACjB,UAAU;GACd,MAAM,EAAE,cAAc,GAAG,gBAAgB;GACzC,OAAO,gBACL,iBAAA,GAAA,kBAAA,KAAC,eAAD;IAA+B,GAAI;cACjC,iBAAA,GAAA,kBAAA,KAACC,eAAAA,SAAD;KACE,GAAI;KACM;KACV,UAAU,YAAY,QAAQ;KACrB;KACH;IACP,CAAA;GACY,GARK,SAQL,IAEf,iBAAA,GAAA,kBAAA,KAACA,eAAAA,SAAD;IAEE,GAAI;IACM;IACV,UAAU,YAAY,QAAQ;IACrB;IACH;GACP,GANM,SAMN;EAEL,CAAC;CACc,CAAA;AAErB"}
|
package/dist/Badge/Badge.cjs
CHANGED
package/dist/Badge/Badge.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.cjs","names":["HeroBadge"],"sources":["../../src/Badge/Badge.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { BadgeProps as HeroBadgeProps } from '@heroui/badge';\nimport type { ReactNode } from 'react';\n\nimport { Badge as HeroBadge } from '@heroui/badge';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// badge styling variants\nexport const badgeVariants = tv({\n slots: {\n badge: '',\n base: '',\n },\n});\n\ntype VariantProps = TVProps<typeof badgeVariants>;\ntype ClassName = TVClassName<typeof badgeVariants>;\n\nexport interface BadgeProps extends VariantProps {\n /** component which is wrapped by the batch */\n children: HeroBadgeProps['children'];\n /** CSS class name */\n className?: ClassName;\n /** badge content */\n content?: HeroBadgeProps['content'];\n /** color of the badge */\n color?: HeroBadgeProps['color'];\n /** if set the badge have the same height and width */\n isOneChar?: HeroBadgeProps['isOneChar'];\n /** removes the badge outline */\n noOutline?: boolean;\n /** placement of the badge */\n placement?: HeroBadgeProps['placement'];\n /** size of the badge */\n size?: HeroBadgeProps['size'];\n}\n\n/**\n * Badge component based on [HeroUI Badge](https://www.heroui.com//docs/components/badge)\n */\nconst Avatar = ({\n children,\n className: _className = undefined,\n content = undefined,\n color = 'default',\n isOneChar = false,\n noOutline = false,\n placement = 'top-right',\n size = 'md',\n}: BadgeProps): ReactNode => {\n if (content === undefined) {\n return children;\n }\n // className from slots\n const variants = badgeVariants();\n const className = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroBadge\n classNames={className}\n color={color}\n content={content}\n isOneChar={isOneChar}\n placement={placement}\n showOutline={!noOutline}\n size={size}\n >\n {children}\n </HeroBadge>\n );\n};\n\nexport default Avatar;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Badge.cjs","names":["HeroBadge"],"sources":["../../src/Badge/Badge.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { BadgeProps as HeroBadgeProps } from '@heroui/badge';\nimport type { ReactNode } from 'react';\n\nimport { Badge as HeroBadge } from '@heroui/badge';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// badge styling variants\nexport const badgeVariants = tv({\n slots: {\n badge: '',\n base: '',\n },\n});\n\ntype VariantProps = TVProps<typeof badgeVariants>;\ntype ClassName = TVClassName<typeof badgeVariants>;\n\nexport interface BadgeProps extends VariantProps {\n /** component which is wrapped by the batch */\n children: HeroBadgeProps['children'];\n /** CSS class name */\n className?: ClassName;\n /** badge content */\n content?: HeroBadgeProps['content'];\n /** color of the badge */\n color?: HeroBadgeProps['color'];\n /** if set the badge have the same height and width */\n isOneChar?: HeroBadgeProps['isOneChar'];\n /** removes the badge outline */\n noOutline?: boolean;\n /** placement of the badge */\n placement?: HeroBadgeProps['placement'];\n /** size of the badge */\n size?: HeroBadgeProps['size'];\n}\n\n/**\n * Badge component based on [HeroUI Badge](https://www.heroui.com//docs/components/badge)\n */\nconst Avatar = ({\n children,\n className: _className = undefined,\n content = undefined,\n color = 'default',\n isOneChar = false,\n noOutline = false,\n placement = 'top-right',\n size = 'md',\n}: BadgeProps): ReactNode => {\n if (content === undefined) {\n return children;\n }\n // className from slots\n const variants = badgeVariants();\n const className = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroBadge\n classNames={className}\n color={color}\n content={content}\n isOneChar={isOneChar}\n placement={placement}\n showOutline={!noOutline}\n size={size}\n >\n {children}\n </HeroBadge>\n );\n};\n\nexport default Avatar;\n"],"mappings":";;;;AASA,MAAa,iBAAA,GAAA,uBAAA,IAAmB,EAC9B,OAAO;CACL,OAAO;CACP,MAAM;AACR,EACF,CAAC;;;;AA2BD,MAAM,UAAU,EACd,UACA,WAAW,aAAa,KAAA,GACxB,UAAU,KAAA,GACV,QAAQ,WACR,YAAY,OACZ,YAAY,OACZ,YAAY,aACZ,OAAO,WACoB;CAC3B,IAAI,YAAY,KAAA,GACd,OAAO;CAMT,OACE,iBAAA,GAAA,kBAAA,KAACA,cAAAA,OAAD;EACE,aAAA,GAAA,uBAAA,sBALa,cAC6B,GAAG,YAAY,MAIrC;EACb;EACE;EACE;EACA;EACX,aAAa,CAAC;EACR;EAEL;CACQ,CAAA;AAEf"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
1
|
let _fuf_stack_pixel_utils = require("@fuf-stack/pixel-utils");
|
|
3
2
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
3
|
let _heroui_breadcrumbs = require("@heroui/breadcrumbs");
|
|
@@ -23,26 +22,26 @@ const breadcrumbVariants = (0, _fuf_stack_pixel_utils.tv)({ slots: {
|
|
|
23
22
|
const Breadcrumb = ({ breadcrumbItems, className: _className = void 0, color = "foreground", disableAnimation = false, disabled = false, hideSeparator = false, maxItems = void 0, radius = "none", separator = void 0, size = "md", underline = "hover", variant = "light" }) => {
|
|
24
23
|
const classNames = (0, _fuf_stack_pixel_utils.variantsToClassNames)(breadcrumbVariants({}), _className, "nav");
|
|
25
24
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_heroui_breadcrumbs.Breadcrumbs, {
|
|
26
|
-
color,
|
|
27
|
-
disableAnimation,
|
|
28
|
-
hideSeparator,
|
|
29
|
-
isDisabled: disabled,
|
|
30
|
-
maxItems,
|
|
31
|
-
radius,
|
|
32
|
-
separator,
|
|
33
|
-
size,
|
|
34
|
-
underline,
|
|
35
|
-
variant,
|
|
36
25
|
classNames: {
|
|
37
26
|
base: classNames.nav,
|
|
38
27
|
ellipsis: classNames.separator,
|
|
39
28
|
list: classNames.list
|
|
40
29
|
},
|
|
30
|
+
color,
|
|
31
|
+
disableAnimation,
|
|
32
|
+
hideSeparator,
|
|
33
|
+
isDisabled: disabled,
|
|
41
34
|
itemClasses: {
|
|
42
35
|
base: classNames.itemBase,
|
|
43
36
|
item: classNames.item,
|
|
44
37
|
separator: classNames.separator
|
|
45
38
|
},
|
|
39
|
+
maxItems,
|
|
40
|
+
radius,
|
|
41
|
+
separator,
|
|
42
|
+
size,
|
|
43
|
+
underline,
|
|
44
|
+
variant,
|
|
46
45
|
children: breadcrumbItems.map((item, index) => {
|
|
47
46
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_heroui_breadcrumbs.BreadcrumbItem, {
|
|
48
47
|
isDisabled: disabled || item?.disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.cjs","names":["HeroBreadcrumb","HeroBreadcrumbItem"],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport {\n Breadcrumbs as HeroBreadcrumb,\n BreadcrumbItem as HeroBreadcrumbItem,\n} from '@heroui/breadcrumbs';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// breadcrumb styling variants\n// see: https://www.heroui.com//docs/components/breadcrumbs#breadcrumbitem-props\nexport const breadcrumbVariants = tv({\n slots: {\n /** ellipsis slot */\n ellipsis: '',\n /** li > span slot */\n item: '',\n /** li slot */\n itemBase: '', // base for item slot\n /** ol slot */\n list: '',\n /** separator slot */\n separator: '',\n /** nav slot, breadcrumb base slot in heroui */\n nav: '',\n },\n});\n\nexport interface BreadcrumbItemProps {\n /** Content of the breadcrumb item */\n children: ReactNode;\n /** Disables the breadcrumb item */\n disabled?: boolean;\n /** content displayed before the children */\n startContent?: ReactNode;\n /** content displayed after the children */\n endContent?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof breadcrumbVariants>;\ntype ClassName = TVClassName<typeof breadcrumbVariants>;\n\nexport interface BreadcrumbProps extends VariantProps {\n /** Props for breadcrumbItem, will render the breadcrumb items programmatically */\n breadcrumbItems: BreadcrumbItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** color of the active BreadcrumbItem */\n color?:\n | 'foreground'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'danger';\n /** Disables the breadcrumb animation */\n disableAnimation?: boolean;\n /** hides the separator between items */\n hideSeparator?: boolean;\n /** disables all items */\n disabled?: boolean;\n /** Maximum number of items to show without \"...\" in between */\n maxItems?: number;\n /** Radius of the breadcrumb */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Separator between items */\n separator?: ReactNode;\n /** Size of the breadcrumb */\n size?: 'sm' | 'md' | 'lg';\n /** Adjust when the breadcrumb items should be underlined */\n underline?: 'none' | 'active' | 'hover' | 'focus' | 'always';\n /** Style variant of the breadcrumb */\n variant?: 'solid' | 'bordered' | 'light';\n}\n\n/**\n * Breadcrumb component based on [HeroUI Breadcrumbs](https://www.heroui.com//docs/components/breadcrumbs)\n */\nconst Breadcrumb = ({\n breadcrumbItems,\n className: _className = undefined,\n color = 'foreground',\n disableAnimation = false,\n disabled = false,\n hideSeparator = false,\n maxItems = undefined,\n radius = 'none',\n separator = undefined,\n size = 'md',\n underline = 'hover',\n variant = 'light',\n}: BreadcrumbProps) => {\n // itemClasses from className slots\n const variants = breadcrumbVariants({});\n const classNames = variantsToClassNames(variants, _className, 'nav');\n\n return (\n <HeroBreadcrumb\n
|
|
1
|
+
{"version":3,"file":"Breadcrumb.cjs","names":["HeroBreadcrumb","HeroBreadcrumbItem"],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport {\n Breadcrumbs as HeroBreadcrumb,\n BreadcrumbItem as HeroBreadcrumbItem,\n} from '@heroui/breadcrumbs';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// breadcrumb styling variants\n// see: https://www.heroui.com//docs/components/breadcrumbs#breadcrumbitem-props\nexport const breadcrumbVariants = tv({\n slots: {\n /** ellipsis slot */\n ellipsis: '',\n /** li > span slot */\n item: '',\n /** li slot */\n itemBase: '', // base for item slot\n /** ol slot */\n list: '',\n /** separator slot */\n separator: '',\n /** nav slot, breadcrumb base slot in heroui */\n nav: '',\n },\n});\n\nexport interface BreadcrumbItemProps {\n /** Content of the breadcrumb item */\n children: ReactNode;\n /** Disables the breadcrumb item */\n disabled?: boolean;\n /** content displayed before the children */\n startContent?: ReactNode;\n /** content displayed after the children */\n endContent?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof breadcrumbVariants>;\ntype ClassName = TVClassName<typeof breadcrumbVariants>;\n\nexport interface BreadcrumbProps extends VariantProps {\n /** Props for breadcrumbItem, will render the breadcrumb items programmatically */\n breadcrumbItems: BreadcrumbItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** color of the active BreadcrumbItem */\n color?:\n | 'foreground'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'danger';\n /** Disables the breadcrumb animation */\n disableAnimation?: boolean;\n /** hides the separator between items */\n hideSeparator?: boolean;\n /** disables all items */\n disabled?: boolean;\n /** Maximum number of items to show without \"...\" in between */\n maxItems?: number;\n /** Radius of the breadcrumb */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Separator between items */\n separator?: ReactNode;\n /** Size of the breadcrumb */\n size?: 'sm' | 'md' | 'lg';\n /** Adjust when the breadcrumb items should be underlined */\n underline?: 'none' | 'active' | 'hover' | 'focus' | 'always';\n /** Style variant of the breadcrumb */\n variant?: 'solid' | 'bordered' | 'light';\n}\n\n/**\n * Breadcrumb component based on [HeroUI Breadcrumbs](https://www.heroui.com//docs/components/breadcrumbs)\n */\nconst Breadcrumb = ({\n breadcrumbItems,\n className: _className = undefined,\n color = 'foreground',\n disableAnimation = false,\n disabled = false,\n hideSeparator = false,\n maxItems = undefined,\n radius = 'none',\n separator = undefined,\n size = 'md',\n underline = 'hover',\n variant = 'light',\n}: BreadcrumbProps) => {\n // itemClasses from className slots\n const variants = breadcrumbVariants({});\n const classNames = variantsToClassNames(variants, _className, 'nav');\n\n return (\n <HeroBreadcrumb\n classNames={{\n base: classNames.nav,\n ellipsis: classNames.separator,\n list: classNames.list,\n }}\n color={color}\n disableAnimation={disableAnimation}\n hideSeparator={hideSeparator}\n isDisabled={disabled}\n itemClasses={{\n base: classNames.itemBase,\n item: classNames.item,\n separator: classNames.separator,\n }}\n maxItems={maxItems}\n radius={radius}\n separator={separator}\n size={size}\n underline={underline}\n variant={variant}\n >\n {breadcrumbItems.map((item, index) => {\n return (\n <HeroBreadcrumbItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n {...item}\n />\n );\n })}\n </HeroBreadcrumb>\n );\n};\n\nexport default Breadcrumb;\n"],"mappings":";;;;AAYA,MAAa,sBAAA,GAAA,uBAAA,IAAwB,EACnC,OAAO;;CAEL,UAAU;;CAEV,MAAM;;CAEN,UAAU;;CAEV,MAAM;;CAEN,WAAW;;CAEX,KAAK;AACP,EACF,CAAC;;;;AAoDD,MAAM,cAAc,EAClB,iBACA,WAAW,aAAa,KAAA,GACxB,QAAQ,cACR,mBAAmB,OACnB,WAAW,OACX,gBAAgB,OAChB,WAAW,KAAA,GACX,SAAS,QACT,YAAY,KAAA,GACZ,OAAO,MACP,YAAY,SACZ,UAAU,cACW;CAGrB,MAAM,cAAA,GAAA,uBAAA,sBADW,mBAAmB,CAAC,CACU,GAAG,YAAY,KAAK;CAEnE,OACE,iBAAA,GAAA,kBAAA,KAACA,oBAAAA,aAAD;EACE,YAAY;GACV,MAAM,WAAW;GACjB,UAAU,WAAW;GACrB,MAAM,WAAW;EACnB;EACO;EACW;EACH;EACf,YAAY;EACZ,aAAa;GACX,MAAM,WAAW;GACjB,MAAM,WAAW;GACjB,WAAW,WAAW;EACxB;EACU;EACF;EACG;EACL;EACK;EACF;YAER,gBAAgB,KAAK,MAAM,UAAU;GACpC,OACE,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,gBAAD;IAGE,YAAY,YAAY,MAAM;IAC9B,GAAI;GACL,GAHM,KAGN;EAEL,CAAC;CACa,CAAA;AAEpB"}
|
|
@@ -22,26 +22,26 @@ const breadcrumbVariants = tv({ slots: {
|
|
|
22
22
|
const Breadcrumb = ({ breadcrumbItems, className: _className = void 0, color = "foreground", disableAnimation = false, disabled = false, hideSeparator = false, maxItems = void 0, radius = "none", separator = void 0, size = "md", underline = "hover", variant = "light" }) => {
|
|
23
23
|
const classNames = variantsToClassNames(breadcrumbVariants({}), _className, "nav");
|
|
24
24
|
return /* @__PURE__ */ jsx(Breadcrumbs, {
|
|
25
|
-
color,
|
|
26
|
-
disableAnimation,
|
|
27
|
-
hideSeparator,
|
|
28
|
-
isDisabled: disabled,
|
|
29
|
-
maxItems,
|
|
30
|
-
radius,
|
|
31
|
-
separator,
|
|
32
|
-
size,
|
|
33
|
-
underline,
|
|
34
|
-
variant,
|
|
35
25
|
classNames: {
|
|
36
26
|
base: classNames.nav,
|
|
37
27
|
ellipsis: classNames.separator,
|
|
38
28
|
list: classNames.list
|
|
39
29
|
},
|
|
30
|
+
color,
|
|
31
|
+
disableAnimation,
|
|
32
|
+
hideSeparator,
|
|
33
|
+
isDisabled: disabled,
|
|
40
34
|
itemClasses: {
|
|
41
35
|
base: classNames.itemBase,
|
|
42
36
|
item: classNames.item,
|
|
43
37
|
separator: classNames.separator
|
|
44
38
|
},
|
|
39
|
+
maxItems,
|
|
40
|
+
radius,
|
|
41
|
+
separator,
|
|
42
|
+
size,
|
|
43
|
+
underline,
|
|
44
|
+
variant,
|
|
45
45
|
children: breadcrumbItems.map((item, index) => {
|
|
46
46
|
return /* @__PURE__ */ jsx(BreadcrumbItem, {
|
|
47
47
|
isDisabled: disabled || item?.disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.js","names":["HeroBreadcrumb","HeroBreadcrumbItem"],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport {\n Breadcrumbs as HeroBreadcrumb,\n BreadcrumbItem as HeroBreadcrumbItem,\n} from '@heroui/breadcrumbs';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// breadcrumb styling variants\n// see: https://www.heroui.com//docs/components/breadcrumbs#breadcrumbitem-props\nexport const breadcrumbVariants = tv({\n slots: {\n /** ellipsis slot */\n ellipsis: '',\n /** li > span slot */\n item: '',\n /** li slot */\n itemBase: '', // base for item slot\n /** ol slot */\n list: '',\n /** separator slot */\n separator: '',\n /** nav slot, breadcrumb base slot in heroui */\n nav: '',\n },\n});\n\nexport interface BreadcrumbItemProps {\n /** Content of the breadcrumb item */\n children: ReactNode;\n /** Disables the breadcrumb item */\n disabled?: boolean;\n /** content displayed before the children */\n startContent?: ReactNode;\n /** content displayed after the children */\n endContent?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof breadcrumbVariants>;\ntype ClassName = TVClassName<typeof breadcrumbVariants>;\n\nexport interface BreadcrumbProps extends VariantProps {\n /** Props for breadcrumbItem, will render the breadcrumb items programmatically */\n breadcrumbItems: BreadcrumbItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** color of the active BreadcrumbItem */\n color?:\n | 'foreground'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'danger';\n /** Disables the breadcrumb animation */\n disableAnimation?: boolean;\n /** hides the separator between items */\n hideSeparator?: boolean;\n /** disables all items */\n disabled?: boolean;\n /** Maximum number of items to show without \"...\" in between */\n maxItems?: number;\n /** Radius of the breadcrumb */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Separator between items */\n separator?: ReactNode;\n /** Size of the breadcrumb */\n size?: 'sm' | 'md' | 'lg';\n /** Adjust when the breadcrumb items should be underlined */\n underline?: 'none' | 'active' | 'hover' | 'focus' | 'always';\n /** Style variant of the breadcrumb */\n variant?: 'solid' | 'bordered' | 'light';\n}\n\n/**\n * Breadcrumb component based on [HeroUI Breadcrumbs](https://www.heroui.com//docs/components/breadcrumbs)\n */\nconst Breadcrumb = ({\n breadcrumbItems,\n className: _className = undefined,\n color = 'foreground',\n disableAnimation = false,\n disabled = false,\n hideSeparator = false,\n maxItems = undefined,\n radius = 'none',\n separator = undefined,\n size = 'md',\n underline = 'hover',\n variant = 'light',\n}: BreadcrumbProps) => {\n // itemClasses from className slots\n const variants = breadcrumbVariants({});\n const classNames = variantsToClassNames(variants, _className, 'nav');\n\n return (\n <HeroBreadcrumb\n
|
|
1
|
+
{"version":3,"file":"Breadcrumb.js","names":["HeroBreadcrumb","HeroBreadcrumbItem"],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport {\n Breadcrumbs as HeroBreadcrumb,\n BreadcrumbItem as HeroBreadcrumbItem,\n} from '@heroui/breadcrumbs';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// breadcrumb styling variants\n// see: https://www.heroui.com//docs/components/breadcrumbs#breadcrumbitem-props\nexport const breadcrumbVariants = tv({\n slots: {\n /** ellipsis slot */\n ellipsis: '',\n /** li > span slot */\n item: '',\n /** li slot */\n itemBase: '', // base for item slot\n /** ol slot */\n list: '',\n /** separator slot */\n separator: '',\n /** nav slot, breadcrumb base slot in heroui */\n nav: '',\n },\n});\n\nexport interface BreadcrumbItemProps {\n /** Content of the breadcrumb item */\n children: ReactNode;\n /** Disables the breadcrumb item */\n disabled?: boolean;\n /** content displayed before the children */\n startContent?: ReactNode;\n /** content displayed after the children */\n endContent?: ReactNode;\n}\n\ntype VariantProps = TVProps<typeof breadcrumbVariants>;\ntype ClassName = TVClassName<typeof breadcrumbVariants>;\n\nexport interface BreadcrumbProps extends VariantProps {\n /** Props for breadcrumbItem, will render the breadcrumb items programmatically */\n breadcrumbItems: BreadcrumbItemProps[];\n /** CSS class name */\n className?: ClassName;\n /** color of the active BreadcrumbItem */\n color?:\n | 'foreground'\n | 'primary'\n | 'secondary'\n | 'success'\n | 'warning'\n | 'danger';\n /** Disables the breadcrumb animation */\n disableAnimation?: boolean;\n /** hides the separator between items */\n hideSeparator?: boolean;\n /** disables all items */\n disabled?: boolean;\n /** Maximum number of items to show without \"...\" in between */\n maxItems?: number;\n /** Radius of the breadcrumb */\n radius?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Separator between items */\n separator?: ReactNode;\n /** Size of the breadcrumb */\n size?: 'sm' | 'md' | 'lg';\n /** Adjust when the breadcrumb items should be underlined */\n underline?: 'none' | 'active' | 'hover' | 'focus' | 'always';\n /** Style variant of the breadcrumb */\n variant?: 'solid' | 'bordered' | 'light';\n}\n\n/**\n * Breadcrumb component based on [HeroUI Breadcrumbs](https://www.heroui.com//docs/components/breadcrumbs)\n */\nconst Breadcrumb = ({\n breadcrumbItems,\n className: _className = undefined,\n color = 'foreground',\n disableAnimation = false,\n disabled = false,\n hideSeparator = false,\n maxItems = undefined,\n radius = 'none',\n separator = undefined,\n size = 'md',\n underline = 'hover',\n variant = 'light',\n}: BreadcrumbProps) => {\n // itemClasses from className slots\n const variants = breadcrumbVariants({});\n const classNames = variantsToClassNames(variants, _className, 'nav');\n\n return (\n <HeroBreadcrumb\n classNames={{\n base: classNames.nav,\n ellipsis: classNames.separator,\n list: classNames.list,\n }}\n color={color}\n disableAnimation={disableAnimation}\n hideSeparator={hideSeparator}\n isDisabled={disabled}\n itemClasses={{\n base: classNames.itemBase,\n item: classNames.item,\n separator: classNames.separator,\n }}\n maxItems={maxItems}\n radius={radius}\n separator={separator}\n size={size}\n underline={underline}\n variant={variant}\n >\n {breadcrumbItems.map((item, index) => {\n return (\n <HeroBreadcrumbItem\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n isDisabled={disabled || item?.disabled}\n {...item}\n />\n );\n })}\n </HeroBreadcrumb>\n );\n};\n\nexport default Breadcrumb;\n"],"mappings":";;;;AAYA,MAAa,qBAAqB,GAAG,EACnC,OAAO;;CAEL,UAAU;;CAEV,MAAM;;CAEN,UAAU;;CAEV,MAAM;;CAEN,WAAW;;CAEX,KAAK;AACP,EACF,CAAC;;;;AAoDD,MAAM,cAAc,EAClB,iBACA,WAAW,aAAa,KAAA,GACxB,QAAQ,cACR,mBAAmB,OACnB,WAAW,OACX,gBAAgB,OAChB,WAAW,KAAA,GACX,SAAS,QACT,YAAY,KAAA,GACZ,OAAO,MACP,YAAY,SACZ,UAAU,cACW;CAGrB,MAAM,aAAa,qBADF,mBAAmB,CAAC,CACU,GAAG,YAAY,KAAK;CAEnE,OACE,oBAACA,aAAD;EACE,YAAY;GACV,MAAM,WAAW;GACjB,UAAU,WAAW;GACrB,MAAM,WAAW;EACnB;EACO;EACW;EACH;EACf,YAAY;EACZ,aAAa;GACX,MAAM,WAAW;GACjB,MAAM,WAAW;GACjB,WAAW,WAAW;EACxB;EACU;EACF;EACG;EACL;EACK;EACF;YAER,gBAAgB,KAAK,MAAM,UAAU;GACpC,OACE,oBAACC,gBAAD;IAGE,YAAY,YAAY,MAAM;IAC9B,GAAI;GACL,GAHM,KAGN;EAEL,CAAC;CACa,CAAA;AAEpB"}
|
package/dist/Button/Button.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.cjs","names":["heroButtonVariants","HeroButton","LoadingSpinner"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import type { TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps as HeroButtonProps } from '@heroui/button';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Button as HeroButton } from '@heroui/button';\nimport { button as heroButtonVariants } from '@heroui/theme';\n\nimport { tv } from '@fuf-stack/pixel-utils';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\n// TODO: `tv(...)` inference here triggers TS2742/TS2883 during declaration emit\n// (non-portable `tailwind-variants` type path). Keep this explicit annotation\n// until we have a portable `tv` return type strategy.\nexport const buttonVariants: ReturnType<typeof tv> = tv({\n extend: heroButtonVariants,\n variants: {\n color: {\n ...heroButtonVariants.variants.color,\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/button.ts\n info: '',\n },\n variant: heroButtonVariants.variants.variant,\n size: heroButtonVariants.variants.size,\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'success',\n variant: 'shadow',\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'warning',\n variant: 'shadow',\n class: 'text-white',\n },\n {\n color: 'info',\n variant: 'solid',\n class: 'bg-info text-info-foreground',\n },\n {\n color: 'info',\n variant: 'shadow',\n class: 'shadow-info/40 bg-info text-info-foreground shadow-lg',\n },\n {\n color: 'info',\n variant: 'bordered',\n class: 'border-medium border-info bg-transparent text-info',\n },\n {\n color: 'info',\n variant: 'flat',\n class: 'bg-info/20 text-info-600',\n },\n {\n color: 'info',\n variant: 'faded',\n class: 'border-default bg-default-100 text-info',\n },\n {\n color: 'info',\n variant: 'light',\n class: 'bg-transparent text-info data-[hover=true]:bg-info-100',\n },\n {\n color: 'info',\n variant: 'ghost',\n class:\n 'border-info text-info data-[hover=true]:!bg-info data-[hover=true]:!text-info-foreground',\n },\n ],\n});\n\ntype VariantProps = TVProps<typeof buttonVariants>;\n\n/* eslint-disable react/require-default-props -- not working with forwardRef */\nexport interface ButtonProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** content of the button */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: VariantProps['color'];\n /** disables the button */\n disabled?: boolean;\n /** disables all animations */\n disableAnimation?: boolean;\n /** shows loading animation */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** blur event handler */\n onBlur?: HeroButtonProps['onBlur'];\n /** click event handler */\n onClick?: HeroButtonProps['onPress'];\n /** focus event handler */\n onFocus?: HeroButtonProps['onFocus'];\n /** border radius size */\n radius?: VariantProps['radius'];\n /** enable ripple animation effect on click */\n ripple?: boolean;\n /** size options */\n size?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** HTML button type attribute */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** visual style variant */\n variant?: VariantProps['variant'];\n}\n/* eslint-enable react/require-default-props */\n\n/**\n * Button component based on [HeroUI Button](https://www.heroui.com//docs/components/button)\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n ariaLabel = undefined,\n children = undefined,\n className: _className = undefined,\n color = 'default',\n disableAnimation = false,\n disabled = false,\n icon = undefined,\n loading = false,\n onBlur = undefined,\n onClick = undefined,\n onFocus = undefined,\n radius = undefined,\n ripple = false,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n },\n ref,\n ) => {\n const className = buttonVariants({\n className: _className,\n disableAnimation,\n isDisabled: disabled,\n color,\n size,\n variant,\n isIconOnly: !!(icon && !children),\n radius,\n });\n\n return (\n <HeroButton\n ref={ref}\n aria-label={ariaLabel}\n className={className}\n data-testid={testId}\n disableRipple={disableAnimation || !ripple}\n isDisabled={disabled}\n isLoading={loading}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={onClick}\n spinner={<LoadingSpinner />}\n type={type}\n >\n {icon}\n {children}\n </HeroButton>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.cjs","names":["heroButtonVariants","HeroButton","LoadingSpinner"],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["import type { TVProps } from '@fuf-stack/pixel-utils';\nimport type { ButtonProps as HeroButtonProps } from '@heroui/button';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Button as HeroButton } from '@heroui/button';\nimport { button as heroButtonVariants } from '@heroui/theme';\n\nimport { tv } from '@fuf-stack/pixel-utils';\n\nimport LoadingSpinner from './subcomponents/LoadingSpinner';\n\n// TODO: `tv(...)` inference here triggers TS2742/TS2883 during declaration emit\n// (non-portable `tailwind-variants` type path). Keep this explicit annotation\n// until we have a portable `tv` return type strategy.\nexport const buttonVariants: ReturnType<typeof tv> = tv({\n extend: heroButtonVariants,\n variants: {\n color: {\n ...heroButtonVariants.variants.color,\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/button.ts\n info: '',\n },\n variant: heroButtonVariants.variants.variant,\n size: heroButtonVariants.variants.size,\n },\n compoundVariants: [\n // white text on solid / shadow success button\n {\n color: 'success',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'success',\n variant: 'shadow',\n class: 'text-white',\n },\n // white text on solid / shadow warning button\n {\n color: 'warning',\n variant: 'solid',\n class: 'text-white',\n },\n {\n color: 'warning',\n variant: 'shadow',\n class: 'text-white',\n },\n {\n color: 'info',\n variant: 'solid',\n class: 'bg-info text-info-foreground',\n },\n {\n color: 'info',\n variant: 'shadow',\n class: 'shadow-info/40 bg-info text-info-foreground shadow-lg',\n },\n {\n color: 'info',\n variant: 'bordered',\n class: 'border-medium border-info bg-transparent text-info',\n },\n {\n color: 'info',\n variant: 'flat',\n class: 'bg-info/20 text-info-600',\n },\n {\n color: 'info',\n variant: 'faded',\n class: 'border-default bg-default-100 text-info',\n },\n {\n color: 'info',\n variant: 'light',\n class: 'bg-transparent text-info data-[hover=true]:bg-info-100',\n },\n {\n color: 'info',\n variant: 'ghost',\n class:\n 'border-info text-info data-[hover=true]:!bg-info data-[hover=true]:!text-info-foreground',\n },\n ],\n});\n\ntype VariantProps = TVProps<typeof buttonVariants>;\n\n/* eslint-disable react/require-default-props -- not working with forwardRef */\nexport interface ButtonProps extends VariantProps {\n /** sets HTML aria-label attribute */\n ariaLabel?: string;\n /** content of the button */\n children?: ReactNode;\n /** CSS class name */\n className?: string;\n /** color of the button */\n color?: VariantProps['color'];\n /** disables the button */\n disabled?: boolean;\n /** disables all animations */\n disableAnimation?: boolean;\n /** shows loading animation */\n loading?: boolean;\n /** optional icon */\n icon?: ReactNode;\n /** blur event handler */\n onBlur?: HeroButtonProps['onBlur'];\n /** click event handler */\n onClick?: HeroButtonProps['onPress'];\n /** focus event handler */\n onFocus?: HeroButtonProps['onFocus'];\n /** border radius size */\n radius?: VariantProps['radius'];\n /** enable ripple animation effect on click */\n ripple?: boolean;\n /** size options */\n size?: VariantProps['size'];\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n /** HTML button type attribute */\n type?: 'button' | 'submit' | 'reset' | undefined;\n /** visual style variant */\n variant?: VariantProps['variant'];\n}\n/* eslint-enable react/require-default-props */\n\n/**\n * Button component based on [HeroUI Button](https://www.heroui.com//docs/components/button)\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n ariaLabel = undefined,\n children = undefined,\n className: _className = undefined,\n color = 'default',\n disableAnimation = false,\n disabled = false,\n icon = undefined,\n loading = false,\n onBlur = undefined,\n onClick = undefined,\n onFocus = undefined,\n radius = undefined,\n ripple = false,\n size = undefined,\n testId = undefined,\n type = undefined,\n variant = 'solid',\n },\n ref,\n ) => {\n const className = buttonVariants({\n className: _className,\n disableAnimation,\n isDisabled: disabled,\n color,\n size,\n variant,\n isIconOnly: !!(icon && !children),\n radius,\n });\n\n return (\n <HeroButton\n ref={ref}\n aria-label={ariaLabel}\n className={className}\n data-testid={testId}\n disableRipple={disableAnimation || !ripple}\n isDisabled={disabled}\n isLoading={loading}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={onClick}\n spinner={<LoadingSpinner />}\n type={type}\n >\n {icon}\n {children}\n </HeroButton>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"mappings":";;;;;;;AAgBA,MAAa,kBAAA,GAAA,uBAAA,IAA2C;CACtD,QAAQA,cAAAA;CACR,UAAU;EACR,OAAO;GACL,GAAGA,cAAAA,OAAmB,SAAS;GAE/B,MAAM;EACR;EACA,SAASA,cAAAA,OAAmB,SAAS;EACrC,MAAMA,cAAAA,OAAmB,SAAS;CACpC;CACA,kBAAkB;EAEhB;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EAEA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OAAO;EACT;EACA;GACE,OAAO;GACP,SAAS;GACT,OACE;EACJ;CACF;AACF,CAAC;;;;AA8CD,MAAM,UAAA,GAAA,MAAA,aAEF,EACE,YAAY,KAAA,GACZ,WAAW,KAAA,GACX,WAAW,aAAa,KAAA,GACxB,QAAQ,WACR,mBAAmB,OACnB,WAAW,OACX,OAAO,KAAA,GACP,UAAU,OACV,SAAS,KAAA,GACT,UAAU,KAAA,GACV,UAAU,KAAA,GACV,SAAS,KAAA,GACT,SAAS,OACT,OAAO,KAAA,GACP,SAAS,KAAA,GACT,OAAO,KAAA,GACP,UAAU,WAEZ,QACG;CAYH,OACE,iBAAA,GAAA,kBAAA,MAACC,eAAAA,QAAD;EACO;EACL,cAAY;EACZ,WAfc,eAAe;GAC/B,WAAW;GACX;GACA,YAAY;GACZ;GACA;GACA;GACA,YAAY,CAAC,EAAE,QAAQ,CAAC;GACxB;EACF,CAMuB;EACnB,eAAa;EACb,eAAe,oBAAoB,CAAC;EACpC,YAAY;EACZ,WAAW;EACH;EACC;EACT,SAAS;EACT,SAAS,iBAAA,GAAA,kBAAA,KAACC,uBAAAA,SAAD,CAAiB,CAAA;EACpB;YAZR,CAcG,MACA,QACS;;AAEhB,CACF;AAEA,OAAO,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingSpinner.cjs","names":[],"sources":["../../../src/Button/subcomponents/LoadingSpinner.tsx"],"sourcesContent":["/**\n * svg loading spinner for button\n * @see https://www.heroui.com//docs/components/button#loading\n * */\nconst LoadingSpinner = () => {\n return (\n <svg\n className=\"h-5 w-5 animate-spin text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default LoadingSpinner;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoadingSpinner.cjs","names":[],"sources":["../../../src/Button/subcomponents/LoadingSpinner.tsx"],"sourcesContent":["/**\n * svg loading spinner for button\n * @see https://www.heroui.com//docs/components/button#loading\n * */\nconst LoadingSpinner = () => {\n return (\n <svg\n className=\"h-5 w-5 animate-spin text-current\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default LoadingSpinner;\n"],"mappings":";;;;;;AAIA,MAAM,uBAAuB;CAC3B,OACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,SAAQ;EACR,OAAM;YAJR,CAME,iBAAA,GAAA,kBAAA,KAAC,UAAD;GACE,WAAU;GACV,IAAG;GACH,IAAG;GACH,GAAE;GACF,QAAO;GACP,aAAY;EACb,CAAA,GACD,iBAAA,GAAA,kBAAA,KAAC,QAAD;GACE,WAAU;GACV,GAAE;GACF,MAAK;EACN,CAAA,CACE;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.cjs","names":["HeroButtonGroup"],"sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { ButtonGroup as HeroButtonGroup } from '@heroui/button';\n\nexport type { ButtonGroupProps } from '@heroui/button';\n\n/**\n * Button Group based on [HeroUI Button Group](https://www.heroui.com//docs/components/button#button-group)\n */\nconst ButtonGroup = HeroButtonGroup;\n\nexport default ButtonGroup;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonGroup.cjs","names":["HeroButtonGroup"],"sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { ButtonGroup as HeroButtonGroup } from '@heroui/button';\n\nexport type { ButtonGroupProps } from '@heroui/button';\n\n/**\n * Button Group based on [HeroUI Button Group](https://www.heroui.com//docs/components/button#button-group)\n */\nconst ButtonGroup = HeroButtonGroup;\n\nexport default ButtonGroup;\n"],"mappings":";;;;AAOA,MAAM,sCAAcA,EAAAA"}
|
package/dist/Card/Card.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
1
|
let _fuf_stack_pixel_utils = require("@fuf-stack/pixel-utils");
|
|
3
2
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
3
|
let react = require("react");
|
|
@@ -20,9 +19,9 @@ const Card = (0, react.forwardRef)(({ children = null, className = void 0, foote
|
|
|
20
19
|
const divider = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_heroui_divider.Divider, { className: dividerClassName });
|
|
21
20
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_heroui_card.Card, {
|
|
22
21
|
ref,
|
|
23
|
-
fullWidth: true,
|
|
24
22
|
classNames,
|
|
25
23
|
"data-testid": testId ? `card_${testId}` : null,
|
|
24
|
+
fullWidth: true,
|
|
26
25
|
radius: "sm",
|
|
27
26
|
shadow: "none",
|
|
28
27
|
children: [
|
package/dist/Card/Card.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.cjs","names":["HeroDivider","HeroCard","HeroCardHeader","HeroCardBody","HeroCardFooter"],"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport {\n Card as HeroCard,\n CardBody as HeroCardBody,\n CardFooter as HeroCardFooter,\n CardHeader as HeroCardHeader,\n} from '@heroui/card';\nimport { Divider as HeroDivider } from '@heroui/divider';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'z-auto text-base font-semibold',\n },\n});\n\ntype VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [HeroUI Card](https://www.heroui.com//docs/components/card)\n */\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children = null,\n className = undefined,\n footer = undefined,\n header = undefined,\n testId = undefined,\n },\n ref,\n ) => {\n // classNames from slots\n const variants = cardVariants();\n const { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <HeroDivider className={dividerClassName} />;\n\n return (\n <HeroCard\n ref={ref}\n
|
|
1
|
+
{"version":3,"file":"Card.cjs","names":["HeroDivider","HeroCard","HeroCardHeader","HeroCardBody","HeroCardFooter"],"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport {\n Card as HeroCard,\n CardBody as HeroCardBody,\n CardFooter as HeroCardFooter,\n CardHeader as HeroCardHeader,\n} from '@heroui/card';\nimport { Divider as HeroDivider } from '@heroui/divider';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'z-auto text-base font-semibold',\n },\n});\n\ntype VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [HeroUI Card](https://www.heroui.com//docs/components/card)\n */\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children = null,\n className = undefined,\n footer = undefined,\n header = undefined,\n testId = undefined,\n },\n ref,\n ) => {\n // classNames from slots\n const variants = cardVariants();\n const { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <HeroDivider className={dividerClassName} />;\n\n return (\n <HeroCard\n ref={ref}\n classNames={classNames}\n data-testid={testId ? `card_${testId}` : null}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header ? (\n <>\n <HeroCardHeader\n data-testid={testId ? `card_header_${testId}` : null}\n >\n {header}\n </HeroCardHeader>\n {divider}\n </>\n ) : null}\n <HeroCardBody data-testid={testId ? `card_body_${testId}` : null}>\n {children}\n </HeroCardBody>\n {footer ? (\n <>\n {divider}\n <HeroCardFooter\n data-testid={testId ? `card_footer_${testId}` : null}\n >\n {footer}\n </HeroCardFooter>\n </>\n ) : null}\n </HeroCard>\n );\n },\n);\n\nexport default Card;\n"],"mappings":";;;;;;AAgBA,MAAa,gBAAA,GAAA,uBAAA,IAAkB,EAC7B,OAAO;CACL,MAAM;CACN,MAAM;CACN,SAAS;CACT,QAAQ;CACR,QAAQ;AACV,EACF,CAAC;;;;AAqBD,MAAM,QAAA,GAAA,MAAA,aAEF,EACE,WAAW,MACX,YAAY,KAAA,GACZ,SAAS,KAAA,GACT,SAAS,KAAA,GACT,SAAS,KAAA,KAEX,QACG;CAGH,MAAM,EAAE,SAAS,kBAAkB,GAAG,gBAAA,GAAA,uBAAA,sBADrB,aAER,GACP,WACA,MACF;CAEA,MAAM,UAAU,iBAAA,GAAA,kBAAA,KAACA,gBAAAA,SAAD,EAAa,WAAW,iBAAmB,CAAA;CAE3D,OACE,iBAAA,GAAA,kBAAA,MAACC,aAAAA,MAAD;EACO;EACO;EACZ,eAAa,SAAS,QAAQ,WAAW;EACzC,WAAA;EACA,QAAO;EACP,QAAO;YANT;GAQG,SACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAACC,aAAAA,YAAD;IACE,eAAa,SAAS,eAAe,WAAW;cAE/C;GACa,CAAA,GACf,OACD,EAAA,CAAA,IACA;GACJ,iBAAA,GAAA,kBAAA,KAACC,aAAAA,UAAD;IAAc,eAAa,SAAS,aAAa,WAAW;IACzD;GACW,CAAA;GACb,SACC,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACG,SACD,iBAAA,GAAA,kBAAA,KAACC,aAAAA,YAAD;IACE,eAAa,SAAS,eAAe,WAAW;cAE/C;GACa,CAAA,CAChB,EAAA,CAAA,IACA;EACI;;AAEd,CACF"}
|
package/dist/Card/Card.js
CHANGED
|
@@ -19,9 +19,9 @@ const Card$1 = forwardRef(({ children = null, className = void 0, footer = void
|
|
|
19
19
|
const divider = /* @__PURE__ */ jsx(Divider, { className: dividerClassName });
|
|
20
20
|
return /* @__PURE__ */ jsxs(Card, {
|
|
21
21
|
ref,
|
|
22
|
-
fullWidth: true,
|
|
23
22
|
classNames,
|
|
24
23
|
"data-testid": testId ? `card_${testId}` : null,
|
|
24
|
+
fullWidth: true,
|
|
25
25
|
radius: "sm",
|
|
26
26
|
shadow: "none",
|
|
27
27
|
children: [
|
package/dist/Card/Card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","names":["Card","HeroDivider","HeroCard","HeroCardHeader","HeroCardBody","HeroCardFooter"],"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport {\n Card as HeroCard,\n CardBody as HeroCardBody,\n CardFooter as HeroCardFooter,\n CardHeader as HeroCardHeader,\n} from '@heroui/card';\nimport { Divider as HeroDivider } from '@heroui/divider';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'z-auto text-base font-semibold',\n },\n});\n\ntype VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [HeroUI Card](https://www.heroui.com//docs/components/card)\n */\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children = null,\n className = undefined,\n footer = undefined,\n header = undefined,\n testId = undefined,\n },\n ref,\n ) => {\n // classNames from slots\n const variants = cardVariants();\n const { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <HeroDivider className={dividerClassName} />;\n\n return (\n <HeroCard\n ref={ref}\n
|
|
1
|
+
{"version":3,"file":"Card.js","names":["Card","HeroDivider","HeroCard","HeroCardHeader","HeroCardBody","HeroCardFooter"],"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ReactNode } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport {\n Card as HeroCard,\n CardBody as HeroCardBody,\n CardFooter as HeroCardFooter,\n CardHeader as HeroCardHeader,\n} from '@heroui/card';\nimport { Divider as HeroDivider } from '@heroui/divider';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// card styling variants\nexport const cardVariants = tv({\n slots: {\n base: 'border border-divider',\n body: '',\n divider: 'my-0 border-divider',\n footer: '',\n header: 'z-auto text-base font-semibold',\n },\n});\n\ntype VariantProps = TVProps<typeof cardVariants>;\ntype ClassName = TVClassName<typeof cardVariants>;\n\nexport interface CardProps extends VariantProps {\n /** card body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** footer content */\n footer?: ReactNode;\n /** header content */\n header?: ReactNode;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Card component based on [HeroUI Card](https://www.heroui.com//docs/components/card)\n */\nconst Card = forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children = null,\n className = undefined,\n footer = undefined,\n header = undefined,\n testId = undefined,\n },\n ref,\n ) => {\n // classNames from slots\n const variants = cardVariants();\n const { divider: dividerClassName, ...classNames } = variantsToClassNames(\n variants,\n className,\n 'base',\n );\n\n const divider = <HeroDivider className={dividerClassName} />;\n\n return (\n <HeroCard\n ref={ref}\n classNames={classNames}\n data-testid={testId ? `card_${testId}` : null}\n fullWidth\n radius=\"sm\"\n shadow=\"none\"\n >\n {header ? (\n <>\n <HeroCardHeader\n data-testid={testId ? `card_header_${testId}` : null}\n >\n {header}\n </HeroCardHeader>\n {divider}\n </>\n ) : null}\n <HeroCardBody data-testid={testId ? `card_body_${testId}` : null}>\n {children}\n </HeroCardBody>\n {footer ? (\n <>\n {divider}\n <HeroCardFooter\n data-testid={testId ? `card_footer_${testId}` : null}\n >\n {footer}\n </HeroCardFooter>\n </>\n ) : null}\n </HeroCard>\n );\n },\n);\n\nexport default Card;\n"],"mappings":";;;;;;AAgBA,MAAa,eAAe,GAAG,EAC7B,OAAO;CACL,MAAM;CACN,MAAM;CACN,SAAS;CACT,QAAQ;CACR,QAAQ;AACV,EACF,CAAC;;;;AAqBD,MAAMA,SAAO,YAET,EACE,WAAW,MACX,YAAY,KAAA,GACZ,SAAS,KAAA,GACT,SAAS,KAAA,GACT,SAAS,KAAA,KAEX,QACG;CAGH,MAAM,EAAE,SAAS,kBAAkB,GAAG,eAAe,qBADpC,aAER,GACP,WACA,MACF;CAEA,MAAM,UAAU,oBAACC,SAAD,EAAa,WAAW,iBAAmB,CAAA;CAE3D,OACE,qBAACC,MAAD;EACO;EACO;EACZ,eAAa,SAAS,QAAQ,WAAW;EACzC,WAAA;EACA,QAAO;EACP,QAAO;YANT;GAQG,SACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAACC,YAAD;IACE,eAAa,SAAS,eAAe,WAAW;cAE/C;GACa,CAAA,GACf,OACD,EAAA,CAAA,IACA;GACJ,oBAACC,UAAD;IAAc,eAAa,SAAS,aAAa,WAAW;IACzD;GACW,CAAA;GACb,SACC,qBAAA,UAAA,EAAA,UAAA,CACG,SACD,oBAACC,YAAD;IACE,eAAa,SAAS,eAAe,WAAW;cAE/C;GACa,CAAA,CAChB,EAAA,CAAA,IACA;EACI;;AAEd,CACF"}
|
package/dist/Drawer/Drawer.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.cjs","names":["HeroDrawer","HeroDrawerContent","HeroDrawerHeader","HeroDrawerBody","HeroDrawerFooter"],"sources":["../../src/Drawer/Drawer.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DrawerProps as HeroDrawerProps } from '@heroui/drawer';\nimport type { ReactNode } from 'react';\n\nimport {\n Drawer as HeroDrawer,\n DrawerBody as HeroDrawerBody,\n DrawerContent as HeroDrawerContent,\n DrawerFooter as HeroDrawerFooter,\n DrawerHeader as HeroDrawerHeader,\n} from '@heroui/drawer';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// drawer variants\nexport const drawerVariants = tv({\n slots: {\n wrapper: '',\n base: '',\n backdrop: '',\n header: '',\n body: '',\n footer: '',\n closeButton: '',\n },\n});\n\nexport const drawerSizes = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n 'full',\n] as const;\nexport type DrawerSizes = (typeof drawerSizes)[number];\n\nexport const drawerRadii = ['none', 'sm', 'md', 'lg'] as const;\nexport type DrawerRadius = (typeof drawerRadii)[number];\n\nexport const drawerBackdrops = ['opaque', 'transparent', 'blur'] as const;\nexport type DrawerBackdrop = (typeof drawerBackdrops)[number];\n\nexport const drawerPlacements = ['left', 'right', 'top', 'bottom'] as const;\nexport type DrawerPlacement = (typeof drawerPlacements)[number];\n\ntype VariantProps = TVProps<typeof drawerVariants>;\ntype ClassName = TVClassName<typeof drawerVariants>;\n\nexport interface DrawerProps extends VariantProps {\n /** The backdrop style of the Drawer. */\n backdrop?: DrawerBackdrop;\n /** Drawer body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Custom close button to display on top right corner. */\n closeButton?: ReactNode;\n /** Footer of the Drawer. */\n footer?: ReactNode;\n /** Header of the Drawer. */\n header?: ReactNode;\n /** Whether to hide the drawer close button. */\n hideCloseButton?: boolean;\n /** Whether the drawer is open by default (controlled). */\n isOpen?: boolean;\n /** Whether the drawer can be closed by clicking on the overlay or pressing the Esc key. */\n isDismissable?: boolean;\n /** Handler that is called when the drawer is closed. */\n onClose?: () => void;\n /** Handler that is called when the drawer's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The drawer position. */\n placement?: DrawerPlacement;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: HeroDrawerProps['portalContainer'];\n /** The drawer border radius. */\n radius?: DrawerRadius;\n /** The drawer size. */\n size?: DrawerSizes;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Drawer component based on [HeroUI Drawer](https://www.heroui.com//docs/components/drawer)\n */\nconst Drawer = ({\n backdrop = 'opaque',\n children = null,\n className = undefined,\n closeButton = undefined,\n footer = undefined,\n header = undefined,\n hideCloseButton = false,\n isOpen = undefined,\n isDismissable = true,\n onClose = undefined,\n onOpenChange = undefined,\n placement = 'right',\n portalContainer = undefined,\n radius = 'lg',\n size = 'md',\n testId = undefined,\n}: DrawerProps) => {\n // classNames from slots\n const variants = drawerVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroDrawer\n backdrop={backdrop}\n classNames={classNames}\n closeButton={closeButton}\n data-testid={testId}\n hideCloseButton={hideCloseButton}\n isDismissable={isDismissable}\n isOpen={isOpen}\n onClose={onClose}\n onOpenChange={onOpenChange}\n placement={placement}\n portalContainer={portalContainer}\n radius={radius}\n scrollBehavior=\"inside\"\n size={size}\n >\n <HeroDrawerContent data-testid={testId ? `drawer_${testId}` : 'drawer'}>\n {() => {\n return (\n <>\n {header ? <HeroDrawerHeader>{header}</HeroDrawerHeader> : null}\n <HeroDrawerBody id=\"drawer_body\">{children}</HeroDrawerBody>\n {footer ? <HeroDrawerFooter>{footer}</HeroDrawerFooter> : null}\n </>\n );\n }}\n </HeroDrawerContent>\n </HeroDrawer>\n );\n};\n\nexport default Drawer;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drawer.cjs","names":["HeroDrawer","HeroDrawerContent","HeroDrawerHeader","HeroDrawerBody","HeroDrawerFooter"],"sources":["../../src/Drawer/Drawer.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { DrawerProps as HeroDrawerProps } from '@heroui/drawer';\nimport type { ReactNode } from 'react';\n\nimport {\n Drawer as HeroDrawer,\n DrawerBody as HeroDrawerBody,\n DrawerContent as HeroDrawerContent,\n DrawerFooter as HeroDrawerFooter,\n DrawerHeader as HeroDrawerHeader,\n} from '@heroui/drawer';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\n// drawer variants\nexport const drawerVariants = tv({\n slots: {\n wrapper: '',\n base: '',\n backdrop: '',\n header: '',\n body: '',\n footer: '',\n closeButton: '',\n },\n});\n\nexport const drawerSizes = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n 'full',\n] as const;\nexport type DrawerSizes = (typeof drawerSizes)[number];\n\nexport const drawerRadii = ['none', 'sm', 'md', 'lg'] as const;\nexport type DrawerRadius = (typeof drawerRadii)[number];\n\nexport const drawerBackdrops = ['opaque', 'transparent', 'blur'] as const;\nexport type DrawerBackdrop = (typeof drawerBackdrops)[number];\n\nexport const drawerPlacements = ['left', 'right', 'top', 'bottom'] as const;\nexport type DrawerPlacement = (typeof drawerPlacements)[number];\n\ntype VariantProps = TVProps<typeof drawerVariants>;\ntype ClassName = TVClassName<typeof drawerVariants>;\n\nexport interface DrawerProps extends VariantProps {\n /** The backdrop style of the Drawer. */\n backdrop?: DrawerBackdrop;\n /** Drawer body content */\n children?: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** Custom close button to display on top right corner. */\n closeButton?: ReactNode;\n /** Footer of the Drawer. */\n footer?: ReactNode;\n /** Header of the Drawer. */\n header?: ReactNode;\n /** Whether to hide the drawer close button. */\n hideCloseButton?: boolean;\n /** Whether the drawer is open by default (controlled). */\n isOpen?: boolean;\n /** Whether the drawer can be closed by clicking on the overlay or pressing the Esc key. */\n isDismissable?: boolean;\n /** Handler that is called when the drawer is closed. */\n onClose?: () => void;\n /** Handler that is called when the drawer's open state changes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** The drawer position. */\n placement?: DrawerPlacement;\n /** The container element in which the overlay portal will be placed */\n portalContainer?: HeroDrawerProps['portalContainer'];\n /** The drawer border radius. */\n radius?: DrawerRadius;\n /** The drawer size. */\n size?: DrawerSizes;\n /** HTML data-testid attribute used in e2e tests */\n testId?: string;\n}\n\n/**\n * Drawer component based on [HeroUI Drawer](https://www.heroui.com//docs/components/drawer)\n */\nconst Drawer = ({\n backdrop = 'opaque',\n children = null,\n className = undefined,\n closeButton = undefined,\n footer = undefined,\n header = undefined,\n hideCloseButton = false,\n isOpen = undefined,\n isDismissable = true,\n onClose = undefined,\n onOpenChange = undefined,\n placement = 'right',\n portalContainer = undefined,\n radius = 'lg',\n size = 'md',\n testId = undefined,\n}: DrawerProps) => {\n // classNames from slots\n const variants = drawerVariants();\n const classNames = variantsToClassNames(variants, className, 'base');\n\n return (\n <HeroDrawer\n backdrop={backdrop}\n classNames={classNames}\n closeButton={closeButton}\n data-testid={testId}\n hideCloseButton={hideCloseButton}\n isDismissable={isDismissable}\n isOpen={isOpen}\n onClose={onClose}\n onOpenChange={onOpenChange}\n placement={placement}\n portalContainer={portalContainer}\n radius={radius}\n scrollBehavior=\"inside\"\n size={size}\n >\n <HeroDrawerContent data-testid={testId ? `drawer_${testId}` : 'drawer'}>\n {() => {\n return (\n <>\n {header ? <HeroDrawerHeader>{header}</HeroDrawerHeader> : null}\n <HeroDrawerBody id=\"drawer_body\">{children}</HeroDrawerBody>\n {footer ? <HeroDrawerFooter>{footer}</HeroDrawerFooter> : null}\n </>\n );\n }}\n </HeroDrawerContent>\n </HeroDrawer>\n );\n};\n\nexport default Drawer;\n"],"mappings":";;;;AAeA,MAAa,kBAAA,GAAA,uBAAA,IAAoB,EAC/B,OAAO;CACL,SAAS;CACT,MAAM;CACN,UAAU;CACV,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,aAAa;AACf,EACF,CAAC;AAED,MAAa,cAAc;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAGA,MAAa,cAAc;CAAC;CAAQ;CAAM;CAAM;AAAI;AAGpD,MAAa,kBAAkB;CAAC;CAAU;CAAe;AAAM;AAG/D,MAAa,mBAAmB;CAAC;CAAQ;CAAS;CAAO;AAAQ;;;;AA4CjE,MAAM,UAAU,EACd,WAAW,UACX,WAAW,MACX,YAAY,KAAA,GACZ,cAAc,KAAA,GACd,SAAS,KAAA,GACT,SAAS,KAAA,GACT,kBAAkB,OAClB,SAAS,KAAA,GACT,gBAAgB,MAChB,UAAU,KAAA,GACV,eAAe,KAAA,GACf,YAAY,SACZ,kBAAkB,KAAA,GAClB,SAAS,MACT,OAAO,MACP,SAAS,KAAA,QACQ;CAKjB,OACE,iBAAA,GAAA,kBAAA,KAACA,eAAAA,QAAD;EACY;EACV,aAAA,GAAA,uBAAA,sBANa,eAC8B,GAAG,WAAW,MAKpC;EACR;EACb,eAAa;EACI;EACF;EACP;EACC;EACK;EACH;EACM;EACT;EACR,gBAAe;EACT;YAEN,iBAAA,GAAA,kBAAA,KAACC,eAAAA,eAAD;GAAmB,eAAa,SAAS,UAAU,WAAW;mBACrD;IACL,OACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA;KACG,SAAS,iBAAA,GAAA,kBAAA,KAACC,eAAAA,cAAD,EAAA,UAAmB,OAAyB,CAAA,IAAI;KAC1D,iBAAA,GAAA,kBAAA,KAACC,eAAAA,YAAD;MAAgB,IAAG;MAAe;KAAyB,CAAA;KAC1D,SAAS,iBAAA,GAAA,kBAAA,KAACC,eAAAA,cAAD,EAAA,UAAmB,OAAyB,CAAA,IAAI;IAC1D,EAAA,CAAA;GAEN;EACiB,CAAA;CACT,CAAA;AAEhB"}
|