@fuf-stack/pixels 1.11.0 → 1.11.2
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 +512 -74
- package/dist/Accordion/Accordion.d.cts.map +1 -1
- package/dist/Accordion/Accordion.d.ts +512 -74
- package/dist/Accordion/Accordion.d.ts.map +1 -1
- package/dist/Alert/Alert.cjs +0 -1
- package/dist/Alert/Alert.cjs.map +1 -1
- package/dist/Alert/Alert.d.cts +395 -109
- package/dist/Alert/Alert.d.cts.map +1 -1
- package/dist/Alert/Alert.d.ts +395 -109
- package/dist/Alert/Alert.d.ts.map +1 -1
- package/dist/Avatar/Avatar.cjs +0 -1
- package/dist/Avatar/Avatar.cjs.map +1 -1
- package/dist/Avatar/Avatar.d.cts +734 -45
- package/dist/Avatar/Avatar.d.cts.map +1 -1
- package/dist/Avatar/Avatar.d.ts +734 -45
- package/dist/Avatar/Avatar.d.ts.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/Badge/Badge.d.cts +377 -27
- package/dist/Badge/Badge.d.cts.map +1 -1
- package/dist/Badge/Badge.d.ts +377 -27
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +10 -11
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.cts +853 -51
- package/dist/Breadcrumb/Breadcrumb.d.cts.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +853 -51
- package/dist/Breadcrumb/Breadcrumb.d.ts.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/Button.d.cts +3 -215
- package/dist/Button/Button.d.cts.map +1 -1
- package/dist/Button/Button.d.ts +3 -215
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js.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.d.cts +734 -45
- package/dist/Card/Card.d.cts.map +1 -1
- package/dist/Card/Card.d.ts +734 -45
- package/dist/Card/Card.d.ts.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 +972 -57
- package/dist/Drawer/Drawer.d.cts.map +1 -1
- package/dist/Drawer/Drawer.d.ts +972 -57
- package/dist/Drawer/Drawer.d.ts.map +1 -1
- 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 +418 -173
- package/dist/Label/Label.d.cts.map +1 -1
- package/dist/Label/Label.d.ts +418 -173
- 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 +377 -27
- package/dist/Menu/Menu.d.cts.map +1 -1
- package/dist/Menu/Menu.d.ts +377 -27
- 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 +342 -70
- package/dist/Modal/Modal.d.cts.map +1 -1
- package/dist/Modal/Modal.d.ts +342 -70
- 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 +1091 -63
- package/dist/Popover/Popover.d.cts.map +1 -1
- package/dist/Popover/Popover.d.ts +1091 -63
- package/dist/Popover/Popover.d.ts.map +1 -1
- 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 +321 -85
- package/dist/Progress/Progress.d.cts.map +1 -1
- package/dist/Progress/Progress.d.ts +321 -85
- 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 +507 -186
- package/dist/ProgressCircular/ProgressCircular.d.cts.map +1 -1
- package/dist/ProgressCircular/ProgressCircular.d.ts +507 -186
- 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.d.cts +615 -39
- package/dist/SearchInput/SearchInput.d.cts.map +1 -1
- package/dist/SearchInput/SearchInput.d.ts +615 -39
- package/dist/SearchInput/SearchInput.d.ts.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/Table/Table.d.cts +514 -96
- package/dist/Table/Table.d.cts.map +1 -1
- package/dist/Table/Table.d.ts +514 -96
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Tabs/Tabs.cjs +0 -1
- package/dist/Tabs/Tabs.cjs.map +1 -1
- package/dist/Tabs/Tabs.d.cts +972 -57
- package/dist/Tabs/Tabs.d.cts.map +1 -1
- package/dist/Tabs/Tabs.d.ts +972 -57
- package/dist/Tabs/Tabs.d.ts.map +1 -1
- package/dist/Toast/Toaster.cjs +0 -1
- package/dist/Toast/Toaster.cjs.map +1 -1
- package/dist/Toast/toast.cjs +0 -1
- package/dist/Toast/toast.cjs.map +1 -1
- package/dist/Tooltip/Tooltip.cjs +6 -7
- package/dist/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/Tooltip/Tooltip.d.cts +452 -143
- package/dist/Tooltip/Tooltip.d.cts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +452 -143
- 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 +5 -5
package/dist/Tabs/Tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","names":[],"sources":["../../src/Tabs/Tabs.tsx"],"mappings":";;;;cAOa,YAAA,
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","names":[],"sources":["../../src/Tabs/Tabs.tsx"],"mappings":";;;;cAOa,YAAA,IAAY,KAAA;EAAA;;;gbAUvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gbAVuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sbAYsB;EAAA;IAAA;;;kbACC;;;;sbAExC;EAAA;IAAA;;;kbAEiB;;;;sbAQP;EAAA;kbANhB;;;;sbAIK;EAAA;;;;;kbAOoB;;;;sbAgBC;EAAA;IAAA;;;kbAhBmB;;;;sbAIjC;EAAA;IAAA;;;kbAUZ;;;;sbAIA;EAAA;IAAA;;;kbAQA;;;;sbAMA;EAAA;IAAA;;;kbA2DD;;;;sbArDa;EAAA;kbAAA;;;;sbAAA;EAAA;AAAA;;kbAAA;;;;sbAiBF;EAAA;;obAjBE;;;;wbAAA;IAAA;;obAAA;;;;wbAAA;IAAA;;obAAA;;;;wbAAA;IAAA;;obAAA;;;;wbAAA;IAAA;;obAAA;;;;wbAiBF;IAAA;;obAoCX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA7GI,YAAA,GAAe,OAAO,QAAQ,YAAA;AAAA,KAC9B,SAAA,GAAY,WAAW,QAAQ,YAAA;AAAA,KAE/B,KAAA;AAAA,UAEY,QAAA;;EAEf,OAAA,EAAS,SAAA;;EAET,QAAA;;EAEA,GAAA,EAAK,KAAA;;EAEL,KAAA,EAAO,SAAA;;EAEP,MAAA;AAAA;AAAA,UAGe,SAAA,SAAkB,YAAA;;EAEjC,SAAA;;EAEA,SAAA,GAAY,SAAA;;EAEZ,kBAAA;;EAEA,uBAAA;;EAEA,gBAAA;;EAEA,YAAA;;EAEA,SAAA;;EAEA,iBAAA,IAAqB,GAAA,EAAK,KAAA;;EAE1B,SAAA;;EAEA,MAAA;;EAEA,WAAA,GAAc,KAAA;;EAEd,IAAA;;EAEA,IAAA,EAAM,QAAA;;EAEN,MAAA;;EAEA,OAAA;;EAEA,QAAA;AAAA;;;;cAMI,IAAA;EAAQ,SAAA;EAAA,SAAA;EAAA,kBAAA;EAAA,uBAAA;EAAA,gBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,iBAAA;EAAA,SAAA;EAAA,MAAA;EAAA,WAAA;EAAA,IAAA;EAAA,IAAA;EAAA,MAAA;EAAA,OAAA;EAAA;AAAA,GAiBX,SAAA,iCAAS,GAAA,CAAA,OAAA"}
|
package/dist/Toast/Toaster.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.cjs","names":["SonnerToaster"],"sources":["../../src/Toast/Toaster.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { Toaster as SonnerToaster } from 'sonner';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport type ToasterProps = Pick<\n ComponentProps<typeof SonnerToaster>,\n 'visibleToasts' | 'position' | 'style' | 'className' | 'toastOptions'\n>;\n\nconst Toaster = ({ toastOptions, ...rest }: ToasterProps) => {\n // Force each toast to take the configured Toaster `--width` so that toasts\n // with short content do not shrink and stay centered when the position is\n // `top-center` / `bottom-center`. Sonner only applies `width: var(--width)`\n // to its built-in styled toasts; our toasts use `toast.custom` and would\n // otherwise size to their content.\n const className = cn('w-[var(--width)]', toastOptions?.className);\n return (\n <SonnerToaster {...rest} toastOptions={{ ...toastOptions, className }} />\n );\n};\n\nexport default Toaster;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Toaster.cjs","names":["SonnerToaster"],"sources":["../../src/Toast/Toaster.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { Toaster as SonnerToaster } from 'sonner';\n\nimport { cn } from '@fuf-stack/pixel-utils';\n\nexport type ToasterProps = Pick<\n ComponentProps<typeof SonnerToaster>,\n 'visibleToasts' | 'position' | 'style' | 'className' | 'toastOptions'\n>;\n\nconst Toaster = ({ toastOptions, ...rest }: ToasterProps) => {\n // Force each toast to take the configured Toaster `--width` so that toasts\n // with short content do not shrink and stay centered when the position is\n // `top-center` / `bottom-center`. Sonner only applies `width: var(--width)`\n // to its built-in styled toasts; our toasts use `toast.custom` and would\n // otherwise size to their content.\n const className = cn('w-[var(--width)]', toastOptions?.className);\n return (\n <SonnerToaster {...rest} toastOptions={{ ...toastOptions, className }} />\n );\n};\n\nexport default Toaster;\n"],"mappings":";;;;AAWA,MAAM,WAAW,EAAE,cAAc,GAAG,WAAyB;CAM3D,MAAM,aAAA,GAAA,uBAAA,IAAe,oBAAoB,cAAc,SAAS;CAChE,OACE,iBAAA,GAAA,kBAAA,KAACA,OAAAA,SAAD;EAAe,GAAI;EAAM,cAAc;GAAE,GAAG;GAAc;EAAU;CAAI,CAAA;AAE5E"}
|
package/dist/Toast/toast.cjs
CHANGED
package/dist/Toast/toast.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.cjs","names":["sonnerToast","AlertComponent"],"sources":["../../src/Toast/toast.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport type { ExternalToast } from 'sonner';\nimport type { AlertProps } from '../Alert';\n\nimport { toast as sonnerToast } from 'sonner';\n\nimport AlertComponent from '../Alert';\n\ntype AlertVariant = NonNullable<AlertProps['variant']>;\n\n/** Props passed to a custom render function */\nexport interface ToastRenderProps {\n /** The toast message */\n message: ReactNode;\n /** The color/severity of the toast */\n variant: AlertVariant;\n /** Function to close the toast */\n close: () => void;\n /** Whether the toast can be closed by the user */\n closable?: boolean;\n /** Title displayed above the toast message */\n title?: ReactNode;\n /** Content displayed at the end of the toast */\n endContent?: ReactNode;\n /** Icon displayed at the start of the toast */\n icon?: ReactNode;\n}\n\n/** Options passed to each toast method */\nexport interface ToastOptions {\n /** Title displayed above the toast message */\n title?: ReactNode;\n /** Whether the toast can be closed by the user */\n closable?: boolean;\n /** Duration in milliseconds before the toast auto-closes */\n duration?: number;\n /** Position of the toast on the screen */\n position?: ExternalToast['position'];\n /** Callback fired when the toast auto-closes */\n onAutoClose?: ExternalToast['onAutoClose'];\n /** Callback fired when the toast is closed */\n onClose?: ExternalToast['onDismiss'];\n /** Content displayed at the end of the toast */\n endContent?: ReactNode;\n /** Icon displayed at the start of the toast */\n icon?: ReactNode;\n /** Custom render function to override the default AlertComponent */\n render?: (props: ToastRenderProps) => ReactElement;\n}\n\nconst showToast = (\n message: ReactNode,\n variant: AlertVariant,\n options?: ToastOptions,\n) => {\n // Map custom ToastOptions to Sonner's ExternalToast format:\n // - onClose is mapped to Sonner's onDismiss\n // - closable is handled separately (not a Sonner option)\n // - position defaults to 'top-center'\n const { onClose, closable, title, endContent, icon, render, ...rest } =\n options ?? {};\n const sonnerOptions: ExternalToast = {\n position: 'top-center' as const,\n onDismiss: onClose,\n ...rest,\n };\n return sonnerToast.custom((id) => {\n // Close function passed to custom render or AlertComponent\n const close = () => {\n return sonnerToast.dismiss(id);\n };\n\n // Allow custom rendering via render prop\n if (render) {\n return render({\n message,\n variant,\n close,\n closable,\n title,\n endContent,\n icon,\n });\n }\n\n // Default: render AlertComponent\n return (\n <AlertComponent\n closable={closable}\n endContent={endContent}\n icon={icon}\n onClose={closable ? close : undefined}\n title={title}\n variant={variant}\n >\n {message}\n </AlertComponent>\n );\n }, sonnerOptions);\n};\n\n/** Toast object with convenience methods for different severity levels */\nconst toast = {\n /**\n * Show a default toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n default: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'default', options);\n },\n /**\n * Show an info toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n info: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'info', options);\n },\n /**\n * Show a warning toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n warn: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'warning', {\n duration: 60000,\n closable: true,\n ...options,\n });\n },\n /**\n * Show a success toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n success: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'success', options);\n },\n /**\n * Show an error toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n error: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'danger', {\n duration: 60000,\n closable: true,\n ...options,\n });\n },\n /** Close a toast by its id */\n close: (toastId: string | number) => {\n sonnerToast.dismiss(toastId);\n },\n};\n\nexport default toast;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"toast.cjs","names":["sonnerToast","AlertComponent"],"sources":["../../src/Toast/toast.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport type { ExternalToast } from 'sonner';\nimport type { AlertProps } from '../Alert';\n\nimport { toast as sonnerToast } from 'sonner';\n\nimport AlertComponent from '../Alert';\n\ntype AlertVariant = NonNullable<AlertProps['variant']>;\n\n/** Props passed to a custom render function */\nexport interface ToastRenderProps {\n /** The toast message */\n message: ReactNode;\n /** The color/severity of the toast */\n variant: AlertVariant;\n /** Function to close the toast */\n close: () => void;\n /** Whether the toast can be closed by the user */\n closable?: boolean;\n /** Title displayed above the toast message */\n title?: ReactNode;\n /** Content displayed at the end of the toast */\n endContent?: ReactNode;\n /** Icon displayed at the start of the toast */\n icon?: ReactNode;\n}\n\n/** Options passed to each toast method */\nexport interface ToastOptions {\n /** Title displayed above the toast message */\n title?: ReactNode;\n /** Whether the toast can be closed by the user */\n closable?: boolean;\n /** Duration in milliseconds before the toast auto-closes */\n duration?: number;\n /** Position of the toast on the screen */\n position?: ExternalToast['position'];\n /** Callback fired when the toast auto-closes */\n onAutoClose?: ExternalToast['onAutoClose'];\n /** Callback fired when the toast is closed */\n onClose?: ExternalToast['onDismiss'];\n /** Content displayed at the end of the toast */\n endContent?: ReactNode;\n /** Icon displayed at the start of the toast */\n icon?: ReactNode;\n /** Custom render function to override the default AlertComponent */\n render?: (props: ToastRenderProps) => ReactElement;\n}\n\nconst showToast = (\n message: ReactNode,\n variant: AlertVariant,\n options?: ToastOptions,\n) => {\n // Map custom ToastOptions to Sonner's ExternalToast format:\n // - onClose is mapped to Sonner's onDismiss\n // - closable is handled separately (not a Sonner option)\n // - position defaults to 'top-center'\n const { onClose, closable, title, endContent, icon, render, ...rest } =\n options ?? {};\n const sonnerOptions: ExternalToast = {\n position: 'top-center' as const,\n onDismiss: onClose,\n ...rest,\n };\n return sonnerToast.custom((id) => {\n // Close function passed to custom render or AlertComponent\n const close = () => {\n return sonnerToast.dismiss(id);\n };\n\n // Allow custom rendering via render prop\n if (render) {\n return render({\n message,\n variant,\n close,\n closable,\n title,\n endContent,\n icon,\n });\n }\n\n // Default: render AlertComponent\n return (\n <AlertComponent\n closable={closable}\n endContent={endContent}\n icon={icon}\n onClose={closable ? close : undefined}\n title={title}\n variant={variant}\n >\n {message}\n </AlertComponent>\n );\n }, sonnerOptions);\n};\n\n/** Toast object with convenience methods for different severity levels */\nconst toast = {\n /**\n * Show a default toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n default: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'default', options);\n },\n /**\n * Show an info toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n info: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'info', options);\n },\n /**\n * Show a warning toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n warn: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'warning', {\n duration: 60000,\n closable: true,\n ...options,\n });\n },\n /**\n * Show a success toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n success: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'success', options);\n },\n /**\n * Show an error toast.\n * @returns The toast id which can be passed to `toast.close()`\n */\n error: (message: ReactNode, options?: ToastOptions) => {\n return showToast(message, 'danger', {\n duration: 60000,\n closable: true,\n ...options,\n });\n },\n /** Close a toast by its id */\n close: (toastId: string | number) => {\n sonnerToast.dismiss(toastId);\n },\n};\n\nexport default toast;\n"],"mappings":";;;;AAkDA,MAAM,aACJ,SACA,SACA,YACG;CAKH,MAAM,EAAE,SAAS,UAAU,OAAO,YAAY,MAAM,QAAQ,GAAG,SAC7D,WAAW,CAAC;CACd,MAAM,gBAA+B;EACnC,UAAU;EACV,WAAW;EACX,GAAG;CACL;CACA,OAAOA,OAAAA,MAAY,QAAQ,OAAO;EAEhC,MAAM,cAAc;GAClB,OAAOA,OAAAA,MAAY,QAAQ,EAAE;EAC/B;EAGA,IAAI,QACF,OAAO,OAAO;GACZ;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC;EAIH,OACE,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,SAAD;GACY;GACE;GACN;GACN,SAAS,WAAW,QAAQ,KAAA;GACrB;GACE;aAER;EACa,CAAA;CAEpB,GAAG,aAAa;AAClB;;AAGA,MAAM,QAAQ;;;;;CAKZ,UAAU,SAAoB,YAA2B;EACvD,OAAO,UAAU,SAAS,WAAW,OAAO;CAC9C;;;;;CAKA,OAAO,SAAoB,YAA2B;EACpD,OAAO,UAAU,SAAS,QAAQ,OAAO;CAC3C;;;;;CAKA,OAAO,SAAoB,YAA2B;EACpD,OAAO,UAAU,SAAS,WAAW;GACnC,UAAU;GACV,UAAU;GACV,GAAG;EACL,CAAC;CACH;;;;;CAKA,UAAU,SAAoB,YAA2B;EACvD,OAAO,UAAU,SAAS,WAAW,OAAO;CAC9C;;;;;CAKA,QAAQ,SAAoB,YAA2B;EACrD,OAAO,UAAU,SAAS,UAAU;GAClC,UAAU;GACV,UAAU;GACV,GAAG;EACL,CAAC;CACH;;CAEA,QAAQ,YAA6B;EACnC,OAAA,MAAY,QAAQ,OAAO;CAC7B;AACF"}
|
package/dist/Tooltip/Tooltip.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
1
|
const require_ScrollShadow = require("../ScrollShadow/ScrollShadow.cjs");
|
|
3
2
|
let _fuf_stack_pixel_utils = require("@fuf-stack/pixel-utils");
|
|
4
3
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -61,15 +60,9 @@ const tooltipVariants = (0, _fuf_stack_pixel_utils.tv)({
|
|
|
61
60
|
const Tooltip = ({ children, className: _className = void 0, closeDelay = 500, containerPadding = 0, content, defaultOpen = false, delay = 0, footer = void 0, header = void 0, onOpenChange = void 0, placement = "top", size = "full" }) => {
|
|
62
61
|
const classNames = (0, _fuf_stack_pixel_utils.variantsToClassNames)(tooltipVariants({ size }), _className, "base");
|
|
63
62
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_heroui_tooltip.Tooltip, {
|
|
64
|
-
shouldFlip: true,
|
|
65
|
-
showArrow: true,
|
|
66
63
|
classNames,
|
|
67
64
|
closeDelay,
|
|
68
65
|
containerPadding,
|
|
69
|
-
defaultOpen,
|
|
70
|
-
delay,
|
|
71
|
-
onOpenChange,
|
|
72
|
-
placement,
|
|
73
66
|
content: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
|
|
74
67
|
header ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
75
68
|
className: classNames.headerWrapper,
|
|
@@ -90,9 +83,15 @@ const Tooltip = ({ children, className: _className = void 0, closeDelay = 500, c
|
|
|
90
83
|
})]
|
|
91
84
|
}) : null
|
|
92
85
|
] }),
|
|
86
|
+
defaultOpen,
|
|
87
|
+
delay,
|
|
93
88
|
onClick: (e) => {
|
|
94
89
|
e.preventDefault();
|
|
95
90
|
},
|
|
91
|
+
onOpenChange,
|
|
92
|
+
placement,
|
|
93
|
+
shouldFlip: true,
|
|
94
|
+
showArrow: true,
|
|
96
95
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
97
96
|
className: classNames.trigger,
|
|
98
97
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","names":["HeroTooltip","ScrollShadow"],"sources":["../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TooltipPlacement as HeroTooltipPlacement } from '@heroui/tooltip';\nimport type { ReactNode } from 'react';\n\nimport { Tooltip as HeroTooltip } from '@heroui/tooltip';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// tooltip variants\nexport const tooltipVariants = tv({\n slots: {\n base: '',\n body: 'w-full px-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'm-0 w-full border-divider p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pb-1 pt-2 font-semibold',\n headerWrapper: 'w-full',\n trigger: 'cursor-pointer',\n },\n variants: {\n size: {\n xs: {\n // base: 'max-w-xs',\n body: 'max-w-xs',\n footer: 'max-w-xs',\n header: 'max-w-xs',\n },\n sm: {\n // base: 'max-w-sm',\n body: 'max-w-sm',\n footer: 'max-w-sm',\n header: 'max-w-sm',\n },\n md: {\n // base: 'max-w-md',\n body: 'max-w-md',\n footer: 'max-w-md',\n header: 'max-w-md',\n },\n lg: {\n // base: 'max-w-lg',\n body: 'max-w-lg',\n footer: 'max-w-lg',\n header: 'max-w-lg',\n },\n xl: {\n // base: 'max-w-xl',\n body: 'max-w-xl',\n footer: 'max-w-xl',\n header: 'max-w-xl',\n },\n '2xl': {\n // base: 'max-w-2xl',\n body: 'max-w-2xl',\n footer: 'max-w-2xl',\n header: 'max-w-2xl',\n },\n '3xl': {\n // base: 'max-w-3xl',\n body: 'max-w-3xl',\n footer: 'max-w-3xl',\n header: 'max-w-3xl',\n },\n full: { base: '' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof tooltipVariants>;\ntype ClassName = TVClassName<typeof tooltipVariants>;\n\nexport type TooltipPlacement = HeroTooltipPlacement;\n\nexport interface TooltipProps extends VariantProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** delay in milliseconds before the tooltip opens. */\n closeDelay?: number;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** delay in milliseconds before the tooltip opens. */\n delay?: number;\n /** tooltip footer */\n footer?: ReactNode;\n /** tooltip header */\n header?: ReactNode;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n /** size of the tooltip */\n size?: VariantProps['size'];\n}\n\n/**\n * Tooltip component based on [HeroUI Tooltip](https://www.heroui.com//docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className: _className = undefined,\n closeDelay = 500,\n containerPadding = 0,\n content,\n defaultOpen = false,\n delay = 0,\n footer = undefined,\n header = undefined,\n onOpenChange = undefined,\n placement = 'top',\n size = 'full',\n}: TooltipProps) => {\n // classNames from slots\n const variants = tooltipVariants({ size });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroTooltip\n
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","names":["HeroTooltip","ScrollShadow"],"sources":["../../src/Tooltip/Tooltip.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { TooltipPlacement as HeroTooltipPlacement } from '@heroui/tooltip';\nimport type { ReactNode } from 'react';\n\nimport { Tooltip as HeroTooltip } from '@heroui/tooltip';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport ScrollShadow from '../ScrollShadow/ScrollShadow';\n\n// tooltip variants\nexport const tooltipVariants = tv({\n slots: {\n base: '',\n body: 'w-full px-4 py-2',\n content: 'flex max-h-[80vh] flex-col p-0',\n divider: 'm-0 w-full border-divider p-0',\n footer: 'w-full px-4 py-2',\n footerWrapper: 'w-full',\n header: 'w-full px-4 pb-1 pt-2 font-semibold',\n headerWrapper: 'w-full',\n trigger: 'cursor-pointer',\n },\n variants: {\n size: {\n xs: {\n // base: 'max-w-xs',\n body: 'max-w-xs',\n footer: 'max-w-xs',\n header: 'max-w-xs',\n },\n sm: {\n // base: 'max-w-sm',\n body: 'max-w-sm',\n footer: 'max-w-sm',\n header: 'max-w-sm',\n },\n md: {\n // base: 'max-w-md',\n body: 'max-w-md',\n footer: 'max-w-md',\n header: 'max-w-md',\n },\n lg: {\n // base: 'max-w-lg',\n body: 'max-w-lg',\n footer: 'max-w-lg',\n header: 'max-w-lg',\n },\n xl: {\n // base: 'max-w-xl',\n body: 'max-w-xl',\n footer: 'max-w-xl',\n header: 'max-w-xl',\n },\n '2xl': {\n // base: 'max-w-2xl',\n body: 'max-w-2xl',\n footer: 'max-w-2xl',\n header: 'max-w-2xl',\n },\n '3xl': {\n // base: 'max-w-3xl',\n body: 'max-w-3xl',\n footer: 'max-w-3xl',\n header: 'max-w-3xl',\n },\n full: { base: '' },\n },\n },\n});\n\ntype VariantProps = TVProps<typeof tooltipVariants>;\ntype ClassName = TVClassName<typeof tooltipVariants>;\n\nexport type TooltipPlacement = HeroTooltipPlacement;\n\nexport interface TooltipProps extends VariantProps {\n /** trigger child components */\n children: ReactNode;\n /** CSS class name */\n className?: ClassName;\n /** delay in milliseconds before the tooltip opens. */\n closeDelay?: number;\n /** placement padding in px */\n containerPadding?: number;\n /** content displayed in the tooltip */\n content: ReactNode;\n /** open overlay initially when uncontrolled */\n defaultOpen?: boolean;\n /** delay in milliseconds before the tooltip opens. */\n delay?: number;\n /** tooltip footer */\n footer?: ReactNode;\n /** tooltip header */\n header?: ReactNode;\n /** handler that is called when the overlay's open state changes */\n onOpenChange?: (isOpen: boolean) => void;\n /** placement if the tooltip */\n placement?: TooltipPlacement;\n /** size of the tooltip */\n size?: VariantProps['size'];\n}\n\n/**\n * Tooltip component based on [HeroUI Tooltip](https://www.heroui.com//docs/components/tooltip)\n */\nconst Tooltip = ({\n children,\n className: _className = undefined,\n closeDelay = 500,\n containerPadding = 0,\n content,\n defaultOpen = false,\n delay = 0,\n footer = undefined,\n header = undefined,\n onOpenChange = undefined,\n placement = 'top',\n size = 'full',\n}: TooltipProps) => {\n // classNames from slots\n const variants = tooltipVariants({ size });\n const classNames = variantsToClassNames(variants, _className, 'base');\n\n return (\n <HeroTooltip\n classNames={classNames}\n closeDelay={closeDelay}\n containerPadding={containerPadding}\n content={\n <div>\n {header ? (\n <div className={classNames.headerWrapper}>\n <div className={classNames.header}>{header}</div>\n <hr className={classNames.divider} />\n </div>\n ) : null}\n <ScrollShadow className={classNames.body}>{content}</ScrollShadow>\n {footer ? (\n <div className={classNames.footerWrapper}>\n <hr className={classNames.divider} />\n <div className={classNames.footer}>{footer}</div>\n </div>\n ) : null}\n </div>\n }\n defaultOpen={defaultOpen}\n delay={delay}\n onClick={(e) => {\n e.preventDefault();\n }}\n onOpenChange={onOpenChange}\n placement={placement}\n shouldFlip\n showArrow\n >\n <span className={classNames.trigger}>{children}</span>\n </HeroTooltip>\n );\n};\n\nexport default Tooltip;\n"],"mappings":";;;;;AAWA,MAAa,mBAAA,GAAA,uBAAA,IAAqB;CAChC,OAAO;EACL,MAAM;EACN,MAAM;EACN,SAAS;EACT,SAAS;EACT,QAAQ;EACR,eAAe;EACf,QAAQ;EACR,eAAe;EACf,SAAS;CACX;CACA,UAAU,EACR,MAAM;EACJ,IAAI;GAEF,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,IAAI;GAEF,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,IAAI;GAEF,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,IAAI;GAEF,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,IAAI;GAEF,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,OAAO;GAEL,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,OAAO;GAEL,MAAM;GACN,QAAQ;GACR,QAAQ;EACV;EACA,MAAM,EAAE,MAAM,GAAG;CACnB,EACF;AACF,CAAC;;;;AAqCD,MAAM,WAAW,EACf,UACA,WAAW,aAAa,KAAA,GACxB,aAAa,KACb,mBAAmB,GACnB,SACA,cAAc,OACd,QAAQ,GACR,SAAS,KAAA,GACT,SAAS,KAAA,GACT,eAAe,KAAA,GACf,YAAY,OACZ,OAAO,aACW;CAGlB,MAAM,cAAA,GAAA,uBAAA,sBADW,gBAAgB,EAAE,KAAK,CACO,GAAG,YAAY,MAAM;CAEpE,OACE,iBAAA,GAAA,kBAAA,KAACA,gBAAAA,SAAD;EACc;EACA;EACM;EAClB,SACE,iBAAA,GAAA,kBAAA,MAAC,OAAD,EAAA,UAAA;GACG,SACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAW,WAAW;cAA3B,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;KAAK,WAAW,WAAW;eAAS;IAAY,CAAA,GAChD,iBAAA,GAAA,kBAAA,KAAC,MAAD,EAAI,WAAW,WAAW,QAAU,CAAA,CACjC;QACH;GACJ,iBAAA,GAAA,kBAAA,KAACC,qBAAAA,SAAD;IAAc,WAAW,WAAW;cAAO;GAAsB,CAAA;GAChE,SACC,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAK,WAAW,WAAW;cAA3B,CACE,iBAAA,GAAA,kBAAA,KAAC,MAAD,EAAI,WAAW,WAAW,QAAU,CAAA,GACpC,iBAAA,GAAA,kBAAA,KAAC,OAAD;KAAK,WAAW,WAAW;eAAS;IAAY,CAAA,CAC7C;QACH;EACD,EAAA,CAAA;EAEM;EACN;EACP,UAAU,MAAM;GACd,EAAE,eAAe;EACnB;EACc;EACH;EACX,YAAA;EACA,WAAA;YAEA,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,WAAW,WAAW;GAAU;EAAe,CAAA;CAC1C,CAAA;AAEjB"}
|