feat(ui,dashboard): Move Divider component to UI package (#11357)
This commit is contained in:
committed by
GitHub
parent
acefcd7d80
commit
d00825485f
6
.changeset/lucky-terms-hammer.md
Normal file
6
.changeset/lucky-terms-hammer.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@medusajs/ui": patch
|
||||
"@medusajs/dashboard": patch
|
||||
---
|
||||
|
||||
feat(ui,dashboard): Move Divider component to UI package
|
||||
@@ -14,12 +14,11 @@ import {
|
||||
Tag,
|
||||
Users,
|
||||
} from "@medusajs/icons"
|
||||
import { Avatar, DropdownMenu, Text, clx } from "@medusajs/ui"
|
||||
import { Avatar, Divider, DropdownMenu, Text, clx } from "@medusajs/ui"
|
||||
import { Collapsible as RadixCollapsible } from "radix-ui"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { useStore } from "../../../hooks/api/store"
|
||||
import { Divider } from "../../common/divider"
|
||||
import { Skeleton } from "../../common/skeleton"
|
||||
import { INavItem, NavItem } from "../../layout/nav-item"
|
||||
import { Shell } from "../../layout/shell"
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import { ArrowUturnLeft, MinusMini } from "@medusajs/icons"
|
||||
import { IconButton, Text, clx } from "@medusajs/ui"
|
||||
import { clx, Divider, IconButton, Text } from "@medusajs/ui"
|
||||
import { Collapsible as RadixCollapsible } from "radix-ui"
|
||||
import { Fragment, useEffect, useMemo, useState } from "react"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { Link, useLocation } from "react-router-dom"
|
||||
|
||||
import { Divider } from "../../common/divider"
|
||||
import { INavItem, NavItem } from "../nav-item"
|
||||
import { Shell } from "../shell"
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import {
|
||||
Button,
|
||||
clx,
|
||||
Divider,
|
||||
Heading,
|
||||
Input,
|
||||
ProgressStatus,
|
||||
ProgressTabs,
|
||||
Textarea,
|
||||
clx,
|
||||
toast,
|
||||
} from "@medusajs/ui"
|
||||
import { useCallback, useEffect, useState } from "react"
|
||||
@@ -14,7 +15,6 @@ import { useForm } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { SwitchBox } from "../../../../../components/common/switch-box"
|
||||
import { CountrySelect } from "../../../../../components/inputs/country-select"
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
Button,
|
||||
clx,
|
||||
CurrencyInput,
|
||||
Divider,
|
||||
Heading,
|
||||
IconButton,
|
||||
Label,
|
||||
@@ -30,7 +31,6 @@ import {
|
||||
import { Trans, useTranslation } from "react-i18next"
|
||||
|
||||
import { formatValue } from "react-currency-input-field"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { StackedFocusModal } from "../../../../../components/modals"
|
||||
import { KeyboundForm } from "../../../../../components/utilities/keybound-form"
|
||||
|
||||
@@ -11,6 +11,7 @@ import { HttpTypes } from "@medusajs/types"
|
||||
import {
|
||||
Badge,
|
||||
Container,
|
||||
Divider,
|
||||
Heading,
|
||||
IconButton,
|
||||
StatusBadge,
|
||||
@@ -23,7 +24,6 @@ import { useTranslation } from "react-i18next"
|
||||
import { useNavigate } from "react-router-dom"
|
||||
|
||||
import { ActionMenu } from "../../../../../components/common/action-menu"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { NoRecords } from "../../../../../components/common/empty-table-content"
|
||||
import { IconAvatar } from "../../../../../components/common/icon-avatar"
|
||||
import { LinkButton } from "../../../../../components/common/link-button"
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { Heading, Input, RadioGroup, Select, Text } from "@medusajs/ui"
|
||||
import { Divider, Heading, Input, RadioGroup, Select, Text } from "@medusajs/ui"
|
||||
import { UseFormReturn } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { SwitchBox } from "../../../../../components/common/switch-box"
|
||||
import { Combobox } from "../../../../../components/inputs/combobox"
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { Button, Input, RadioGroup, toast } from "@medusajs/ui"
|
||||
import { Button, Divider, Input, RadioGroup, toast } from "@medusajs/ui"
|
||||
import { useForm } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import * as zod from "zod"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { SwitchBox } from "../../../../../components/common/switch-box"
|
||||
import { Combobox } from "../../../../../components/inputs/combobox"
|
||||
|
||||
@@ -4,6 +4,7 @@ import { HttpTypes } from "@medusajs/types"
|
||||
import {
|
||||
Button,
|
||||
DatePicker,
|
||||
Divider,
|
||||
Heading,
|
||||
IconButton,
|
||||
Text,
|
||||
@@ -14,7 +15,6 @@ import { useFieldArray, useForm } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { z } from "zod"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { RouteDrawer, useRouteModal } from "../../../../../components/modals"
|
||||
import { StackedDrawer } from "../../../../../components/modals/stacked-drawer"
|
||||
|
||||
@@ -2,6 +2,7 @@ import { MagnifyingGlass, XMarkMini } from "@medusajs/icons"
|
||||
import {
|
||||
Button,
|
||||
DatePicker,
|
||||
Divider,
|
||||
Heading,
|
||||
IconButton,
|
||||
Input,
|
||||
@@ -14,7 +15,6 @@ import {
|
||||
import { useFieldArray, type UseFormReturn } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { StackedFocusModal } from "../../../../../components/modals/stacked-focus-modal"
|
||||
import { useStackedModal } from "../../../../../components/modals/stacked-modal-provider"
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import { Button, Heading, Input, Switch, toast } from "@medusajs/ui"
|
||||
import { Button, Divider, Heading, Input, Switch, toast } from "@medusajs/ui"
|
||||
import { useForm } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { z } from "zod"
|
||||
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { Combobox } from "../../../../../components/inputs/combobox"
|
||||
import { CountrySelect } from "../../../../../components/inputs/country-select"
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
XMarkMini,
|
||||
} from "@medusajs/icons"
|
||||
import { AdminProductCategoryResponse } from "@medusajs/types"
|
||||
import { Text, clx } from "@medusajs/ui"
|
||||
import { Divider, Text, clx } from "@medusajs/ui"
|
||||
import { Popover as RadixPopover } from "radix-ui"
|
||||
import {
|
||||
CSSProperties,
|
||||
@@ -22,7 +22,6 @@ import {
|
||||
useState,
|
||||
} from "react"
|
||||
import { Trans, useTranslation } from "react-i18next"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { TextSkeleton } from "../../../../../components/common/skeleton"
|
||||
import { useProductCategories } from "../../../../../hooks/api/categories"
|
||||
import { useDebouncedSearch } from "../../../../../hooks/use-debounced-search"
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Heading } from "@medusajs/ui"
|
||||
import { Divider, Heading } from "@medusajs/ui"
|
||||
import { UseFormReturn } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import {
|
||||
FormExtensionZone,
|
||||
useDashboardExtension,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { Divider } from "../../../../components/common/divider"
|
||||
import { Text } from "@medusajs/ui"
|
||||
import { Divider, Text } from "@medusajs/ui"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
export const ImportSummary = ({
|
||||
@@ -11,12 +10,12 @@ export const ImportSummary = ({
|
||||
const { t } = useTranslation()
|
||||
|
||||
return (
|
||||
<div className="shadow-elevation-card-rest bg-ui-bg-component transition-fg rounded-md flex flex-row px-3 py-2">
|
||||
<div className="shadow-elevation-card-rest bg-ui-bg-component transition-fg flex flex-row rounded-md px-3 py-2">
|
||||
<Stat
|
||||
title={summary.toCreate.toLocaleString()}
|
||||
description={t("products.import.upload.productsToCreate")}
|
||||
/>
|
||||
<Divider orientation="vertical" className="px-3 h-10" />
|
||||
<Divider orientation="vertical" className="h-10 px-3" />
|
||||
<Stat
|
||||
title={summary.toUpdate.toLocaleString()}
|
||||
description={t("products.import.upload.productsToUpdate")}
|
||||
@@ -33,7 +32,7 @@ const Stat = ({
|
||||
description: string
|
||||
}) => {
|
||||
return (
|
||||
<div className="flex-1 flex flex-col justify-center">
|
||||
<div className="flex flex-1 flex-col justify-center">
|
||||
<Text size="xlarge" className="font-sans font-medium">
|
||||
{title}
|
||||
</Text>
|
||||
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
Button,
|
||||
clx,
|
||||
CurrencyInput,
|
||||
Divider,
|
||||
Heading,
|
||||
Input,
|
||||
ProgressStatus,
|
||||
@@ -25,7 +26,6 @@ import { useEffect, useMemo, useState } from "react"
|
||||
import { useForm, useWatch } from "react-hook-form"
|
||||
import { Trans, useTranslation } from "react-i18next"
|
||||
import { z } from "zod"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { DeprecatedPercentageInput } from "../../../../../components/inputs/percentage-input"
|
||||
import {
|
||||
|
||||
@@ -5,14 +5,20 @@ import {
|
||||
TriangleRightMini,
|
||||
} from "@medusajs/icons"
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { Badge, IconButton, StatusBadge, Text, Tooltip } from "@medusajs/ui"
|
||||
import {
|
||||
Badge,
|
||||
Divider,
|
||||
IconButton,
|
||||
StatusBadge,
|
||||
Text,
|
||||
Tooltip,
|
||||
} from "@medusajs/ui"
|
||||
import { Collapsible as RadixCollapsible } from "radix-ui"
|
||||
import { ComponentPropsWithoutRef } from "react"
|
||||
import { useTranslation } from "react-i18next"
|
||||
|
||||
import { FetchError } from "@medusajs/js-sdk"
|
||||
import { ActionMenu } from "../../../../../components/common/action-menu"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { useProductTypes } from "../../../../../hooks/api/product-types"
|
||||
import { useProducts } from "../../../../../hooks/api/products"
|
||||
import { formatPercentage } from "../../../../../lib/percentage-helpers"
|
||||
@@ -31,15 +37,18 @@ export const TaxOverrideCard = ({ taxRate }: TaxOverrideCardProps) => {
|
||||
return null
|
||||
}
|
||||
|
||||
const groupedRules = taxRate.rules.reduce((acc, rule) => {
|
||||
if (!acc[rule.reference]) {
|
||||
acc[rule.reference] = []
|
||||
}
|
||||
const groupedRules = taxRate.rules.reduce(
|
||||
(acc, rule) => {
|
||||
if (!acc[rule.reference]) {
|
||||
acc[rule.reference] = []
|
||||
}
|
||||
|
||||
acc[rule.reference].push(rule.reference_id)
|
||||
acc[rule.reference].push(rule.reference_id)
|
||||
|
||||
return acc
|
||||
}, {} as Record<string, string[]>)
|
||||
return acc
|
||||
},
|
||||
{} as Record<string, string[]>
|
||||
)
|
||||
|
||||
const validKeys = Object.values(TaxRateRuleReferenceType)
|
||||
const numberOfTargets = Object.keys(groupedRules).map((key) =>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import {
|
||||
Button,
|
||||
Divider,
|
||||
Heading,
|
||||
Hint,
|
||||
Input,
|
||||
@@ -16,7 +17,6 @@ import { z } from "zod"
|
||||
import { MagnifyingGlass } from "@medusajs/icons"
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { SwitchBox } from "../../../../../components/common/switch-box"
|
||||
import { PercentageInput } from "../../../../../components/inputs/percentage-input"
|
||||
|
||||
@@ -3,6 +3,7 @@ import { MagnifyingGlass } from "@medusajs/icons"
|
||||
import { HttpTypes } from "@medusajs/types"
|
||||
import {
|
||||
Button,
|
||||
Divider,
|
||||
Heading,
|
||||
Hint,
|
||||
Input,
|
||||
@@ -16,7 +17,6 @@ import { useFieldArray, useForm, useWatch } from "react-hook-form"
|
||||
import { useTranslation } from "react-i18next"
|
||||
import { z } from "zod"
|
||||
|
||||
import { Divider } from "../../../../../components/common/divider"
|
||||
import { Form } from "../../../../../components/common/form"
|
||||
import { SwitchBox } from "../../../../../components/common/switch-box"
|
||||
import { PercentageInput } from "../../../../../components/inputs/percentage-input"
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
import type { Meta, StoryObj } from "@storybook/react"
|
||||
import * as React from "react"
|
||||
|
||||
import { Divider } from "./divider"
|
||||
|
||||
const meta: Meta<typeof Divider> = {
|
||||
title: "Components/Divider",
|
||||
component: Divider,
|
||||
parameters: {
|
||||
layout: "centered",
|
||||
},
|
||||
render: (args) => (
|
||||
<div className="flex h-[200px] w-[200px] items-center justify-center">
|
||||
<Divider {...args} />
|
||||
</div>
|
||||
),
|
||||
}
|
||||
|
||||
export default meta
|
||||
|
||||
type Story = StoryObj<typeof Divider>
|
||||
|
||||
export const Horizontal: Story = {
|
||||
args: {
|
||||
orientation: "horizontal",
|
||||
},
|
||||
}
|
||||
|
||||
export const Vertical: Story = {
|
||||
args: {
|
||||
orientation: "vertical",
|
||||
},
|
||||
}
|
||||
|
||||
export const Dashed: Story = {
|
||||
args: {
|
||||
variant: "dashed",
|
||||
},
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
import { clx } from "@medusajs/ui"
|
||||
import { ComponentPropsWithoutRef } from "react"
|
||||
import { clx } from "@/utils/clx"
|
||||
import * as React from "react"
|
||||
|
||||
interface DividerProps
|
||||
extends Omit<ComponentPropsWithoutRef<"div">, "children"> {
|
||||
extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
|
||||
orientation?: "horizontal" | "vertical"
|
||||
variant?: "dashed" | "solid"
|
||||
}
|
||||
@@ -13,6 +13,7 @@ export { Container } from "./components/container"
|
||||
export { Copy } from "./components/copy"
|
||||
export { CurrencyInput } from "./components/currency-input"
|
||||
export { DatePicker } from "./components/date-picker"
|
||||
export { Divider } from "./components/divider"
|
||||
export { Drawer } from "./components/drawer"
|
||||
export { DropdownMenu } from "./components/dropdown-menu"
|
||||
export { FocusModal } from "./components/focus-modal"
|
||||
|
||||
Reference in New Issue
Block a user