Skip to content

Commit c8531fe

Browse files
committed
[skip ci] repo-sync
1 parent 7be37ac commit c8531fe

27 files changed

+355
-144
lines changed

.eslintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"rules": {
3+
"react/prop-types": "off"
4+
}
5+
}

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
node_modules
2-
.DS_Store
1+
node_modules/
2+
lib/
3+
yarn-error.log

index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,4 @@ export { Slot } from "@radix-ui/react-slot"
100100
export * from "./src/index"
101101
export { Select as EnchangedSelect, SelectVariant } from "./src/Select/Select"
102102
export { CodeExample } from "./src/CodeExample"
103+
export { SegmentedToggle } from "./src/SegmentedToggle"

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
"main": "index.ts",
66
"peerDependencies": {
77
"@loft-enterprise/client": "0.1.0",
8-
"@loft-enterprise/icons": "*",
9-
"framer-motion": "9.0.1",
108
"tailwindcss": "3.4.0"
119
},
1210
"dependencies": {
@@ -37,6 +35,7 @@
3735
"@radix-ui/react-toggle-group": "1.0.4",
3836
"@radix-ui/react-toolbar": "1.0.4",
3937
"@radix-ui/react-tooltip": "1.0.7",
40-
"react-select": "^5.8.0"
38+
"react-select": "^5.8.0",
39+
"framer-motion": "9.0.1"
4140
}
4241
}

src/Accordion.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import DownOutlined from "@ant-design/icons/DownOutlined"
12
import * as AccordionPrimitive from "@radix-ui/react-accordion"
23
import * as React from "react"
34

45
import cn from "../clsx"
5-
import { DownOutlined } from "@loft-enterprise/icons"
66

77
const Accordion = AccordionPrimitive.Root
88

src/Alert.tsx

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
import BulbOutlined from "@ant-design/icons/BulbOutlined"
2+
import ExclamationCircleFilled from "@ant-design/icons/ExclamationCircleFilled"
3+
import InfoCircleOutlined from "@ant-design/icons/InfoCircleOutlined"
4+
import WarningOutlined from "@ant-design/icons/WarningOutlined"
15
import React from "react"
26

37
import cn from "../clsx"
48
import { Button, ButtonProps } from "./Button"
5-
import {
6-
BulbOutlined,
7-
ExclamationCircleFilled,
8-
InfoCircleOutlined,
9-
WarningOutlined,
10-
} from "@loft-enterprise/icons"
119

