feat(inventory,dashboard,types,core-flows,js-sdk,medusa): Improve inventory UX (#10630)

* feat(dashboard): Add UI for bulk editing inventory stock (#10556)

* progress

* cleanup types

* add changeset

* fix 0 values

* format schema

* add delete event and allow copy/pasting enabled for some fields

* add response types

* add tests

* work on fixing setValue behaviour

* cleanup toggle logic

* add loading state

* format schema

* add support for bidirectional actions in DataGrid and update Checkbox and RadioGroup

* update lock

* lint

* fix 404

* address feedback

* update cursor on bidirectional select
This commit is contained in:
Kasper Fabricius Kristensen
2025-01-13 01:07:14 +01:00
committed by GitHub
parent c5915451b8
commit bc22b81cdf
82 changed files with 2722 additions and 291 deletions
@@ -1,4 +1,4 @@
import { motion } from "framer-motion"
import { motion } from "motion/react"
import { IconAvatar } from "../icon-avatar"
@@ -6,7 +6,7 @@ export default function AvatarBox({ checked }: { checked?: boolean }) {
return (
<IconAvatar
size="xlarge"
className="bg-ui-button-neutral shadow-buttons-neutral after:button-neutral-gradient relative mb-4 flex items-center justify-center rounded-xl after:inset-0 after:content-[''] w-[52px] h-[52px]"
className="bg-ui-button-neutral shadow-buttons-neutral after:button-neutral-gradient relative mb-4 flex h-[52px] w-[52px] items-center justify-center rounded-xl after:inset-0 after:content-['']"
>
{checked && (
<motion.div
@@ -1,5 +1,5 @@
import { clx } from "@medusajs/ui"
import { Transition, motion } from "framer-motion"
import { Transition, motion } from "motion/react"
type LogoBoxProps = {
className?: string
@@ -0,0 +1 @@
export * from "./progress-bar"
@@ -0,0 +1,33 @@
import { motion } from "motion/react"
interface ProgressBarProps {
/**
* The duration of the animation in seconds.
*
* @default 2
*/
duration?: number
}
export const ProgressBar = ({ duration = 2 }: ProgressBarProps) => {
return (
<motion.div
className="bg-ui-fg-subtle size-full"
initial={{
width: "0%",
}}
transition={{
delay: 0.2,
duration,
ease: "linear",
}}
animate={{
width: "90%",
}}
exit={{
width: "100%",
transition: { duration: 0.2, ease: "linear" },
}}
/>
)
}
@@ -11,7 +11,7 @@ export const Thumbnail = ({ src, alt, size = "base" }: ThumbnailProps) => {
return (
<div
className={clx(
"bg-ui-bg-component flex items-center justify-center overflow-hidden rounded-[4px]",
"bg-ui-bg-component border-ui-border-base flex items-center justify-center overflow-hidden rounded border",
{
"h-8 w-6": size === "base",
"h-5 w-4": size === "small",