@idbrnd/design-system 1.12.3 → 1.13.0
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/README.md +85 -1
- package/dist/dev/App.d.ts +1 -0
- package/dist/dev/pages/IconsPage.d.ts +1 -0
- package/dist/icons/Icon.d.ts +15 -0
- package/dist/icons/Icon.types.d.ts +14 -0
- package/dist/icons/generated/AiBrainFillIcon.d.ts +3 -0
- package/dist/icons/generated/AiBrainIcon.d.ts +3 -0
- package/dist/icons/generated/ArrowTurnDownRightIcon.d.ts +3 -0
- package/dist/icons/generated/ArrowUpIcon.d.ts +3 -0
- package/dist/icons/generated/ArrowUpThickIcon.d.ts +3 -0
- package/dist/icons/generated/Axis3dIcon.d.ts +3 -0
- package/dist/icons/generated/BarchartFillIcon.d.ts +3 -0
- package/dist/icons/generated/BarchartIcon.d.ts +3 -0
- package/dist/icons/generated/BellFillIcon.d.ts +3 -0
- package/dist/icons/generated/BellIcon.d.ts +3 -0
- package/dist/icons/generated/BookFillIcon.d.ts +3 -0
- package/dist/icons/generated/BookIcon.d.ts +3 -0
- package/dist/icons/generated/BotIcon.d.ts +3 -0
- package/dist/icons/generated/BuildingIcon.d.ts +3 -0
- package/dist/icons/generated/CarbonIcon.d.ts +3 -0
- package/dist/icons/generated/CaretDownIcon.d.ts +3 -0
- package/dist/icons/generated/CaretUpIcon.d.ts +3 -0
- package/dist/icons/generated/CctvIcon.d.ts +3 -0
- package/dist/icons/generated/ChangeIcon.d.ts +3 -0
- package/dist/icons/generated/ChartIcon.d.ts +3 -0
- package/dist/icons/generated/CheckIcon.d.ts +3 -0
- package/dist/icons/generated/CheckThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleLeftIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleLeftSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleLeftThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleLeftThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleRightIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleRightSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleRightThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDoubleRightThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownThickXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronDownXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftThickXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftTightIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftTightSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftTightThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftTightThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronLeftXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightThickXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightTightIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightTightSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightTightThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightTightThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronRightXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpThickIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpThickSmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpThickXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronUpXsmallIcon.d.ts +3 -0
- package/dist/icons/generated/ChevronsLeftRightEllipsisIcon.d.ts +3 -0
- package/dist/icons/generated/CircleCheckFillIcon.d.ts +3 -0
- package/dist/icons/generated/CircleCheckIcon.d.ts +3 -0
- package/dist/icons/generated/CircleCloseFillIcon.d.ts +3 -0
- package/dist/icons/generated/CircleCloseIcon.d.ts +3 -0
- package/dist/icons/generated/CircleExclamationFillIcon.d.ts +3 -0
- package/dist/icons/generated/CircleExclamationIcon.d.ts +3 -0
- package/dist/icons/generated/CircleInfoFillIcon.d.ts +3 -0
- package/dist/icons/generated/CircleInfoIcon.d.ts +3 -0
- package/dist/icons/generated/CirclePlusFillIcon.d.ts +3 -0
- package/dist/icons/generated/CirclePlusIcon.d.ts +3 -0
- package/dist/icons/generated/ClockFillIcon.d.ts +3 -0
- package/dist/icons/generated/ClockIcon.d.ts +3 -0
- package/dist/icons/generated/CloseIcon.d.ts +3 -0
- package/dist/icons/generated/CloseSmallIcon.d.ts +3 -0
- package/dist/icons/generated/CloseThickIcon.d.ts +3 -0
- package/dist/icons/generated/CloudSunIcon.d.ts +3 -0
- package/dist/icons/generated/CollapseIcon.d.ts +3 -0
- package/dist/icons/generated/CollapseSidebarIcon.d.ts +3 -0
- package/dist/icons/generated/CopyIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardBookCheckIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardDetectionIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardHeartPulseIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardHistoryIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardLayerIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardLiveMonitorIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardMapIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardMapPinnedIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardSquareActivityIcon.d.ts +3 -0
- package/dist/icons/generated/DashboardSquareChartGanttIcon.d.ts +3 -0
- package/dist/icons/generated/DataDownloadIcon.d.ts +3 -0
- package/dist/icons/generated/DataUploadIcon.d.ts +3 -0
- package/dist/icons/generated/DatabaseIcon.d.ts +3 -0
- package/dist/icons/generated/DesktopFillIcon.d.ts +3 -0
- package/dist/icons/generated/DesktopIcon.d.ts +3 -0
- package/dist/icons/generated/DocumentTextFillIcon.d.ts +3 -0
- package/dist/icons/generated/DocumentTextIcon.d.ts +3 -0
- package/dist/icons/generated/DotIcon.d.ts +3 -0
- package/dist/icons/generated/DotSmallIcon.d.ts +3 -0
- package/dist/icons/generated/DownloadIcon.d.ts +3 -0
- package/dist/icons/generated/DropletIcon.d.ts +3 -0
- package/dist/icons/generated/ElectricBulbIcon.d.ts +3 -0
- package/dist/icons/generated/EyeFillIcon.d.ts +3 -0
- package/dist/icons/generated/EyeIcon.d.ts +3 -0
- package/dist/icons/generated/EyeSlashFillIcon.d.ts +3 -0
- package/dist/icons/generated/EyeSlashIcon.d.ts +3 -0
- package/dist/icons/generated/FilterFillIcon.d.ts +3 -0
- package/dist/icons/generated/FilterIcon.d.ts +3 -0
- package/dist/icons/generated/FlipBackwardIcon.d.ts +3 -0
- package/dist/icons/generated/FullIcon.d.ts +3 -0
- package/dist/icons/generated/GlobeOffIcon.d.ts +3 -0
- package/dist/icons/generated/GuideCheckIcon.d.ts +3 -0
- package/dist/icons/generated/HdIcon.d.ts +3 -0
- package/dist/icons/generated/HeartPulseFillIcon.d.ts +3 -0
- package/dist/icons/generated/HeartPulseIcon.d.ts +3 -0
- package/dist/icons/generated/ImageIcon.d.ts +3 -0
- package/dist/icons/generated/ImageOffIcon.d.ts +3 -0
- package/dist/icons/generated/IntervalLeftRightIcon.d.ts +3 -0
- package/dist/icons/generated/IntervalUpDownIcon.d.ts +3 -0
- package/dist/icons/generated/LineHorizontalIcon.d.ts +3 -0
- package/dist/icons/generated/LineHorizontalThickIcon.d.ts +3 -0
- package/dist/icons/generated/LoadingIcon.d.ts +3 -0
- package/dist/icons/generated/LockFillIcon.d.ts +3 -0
- package/dist/icons/generated/LockIcon.d.ts +3 -0
- package/dist/icons/generated/LogoutIcon.d.ts +3 -0
- package/dist/icons/generated/MapPinnedIcon.d.ts +3 -0
- package/dist/icons/generated/MenuIcon.d.ts +3 -0
- package/dist/icons/generated/MenuThickIcon.d.ts +3 -0
- package/dist/icons/generated/MinusIcon.d.ts +3 -0
- package/dist/icons/generated/MinusThickIcon.d.ts +3 -0
- package/dist/icons/generated/MoreHorizontalIcon.d.ts +3 -0
- package/dist/icons/generated/OctagonAlertFillIcon.d.ts +3 -0
- package/dist/icons/generated/OctagonAlertIcon.d.ts +3 -0
- package/dist/icons/generated/PersonContentFillIcon.d.ts +3 -0
- package/dist/icons/generated/PersonContentIcon.d.ts +3 -0
- package/dist/icons/generated/PersonFillIcon.d.ts +3 -0
- package/dist/icons/generated/PersonIcon.d.ts +3 -0
- package/dist/icons/generated/PinIcon.d.ts +3 -0
- package/dist/icons/generated/PlayIcon.d.ts +3 -0
- package/dist/icons/generated/PlusIcon.d.ts +3 -0
- package/dist/icons/generated/PlusThickIcon.d.ts +3 -0
- package/dist/icons/generated/RadioFillIcon.d.ts +3 -0
- package/dist/icons/generated/RadioIcon.d.ts +3 -0
- package/dist/icons/generated/RefreshIcon.d.ts +3 -0
- package/dist/icons/generated/ResetIcon.d.ts +3 -0
- package/dist/icons/generated/SaveIcon.d.ts +3 -0
- package/dist/icons/generated/SearchIcon.d.ts +3 -0
- package/dist/icons/generated/SearchThickIcon.d.ts +3 -0
- package/dist/icons/generated/SendFillIcon.d.ts +3 -0
- package/dist/icons/generated/SendIcon.d.ts +3 -0
- package/dist/icons/generated/SensorIcon.d.ts +3 -0
- package/dist/icons/generated/SettingFillIcon.d.ts +3 -0
- package/dist/icons/generated/SettingIcon.d.ts +3 -0
- package/dist/icons/generated/ShareFillIcon.d.ts +3 -0
- package/dist/icons/generated/ShareIcon.d.ts +3 -0
- package/dist/icons/generated/SmileFillIcon.d.ts +3 -0
- package/dist/icons/generated/SmileIcon.d.ts +3 -0
- package/dist/icons/generated/SoundIcon.d.ts +3 -0
- package/dist/icons/generated/SquareCheckIcon.d.ts +3 -0
- package/dist/icons/generated/SquareMoreIcon.d.ts +3 -0
- package/dist/icons/generated/TemplateFillIcon.d.ts +3 -0
- package/dist/icons/generated/TemplateIcon.d.ts +3 -0
- package/dist/icons/generated/TextFormatIcon.d.ts +3 -0
- package/dist/icons/generated/ThermometerIcon.d.ts +3 -0
- package/dist/icons/generated/ThumbnailIcon.d.ts +3 -0
- package/dist/icons/generated/TrashIcon.d.ts +3 -0
- package/dist/icons/generated/TriangleExclamationFillIcon.d.ts +3 -0
- package/dist/icons/generated/TriangleExclamationIcon.d.ts +3 -0
- package/dist/icons/generated/TriangleFillIcon.d.ts +3 -0
- package/dist/icons/generated/TriangleIcon.d.ts +3 -0
- package/dist/icons/generated/TuneIcon.d.ts +3 -0
- package/dist/icons/generated/TvMinimalIcon.d.ts +3 -0
- package/dist/icons/generated/UnplugIcon.d.ts +3 -0
- package/dist/icons/generated/UnsmileIcon.d.ts +3 -0
- package/dist/icons/generated/VideoIcon.d.ts +3 -0
- package/dist/icons/generated/WifiIcon.d.ts +3 -0
- package/dist/icons/generated/WriteIcon.d.ts +3 -0
- package/dist/icons/generated/index.d.ts +179 -0
- package/dist/icons/iconMap.d.ts +182 -0
- package/dist/icons/index.d.ts +6 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4363 -2786
- package/dist/style.css +1 -1
- package/package.json +8 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @idbrnd/design-system
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|

