{
const x = (box.width / (data.length - 1)) * i
diff --git a/packages/core/src/stat/stat.css b/packages/core/src/stat/stat.css
index 2a05e365..745c2dee 100644
--- a/packages/core/src/stat/stat.css
+++ b/packages/core/src/stat/stat.css
@@ -3,14 +3,20 @@
--f-stat-color-number: var(--f-color-text);
--f-stat-color-description: var(--f-color-text-weaker);
--f-stat-color-icon: var(--f-color-text-weaker);
+ --f-stat-shadow: var(--f-shadow-sm);
}
.f-stat {
+ box-shadow: var(--f-stat-shadow);
width: fit-content;
height: fit-content;
gap: var(--f-space-2);
+ border: 1px solid var(--f-color-border);
+ border-radius: var(--f-radius);
flex-grow: 1;
position: relative;
+ background: var(--f-color-surface);
+ padding: 1rem;
}
.f-stat .f-text {
diff --git a/packages/core/src/stat/stat.tsx b/packages/core/src/stat/stat.tsx
index c3182d04..5dbc3d25 100644
--- a/packages/core/src/stat/stat.tsx
+++ b/packages/core/src/stat/stat.tsx
@@ -42,7 +42,12 @@ export const Stat = (props: StatProps) => {
{number != null && {number}}
{(icon || descriptionTool || description) && (
- {icon && }
+ {icon && (
+
+ )}
{descriptionTool}
{description && (
{
{renderChildren(props.children, (child: ReactElement, index) => {
return cloneElement(child, {
...child.props,
- 'animated': animated,
+ 'animated': child.type === Tab ? animated : undefined,
'selected': child.props.selected == undefined ? selected == index : child.props.selected,
'onSelect': () => onSelect(index),
'id': props.id ? `${props.id}-tab-${index}` : null,
diff --git a/packages/core/src/toast/toast.css b/packages/core/src/toast/toast.css
index bb4b53ee..0f913924 100644
--- a/packages/core/src/toast/toast.css
+++ b/packages/core/src/toast/toast.css
@@ -7,7 +7,7 @@
--f-toast-padding: var(--f-space-3);
--f-toast-width: min(22rem, calc(100vw - 2rem));
--f-toast-stack-gap: 0.35rem;
- --f-toast-stack-overlap: 3.5rem;
+ --f-toast-stack-overlap: 2.5rem;
}
.f-toast-container {
diff --git a/packages/core/src/toast/toast.tsx b/packages/core/src/toast/toast.tsx
index f46adc40..b219d2fa 100644
--- a/packages/core/src/toast/toast.tsx
+++ b/packages/core/src/toast/toast.tsx
@@ -60,6 +60,7 @@ export type ToastMessage = {
variant?: Variant
showDismiss?: boolean
showProgress?: boolean
+ dontPauseOnHover?: boolean
anchor?: ToastAnchor
delay?: number
toastComponent?: any
@@ -80,14 +81,15 @@ export const Toast = (props: ToastProps) => {
variant = 'default',
showDismiss = true,
showProgress = false,
+ dontPauseOnHover = false,
anchor = DEFAULT_TOAST_ANCHOR,
delay = 3000,
toastComponent,
ueid,
- paused,
onDismiss,
containerProps,
} = props
+ const paused = props.paused && !dontPauseOnHover
const className = classNames(
{
'f-toast': true,
diff --git a/packages/pro/package.json b/packages/pro/package.json
index 6e0c3550..151a009b 100644
--- a/packages/pro/package.json
+++ b/packages/pro/package.json
@@ -40,7 +40,7 @@
"postcss-cli": "^10.1.0",
"postcss-import": "^15.1.0",
"postcss-preset-env": "^8.3.2",
- "typescript": "^4.8.4"
+ "typescript": "^5.9.3"
},
"engines": {
"node": ">=20.0"
diff --git a/packages/pro/src/common/list-button.tsx b/packages/pro/src/common/list-button.tsx
index 334ab817..db7b9196 100644
--- a/packages/pro/src/common/list-button.tsx
+++ b/packages/pro/src/common/list-button.tsx
@@ -27,7 +27,7 @@ export const ListButton = (props: ListButtonProps) => {
border="none">
{
- const list = options.findIndex((item) => item.value == optionValue)
+ const list = options.findIndex((item :any) => item.value == optionValue)
onChange(list)
hide()
}}
diff --git a/packages/pro/src/kanban/kanban-column.tsx b/packages/pro/src/kanban/kanban-column.tsx
index 5319db7b..bd89ee1d 100644
--- a/packages/pro/src/kanban/kanban-column.tsx
+++ b/packages/pro/src/kanban/kanban-column.tsx
@@ -5,10 +5,10 @@ import {
classNames,
dispatchDragEvent,
documentObject,
- getDragState,
getKey,
useDrag,
useDragEvent,
+ useDragState,
useEvent,
waitForRender,
windowObject,
@@ -69,7 +69,7 @@ export const KanbanColumn = (props: KanbanColumnProps) => {
'f-col': true,
'is-collapsed': collapsed,
})
- const { target } = getDragState('target')
+ const { target } = useDragState('target')
const handleCardAdd = (value: string) => {
onCardAdd({
diff --git a/packages/pro/src/todo/todo-task.tsx b/packages/pro/src/todo/todo-task.tsx
index 8a66296e..67331ab2 100644
--- a/packages/pro/src/todo/todo-task.tsx
+++ b/packages/pro/src/todo/todo-task.tsx
@@ -2,9 +2,9 @@ import {
ContextMenuContext,
DragElement,
documentObject,
- getDragState,
getKey,
useDrag,
+ useDragState,
useEvent,
windowObject,
} from '@fold-ui/core'
@@ -57,7 +57,7 @@ export const TodoTask = (props: TodoTaskProps) => {
const hasSubtasks = task.tasks ? !!task.tasks.length : false
const {
origin: { elementId },
- } = getDragState('origin')
+ } = useDragState('origin')
const [indent, setIndent] = useState(props.indent || 0)
const [indentCache, _] = useState(props.indent || 0)
const isSubtasksVisible = hasSubtasks && !collapsed && elementId != id && visible