1210
type Props = {
1311
title?: string
@@ -16,7 +14,7 @@ type Props = {
1614
onButtonClick?: () => Promise<void>
1715
linkText?: string
1816
linkUrl?: string
19-
variant?: "info" | "warning" | "error" | "blank"
17+
variant?: "info" | "warning" | "error" | "blank" | "neutral"
2018
className?: string
2119
children?: React.ReactNode
2220
icon?: React.ReactNode
@@ -36,6 +34,7 @@ function Alert({
3634
}: Props) {
3735
const icon = {
3836
info: <InfoCircleOutlined />,
37+
neutral: <InfoCircleOutlined />,
3938
warning: <WarningOutlined />,
4039
error: <ExclamationCircleFilled />,
4140
blank: <BulbOutlined />,
@@ -45,20 +44,30 @@ function Alert({
4544
(child) => React.isValidElement(child) && (child.type as any)?.name === "AlertButton"
4645
) as React.ReactElement | undefined
4746

47+
const contentChildren = React.Children.toArray(children).filter(
48+
(child) => !React.isValidElement(child) || (child.type as any)?.name !== "AlertButton"
49+
)
50+
4851
return (
4952
<div
5053
className={cn("rounded-md border px-3 py-3", className, {
5154
"border-primary-light bg-primary-extra-light": variant === "info",
5255
"border-warning-light bg-warning-extra-light": variant === "warning",
5356
"border-error-light bg-error-extra-light": variant === "error",
57+
"border-neutral-light bg-neutral-extra-light": variant === "neutral",
5458
"border-neutral-light": variant === "blank",
5559
"flex flex-col gap-2": title,
5660
})}>
5761
<span className="flex flex-row items-center gap-2 [&_svg]:size-4">
5862
{Icon ? Icon : icon[variant]}
5963
{title ? <span className="font-bold">{title}</span> : <span>{text}</span>}
6064
</span>
61-
{title && <span className="text-primary-main text-sm">{text}</span>}
65+
{title &&
66+
(contentChildren.length > 0 ? (
67+
<span className="text-primary-main text-sm">{contentChildren}</span>
68+
) : (
69+
text && <span className="text-primary-main text-sm">{text}</span>
70+
))}
6271
<div className="flex flex-row items-center gap-2">
6372
{buttonText && !buttonChild && (
6473
<Button className="self-start" size="small" onClickAsync={onButtonClick}>

src/Button.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import LoadingOutlined from "@ant-design/icons/LoadingOutlined"
12
import { Slot } from "@radix-ui/react-slot"
23
import * as React from "react"
34

45
import { cn } from "../clsx"
5-
import { LoadingOutlined } from "@loft-enterprise/icons"
66

77
export type ButtonStyles =
88
| {
@@ -63,35 +63,36 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
6363
data-loading={isLoading || loading}
6464
type={type}
6565
className={cn(
66-
"ring-offset-background group inline-flex cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap rounded border transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-offset-2 disabled:pointer-events-none data-[loading=true]:pointer-events-none magic-[disabled,data-[loading=true]]:opacity-60",
66+
"ring-offset-background group inline-flex cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap rounded border font-semibold transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-offset-2 disabled:pointer-events-none data-[loading=true]:pointer-events-none magic-[disabled,data-[loading=true]]:opacity-60",
6767
{
6868
"px-2 py-1 text-sm": size === "default",
6969
"px-3 py-2 text-base": size === "large",
7070
"px-2 py-0.5 text-xs": size === "small",
71-
"border-transparent font-bold text-white": variant === "filled",
71+
"border-transparent text-white": variant === "filled",
7272
"ring-danger-light": appearance === "danger",
7373
"ring-success-light": appearance === "success",
7474
"ring-warning-light": appearance === "warning",
75+
"font-normal": variant === "link",
7576

7677
"bg-primary-main hover:bg-primary-light focus:bg-primary-light active:bg-primary-dark data-[loading=true]:bg-primary-light":
7778
appearance === "primary" && variant === "filled",
7879

79-
"border border-primary-main bg-transparent font-bold text-primaryColor-main hover:border-primary-light hover:text-primaryColor-light focus:text-primaryColor-light active:border-primary-dark active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border-primary-light":
80+
"border border-primary-main bg-transparent text-primaryColor-main hover:border-primary-light hover:text-primaryColor-light focus:text-primaryColor-light active:border-primary-dark active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border-primary-light":
8081
appearance === "primary" && variant === "outlined",
8182

82-
"border border-divider-main bg-transparent font-bold text-secondary hover:border-divider-main hover:text-primaryColor-light focus:border-divider-main focus:text-primaryColor-light active:border-primary-dark active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border-primary-light magic-[disabled,data-[loading=true]]:text-primaryColor-light":
83+
"border border-divider-main bg-transparent text-secondary hover:border-divider-main hover:text-primaryColor-light focus:border-divider-main focus:text-primaryColor-light active:border-primary-dark active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border-primary-light magic-[disabled,data-[loading=true]]:text-primaryColor-light":
8384
appearance === "primary" && variant === "tertiary",
8485

85-
"border-transparent bg-transparent font-bold text-primaryColor-main hover:bg-neutral-extra-light hover:text-primaryColor-light focus:bg-neutral-extra-light focus:text-primaryColor-light active:bg-neutral-light active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border magic-[disabled,data-[loading=true]]:border-primary-main":
86+
"border-transparent bg-transparent text-primaryColor-main hover:bg-neutral-extra-light hover:text-primaryColor-light focus:bg-neutral-extra-light focus:text-primaryColor-light active:bg-neutral-light active:text-primaryColor-dark magic-[disabled,data-[loading=true]]:border magic-[disabled,data-[loading=true]]:border-primary-main":
8687
appearance === "primary" && variant === "ghost",
8788

8889
"border-0 bg-transparent text-primaryColor-main underline hover:text-primaryColor-light focus:text-primaryColor-light active:text-primaryColor-dark":
8990
appearance === "primary" && variant === "link",
9091

91-
"bg-danger-main hover:bg-danger-light focus:bg-danger-light active:bg-danger-dark disabled:bg-danger-light data-[loading=true]:bg-danger-light":
92+
"bg-danger-main hover:bg-danger-light focus:bg-danger-light active:bg-danger-dark disabled:bg-danger-light data-[loading=true]:bg-danger-light":
9293
appearance === "danger" && variant === "filled",
9394

94-
"border border-danger-main bg-transparent font-bold text-danger-main hover:border-danger-light hover:text-danger-light focus:text-danger-light active:border-danger-dark active:text-danger-dark disabled:border-danger-light data-[loading=true]:border-danger-light":
95+
"border border-danger-main bg-transparent text-danger-main hover:border-danger-light hover:text-danger-light focus:text-danger-light active:border-danger-dark active:text-danger-dark disabled:border-danger-light data-[loading=true]:border-danger-light":
9596
appearance === "danger" && variant === "outlined",
9697

9798
"border-transparent bg-transparent text-danger-main hover:bg-neutral-extra-light focus:bg-neutral-extra-light active:bg-neutral-light active:text-danger-dark magic-[disabled,data-[loading=true]]:border magic-[disabled,data-[loading=true]]:border-danger-main":
@@ -103,13 +104,13 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
103104
"bg-success-main hover:bg-success-light focus:bg-success-light active:bg-success-dark disabled:bg-success-light data-[loading=true]:bg-success-light":
104105
appearance === "success" && variant === "filled",
105106

106-
"border border-success-main bg-transparent font-bold text-success-main hover:border-success-light hover:text-success-light focus:text-success-light active:border-success-dark active:text-success-dark disabled:border-success-light data-[loading=true]:border-success-light":
107+
"border border-success-main bg-transparent text-success-main hover:border-success-light hover:text-success-light focus:text-success-light active:border-success-dark active:text-success-dark disabled:border-success-light data-[loading=true]:border-success-light":
107108
appearance === "success" && variant === "outlined",
108109

109110
"bg-warning-main hover:bg-warning-light focus:bg-warning-light active:bg-warning-dark disabled:bg-warning-light data-[loading=true]:bg-warning-light":
110111
appearance === "warning" && variant === "filled",
111112

112-
"border border-warning-main bg-transparent font-bold text-warning-main hover:border-warning-light hover:text-warning-light focus:text-warning-light active:border-warning-dark active:text-warning-dark disabled:border-warning-light data-[loading=true]:border-warning-light":
113+
"border border-warning-main bg-transparent text-warning-main hover:border-warning-light hover:text-warning-light focus:text-warning-light active:border-warning-dark active:text-warning-dark disabled:border-warning-light data-[loading=true]:border-warning-light":
113114
appearance === "warning" && variant === "outlined",
114115
"bg-neutral-main text-white hover:bg-neutral-light focus:bg-neutral-light active:bg-neutral-dark disabled:bg-neutral-main data-[loading=true]:bg-neutral-main":
115116
appearance === "neutral" && variant === "filled",

src/Checkbox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import CheckOutlined from "@ant-design/icons/CheckOutlined"
12
import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
23
import { CheckedState } from "@radix-ui/react-checkbox"
34
import * as React from "react"
45

56
import { cx } from "../clsx"
67
import { Label } from "./Label"
7-
import { CheckOutlined } from "@loft-enterprise/icons"
88

99
type TCheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {
1010
children?: React.ReactNode

src/Chip.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import CloseOutlined from "@ant-design/icons/CloseOutlined"
12
import React, { LegacyRef } from "react"
23

34
import { cn } from "../clsx/index"
4-
import { CloseOutlined } from "@loft-enterprise/icons"
55

66
type Props = {
77
size?: "small" | "medium" | "large"

src/DataTable/ColumnCustomization.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import SettingOutlined from "@ant-design/icons/SettingOutlined"
12
import { Table } from "@tanstack/react-table"
23
import React from "react"
34

4-
import { SettingOutlined } from "@loft-enterprise/icons"
55
import {
66
Button,
77
Checkbox,

0 commit comments

Comments
 (0)