@olundot/ui 0.17.1 → 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 CHANGED
@@ -1,5 +1,34 @@
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
+
3
32
  ## 0.17.1
4
33
 
5
34
  ### Patch 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, DropdownMenu as DropdownMenu$1, Dialog as Dialog$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';
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;
@@ -32,12 +32,20 @@ declare function useOlunTheme(): UseOlunThemeValue;
32
32
  type SurfaceLevel = "surface" | "canvas" | "raised";
33
33
 
34
34
  declare const buttonVariants: (props?: ({
35
- variant?: "primary" | "secondary" | "destructive" | "default" | "outline" | "ghost" | "danger" | "emergency" | "subtle" | "link" | null | undefined;
36
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | "icon-xs" | null | undefined;
35
+ variant?: "default" | "primary" | "outline" | "ghost" | "danger" | "emergency" | "subtle" | "destructive" | "secondary" | "link" | null | undefined;
36
+ size?: "default" | "xs" | "sm" | "md" | "lg" | "xl" | "icon" | "icon-xs" | null | undefined;
37
37
  } & class_variance_authority_types.ClassProp) | undefined) => string;
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;
@@ -54,7 +62,7 @@ type CopyButtonProps = Omit<ButtonProps, 'children' | 'leadingIcon' | 'loading'
54
62
  variant?: ButtonVariant;
55
63
  duration?: number;
56
64
  };
