@stn-uiux/pub-ui-react 0.1.50 → 0.1.52
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/CHANGELOG.md +54 -0
- package/README.md +43 -52
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,60 @@ All notable changes to `@stn-uiux/pub-ui` and `@stn-uiux/pub-ui-react` will be d
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [0.1.52] - 2026-09-21
|
|
8
|
+
|
|
9
|
+
### ⚠️ Developer Action Required (개발자 조치 사항)
|
|
10
|
+
1. **패키지 업데이트**:
|
|
11
|
+
```bash
|
|
12
|
+
npm install @stn-uiux/pub-ui-react@0.1.52
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Added (추가)
|
|
16
|
+
- **`StnSideNavigation.Item` 알림 아이콘 표준화**:
|
|
17
|
+
- 알림 메뉴 항목에 `icon={<StnIcon name="line/bell" size={20} />}` 기본 적용
|
|
18
|
+
|
|
19
|
+
### Fixed (버그 수정)
|
|
20
|
+
- `StnSideNavigation` 코드 생성기에서 알림 아이콘 누락 버그 해결
|
|
21
|
+
- `ComponentsTableDoc` 내 `EquipmentRow` 타입 참조 누락 해결
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## [0.1.51] - 2026-09-21
|
|
26
|
+
|
|
27
|
+
### ⚠️ Developer Action Required (개발자 조치 사항)
|
|
28
|
+
1. **패키지 업데이트**:
|
|
29
|
+
```bash
|
|
30
|
+
npm install @stn-uiux/pub-ui-react@0.1.51
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Added (추가)
|
|
34
|
+
- 공식 패키지 문서(README) 개편: 테마 설정(`StnProvider`) 및 카테고리별 주요 컴포넌트 일람 제공
|
|
35
|
+
|
|
36
|
+
### Changed (변경 및 개선)
|
|
37
|
+
- 내부 개발 메모 및 미완성 항목 섹션 정리로 문서 완성도 향상
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## [0.1.50] - 2026-09-21
|
|
42
|
+
|
|
43
|
+
### ⚠️ Developer Action Required (개발자 조치 사항)
|
|
44
|
+
1. **패키지 업데이트**:
|
|
45
|
+
```bash
|
|
46
|
+
npm install @stn-uiux/pub-ui-react@0.1.50
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Added (추가)
|
|
50
|
+
- **StnTable 고급 인터랙션 기능 및 속성 추가**:
|
|
51
|
+
- `resizable`: 테이블 헤더 열 리사이징 기능
|
|
52
|
+
- `onColumnResize`: 열 너비 조절 콜백 `(name, newWidth) => void`
|
|
53
|
+
- `draggable`: 헤더 열 드래그 앤 드롭 이동 기능
|
|
54
|
+
- `onColumnReorder`: 열 순서 변경 콜백 `(sourceName, targetName, position) => void`
|
|
55
|
+
- `trackVisited`: 행 클릭 시 직전 방문 행을 자동 추적하여 `.is-visited` 스타일 부여
|
|
56
|
+
- `<StnTable.Row>` 상태 prop: `selected`, `visited`, `highlighted`, `rowId` 지원
|
|
57
|
+
- **공식 NPM(npmjs.com) 전환 지원**: 공개 배포 규격 반영
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
7
61
|
## [0.1.49] - 2026-09-18
|
|
8
62
|
|
|
9
63
|
### ⚠️ Developer Action Required (개발자 조치 사항)
|
package/README.md
CHANGED
|
@@ -1,75 +1,66 @@
|
|
|
1
1
|
# @stn-uiux/pub-ui-react
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
STN Pub 디자인 시스템의 공식 **React 컴포넌트 라이브러리**입니다.
|
|
4
|
+
엄격한 디자인 토큰 규격과 시맨틱 CSS를 기반으로 최적화된 엔터프라이즈 UI 컴포넌트를 제공합니다.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
- **버전별 변경 이력:** [CHANGELOG.md](./CHANGELOG.md)
|
|
7
|
+
- **CSS 및 디자인 토큰 패키지:** `@stn-uiux/pub-ui`
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
---
|
|
9
10
|
|
|
10
|
-
##
|
|
11
|
+
## 설치 (Install)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @stn-uiux/pub-ui @stn-uiux/pub-ui-react
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 빠른 시작 (Quick Start)
|
|
20
|
+
|
|
21
|
+
### 1) 테마 프로바이더 및 스타일 설정
|
|
22
|
+
|
|
23
|
+
애플리케이션 최상단(예: `App.tsx` 또는 `main.tsx`)에서 CSS를 import하고 `StnProvider`로 감싸줍니다:
|
|
11
24
|
|
|
12
25
|
```tsx
|
|
13
26
|
import '@stn-uiux/pub-ui/styles.css'
|
|
14
|
-
import {
|
|
15
|
-
StnProvider,
|
|
16
|
-
StnButton,
|
|
17
|
-
StnPagination,
|
|
18
|
-
StnPopup,
|
|
19
|
-
StnTable,
|
|
20
|
-
} from '@stn-uiux/pub-ui-react'
|
|
27
|
+
import { StnProvider, StnButton, StnTable } from '@stn-uiux/pub-ui-react'
|
|
21
28
|
|
|
22
29
|
export function App() {
|
|
23
30
|
return (
|
|
24
|
-
<StnProvider theme="
|
|
25
|
-
|
|
31
|
+
<StnProvider theme="dark" applyThemeToDocument>
|
|
32
|
+
<main>
|
|
33
|
+
<StnButton variant="primary" size="md">
|
|
34
|
+
실행
|
|
35
|
+
</StnButton>
|
|
36
|
+
</main>
|
|
26
37
|
</StnProvider>
|
|
27
38
|
)
|
|
28
39
|
}
|
|
29
40
|
```
|
|
30
41
|
|
|
31
|
-
|
|
32
|
-
|----------------|------|
|
|
33
|
-
| `theme` | `'light'` \| `'dark'` — Pub `data-theme` |
|
|
34
|
-
| `applyThemeToDocument` | `true`면 `document.documentElement`에 테마 (제품 앱). `false`면 자식 래퍼만 |
|
|
35
|
-
| `useStn()` | 하위에서 현재 theme 읽기 (선택) |
|
|
36
|
-
|
|
37
|
-
## 화면·컴포넌트 scaffold (`help`)
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
npx @stn-uiux/pub-ui-react help
|
|
41
|
-
# 1. 컴포넌트 · 2. 패턴 · 3. 레이아웃 → 선택 → src/pages/*.tsx 생성
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
(`npx @stn-uiux/pub-ui help` 도 동일 — 엔진은 `@stn-uiux/pub-ui`)
|
|
45
|
-
|
|
46
|
-
DS 레포: `npm run pub-ui-react:help`
|
|
47
|
-
|
|
48
|
-
## 컴포넌트 (카탈로그 대응)
|
|
42
|
+
### StnProvider Props
|
|
49
43
|
|
|
50
|
-
|
|
|
51
|
-
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `StnPopup` | `.stn-pub-pop-stack` + `.layer_pop.stn-pub-pop` | portal → `StnLayer.Dim`/`Modal` · `open` / `onClose` |
|
|
56
|
-
| `StnTable` | `.stn-table` 셸 | `stnPubTable` — `Grid`/`Head`/`Body`/`Row`/`Th`/`Td`/`ThCheck`/`TdCheck`/`Sort` |
|
|
57
|
-
| `StnTree` | `.stn-pub-tree` | Infomap folder structure · `stnPubTree` — root/folder/server · guide lines |
|
|
58
|
-
| `StnWidget` | `.ds-widget-item` · `none-bg` | `stnPubWidget` — `background` surface \| none · `kind` |
|
|
59
|
-
| `StnSystemMonitorBadge` · `StnThemeToggle` | `.stn-pub-header-chip--monitor` · `.stn-pub-header-chip--theme` | `stnPubIndicator` |
|
|
44
|
+
| Prop | 타입 | 기본값 | 설명 |
|
|
45
|
+
|------|------|--------|------|
|
|
46
|
+
| `theme` | `'light' \| 'dark'` | `'dark'` | 적용할 디자인 시스템 테마 모드 |
|
|
47
|
+
| `applyThemeToDocument` | `boolean` | `false` | `true`일 경우 `<html>` 태그에 `data-theme` 속성을 자동 적용 |
|
|
48
|
+
| `useStn()` | Hook | - | 하위 컴포넌트에서 현재 테마 상태를 조회하는 훅 |
|
|
60
49
|
|
|
61
|
-
### 아직 React 래퍼 없음
|
|
62
50
|
|
|
63
|
-
|
|
64
|
-
- 페이지 크기 select 등 일부 테이블 footer 컨트롤
|
|
51
|
+
## 주요 컴포넌트 목록
|
|
65
52
|
|
|
66
|
-
|
|
53
|
+
| 분류 | 컴포넌트 |
|
|
54
|
+
|------|----------|
|
|
55
|
+
| **버튼 & 선택** | `StnButton`, `StnToggleButton`, `StnSegmented` |
|
|
56
|
+
| **폼 입력** | `StnTextField`, `StnDropdown`, `StnCheckbox`, `StnRadio`, `StnSwitch`, `StnSlider`, `StnDatePicker`, `StnDateRangeField` |
|
|
57
|
+
| **데이터 & 상태** | `StnTable`, `StnPagination`, `StnTree`, `StnProgressBar`, `StnLoadingSkeleton` |
|
|
58
|
+
| **배지 & 인디케이터** | `StnBadge`, `StnChip`, `StnSeverityBadge`, `StnSeverityFilter`, `StnSystemChip` |
|
|
59
|
+
| **피드백 & 오버레이** | `StnPopup`, `StnToast`, `StnEventBanner` |
|
|
60
|
+
| **레이아웃 & 네비게이션** | `StnWidget`, `StnLayer`, `StnSideNavigation`, `StnHeaderTitle`, `StnBreadcrumb` |
|
|
67
61
|
|
|
68
|
-
|
|
62
|
+
---
|
|
69
63
|
|
|
70
|
-
##
|
|
64
|
+
## 라이선스
|
|
71
65
|
|
|
72
|
-
|
|
73
|
-
2. `packages/stn-pub-ui-react/src/Stn*.tsx` — `forwardRef` + `cn()` 로 클래스 조합
|
|
74
|
-
3. `src/index.ts` export
|
|
75
|
-
4. DS **React 시작하기** 문서에 한 줄 예시
|
|
66
|
+
Private & Proprietary — STN Design System
|
package/dist/index.d.ts
CHANGED
|
@@ -619,6 +619,9 @@ declare const StnTableSort: react.ForwardRefExoticComponent<ButtonHTMLAttributes
|
|
|
619
619
|
/** 프레스 면 고정 — `.is-pressed` (문서·마우스 다운과 동일) */
|
|
620
620
|
pressed?: boolean;
|
|
621
621
|
} & react.RefAttributes<HTMLButtonElement>>;
|
|
622
|
+
type StnTableRowActionsProps = HTMLAttributes<HTMLDivElement>;
|
|
623
|
+
/** Row Actions — 행 호버 시 우측 끝에 나타나는 액션 버튼 그룹 컨테이너 */
|
|
624
|
+
declare const StnTableRowActions: react.ForwardRefExoticComponent<StnTableRowActionsProps & react.RefAttributes<HTMLDivElement>>;
|
|
622
625
|
type StnTableCompound = typeof StnTableBase & {
|
|
623
626
|
Grid: typeof StnTableGrid;
|
|
624
627
|
Head: typeof StnTableHead;
|
|
@@ -629,6 +632,7 @@ type StnTableCompound = typeof StnTableBase & {
|
|
|
629
632
|
ThCheck: typeof StnTableThCheck;
|
|
630
633
|
TdCheck: typeof StnTableTdCheck;
|
|
631
634
|
Sort: typeof StnTableSort;
|
|
635
|
+
RowActions: typeof StnTableRowActions;
|
|
632
636
|
};
|
|
633
637
|
/**
|
|
634
638
|
* Pub list table shell — Infomap Figma thead/tbody (node 40000042:209510).
|
package/dist/index.js
CHANGED
|
@@ -1491,6 +1491,9 @@ var StnTableSort = forwardRef9(function StnTableSort2({ label, sort = "none", pr
|
|
|
1491
1491
|
}
|
|
1492
1492
|
);
|
|
1493
1493
|
});
|
|
1494
|
+
var StnTableRowActions = forwardRef9(function StnTableRowActions2({ className, children, ...rest }, ref) {
|
|
1495
|
+
return /* @__PURE__ */ jsx14("div", { ref, className: cn("stn-table__row-actions", className), ...rest, children });
|
|
1496
|
+
});
|
|
1494
1497
|
var StnTable = StnTableBase;
|
|
1495
1498
|
StnTable.Grid = StnTableGrid;
|
|
1496
1499
|
StnTable.Head = StnTableHead;
|
|
@@ -1501,6 +1504,7 @@ StnTable.Td = StnTableTd;
|
|
|
1501
1504
|
StnTable.ThCheck = StnTableThCheck;
|
|
1502
1505
|
StnTable.TdCheck = StnTableTdCheck;
|
|
1503
1506
|
StnTable.Sort = StnTableSort;
|
|
1507
|
+
StnTable.RowActions = StnTableRowActions;
|
|
1504
1508
|
|
|
1505
1509
|
// src/components/StnTree.tsx
|
|
1506
1510
|
import {
|