@olundot/ui 0.17.0 → 0.18.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/CHANGELOG.md +41 -0
- package/dist/index.d.ts +129 -40
- package/dist/index.js +996 -656
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# @olundot/ui
|
|
2
2
|
|
|
3
|
+
## 0.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- e7b9183: 0.18.0 첫 묶음 — Tabs 간격 소유권 이전(#68) · Button 보조 계열 단일화(#58) · Button xs·sm 터치 영역(#69).
|
|
8
|
+
|
|
9
|
+
- **마이그레이션 필요** — `Tabs` 가로(`line`·`contained`) 탭 줄 아래 여백 24px(`mb-[var(--space-6)]`)을 없앴습니다. 탭과 패널 사이 간격은 이제 소비자가 정합니다. 탭 아래 여백 24px을 부모 gap으로 옮겨야 합니다: 가로 `Tabs` 루트(또는 부모)에 `className="flex flex-col gap-6"`(`gap-6` = `--space-6` = 24px)처럼 gap을 주세요. 주지 않으면 탭 줄과 패널이 붙습니다. 여백을 없애려고 `listClassName="mb-0"`, 줄이려고 `mb-3`·`-mt-3`을 둔 곳은 그 패치를 지우고 gap 값으로 정합니다. 세로(`orientation="vertical"`)는 바뀌지 않았습니다.
|
|
10
|
+
- `DetailLayout`은 탭 줄과 패널 사이 24px을 자체 gap으로 유지합니다 — 화면은 그대로입니다.
|
|
11
|
+
- `Button` `outline`·`subtle` variant를 deprecated로 표시했습니다(JSDoc `@deprecated`, 개발 경고 없음). 둘 다 `secondary`로 옮기세요 — 다음 breaking 릴리스에서 제거됩니다. 지금은 렌더링이 그대로입니다. 액션 위계는 `primary`(주 결정 1개) · `secondary`(보조 표준) · `ghost`(아이콘 크롬 — `IconButton` 기본값) · `danger`(파괴 확정) 4계열입니다.
|
|
12
|
+
- 화면이 달라지는 곳 — DS 내부의 `outline` 사용을 `secondary`로 옮겼습니다. 테두리가 조금 옅어지고(`--border` → `--border-subtle`) 배경이 `--bg-surface`로 채워집니다: `CopyButton` 기본 variant, `ErrorState` 다시 시도 버튼, `Toast` 액션 버튼. `DataTable` 모바일 정렬 버튼은 선택 안 됨 = `secondary`, 선택됨 = 중립 surface-lift(`--action-selected` + `--border-strong`)로 바꿨습니다 — 전에는 선택된 쪽이 오히려 옅은 테두리였습니다.
|
|
13
|
+
- `Button` `xs`(28px)·`sm`(30px)의 터치 영역을 세로 44px로 넓혔습니다. 보이지 않는 `::before`가 위아래로만 늘어나므로 보이는 높이, 라벨 위치, focus ring은 그대로이고 가로로 붙은 버튼끼리는 겹치지 않습니다. 이 두 크기는 이제 `position: relative`입니다. 세로로 쌓거나 줄바꿈되는 `xs`·`sm` 버튼은 줄 간격을 `xs` 8px·`sm` 7px 이상 두세요 — 더 좁으면 아래 버튼의 터치 영역이 위 버튼 가장자리를 덮습니다. `overflow: hidden` 부모 안에서는 터치 영역이 잘립니다.
|
|
14
|
+
|
|
15
|
+
- e7b9183: 0.18.0 두 번째 묶음 — 모바일 하단 시트 (olun-app #1772 앱 규칙).
|
|
16
|
+
|
|
17
|
+
- `DialogContent`에 `mobilePresentation?: "center" | "sheet"`를 추가했습니다(기본 `"center"` — 렌더 결과가 이전과 같습니다). `"sheet"`이면 900px 미만에서 하단 시트가 됩니다: 아래 가장자리에 붙고, 전체 폭, 위 모서리만 둥글고, 높이는 85dvh까지이며 넘치면 시트 안에서 스크롤, 홈 인디케이터 영역(safe-area)만큼 아래를 띄웁니다. 진입·퇴장은 `Sheet` bottom keyframe과 `--sheet-motion-*`을 그대로 씁니다(동작 줄이기 설정이면 움직이지 않음). CSS만으로 바뀌므로 SSR·hydration 결과가 폭과 무관하게 같고 깜빡임이 없습니다. 900px 이상은 기존 가운데 카드 그대로입니다.
|
|
18
|
+
- `ConfirmDialog`·`FormModal`·`InfoModal`이 같은 `mobilePresentation`을 받습니다. 각 부품의 기본값은 `"center"`로 그대로입니다. 타입 `DialogMobilePresentation`을 내보냅니다.
|
|
19
|
+
- 앱 로컬 `ResponsiveModal`(JS `matchMedia(1024)`로 Dialog↔Sheet 교체)은 `DialogContent mobilePresentation="sheet"`로 대체할 수 있습니다. 기준 폭이 1024에서 DS 공통 900으로 바뀌어 900–1023px 태블릿에서는 시트 대신 가운데 카드가 뜹니다.
|
|
20
|
+
- 새 `ActionSheet` — 페이지 더보기(⋯)의 모바일 명령 목록 하단 시트입니다. `title`(시트 머리이자 접근 가능한 이름, 필수)·`description?`·`items: ActionSheetItem[]`·`closeLabel?`(기본 "닫기"). 행 모양은 하나로 고정입니다: 높이 48px, 아이콘 17px, 행 사이 구분선, 좌우 16px, 13px/500. `destructive` 행은 오류 전경색, `disabled` 행은 비활성 색(비활성이 파괴 색보다 우선). 항목을 고르면 시트가 먼저 닫히고, 닫힘이 끝나 포커스가 트리거로 돌아온 뒤 `onSelect`가 실행됩니다 — 확인 Dialog를 여는 항목도 두 모달이 겹치지 않고, 확인 Dialog가 닫히면 포커스가 트리거로 돌아갑니다. 데스크톱은 같은 `items` 배열을 `DropdownMenuItem`으로 그립니다(문서 예시).
|
|
21
|
+
- `ConfirmDialog`가 닫힐 때 연 요소로 포커스를 돌려줍니다. 전에는 바깥 버튼으로 연(제어형) 확인 Dialog가 닫히면 포커스가 `<body>`로 떨어졌습니다 — Radix Dialog는 자기 `Dialog.Trigger`로만 포커스를 돌려줍니다.
|
|
22
|
+
|
|
23
|
+
- e7b9183: 0.18.0 세 번째 묶음 — 모양(모서리·그림자·푸터 버튼) + floating 라이브 영역 + 포커스 복귀. 움직임(모션·전환)과 Dialog 계열 톤온톤은 0.19.0입니다.
|
|
24
|
+
|
|
25
|
+
- **컨트롤 모서리 8** — 독립 컨트롤의 모서리를 `--radius-sm`(6px)에서 `--radius-md`(8px)로 올렸습니다: `Button`·`IconButton`·`Pagination` 버튼·`ModeToggle` 트랙·닫기 버튼(`Dialog`·`Sheet`·`SheetDrawer`·`Toast`·`Alert`)·`BulkActionBar` 버튼·`WizardLayout` 단계 버튼·`Checkbox`/`Radio` plain 행·`FileUploadZone` compact·`ThemeToggle`·`ThemeFab`(square). `Sheet` 닫기 버튼은 4px이었는데 다른 닫기 버튼과 같은 8px이 됩니다. 다른 컨트롤 안의 조밀 항목(메뉴 항목·contained 탭·Tree 행)과 `Badge`는 6px 그대로입니다. `ModeToggle` 선택 항목은 트랙과 동심으로 6px(전 4px)입니다. 토큰 값은 바뀌지 않았습니다.
|
|
26
|
+
- **떠 있는 레이어 그림자** — `DropdownMenu`(와 `ContextMenu`)·`Popover`·`Select` 목록·`Sheet`(`SheetDrawer`·`ActionSheet` 포함) 패널을 `--shadow-16`으로 올렸습니다(전 `--shadow-2`/`--shadow-4`). `DropdownMenu` 패널 모서리는 `--radius-lg`(12px, 전 6px)입니다. `Toast`는 `--shadow-8`(전 `--shadow-4`)입니다. `Dialog`·`ConfirmDialog`·`FormModal`·`InfoModal`의 그림자와 표면은 바뀌지 않습니다.
|
|
27
|
+
- **폼·대화상자 푸터 버튼 36** — `ConfirmDialog`·`FormModal`·`InfoModal`·`ActionFooter`(`WizardLayout` 푸터) 버튼이 `lg`(36px)입니다(전 `md` 32px, `InfoModal` 닫기는 `sm` 30px). 이 버튼들은 보이는 높이는 36px 그대로 두고 터치 영역을 세로로만 44px까지 넓힙니다. 세로로 쌓을 때(640px 미만 `FormModal`·`InfoModal`, gap 8px) 서로 겹치지 않습니다. 기본 `Button` 크기는 `md`(32px) 그대로이고 공개 API는 바뀌지 않았습니다.
|
|
28
|
+
- **`BulkActionBar` floating 라이브 영역** — floating pill도 inline 띠처럼 개수(와 `summary`)만 담은 `role="status"` 영역(`data-slot="bulk-action-bar-state"`)을 둡니다. actions·선택 해제·`trailing`은 영역 밖입니다. **같은 목록의 `DataTable`은 `announceSelection={false}`로 자체 안내를 끄세요.** 끄지 않으면 선택할 때마다 개수가 두 번 읽힙니다. 첫 선택(0→1)도 확실히 읽혀야 하면 `emptyHint`로 bar를 남겨 두세요. floating에서 `DataTable` 안내에 기대던 화면은 이제 bar가 `count`(앱이 넘기는 값)를 읽으므로, 불러오지 않은 행까지 포함한 선택 수도 그대로 읽힙니다.
|
|
29
|
+
- **포커스 복귀** — `FormModal`·`InfoModal`·`Sheet`·`SheetDrawer`가 닫힐 때 연 요소로 포커스를 돌려줍니다. 전에는 바깥 버튼으로 연(제어형) 경우 포커스가 `<body>`로 떨어졌습니다. `SheetContent`에 `onCloseAutoFocus`를 넘겨 `preventDefault()`를 부르면 포커스는 호출부가 정합니다.
|
|
30
|
+
- 화면 확인이 필요한 곳(앱): 모서리 6px을 전제로 맞춘 로컬 override·하드코딩 radius, 메뉴·팝오버·시트 그림자를 직접 덮은 곳, 대화상자 푸터 높이(36px)에 맞춘 레이아웃.
|
|
31
|
+
|
|
32
|
+
## 0.17.1
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 6d9f93c: 연속 로드 목록(#1746) 준비물과 버그 수정. 새 prop은 모두 선택 사항이라, 주지 않으면 기존 화면의 마크업과 동작이 0.17.0과 같습니다. 기존 화면에서 달라지는 것은 아래 "수정" 항목뿐입니다.
|
|
37
|
+
|
|
38
|
+
- `BulkActionBar` `trailing`: 선택 해제(✕) 뒤에 붙는 자리입니다. 편집 모드의 [완료]처럼 선택과 별개인 컨트롤을 둡니다. inline 띠와 floating pill 모두 ✕ 바로 뒤이고, 선택 전 상태 줄(`idleContent`)에서는 오른쪽 끝입니다. 상태 줄에 `trailing`이 있으면 `role="status"`는 개수 텍스트에만 붙고 버튼은 라이브 영역 밖에 둡니다(불러올 때마다 개수만 다시 읽힙니다).
|
|
39
|
+
- `DataTable` `virtual.onRangeChange({ start, end })`: 보이는 행 범위(overscan 제외, `end` 제외)를 범위나 불러온 행 수가 바뀔 때 알립니다. 빠르게 스크롤해 지나친 행은 보고되지 않지만 `end`는 도착한 위치를 그대로 반영하므로, 미리 요청은 `end >= data.length - 30` 같은 문턱 비교로 씁니다.
|
|
40
|
+
- `DataTable` `virtual.handleRef` → `scrollToIndex(index)`: 그 행을 스크롤 컨테이너 맨 위(데스크톱은 sticky 열 머리 바로 아래)로 옮깁니다. 새로고침 복원용입니다. `DataTableVirtualRange`·`DataTableVirtualHandle` 타입을 export합니다.
|
|
41
|
+
- `DataTable` `selectionUnit`(기본 "개")·`announceSelection`(기본 `true`): sr-only 선택 안내의 단위를 바꾸거나 끕니다. inline `BulkActionBar`가 개수를 이미 읽어 줄 때, 또는 불러오지 않은 행까지 선택할 때(내장 안내는 불러온 행만 셉니다) 끕니다.
|
|
42
|
+
- 수정 — `BulkActionBar` inline `summary` 칸: 긴 문구를 자르는 칸이 28px 높이·좌우 3px 여백이라, 좁은 띠에서 `compactSummary`로 둔 `IconButton`의 44px 터치 영역이 위아래·왼쪽으로 잘렸습니다. 칸을 터치 영역 높이(44px)로 두고 왼쪽 여백을 8px로 넓혔습니다. 띠 높이 40px, 텍스트 잘림, `compactSummary` 전환은 그대로입니다.
|
|
43
|
+
|
|
3
44
|
## 0.17.0
|
|
4
45
|
|
|
5
46
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { HTMLAttributes, ReactNode, SVGProps } from 'react';
|
|
5
5
|
import { VariantProps } from 'class-variance-authority';
|
|
6
6
|
import { LucideIcon } from 'lucide-react';
|
|
7
|
-
import { Select as Select$1, Label as Label$1, Switch as Switch$1, Tabs as Tabs$1,
|
|
7
|
+
import { Select as Select$1, Label as Label$1, Switch as Switch$1, Tabs as Tabs$1, Dialog as Dialog$1, DropdownMenu as DropdownMenu$1, Separator as Separator$1, Avatar as Avatar$1, Tooltip as Tooltip$1, Popover as Popover$1, Checkbox as Checkbox$1, RadioGroup as RadioGroup$1, ScrollArea as ScrollArea$1 } from 'radix-ui';
|
|
8
8
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
10
|
declare function cn(...inputs: ClassValue[]): string;
|
|
@@ -38,6 +38,14 @@ declare const buttonVariants: (props?: ({
|
|
|
38
38
|
type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;
|
|
39
39
|
type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
|
|
40
40
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
41
|
+
/**
|
|
42
|
+
* Action hierarchy: `primary` (the one main decision) · `secondary` (every supporting
|
|
43
|
+
* action) · `ghost` (icon-only chrome — prefer IconButton) · `danger` (destructive).
|
|
44
|
+
*
|
|
45
|
+
* `outline` and `subtle` are deprecated — use `secondary`. They will be removed in the
|
|
46
|
+
* next breaking release.
|
|
47
|
+
*/
|
|
48
|
+
variant?: VariantProps<typeof buttonVariants>['variant'];
|
|
41
49
|
asChild?: boolean;
|
|
42
50
|
leadingIcon?: LucideIcon;
|
|
43
51
|
trailingIcon?: LucideIcon;
|
|
@@ -641,6 +649,47 @@ interface FormLayoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
641
649
|
}
|
|
642
650
|
declare const FormLayout: React.ForwardRefExoticComponent<FormLayoutProps & React.RefAttributes<HTMLDivElement>>;
|
|
643
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Where a dialog sits below 900px (the DS mobile band, same as Sheet `mobileSide`).
|
|
654
|
+
* - `"center"` (default): the centered card at every width.
|
|
655
|
+
* - `"sheet"`: a bottom sheet below 900px — pinned to the bottom edge, full width, top corners
|
|
656
|
+
* rounded, height capped with its own scroll, sliding in on the Sheet bottom keyframes.
|
|
657
|
+
* Pure CSS, so SSR and hydration render the same tree at every width (no matchMedia swap).
|
|
658
|
+
*/
|
|
659
|
+
type DialogMobilePresentation = "center" | "sheet";
|
|
660
|
+
declare const Dialog: React.FC<Dialog$1.DialogProps>;
|
|
661
|
+
declare const DialogTrigger: React.ForwardRefExoticComponent<Dialog$1.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
662
|
+
declare const DialogPortal: React.FC<Dialog$1.DialogPortalProps>;
|
|
663
|
+
declare const DialogClose: React.ForwardRefExoticComponent<Dialog$1.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
664
|
+
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
665
|
+
declare const DialogContent: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
666
|
+
showCloseButton?: boolean;
|
|
667
|
+
/** Below 900px: `"center"` card (default) or `"sheet"` — see {@link DialogMobilePresentation}. */
|
|
668
|
+
mobilePresentation?: DialogMobilePresentation;
|
|
669
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
670
|
+
declare const DialogHeader: {
|
|
671
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
672
|
+
displayName: string;
|
|
673
|
+
};
|
|
674
|
+
declare const DialogFooter: {
|
|
675
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
676
|
+
displayName: string;
|
|
677
|
+
};
|
|
678
|
+
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
679
|
+
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
680
|
+
/**
|
|
681
|
+
* DialogEyebrow — 제목 위 카테고리 overline(eyebrow). 2026 editorial 헤더 위계의 최상단.
|
|
682
|
+
* DialogHeader 안에서 DialogTitle '위'에 둔다(예: "시간 제어" / "시험 제어").
|
|
683
|
+
* 작은 uppercase + tracking + muted 색으로 title(bold)과 대비.
|
|
684
|
+
*/
|
|
685
|
+
declare const DialogEyebrow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
686
|
+
/**
|
|
687
|
+
* DialogRawContent — shadcn 기본 스타일 없는 순수 radix Content.
|
|
688
|
+
* 자체 head/body/foot 슬롯을 가진 ModalShell 등 커스텀 구현용.
|
|
689
|
+
* DialogPortal + DialogOverlay와 함께 수동으로 조합해서 사용.
|
|
690
|
+
*/
|
|
691
|
+
declare const DialogRawContent: React.ForwardRefExoticComponent<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
692
|
+
|
|
644
693
|
interface FormModalProps {
|
|
645
694
|
open: boolean;
|
|
646
695
|
onOpenChange: (open: boolean) => void;
|
|
@@ -653,8 +702,10 @@ interface FormModalProps {
|
|
|
653
702
|
wide?: boolean;
|
|
654
703
|
loading?: boolean;
|
|
655
704
|
status?: React.ReactNode;
|
|
705
|
+
/** Below 900px: `"center"` card (default) or `"sheet"` bottom sheet — see Dialog `mobilePresentation`. */
|
|
706
|
+
mobilePresentation?: DialogMobilePresentation;
|
|
656
707
|
}
|
|
657
|
-
declare function FormModal({ open, onOpenChange, title, description, children, onSubmit, submitLabel, cancelLabel, wide, loading, status, }: FormModalProps): react_jsx_runtime.JSX.Element;
|
|
708
|
+
declare function FormModal({ open, onOpenChange, title, description, children, onSubmit, submitLabel, cancelLabel, wide, loading, status, mobilePresentation, }: FormModalProps): react_jsx_runtime.JSX.Element;
|
|
658
709
|
|
|
659
710
|
interface InfoModalProps {
|
|
660
711
|
open: boolean;
|
|
@@ -665,8 +716,10 @@ interface InfoModalProps {
|
|
|
665
716
|
closeLabel?: string;
|
|
666
717
|
width?: "default" | "wide";
|
|
667
718
|
footer?: React.ReactNode;
|
|
719
|
+
/** Below 900px: `"center"` card (default) or `"sheet"` bottom sheet — see Dialog `mobilePresentation`. */
|
|
720
|
+
mobilePresentation?: DialogMobilePresentation;
|
|
668
721
|
}
|
|
669
|
-
declare function InfoModal({ open, onOpenChange, title, description, children, closeLabel, width, footer, }: InfoModalProps): react_jsx_runtime.JSX.Element;
|
|
722
|
+
declare function InfoModal({ open, onOpenChange, title, description, children, closeLabel, width, footer, mobilePresentation, }: InfoModalProps): react_jsx_runtime.JSX.Element;
|
|
670
723
|
|
|
671
724
|
type FilterToolbarCollapseBelow = "sm" | "md" | "lg" | "never";
|
|
672
725
|
interface FilterToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -706,9 +759,30 @@ interface DataTableLinkProps {
|
|
|
706
759
|
children?: React.ReactNode;
|
|
707
760
|
'data-slot'?: string;
|
|
708
761
|
}
|
|
762
|
+
/** Visible rows as `data` indexes: `start` inclusive, `end` exclusive (like `slice`). */
|
|
763
|
+
interface DataTableVirtualRange {
|
|
764
|
+
start: number;
|
|
765
|
+
end: number;
|
|
766
|
+
}
|
|
767
|
+
interface DataTableVirtualHandle {
|
|
768
|
+
/**
|
|
769
|
+
* Scrolls the list's scroll container so row `index` (clamped to the loaded rows)
|
|
770
|
+
* sits at its top — under the sticky header on desktop. For restoring a position.
|
|
771
|
+
*/
|
|
772
|
+
scrollToIndex: (index: number) => void;
|
|
773
|
+
}
|
|
709
774
|
interface DataTableVirtualOptions {
|
|
710
775
|
/** Rows rendered past each viewport edge. Default 8. */
|
|
711
776
|
overscan?: number;
|
|
777
|
+
/**
|
|
778
|
+
* Called with the rows actually visible (not the overscan) whenever that range or
|
|
779
|
+
* the number of loaded rows changes. Scrolling is sampled once per frame, so a fast
|
|
780
|
+
* scroll can skip rows — compare with a threshold (`end >= data.length - 30`), not
|
|
781
|
+
* equality with one row.
|
|
782
|
+
*/
|
|
783
|
+
onRangeChange?: (range: DataTableVirtualRange) => void;
|
|
784
|
+
/** Receives `{ scrollToIndex }`. */
|
|
785
|
+
handleRef?: React.Ref<DataTableVirtualHandle>;
|
|
712
786
|
}
|
|
713
787
|
interface DataTableSort {
|
|
714
788
|
key: string;
|
|
@@ -721,6 +795,15 @@ interface DataTableProps<T> extends Omit<React.HTMLAttributes<HTMLDivElement>, '
|
|
|
721
795
|
selectable?: boolean;
|
|
722
796
|
selectedIds?: Set<string>;
|
|
723
797
|
onSelectionChange?: (ids: Set<string>) => void;
|
|
798
|
+
/** Unit in the screen-reader selection message — `12명 선택됨`. Defaults to `개`. */
|
|
799
|
+
selectionUnit?: string;
|
|
800
|
+
/**
|
|
801
|
+
* `false` drops the built-in screen-reader selection message — when a
|
|
802
|
+
* `BulkActionBar placement="inline"` already announces the count (it is a status
|
|
803
|
+
* region), or when the real selection includes rows that are not loaded (the
|
|
804
|
+
* built-in message only counts loaded rows). Default `true`.
|
|
805
|
+
*/
|
|
806
|
+
announceSelection?: boolean;
|
|
724
807
|
activeRowId?: string;
|
|
725
808
|
onRowContextMenu?: (rowId: string, event: React.MouseEvent) => void;
|
|
726
809
|
sortBy?: DataTableSort;
|
|
@@ -836,6 +919,12 @@ interface BulkActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
836
919
|
* Takes precedence over `emptyHint`; with neither, the bar hides at count 0.
|
|
837
920
|
*/
|
|
838
921
|
idleContent?: React.ReactNode;
|
|
922
|
+
/**
|
|
923
|
+
* After the clear (✕) button — e.g. an edit-mode "완료" button. On the idle line it
|
|
924
|
+
* sits at the right end, outside the `role="status"` region, so it is not re-read
|
|
925
|
+
* whenever `idleContent` changes. Same spot in both placements.
|
|
926
|
+
*/
|
|
927
|
+
trailing?: React.ReactNode;
|
|
839
928
|
}
|
|
840
929
|
/**
|
|
841
930
|
* OLUN BulkActionBar — multi-select table/list actions.
|
|
@@ -843,7 +932,8 @@ interface BulkActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
843
932
|
* placement="floating" (default) is the bottom pill; placement="inline" is a
|
|
844
933
|
* top-sticky band that replaces the status line under the toolbar, so it comes
|
|
845
934
|
* before the rows in tab order. `unit` sets the count unit, `summary` holds a
|
|
846
|
-
* suggestion next to the count, `idleContent` shows while nothing is selected
|
|
935
|
+
* suggestion next to the count, `idleContent` shows while nothing is selected,
|
|
936
|
+
* `trailing` follows the clear button (right end of the idle line).
|
|
847
937
|
* Inline, the band and the idle line are one 40px line: a long `summary` is
|
|
848
938
|
* clipped or swapped for `compactSummary`, never wrapped.
|
|
849
939
|
*
|
|
@@ -859,38 +949,7 @@ interface BulkActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
859
949
|
* { key: "del", label: "삭제", variant: "destructive", onClick: confirmDelete },
|
|
860
950
|
* ]} />
|
|
861
951
|
*/
|
|
862
|
-
declare function BulkActionBar({ count, actions, onClear, emptyHint, placement, unit, summary, compactSummary, idleContent, className, style, ...props }: BulkActionBarProps): react_jsx_runtime.JSX.Element | null;
|
|
863
|
-
|
|
864
|
-
declare const Dialog: React.FC<Dialog$1.DialogProps>;
|
|
865
|
-
declare const DialogTrigger: React.ForwardRefExoticComponent<Dialog$1.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
866
|
-
declare const DialogPortal: React.FC<Dialog$1.DialogPortalProps>;
|
|
867
|
-
declare const DialogClose: React.ForwardRefExoticComponent<Dialog$1.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
868
|
-
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
869
|
-
declare const DialogContent: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
870
|
-
showCloseButton?: boolean;
|
|
871
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
872
|
-
declare const DialogHeader: {
|
|
873
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
874
|
-
displayName: string;
|
|
875
|
-
};
|
|
876
|
-
declare const DialogFooter: {
|
|
877
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
878
|
-
displayName: string;
|
|
879
|
-
};
|
|
880
|
-
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
881
|
-
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
882
|
-
/**
|
|
883
|
-
* DialogEyebrow — 제목 위 카테고리 overline(eyebrow). 2026 editorial 헤더 위계의 최상단.
|
|
884
|
-
* DialogHeader 안에서 DialogTitle '위'에 둔다(예: "시간 제어" / "시험 제어").
|
|
885
|
-
* 작은 uppercase + tracking + muted 색으로 title(bold)과 대비.
|
|
886
|
-
*/
|
|
887
|
-
declare const DialogEyebrow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
888
|
-
/**
|
|
889
|
-
* DialogRawContent — shadcn 기본 스타일 없는 순수 radix Content.
|
|
890
|
-
* 자체 head/body/foot 슬롯을 가진 ModalShell 등 커스텀 구현용.
|
|
891
|
-
* DialogPortal + DialogOverlay와 함께 수동으로 조합해서 사용.
|
|
892
|
-
*/
|
|
893
|
-
declare const DialogRawContent: React.ForwardRefExoticComponent<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
952
|
+
declare function BulkActionBar({ count, actions, onClear, emptyHint, placement, unit, summary, compactSummary, idleContent, trailing, className, style, ...props }: BulkActionBarProps): react_jsx_runtime.JSX.Element | null;
|
|
894
953
|
|
|
895
954
|
interface ConfirmDialogProps {
|
|
896
955
|
open: boolean;
|
|
@@ -909,8 +968,10 @@ interface ConfirmDialogProps {
|
|
|
909
968
|
children?: React.ReactNode;
|
|
910
969
|
/** Keeps the confirm button disabled (e.g. until the typed count matches). */
|
|
911
970
|
confirmDisabled?: boolean;
|
|
971
|
+
/** Below 900px: `"center"` card (default) or `"sheet"` bottom sheet — see Dialog `mobilePresentation`. */
|
|
972
|
+
mobilePresentation?: DialogMobilePresentation;
|
|
912
973
|
}
|
|
913
|
-
declare function ConfirmDialog({ open, onOpenChange, title, description, tone, confirmLabel, cancelLabel, onConfirm, loading, children, confirmDisabled, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
|
|
974
|
+
declare function ConfirmDialog({ open, onOpenChange, title, description, tone, confirmLabel, cancelLabel, onConfirm, loading, children, confirmDisabled, mobilePresentation, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
|
|
914
975
|
|
|
915
976
|
declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
|
|
916
977
|
|
|
@@ -939,7 +1000,7 @@ type SheetMotionConfig = {
|
|
|
939
1000
|
declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog$1.Root>): react_jsx_runtime.JSX.Element;
|
|
940
1001
|
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
941
1002
|
declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog$1.Close>): react_jsx_runtime.JSX.Element;
|
|
942
|
-
declare function SheetContent({ className, children, side, mobileSide, motion, showCloseButton, style, ...props }: React.ComponentProps<typeof Dialog$1.Content> & {
|
|
1003
|
+
declare function SheetContent({ className, children, side, mobileSide, motion, showCloseButton, style, onOpenAutoFocus, onCloseAutoFocus, ...props }: React.ComponentProps<typeof Dialog$1.Content> & {
|
|
943
1004
|
side?: "top" | "right" | "bottom" | "left";
|
|
944
1005
|
mobileSide?: "top" | "right" | "bottom" | "left";
|
|
945
1006
|
motion?: SheetMotionConfig | false;
|
|
@@ -975,6 +1036,34 @@ interface SheetDrawerProps {
|
|
|
975
1036
|
}
|
|
976
1037
|
declare function SheetDrawer({ open, onOpenChange, caption, title, description, children, expandHref, onExpand, expandLabel, expanded, onExpandedChange, collapseLabel, footer, width, motion, closeLabel, }: SheetDrawerProps): react_jsx_runtime.JSX.Element;
|
|
977
1038
|
|
|
1039
|
+
type ActionSheetIconProps = {
|
|
1040
|
+
size?: number | string;
|
|
1041
|
+
strokeWidth?: number | string;
|
|
1042
|
+
className?: string;
|
|
1043
|
+
"aria-hidden"?: boolean;
|
|
1044
|
+
};
|
|
1045
|
+
interface ActionSheetItem {
|
|
1046
|
+
id: string;
|
|
1047
|
+
label: string;
|
|
1048
|
+
/** A Lucide icon (or any component taking `size`/`strokeWidth`), drawn at 17px. */
|
|
1049
|
+
icon?: React.ComponentType<ActionSheetIconProps>;
|
|
1050
|
+
/** Runs after the sheet has closed and focus is back on the trigger. */
|
|
1051
|
+
onSelect: () => void;
|
|
1052
|
+
destructive?: boolean;
|
|
1053
|
+
disabled?: boolean;
|
|
1054
|
+
}
|
|
1055
|
+
interface ActionSheetProps {
|
|
1056
|
+
open: boolean;
|
|
1057
|
+
onOpenChange: (open: boolean) => void;
|
|
1058
|
+
/** Sheet heading — also the dialog's accessible name (usually the object the commands act on). */
|
|
1059
|
+
title: string;
|
|
1060
|
+
description?: string;
|
|
1061
|
+
items: ActionSheetItem[];
|
|
1062
|
+
/** Accessible name of the header close button. */
|
|
1063
|
+
closeLabel?: string;
|
|
1064
|
+
}
|
|
1065
|
+
declare function ActionSheet({ open, onOpenChange, title, description, items, closeLabel, }: ActionSheetProps): react_jsx_runtime.JSX.Element;
|
|
1066
|
+
|
|
978
1067
|
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
|
|
979
1068
|
interface TooltipProps extends React.ComponentProps<typeof Tooltip$1.Root> {
|
|
980
1069
|
/**
|
|
@@ -1640,7 +1729,7 @@ type ThemeFabVariant = "square" | "circle";
|
|
|
1640
1729
|
interface ThemeFabProps {
|
|
1641
1730
|
/**
|
|
1642
1731
|
* 모양/크기 variant.
|
|
1643
|
-
* - `square` (default): 36×36
|
|
1732
|
+
* - `square` (default): 36×36 radius-md (exam 와이어프레임 사양, 0.18 컨트롤 모서리 8).
|
|
1644
1733
|
* - `circle`: 56×56 rounded-full + accent border + backdrop blur (web 표준).
|
|
1645
1734
|
*/
|
|
1646
1735
|
variant?: ThemeFabVariant;
|
|
@@ -1655,4 +1744,4 @@ interface OrganizationLogoProps extends Omit<SVGProps<SVGSVGElement>, "width" |
|
|
|
1655
1744
|
}
|
|
1656
1745
|
declare function OrganizationLogo({ organization, size, className, style, role, "aria-label": ariaLabel, "aria-hidden": ariaHidden, ...props }: OrganizationLogoProps): react_jsx_runtime.JSX.Element;
|
|
1657
1746
|
|
|
1658
|
-
export { ActionFooter, type ActionFooterAction, type ActionFooterProps, type ActionFooterStatus, Alert, type AlertEmphasis, type AlertProps, type AlertVariant, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, Badge, type BadgeProps, type BadgeTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, BulkActionBar, type BulkActionBarAction, type BulkActionBarProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardProse, CardTitle, type CardVariant, type CardVariantOptions, Checkbox, type CheckboxCheckedState, CheckboxGroup, type CheckboxGroupAppearance, type CheckboxGroupColumns, CheckboxGroupContext, type CheckboxGroupContextValue, type CheckboxGroupDensity, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, Chip, type ChipProps, type ChipSize, type ChipTone, type ChipVariant, ConfirmDialog, type ConfirmDialogProps, ContextMenu, type ContextMenuPosition, type ContextMenuProps, CopyButton, type CopyButtonProps, DataLayout, type DataLayoutProps, DataTable, type DataTableColumn, type DataTableLinkProps, type DataTableProps, type DataTableSort, type DataTableVirtualOptions, DetailLayout, type DetailLayoutProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogEyebrow, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRawContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, type EmptyStateTone, type EmptyStateVariantOptions, ErrorState, type ErrorStateProps, FileUploadZone, type FileUploadZoneProps, FilterToolbar, type FilterToolbarCollapseBelow, type FilterToolbarProps, FormField, type FormFieldProps, type FormFieldRenderProps, FormLayout, type FormLayoutProps, type FormLayoutSection, FormModal, type FormModalProps, IconButton, type IconButtonBadgeTone, type IconButtonProps, type IconButtonSize, type IconButtonVariant, InfoModal, type InfoModalProps, InlineAlert, type InlineAlertProps, type InlineAlertSurface, Input, type InputProps, type InputSize, type InputSizeLegacy, type InputState, Label, type LabelProps, ModeToggle, type ModeToggleOption, type ModeToggleProps, NotificationBadge, type NotificationBadgePlacement, type NotificationBadgeProps, type NotificationBadgeSize, OTPField, type OTPFieldProps, type OTPFieldSize, OlunLogo, OlunSymbol, type OlunTheme, type OlunThemeDuration, type OlunThemeState, OrganizationLogo, type OrganizationLogoId, type OrganizationLogoProps, PageHeader, type PageHeaderProps, PageSizeSelect, type PageSizeSelectProps, type PageSizeSelectSize, Pagination, type PaginationProps, type PaginationSize, PermissionContext, type PermissionEvaluator, type PermissionFallback, PermissionGuard, type PermissionGuardProps, PermissionProvider, type PermissionProviderProps, type PermissionScope, type PermissionState, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, type ProgressStatus, Radio, RadioGroup, type RadioGroupAppearance, type RadioGroupColumns, type RadioGroupDensity, type RadioGroupOrientation, type RadioGroupProps, type RadioProps, ScrollArea, ScrollBar, SearchField, type SearchFieldProps, type SearchFieldSize, Select, type SelectAppearance, type SelectOption, type SelectProps, type SelectSize, type SelectState, type SelectVariant, type SemanticRole, Separator, type SetOlunThemeOptions, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetDrawer, type SheetDrawerProps, SheetFooter, SheetHeader, type SheetMotionConfig, type SheetMotionDuration, type SheetMotionEasing, type SheetMotionType, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, SkeletonRow, type SkeletonRowColumn, type SkeletonRowProps, SkeletonText, type SkeletonTextProps, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeEmphasis, type StatusBadgeProps, type StatusBadgeSize, type StatusBadgeStatus, type SurfaceLevel, Switch, type SwitchProps, type TabItem, Tabs, TabsContent, type TabsProps, type TabsVariant, Textarea, type TextareaProps, type TextareaSize, type TextareaSizeLegacy, type TextareaState, ThemeFab, type ThemeFabProps, ThemeToggle, Toast, type ToastAction, type ToastItem, type ToastOptions, ToastProvider, ToastRoot, type ToastVariant, ToastViewport, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TreeItemRowVariantProps, type TreeItemState, type TreeNode, TreeView, type TreeViewProps, TwoTierBadge, type TwoTierBadgeEmphasis, type TwoTierBadgeProps, type TwoTierBadgeSize, type TwoTierBadgeTone, type UseOlunThemeValue, WizardLayout, type WizardLayoutProps, type WizardStep, type WizardStepState, actionFooterStatusVariants, actionFooterVariants, buttonVariants, cardVariants, checkboxBoxVariants, checkboxFieldVariants, checkboxGroupBoxVariants, checkboxGroupItemVariants, checkboxGroupVariants, checkboxRootVariants, checkboxVariants, chipCountVariants, chipVariants, cn, dataTableRowVariants, dataTableVariants, emptyStateIconVariants, emptyStateVariants, errorStateVariants, evaluatePermission, fileUploadIconVariants, fileUploadZoneVariants, formFieldControlStackClassName, formFieldDescriptionClassName, formFieldErrorClassName, formFieldLabelClassName, formFieldRequiredClassName, formFieldVariants, getOlunThemeState, getToastDuration, iconButtonBadgeVariants, iconButtonVariants, inputMessageVariants, inputVariants, limitToasts, modeToggleItemVariants, modeToggleVariants, notificationBadgeVariants, otpCellVariants, otpFieldGroupVariants, otpFieldMessageVariants, otpFieldVariants, paginationControlVariants, paginationVariants, radioControlVariants, radioGroupVariants, radioVariants, searchFieldInputVariants, searchFieldVariants, selectMessageVariants, selectVariants, setOlunTheme, skeletonVariants, spinnerVariants, tabsBadgeVariants, tabsListVariants, tabsRootVariants, tabsTriggerVariants, textareaMessageVariants, textareaVariants, toast, toastVariants, toastViewportVariants, treeItemRowVariants, treeViewVariants, useOlunTheme, usePermission };
|
|
1747
|
+
export { ActionFooter, type ActionFooterAction, type ActionFooterProps, type ActionFooterStatus, ActionSheet, type ActionSheetIconProps, type ActionSheetItem, type ActionSheetProps, Alert, type AlertEmphasis, type AlertProps, type AlertVariant, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, Badge, type BadgeProps, type BadgeTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, BulkActionBar, type BulkActionBarAction, type BulkActionBarProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardProse, CardTitle, type CardVariant, type CardVariantOptions, Checkbox, type CheckboxCheckedState, CheckboxGroup, type CheckboxGroupAppearance, type CheckboxGroupColumns, CheckboxGroupContext, type CheckboxGroupContextValue, type CheckboxGroupDensity, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, Chip, type ChipProps, type ChipSize, type ChipTone, type ChipVariant, ConfirmDialog, type ConfirmDialogProps, ContextMenu, type ContextMenuPosition, type ContextMenuProps, CopyButton, type CopyButtonProps, DataLayout, type DataLayoutProps, DataTable, type DataTableColumn, type DataTableLinkProps, type DataTableProps, type DataTableSort, type DataTableVirtualHandle, type DataTableVirtualOptions, type DataTableVirtualRange, DetailLayout, type DetailLayoutProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogEyebrow, DialogFooter, DialogHeader, type DialogMobilePresentation, DialogOverlay, DialogPortal, DialogRawContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, type EmptyStateTone, type EmptyStateVariantOptions, ErrorState, type ErrorStateProps, FileUploadZone, type FileUploadZoneProps, FilterToolbar, type FilterToolbarCollapseBelow, type FilterToolbarProps, FormField, type FormFieldProps, type FormFieldRenderProps, FormLayout, type FormLayoutProps, type FormLayoutSection, FormModal, type FormModalProps, IconButton, type IconButtonBadgeTone, type IconButtonProps, type IconButtonSize, type IconButtonVariant, InfoModal, type InfoModalProps, InlineAlert, type InlineAlertProps, type InlineAlertSurface, Input, type InputProps, type InputSize, type InputSizeLegacy, type InputState, Label, type LabelProps, ModeToggle, type ModeToggleOption, type ModeToggleProps, NotificationBadge, type NotificationBadgePlacement, type NotificationBadgeProps, type NotificationBadgeSize, OTPField, type OTPFieldProps, type OTPFieldSize, OlunLogo, OlunSymbol, type OlunTheme, type OlunThemeDuration, type OlunThemeState, OrganizationLogo, type OrganizationLogoId, type OrganizationLogoProps, PageHeader, type PageHeaderProps, PageSizeSelect, type PageSizeSelectProps, type PageSizeSelectSize, Pagination, type PaginationProps, type PaginationSize, PermissionContext, type PermissionEvaluator, type PermissionFallback, PermissionGuard, type PermissionGuardProps, PermissionProvider, type PermissionProviderProps, type PermissionScope, type PermissionState, Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, Progress, type ProgressProps, type ProgressStatus, Radio, RadioGroup, type RadioGroupAppearance, type RadioGroupColumns, type RadioGroupDensity, type RadioGroupOrientation, type RadioGroupProps, type RadioProps, ScrollArea, ScrollBar, SearchField, type SearchFieldProps, type SearchFieldSize, Select, type SelectAppearance, type SelectOption, type SelectProps, type SelectSize, type SelectState, type SelectVariant, type SemanticRole, Separator, type SetOlunThemeOptions, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetDrawer, type SheetDrawerProps, SheetFooter, SheetHeader, type SheetMotionConfig, type SheetMotionDuration, type SheetMotionEasing, type SheetMotionType, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, SkeletonRow, type SkeletonRowColumn, type SkeletonRowProps, SkeletonText, type SkeletonTextProps, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeEmphasis, type StatusBadgeProps, type StatusBadgeSize, type StatusBadgeStatus, type SurfaceLevel, Switch, type SwitchProps, type TabItem, Tabs, TabsContent, type TabsProps, type TabsVariant, Textarea, type TextareaProps, type TextareaSize, type TextareaSizeLegacy, type TextareaState, ThemeFab, type ThemeFabProps, ThemeToggle, Toast, type ToastAction, type ToastItem, type ToastOptions, ToastProvider, ToastRoot, type ToastVariant, ToastViewport, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TreeItemRowVariantProps, type TreeItemState, type TreeNode, TreeView, type TreeViewProps, TwoTierBadge, type TwoTierBadgeEmphasis, type TwoTierBadgeProps, type TwoTierBadgeSize, type TwoTierBadgeTone, type UseOlunThemeValue, WizardLayout, type WizardLayoutProps, type WizardStep, type WizardStepState, actionFooterStatusVariants, actionFooterVariants, buttonVariants, cardVariants, checkboxBoxVariants, checkboxFieldVariants, checkboxGroupBoxVariants, checkboxGroupItemVariants, checkboxGroupVariants, checkboxRootVariants, checkboxVariants, chipCountVariants, chipVariants, cn, dataTableRowVariants, dataTableVariants, emptyStateIconVariants, emptyStateVariants, errorStateVariants, evaluatePermission, fileUploadIconVariants, fileUploadZoneVariants, formFieldControlStackClassName, formFieldDescriptionClassName, formFieldErrorClassName, formFieldLabelClassName, formFieldRequiredClassName, formFieldVariants, getOlunThemeState, getToastDuration, iconButtonBadgeVariants, iconButtonVariants, inputMessageVariants, inputVariants, limitToasts, modeToggleItemVariants, modeToggleVariants, notificationBadgeVariants, otpCellVariants, otpFieldGroupVariants, otpFieldMessageVariants, otpFieldVariants, paginationControlVariants, paginationVariants, radioControlVariants, radioGroupVariants, radioVariants, searchFieldInputVariants, searchFieldVariants, selectMessageVariants, selectVariants, setOlunTheme, skeletonVariants, spinnerVariants, tabsBadgeVariants, tabsListVariants, tabsRootVariants, tabsTriggerVariants, textareaMessageVariants, textareaVariants, toast, toastVariants, toastViewportVariants, treeItemRowVariants, treeViewVariants, useOlunTheme, usePermission };
|