57
- declare const CopyButton: React.ForwardRefExoticComponent<Omit<ButtonProps, "variant" | "size" | "leadingIcon" | "trailingIcon" | "loading" | "children"> & {
65
+ declare const CopyButton: React.ForwardRefExoticComponent<Omit<ButtonProps, "size" | "variant" | "leadingIcon" | "trailingIcon" | "loading" | "children"> & {
58
66
  value: string;
59
67
  label?: React.ReactNode;
60
68
  copiedLabel?: React.ReactNode;
@@ -70,7 +78,7 @@ declare const inputVariants: (props?: ({
70
78
  surface?: SurfaceLevel | null | undefined;
71
79
  } & class_variance_authority_types.ClassProp) | undefined) => string;
72
80
  declare const inputMessageVariants: (props?: ({
73
- state?: "error" | "success" | "default" | null | undefined;
81
+ state?: "default" | "error" | "success" | null | undefined;
74
82
  size?: "sm" | "md" | "lg" | null | undefined;
75
83
  } & class_variance_authority_types.ClassProp) | undefined) => string;
76
84
  type InputState = NonNullable<VariantProps<typeof inputMessageVariants>["state"]>;
@@ -119,11 +127,11 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "
119
127
  declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
120
128
 
121
129
  declare const fileUploadZoneVariants: (props?: ({
122
- size?: "compact" | "default" | null | undefined;
130
+ size?: "default" | "compact" | null | undefined;
123
131
  surface?: SurfaceLevel | null | undefined;
124
132
  } & class_variance_authority_types.ClassProp) | undefined) => string;
125
133
  declare const fileUploadIconVariants: (props?: ({
126
- size?: "compact" | "default" | null | undefined;
134
+ size?: "default" | "compact" | null | undefined;
127
135
  } & class_variance_authority_types.ClassProp) | undefined) => string;
128
136
  interface FileUploadZoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange">, VariantProps<typeof fileUploadZoneVariants> {
129
137
  accept?: string;
@@ -166,7 +174,7 @@ declare const textareaVariants: (props?: ({
166
174
  surface?: SurfaceLevel | null | undefined;
167
175
  } & class_variance_authority_types.ClassProp) | undefined) => string;
168
176
  declare const textareaMessageVariants: (props?: ({
169
- state?: "error" | "success" | "default" | null | undefined;
177
+ state?: "default" | "error" | "success" | null | undefined;
170
178
  } & class_variance_authority_types.ClassProp) | undefined) => string;
171
179
  type TextareaState = NonNullable<VariantProps<typeof textareaMessageVariants>["state"]>;
172
180
  /** Canonical size type (0.2.0+). Use `size` prop with these values. */
@@ -221,7 +229,7 @@ declare const selectVariants: (props?: ({
221
229
  surface?: SurfaceLevel | null | undefined;
222
230
  } & class_variance_authority_types.ClassProp) | undefined) => string;
223
231
  declare const selectMessageVariants: (props?: ({
224
- state?: "error" | "success" | "default" | null | undefined;
232
+ state?: "default" | "error" | "success" | null | undefined;
225
233
  size?: "sm" | "md" | "lg" | null | undefined;
226
234
  } & class_variance_authority_types.ClassProp) | undefined) => string;
227
235
  type SelectState = NonNullable<VariantProps<typeof selectMessageVariants>["state"]>;
@@ -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> {
@@ -898,37 +951,6 @@ interface BulkActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
898
951
  */
899
952
  declare function BulkActionBar({ count, actions, onClear, emptyHint, placement, unit, summary, compactSummary, idleContent, trailing, className, style, ...props }: BulkActionBarProps): react_jsx_runtime.JSX.Element | null;
900
953
 
901
- declare const Dialog: React.FC<Dialog$1.DialogProps>;
902
- declare const DialogTrigger: React.ForwardRefExoticComponent<Dialog$1.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
903
- declare const DialogPortal: React.FC<Dialog$1.DialogPortalProps>;
904
- declare const DialogClose: React.ForwardRefExoticComponent<Dialog$1.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
905
- declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
906
- declare const DialogContent: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
907
- showCloseButton?: boolean;
908
- } & React.RefAttributes<HTMLDivElement>>;
909
- declare const DialogHeader: {
910
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
911
- displayName: string;
912
- };
913
- declare const DialogFooter: {
914
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
915
- displayName: string;
916
- };
917
- declare const DialogTitle: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
918
- declare const DialogDescription: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
919
- /**
920
- * DialogEyebrow — 제목 위 카테고리 overline(eyebrow). 2026 editorial 헤더 위계의 최상단.
921
- * DialogHeader 안에서 DialogTitle '위'에 둔다(예: "시간 제어" / "시험 제어").
922
- * 작은 uppercase + tracking + muted 색으로 title(bold)과 대비.
923
- */
924
- declare const DialogEyebrow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
925
- /**
926
- * DialogRawContent — shadcn 기본 스타일 없는 순수 radix Content.
927
- * 자체 head/body/foot 슬롯을 가진 ModalShell 등 커스텀 구현용.
928
- * DialogPortal + DialogOverlay와 함께 수동으로 조합해서 사용.
929
- */
930
- declare const DialogRawContent: React.ForwardRefExoticComponent<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>>;
931
-
932
954
  interface ConfirmDialogProps {
933
955
  open: boolean;
934
956
  onOpenChange: (open: boolean) => void;
@@ -946,8 +968,10 @@ interface ConfirmDialogProps {
946
968
  children?: React.ReactNode;
947
969
  /** Keeps the confirm button disabled (e.g. until the typed count matches). */
948
970
  confirmDisabled?: boolean;
971
+ /** Below 900px: `"center"` card (default) or `"sheet"` bottom sheet — see Dialog `mobilePresentation`. */
972
+ mobilePresentation?: DialogMobilePresentation;
949
973
  }
950
- 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;
951
975
 
952
976
  declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
953
977
 
@@ -976,7 +1000,7 @@ type SheetMotionConfig = {
976
1000
  declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog$1.Root>): react_jsx_runtime.JSX.Element;
977
1001
  declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog$1.Trigger>): react_jsx_runtime.JSX.Element;
978
1002
  declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog$1.Close>): react_jsx_runtime.JSX.Element;
979
- 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> & {
980
1004
  side?: "top" | "right" | "bottom" | "left";
981
1005
  mobileSide?: "top" | "right" | "bottom" | "left";
982
1006
  motion?: SheetMotionConfig | false;
@@ -1012,6 +1036,34 @@ interface SheetDrawerProps {
1012
1036
  }
1013
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;
1014
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
+
1015
1067
  declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
1016
1068
  interface TooltipProps extends React.ComponentProps<typeof Tooltip$1.Root> {
1017
1069
  /**
@@ -1129,12 +1181,12 @@ declare const NotificationBadge: React.ForwardRefExoticComponent<NotificationBad
1129
1181
 
1130
1182
  declare const chipVariants: (props?: ({
1131
1183
  variant?: "filter" | "choice" | "removable" | "status-filter" | null | undefined;
1132
- tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
1184
+ tone?: "accent" | "danger" | "success" | "warning" | "neutral" | "muted" | null | undefined;
1133
1185
  size?: "sm" | "md" | "lg" | null | undefined;
1134
1186
  pressed?: boolean | null | undefined;
1135
1187
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1136
1188
  declare const chipCountVariants: (props?: ({
1137
- tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
1189
+ tone?: "accent" | "danger" | "success" | "warning" | "neutral" | "muted" | null | undefined;
1138
1190
  size?: "sm" | "md" | "lg" | null | undefined;
1139
1191
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1140
1192
  type ChipVariant = NonNullable<VariantProps<typeof chipVariants>["variant"]>;
@@ -1373,7 +1425,7 @@ interface ActionFooterProps extends Omit<React.HTMLAttributes<HTMLDivElement>, '
1373
1425
  declare const ActionFooter: React.ForwardRefExoticComponent<ActionFooterProps & React.RefAttributes<HTMLDivElement>>;
1374
1426
 
1375
1427
  declare const toastVariants: (props?: ({
1376
- variant?: "error" | "warning" | "info" | "success" | "default" | null | undefined;
1428
+ variant?: "default" | "error" | "success" | "info" | "warning" | null | undefined;
1377
1429
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1378
1430
  declare const toastViewportVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
1379
1431
  type ToastVariant = NonNullable<VariantProps<typeof toastVariants>['variant']>;
@@ -1427,19 +1479,19 @@ interface ToastProviderProps extends React.HTMLAttributes<HTMLDivElement> {
1427
1479
  declare function ToastProvider({ children, maxToasts, className, ...props }: ToastProviderProps): react_jsx_runtime.JSX.Element;
1428
1480
 
1429
1481
  declare const otpFieldVariants: (props?: ({
1430
- size?: "compact" | "default" | null | undefined;
1482
+ size?: "default" | "compact" | null | undefined;
1431
1483
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1432
1484
  declare const otpFieldGroupVariants: (props?: ({
1433
- size?: "compact" | "default" | null | undefined;
1485
+ size?: "default" | "compact" | null | undefined;
1434
1486
  fluid?: boolean | null | undefined;
1435
1487
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1436
1488
  declare const otpCellVariants: (props?: ({
1437
- size?: "compact" | "default" | null | undefined;
1489
+ size?: "default" | "compact" | null | undefined;
1438
1490
  fluid?: boolean | null | undefined;
1439
1491
  surface?: SurfaceLevel | null | undefined;
1440
1492
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1441
1493
  declare const otpFieldMessageVariants: (props?: ({
1442
- state?: "error" | "default" | null | undefined;
1494
+ state?: "default" | "error" | null | undefined;
1443
1495
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1444
1496
  type OTPFieldSize = NonNullable<VariantProps<typeof otpCellVariants>["size"]>;
1445
1497
  interface OTPFieldProps extends Omit<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, "onChange" | "children" | "defaultValue" | "value">, VariantProps<typeof otpFieldVariants> {
@@ -1496,11 +1548,11 @@ declare const checkboxBoxVariants: (props?: ({
1496
1548
  size?: "sm" | "md" | null | undefined;
1497
1549
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1498
1550
  declare const checkboxGroupItemVariants: (props?: ({
1499
- appearance?: "card" | "plain" | null | undefined;
1551
+ appearance?: "plain" | "card" | null | undefined;
1500
1552
  density?: "compact" | "comfortable" | null | undefined;
1501
1553
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1502
1554
  declare const checkboxGroupBoxVariants: (props?: ({
1503
- appearance?: "card" | "plain" | null | undefined;
1555
+ appearance?: "plain" | "card" | null | undefined;
1504
1556
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1505
1557
  type CheckboxSize = NonNullable<VariantProps<typeof checkboxBoxVariants>["size"]>;
1506
1558
  type CheckboxCheckedState = React.ComponentProps<typeof Checkbox$1.Root>["checked"];
@@ -1525,7 +1577,7 @@ interface CheckboxProps extends Omit<React.ComponentPropsWithoutRef<typeof Check
1525
1577
  declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
1526
1578
 
1527
1579
  declare const checkboxGroupVariants: (props?: ({
1528
- appearance?: "card" | "plain" | null | undefined;
1580
+ appearance?: "plain" | "card" | null | undefined;
1529
1581
  orientation?: "horizontal" | "vertical" | null | undefined;
1530
1582
  columns?: "one" | "two" | "three" | null | undefined;
1531
1583
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -1546,16 +1598,16 @@ interface CheckboxGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
1546
1598
  declare const CheckboxGroup: React.ForwardRefExoticComponent<CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
1547
1599
 
1548
1600
  declare const radioGroupVariants: (props?: ({
1549
- appearance?: "card" | "plain" | null | undefined;
1601
+ appearance?: "plain" | "card" | null | undefined;
1550
1602
  orientation?: "horizontal" | "vertical" | null | undefined;
1551
1603
  columns?: "one" | "two" | "three" | null | undefined;
1552
1604
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1553
1605
  declare const radioVariants: (props?: ({
1554
- appearance?: "card" | "plain" | null | undefined;
1606
+ appearance?: "plain" | "card" | null | undefined;
1555
1607
  density?: "compact" | "comfortable" | null | undefined;
1556
1608
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1557
1609
  declare const radioControlVariants: (props?: ({
1558
- appearance?: "card" | "plain" | null | undefined;
1610
+ appearance?: "plain" | "card" | null | undefined;
1559
1611
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1560
1612
  type RadioGroupAppearance = NonNullable<VariantProps<typeof radioGroupVariants>["appearance"]>;
1561
1613
  type RadioGroupColumns = NonNullable<VariantProps<typeof radioGroupVariants>["columns"]>;
@@ -1677,7 +1729,7 @@ type ThemeFabVariant = "square" | "circle";
1677
1729
  interface ThemeFabProps {
1678
1730
  /**
1679
1731
  * 모양/크기 variant.
1680
- * - `square` (default): 36×36 rounded-sm (exam 와이어프레임 기존 사양).
1732
+ * - `square` (default): 36×36 radius-md (exam 와이어프레임 사양, 0.18 컨트롤 모서리 8).
1681
1733
  * - `circle`: 56×56 rounded-full + accent border + backdrop blur (web 표준).
1682
1734
  */
1683
1735
  variant?: ThemeFabVariant;
@@ -1692,4 +1744,4 @@ interface OrganizationLogoProps extends Omit<SVGProps<SVGSVGElement>, "width" |
1692
1744
  }
1693
1745
  declare function OrganizationLogo({ organization, size, className, style, role, "aria-label": ariaLabel, "aria-hidden": ariaHidden, ...props }: OrganizationLogoProps): react_jsx_runtime.JSX.Element;
1694
1746
 
1695
- 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 DataTableVirtualHandle, type DataTableVirtualOptions, type DataTableVirtualRange, 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 };