@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 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
- **얇은 React 레이어** `props` Pub HTML **클래스 문자열**만 조합합니다.
4
- 스타일·토큰·규칙은 **`@stn-uiux/pub-ui` CSS**가 담당합니다.
3
+ STN Pub 디자인 시스템의 공식 **React 컴포넌트 라이브러리**입니다.
4
+ 엄격한 디자인 토큰 규격과 시맨틱 CSS 기반으로 최적화된 엔터프라이즈 UI 컴포넌트를 제공합니다.
5
5
 
6
- **전체 레이어 구조:** [docs/STN-Pub-아키텍처.md](../../docs/STN-Pub-아키텍처.md)
6
+ - **버전별 변경 이력:** [CHANGELOG.md](./CHANGELOG.md)
7
+ - **CSS 및 디자인 토큰 패키지:** `@stn-uiux/pub-ui`
7
8
 
8
- **버전별 변경:** [CHANGELOG.md](./CHANGELOG.md) (`@stn-uiux/pub-ui`와 동일 버전)
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="light" applyThemeToDocument>
25
- {/* routes */}
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
- | `StnProvider` | 설명 |
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
- | React | Pub / 스펙 | 비고 |
51
- |--------|------------|------|
52
- | `StnLayer` / `.Background`…`.Modal` | `stn-pub-elev-{0-4}` · Infomap roles | background→content→header→dim→modal · L1 widget만 shadow 기본 |
53
- | `StnButton` | `.stn-btn` (+ `--primary` · `--medium` · `--icon` · `__label` …) | 레이블 생략 + `icon` = icon-only · **aria-label 필수** |
54
- | `StnPagination` | `.stn-pub-pagination` | Infomap paging · `stn-pub-pagination.css` |
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
- - **GNB** (`.stn-gnb`, 알림센터) — 마크업·상태가 커서 partial/별도 패키지 검토
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
- DS 사이트 **Components → React 시작하기** (`/stn-design/components/react-example`) · **Patterns → Widget** (`/stn-design/pattern/widget`)에 라이브 예시가 있습니다.
62
+ ---
69
63
 
70
- ## 새 컴포넌트 추가 절차
64
+ ## 라이선스
71
65
 
72
- 1. `@stn-uiux/pub-ui`의 `stnPub*.ts` + Pub HTML에서 **클래스 규칙** 확인
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 {