@fuf-stack/pixels 0.41.0 → 0.41.1

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/index.js CHANGED
@@ -14,6 +14,11 @@ import {
14
14
  Tabs_default,
15
15
  tabsVariants
16
16
  } from "./chunk-JZHEG3SM.js";
17
+ import {
18
+ ToastProvider_default,
19
+ addToast,
20
+ toastVariants
21
+ } from "./chunk-KSAL4SBX.js";
17
22
  import {
18
23
  Tooltip_default
19
24
  } from "./chunk-YXWPOEX6.js";
@@ -79,165 +84,7 @@ import {
79
84
  Button_default,
80
85
  buttonVariants
81
86
  } from "./chunk-MAKWBTTW.js";
82
- import {
83
- __spreadProps,
84
- __spreadValues
85
- } from "./chunk-J7N2552D.js";
86
-
87
- // src/Toast/addToast.tsx
88
- import { toast as heroToastVariants } from "@heroui/theme";
89
- import { addToast as heroAddToast } from "@heroui/toast";
90
- import { tv, variantsToClassNames } from "@fuf-stack/pixel-utils";
91
- var toastVariants = tv({
92
- slots: {
93
- base: "",
94
- title: "",
95
- description: "",
96
- icon: "",
97
- loadingIcon: "",
98
- content: "",
99
- motionDiv: "",
100
- progressTrack: "",
101
- progressIndicator: "",
102
- closeButton: "",
103
- closeIcon: ""
104
- },
105
- variants: {
106
- // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/toast.ts
107
- color: __spreadValues({
108
- info: {}
109
- }, heroToastVariants.variants.color),
110
- variant: __spreadValues({}, heroToastVariants.variants.variant)
111
- },
112
- compoundVariants: [
113
- ...heroToastVariants.compoundVariants,
114
- {
115
- variant: "solid",
116
- color: "info",
117
- className: {
118
- base: "bg-info text-info-foreground",
119
- title: "text-info-foreground",
120
- description: "text-info-foreground",
121
- icon: "text-info-foreground",
122
- closeIcon: "border-info-400 bg-info-100",
123
- closeButton: "text-info-400 hover:text-info-600",
124
- progressIndicator: "bg-info-400"
125
- }
126
- },
127
- {
128
- color: "info",
129
- variant: "flat",
130
- className: {
131
- base: "bg-info-50 text-info-600 dark:bg-info-50/50",
132
- title: "text-info-600",
133
- description: "text-info-500",
134
- icon: "text-info-600",
135
- closeIcon: "border-info-400 bg-info-100",
136
- closeButton: "text-info-400 hover:text-info-600",
137
- progressIndicator: "bg-info-400"
138
- }
139
- },
140
- {
141
- color: "info",
142
- variant: "bordered",
143
- className: {
144
- base: "border-small border-info text-info-600",
145
- title: "text-info-600",
146
- description: "text-info-500",
147
- icon: "text-info-600",
148
- closeIcon: "border-info-400 bg-info-100",
149
- closeButton: "text-info-400 hover:text-info-600",
150
- progressIndicator: "bg-info-400"
151
- }
152
- }
153
- ]
154
- });
155
- var addToast = ({
156
- className = void 0,
157
- closeIcon = void 0,
158
- color = "default",
159
- description = void 0,
160
- endContent = void 0,
161
- icon = void 0,
162
- loadingIcon = void 0,
163
- onClose = void 0,
164
- promise = void 0,
165
- shouldShowTimeoutProgress = false,
166
- showCloseButton = true,
167
- showIcon = true,
168
- timeout = 5e3,
169
- title = void 0,
170
- variant = "bordered"
171
- }) => {
172
- const variants = toastVariants({
173
- color,
174
- variant
175
- });
176
- const isHeroUIColor = Object.keys(heroToastVariants.variants.color).includes(
177
- color
178
- );
179
- const classNames = variantsToClassNames(variants, className, "base");
180
- heroAddToast({
181
- classNames,
182
- closeIcon,
183
- color: isHeroUIColor ? color : void 0,
184
- // TODO: 'data-testid': testId,
185
- description,
186
- endContent,
187
- hideCloseButton: !showCloseButton,
188
- hideIcon: !showIcon,
189
- icon,
190
- loadingIcon,
191
- onClose,
192
- promise,
193
- shouldShowTimeoutProgress,
194
- timeout,
195
- title,
196
- variant
197
- });
198
- };
199
-
200
- // src/Toast/ToastProvider.tsx
201
- import { toast as heroToastVariants2 } from "@heroui/theme";
202
- import { ToastProvider as HeroToastProvider } from "@heroui/toast";
203
- import { variantsToClassNames as variantsToClassNames2 } from "@fuf-stack/pixel-utils";
204
- import { jsx } from "react/jsx-runtime";
205
- var ToastProvider = ({
206
- disableAnimation = false,
207
- maxVisibleToasts = 5,
208
- placement = "top-center",
209
- toastProps = void 0,
210
- toastOffset = 26,
211
- regionProps = void 0
212
- }) => {
213
- const variants = toastVariants({
214
- color: toastProps == null ? void 0 : toastProps.color,
215
- variant: toastProps == null ? void 0 : toastProps.variant
216
- });
217
- const isHeroUIColor = Object.keys(heroToastVariants2.variants.color).includes(
218
- (toastProps == null ? void 0 : toastProps.color) || ""
219
- );
220
- const classNames = variantsToClassNames2(
221
- variants,
222
- toastProps == null ? void 0 : toastProps.className,
223
- "base"
224
- );
225
- return /* @__PURE__ */ jsx(
226
- HeroToastProvider,
227
- {
228
- disableAnimation,
229
- maxVisibleToasts,
230
- placement,
231
- regionProps,
232
- toastOffset,
233
- toastProps: __spreadProps(__spreadValues({}, toastProps), {
234
- classNames,
235
- color: isHeroUIColor ? toastProps == null ? void 0 : toastProps.color : void 0
236
- })
237
- }
238
- );
239
- };
240
- var ToastProvider_default = ToastProvider;
87
+ import "./chunk-J7N2552D.js";
241
88
  export {
242
89
  Accordion_default as Accordion,
243
90
  Alert_default as Alert,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Toast/addToast.tsx","../src/Toast/ToastProvider.tsx"],"sourcesContent":["import type { TVClassName, TVProps } from '@fuf-stack/pixel-utils';\nimport type { ToastProps as HeroToastProps } from '@heroui/toast';\nimport type { ReactNode } from 'react';\n\nimport { toast as heroToastVariants } from '@heroui/theme';\nimport { addToast as heroAddToast } from '@heroui/toast';\n\nimport { tv, variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nexport const toastVariants = tv({\n slots: {\n base: '',\n title: '',\n description: '',\n icon: '',\n loadingIcon: '',\n content: '',\n motionDiv: '',\n progressTrack: '',\n progressIndicator: '',\n closeButton: '',\n closeIcon: '',\n },\n variants: {\n // see: https://github.com/heroui-inc/heroui/blob/canary/packages/core/theme/src/components/toast.ts\n color: {\n info: {},\n ...heroToastVariants.variants.color,\n },\n variant: {\n ...heroToastVariants.variants.variant,\n },\n },\n compoundVariants: [\n ...heroToastVariants.compoundVariants,\n {\n variant: 'solid',\n color: 'info',\n className: {\n base: 'bg-info text-info-foreground',\n title: 'text-info-foreground',\n description: 'text-info-foreground',\n icon: 'text-info-foreground',\n closeIcon: 'border-info-400 bg-info-100',\n closeButton: 'text-info-400 hover:text-info-600',\n progressIndicator: 'bg-info-400',\n },\n },\n {\n color: 'info',\n variant: 'flat',\n className: {\n base: 'bg-info-50 text-info-600 dark:bg-info-50/50',\n title: 'text-info-600',\n description: 'text-info-500',\n icon: 'text-info-600',\n closeIcon: 'border-info-400 bg-info-100',\n closeButton: 'text-info-400 hover:text-info-600',\n progressIndicator: 'bg-info-400',\n },\n },\n\n {\n color: 'info',\n variant: 'bordered',\n className: {\n base: 'border-small border-info text-info-600',\n title: 'text-info-600',\n description: 'text-info-500',\n icon: 'text-info-600',\n closeIcon: 'border-info-400 bg-info-100',\n closeButton: 'text-info-400 hover:text-info-600',\n progressIndicator: 'bg-info-400',\n },\n },\n ],\n});\n\nexport type AddToastVariantProps = TVProps<typeof toastVariants>;\ntype ClassName = TVClassName<typeof toastVariants>;\n\nexport interface ToastProps extends AddToastVariantProps {\n /** CSS class name */\n className?: ClassName;\n /** Icon displayed at the end of the Alert */\n closeIcon?: ReactNode;\n /** Color of the alert */\n color?: AddToastVariantProps['color'];\n /** Content displayed inside the Alert */\n description?: ReactNode;\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 /** Icon or animation displayed until promise is resolved */\n loadingIcon?: ReactNode;\n /** Callback function called when the toast is closed */\n onClose?: () => void;\n /** Promise based on which the notification will be styled */\n promise?: Promise<void>;\n /** Whether the toast should show a progress bar */\n shouldShowTimeoutProgress?: boolean;\n /** Whether the toast should show a close button */\n showCloseButton?: boolean;\n /** Whether the toast should show an icon */\n showIcon?: boolean;\n /** Time the toast is displayed */\n timeout?: number;\n /** Content displayed at the top of the toast */\n title?: ReactNode;\n /** Variant of the toast */\n variant?: AddToastVariantProps['variant'];\n}\n\n/**\n * addToast function based on [HeroUI Toast](https://www.heroui.com//docs/components/toast)\n */\nexport const addToast = ({\n className = undefined,\n closeIcon = undefined,\n color = 'default',\n description = undefined,\n endContent = undefined,\n icon = undefined,\n loadingIcon = undefined,\n onClose = undefined,\n promise = undefined,\n shouldShowTimeoutProgress = false,\n showCloseButton = true,\n showIcon = true,\n timeout = 5000,\n title = undefined,\n variant = 'bordered',\n}: ToastProps) => {\n const variants = toastVariants({\n color,\n variant,\n });\n const isHeroUIColor = Object.keys(heroToastVariants.variants.color).includes(\n color,\n );\n const classNames = variantsToClassNames(variants, className, 'base');\n heroAddToast({\n classNames,\n closeIcon,\n color: isHeroUIColor ? (color as HeroToastProps['color']) : undefined,\n // TODO: 'data-testid': testId,\n description,\n endContent,\n hideCloseButton: !showCloseButton,\n hideIcon: !showIcon,\n icon,\n loadingIcon,\n onClose,\n promise,\n shouldShowTimeoutProgress,\n timeout,\n title,\n variant,\n });\n};\n\nexport default addToast;\n","import type { ToastProps as HeroToastProps } from '@heroui/toast';\nimport type { ToastProps } from './addToast';\n\nimport { toast as heroToastVariants } from '@heroui/theme';\nimport { ToastProvider as HeroToastProvider } from '@heroui/toast';\n\nimport { variantsToClassNames } from '@fuf-stack/pixel-utils';\n\nimport { toastVariants } from './addToast';\n\nexport type ToastProviderToastProps = Omit<\n ToastProps,\n 'description' | 'endContent' | 'title'\n>;\n\nexport interface ToastProviderProps {\n disableAnimation?: boolean;\n maxVisibleToasts?: number;\n placement?:\n | 'bottom-right'\n | 'bottom-left'\n | 'bottom-center'\n | 'top-right'\n | 'top-left'\n | 'top-center';\n\n toastProps?: ToastProviderToastProps;\n toastOffset?: number;\n regionProps?: { classNames?: Record<'base', string> };\n}\n\n/**\n * ToastProvider component based on [HeroUI Toast](https://www.heroui.com//docs/components/toast)\n */\nconst ToastProvider = ({\n disableAnimation = false,\n maxVisibleToasts = 5,\n placement = 'top-center',\n toastProps = undefined,\n toastOffset = 26,\n regionProps = undefined,\n}: ToastProviderProps) => {\n const variants = toastVariants({\n color: toastProps?.color,\n variant: toastProps?.variant,\n });\n const isHeroUIColor = Object.keys(heroToastVariants.variants.color).includes(\n toastProps?.color || '',\n );\n const classNames = variantsToClassNames(\n variants,\n toastProps?.className,\n 'base',\n );\n return (\n <HeroToastProvider\n disableAnimation={disableAnimation}\n maxVisibleToasts={maxVisibleToasts}\n placement={placement}\n regionProps={regionProps}\n toastOffset={toastOffset}\n toastProps={{\n ...toastProps,\n classNames,\n color: isHeroUIColor\n ? (toastProps?.color as HeroToastProps['color'])\n : undefined,\n }}\n />\n );\n};\n\nexport default ToastProvider;\n"],"mappings":"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","names":["heroToastVariants","variantsToClassNames","heroToastVariants","variantsToClassNames"]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fuf-stack/pixels",
3
3
  "description": "fuf core react component library",
4
4
  "author": "Hannes Tiede",
5
- "version": "0.41.0",
5
+ "version": "0.41.1",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.js",
@@ -123,6 +123,11 @@
123
123
  "import": "./dist/Tabs/index.js",
124
124
  "require": "./dist/Tabs/index.cjs"
125
125
  },
126
+ "./Toast": {
127
+ "types": "./dist/Toast/index.d.ts",
128
+ "import": "./dist/Toast/index.js",
129
+ "require": "./dist/Toast/index.cjs"
130
+ },
126
131
  "./Tooltip": {
127
132
  "types": "./dist/Tooltip/index.d.ts",
128
133
  "import": "./dist/Tooltip/index.js",
@@ -189,8 +194,8 @@
189
194
  "react-dom": "19.0.0",
190
195
  "@repo/storybook-config": "0.0.1",
191
196
  "@repo/tailwind-config": "0.0.1",
192
- "@repo/tsup-config": "0.0.1",
193
- "@repo/vite-config": "0.0.1"
197
+ "@repo/vite-config": "0.0.1",
198
+ "@repo/tsup-config": "0.0.1"
194
199
  },
195
200
  "scripts": {
196
201
  "build": "tsup --config node_modules/@repo/tsup-config/config.ts --dts-resolve",