|
|
6
6
|

|
|
@@ -76,6 +76,7 @@ export default function App() {
|
|
|
76
76
|
- [Pagination](#pagination)
|
|
77
77
|
- [기타](#기타)
|
|
78
78
|
- [Spinner](#spinner)
|
|
79
|
+
- [아이콘](#아이콘)
|
|
79
80
|
|
|
80
81
|
---
|
|
81
82
|
|
|
@@ -1644,6 +1645,84 @@ import { Spinner, CustomSpinner, Clip, FadeSpinner } from "@idbrnd/design-system
|
|
|
1644
1645
|
|
|
1645
1646
|
---
|
|
1646
1647
|
|
|
1648
|
+
## 아이콘
|
|
1649
|
+
|
|
1650
|
+
피그마에서 추출한 SVG 아이콘이 React 컴포넌트로 제공됩니다. 현재 **179개** 아이콘이 포함되어 있습니다.
|
|
1651
|
+
|
|
1652
|
+
### 개별 컴포넌트 import (권장)
|
|
1653
|
+
|
|
1654
|
+
트리셰이킹이 적용되어 실제로 사용하는 아이콘만 번들에 포함됩니다.
|
|
1655
|
+
|
|
1656
|
+
```tsx
|
|
1657
|
+
import { ChevronDownIcon, BellIcon, SearchIcon } from "@idbrnd/design-system";
|
|
1658
|
+
|
|
1659
|
+
// 기본 사용 (24px, 현재 글자색)
|
|
1660
|
+
<ChevronDownIcon />
|
|
1661
|
+
|
|
1662
|
+
// 크기 조절
|
|
1663
|
+
<BellIcon size={20} />
|
|
1664
|
+
|
|
1665
|
+
// 색상 조절 — color prop (권장)
|
|
1666
|
+
<SearchIcon color="#4A71FF" />
|
|
1667
|
+
<SearchIcon color="var(--semantic-primary-default)" />
|
|
1668
|
+
|
|
1669
|
+
// 색상 조절 — style prop (기존 방식도 유지)
|
|
1670
|
+
<SearchIcon style={{ color: "#4A71FF" }} />
|
|
1671
|
+
|
|
1672
|
+
// 두 가지를 함께 쓸 경우 color prop이 우선
|
|
1673
|
+
<SearchIcon color="#4A71FF" style={{ opacity: 0.5 }} />
|
|
1674
|
+
```
|
|
1675
|
+
|
|
1676
|
+
| Prop | 타입 | 기본값 | 설명 |
|
|
1677
|
+
| ------- | ------------------------ | ------ | ------------------------------------------------------- |
|
|
1678
|
+
| `size` | `number \| string` | `24` | 아이콘 가로·세로 크기 (px 또는 CSS 길이) |
|
|
1679
|
+
| `color` | `CSSProperties["color"]` | — | 아이콘 색상. `currentColor` 제어용 `style.color` 축약형 |
|
|
1680
|
+
|
|
1681
|
+
그 외 표준 `SVGProps<SVGSVGElement>` 속성(`className`, `style`, `onClick`, `aria-*` 등)을 모두 사용할 수 있습니다.
|
|
1682
|
+
|
|
1683
|
+
### `<Icon name>` 래퍼
|
|
1684
|
+
|
|
1685
|
+
아이콘 이름을 동적으로 결정해야 할 때 사용합니다. 단, `iconMap` 전체를 참조하므로 **트리셰이킹이 적용되지 않습니다.**
|
|
1686
|
+
|
|
1687
|
+
```tsx
|
|
1688
|
+
import { Icon } from "@idbrnd/design-system";
|
|
1689
|
+
import type { IconName } from "@idbrnd/design-system";
|
|
1690
|
+
|
|
1691
|
+
<Icon name="chevron-down" />
|
|
1692
|
+
<Icon name="bell" size={20} color="#4A71FF" />
|
|
1693
|
+
|
|
1694
|
+
// 타입 안전한 동적 이름
|
|
1695
|
+
const icon: IconName = "search";
|
|
1696
|
+
<Icon name={icon} />
|
|
1697
|
+
```
|
|
1698
|
+
|
|
1699
|
+
### 아이콘 이름 규칙
|
|
1700
|
+
|
|
1701
|
+
| 규칙 | 예시 |
|
|
1702
|
+
| -------------------------------------- | ---------------------------------------- |
|
|
1703
|
+
| 단어 구분은 `-` | `chevron-down`, `circle-check-fill` |
|
|
1704
|
+
| fill 변형은 `-fill` 접미사 | `bell-fill`, `setting-fill` |
|
|
1705
|
+
| 고정 색상 아이콘은 `dashboard-` 접두사 | `dashboard-map`, `dashboard-heart-pulse` |
|
|
1706
|
+
|
|
1707
|
+
### 고정 색상 아이콘 (dashboard-\*)
|
|
1708
|
+
|
|
1709
|
+
피그마 원본 색상(`#171719` + `#4A71FF`)이 하드코딩된 아이콘입니다. `color` prop을 넘겨도 색상이 바뀌지 않습니다.
|
|
1710
|
+
|
|
1711
|
+
| 아이콘 이름 | 컴포넌트명 |
|
|
1712
|
+
| ------------------------------ | ------------------------------- |
|
|
1713
|
+
| `dashboard-map-pinned` | `DashboardMapPinnedIcon` |
|
|
1714
|
+
| `dashboard-history` | `DashboardHistoryIcon` |
|
|
1715
|
+
| `dashboard-book-check` | `DashboardBookCheckIcon` |
|
|
1716
|
+
| `dashboard-detection` | `DashboardDetectionIcon` |
|
|
1717
|
+
| `dashboard-square-chart-gantt` | `DashboardSquareChartGanttIcon` |
|
|
1718
|
+
| `dashboard-square-activity` | `DashboardSquareActivityIcon` |
|
|
1719
|
+
| `dashboard-map` | `DashboardMapIcon` |
|
|
1720
|
+
| `dashboard-layer` | `DashboardLayerIcon` |
|
|
1721
|
+
| `dashboard-heart-pulse` | `DashboardHeartPulseIcon` |
|
|
1722
|
+
| `dashboard-live-monitor` | `DashboardLiveMonitorIcon` |
|
|
1723
|
+
|
|
1724
|
+
---
|
|
1725
|
+
|
|
1647
1726
|
## TypeScript
|
|
1648
1727
|
|
|
1649
1728
|
모든 컴포넌트의 Props 타입을 패키지에서 직접 import 할 수 있습니다.
|
|
@@ -1758,6 +1837,11 @@ import type {
|
|
|
1758
1837
|
TableVariant,
|
|
1759
1838
|
PaginationProps,
|
|
1760
1839
|
PaginationVariant,
|
|
1840
|
+
|
|
1841
|
+
// Icons
|
|
1842
|
+
IconProps,
|
|
1843
|
+
IconName,
|
|
1844
|
+
IconByNameProps,
|
|
1761
1845
|
} from "@idbrnd/design-system";
|
|
1762
1846
|
```
|
|
1763
1847
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function App(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function IconsPage(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IconProps } from "./Icon.types";
|
|
2
|
+
import { type IconName } from "./iconMap";
|
|
3
|
+
export interface IconByNameProps extends IconProps {
|
|
4
|
+
/** 렌더링할 아이콘 이름 (kebab-case). 예: "chevron-down" */
|
|
5
|
+
name: IconName;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 이름 기반 드롭인 아이콘. `<Icon name="chevron-down" size={20} color="red" />`
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ 이 컴포넌트는 `iconMap`(전체 아이콘 참조)을 사용하므로 import 하는 순간
|
|
11
|
+
* 모든 아이콘이 번들에 포함됩니다(트리셰이킹 불가). 번들 크기가 중요하면
|
|
12
|
+
* 개별 컴포넌트(`<ChevronDownIcon />`)를 직접 import 하세요.
|
|
13
|
+
*/
|
|
14
|
+
declare const Icon: ({ name, ...props }: IconByNameProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
export default Icon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CSSProperties, SVGProps } from "react";
|
|
2
|
+
export interface IconProps extends Omit<SVGProps<SVGSVGElement>, "color"> {
|
|
3
|
+
/**
|
|
4
|
+
* 아이콘의 가로·세로 크기. 숫자(px) 또는 CSS 길이 문자열.
|
|
5
|
+
* @default 24
|
|
6
|
+
*/
|
|
7
|
+
size?: number | string;
|
|
8
|
+
/**
|
|
9
|
+
* 아이콘 색상. `currentColor`를 통해 fill/stroke에 적용됩니다.
|
|
10
|
+
* `style={{ color }}` 축약형.
|
|
11
|
+
* 고정 색상 아이콘(dashboard-*)에는 적용되지 않습니다.
|
|
12
|
+
*/
|
|
13
|
+
color?: CSSProperties["color"];
|
|
14
|
+
}
|