@olundot/ui 0.24.0 → 0.26.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,38 @@
1
1
  # @olundot/ui
2
2
 
3
+ ## 0.26.0
4
+
5
+ ### Minor Changes
6
+
7
+ - e858bc2: FilterToolbar 툴바 정책을 바꿉니다. 툴바에서 「해제」, 결과 수, 「필터 N개 적용」 줄을 없애고, 폭에 맞춰 접는 `collapseBelow="auto"`를 더합니다.
8
+
9
+ - `resultSummary`와 `clearAction`은 사용 중단입니다. 받기만 하고 그리지 않으며 개발 빌드에서 한 번 경고합니다. 결과 수는 TablePagination과 `resultCount`로, 전체 해제는 `onClearFilters`로 옮깁니다.
10
+ - 전체 해제는 팝오버와 시트 아래 「초기화」 하나입니다. 적용 칩 줄 끝의 「해제」도 없앴습니다.
11
+ - 적용한 필터 수는 [필터] 버튼 배지와 이름("필터, 2개 적용")으로만 보입니다.
12
+ - `collapseBelow="auto"`: 폭을 재서 줄에 들어가는 칸만 펼치고 나머지는 [필터] 버튼 안으로 옮깁니다. 칸은 `FilterToolbarField`의 `width`(`sm`·`md`·`lg`)로 폭 토큰 셋 중 하나를 씁니다. 640px 미만에서는 칸과 `filters`를 모두 시트로 옮깁니다.
13
+ - `moreActions`: 640px 이상에서는 `actions` 앞의 버튼, 640px 미만에서는 줄 끝 ⋮ 메뉴입니다.
14
+ - `sort`: 640px 미만 시트에 방향이 든 이름의 정렬 목록을 둡니다. 5개까지는 라디오, 6개부터는 Select로 보이고 개발 빌드에서 한 번 경고합니다. 640px 이상에서는 그리지 않습니다.
15
+ - `resultCount`·`unit`: 640px 미만 시트의 적용 버튼에 「1,234개 보기」처럼 보입니다. `unit`은 그 목록 TablePagination의 단위와 맞추고 기본값은 「개」입니다. `resultCount`가 없으면 「적용」입니다.
16
+ - `appliedFilters` 칩은 컨트롤이 [필터] 버튼 안에 접혀 값이 안 보일 때만 보입니다. 칩 `key`를 그 컨트롤을 넣은 자식의 React `key`와 맞추면 줄에 펼친 필터의 칩은 빠집니다. 맞는 자식이 없는 칩은 접힌 필터가 있을 때 보입니다. 칩 줄은 한 줄이고 넘치면 가로로 스크롤합니다. 지금까지 640px 이상에서만 보이던 칩이 640px 미만에도 보입니다.
17
+ - 토큰 `--filter-field-sm`·`--filter-field-md`·`--filter-field-lg`(160·200·240px)와 `--filter-search-min`·`--filter-search-min-narrow`(240·128px)를 더합니다.
18
+ - `TableTotal`: 페이지 패널이 숨거나 페이지가 없는 목록의 표 아래에 「총 N개」만 둡니다. TablePagination의 전체 수 문구·단위와 같고, 높이·좌우 여백·글자 크기는 패널과 같습니다. 0건이면 그리지 않습니다. TablePagination 자체는 바뀌지 않습니다.
19
+ - 새 타입 `FilterToolbarMoreAction`, `FilterToolbarSort`, `FilterToolbarSortOption`, `FilterToolbarFieldProps`, `FilterToolbarFieldWidth`와 부품 `FilterToolbarField`를 내보냅니다.
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [e858bc2]
24
+ - @olundot/tokens@0.20.0
25
+
26
+ ## 0.25.0
27
+
28
+ ### Minor Changes
29
+
30
+ - a848a56: DataTable `isRowSelectable`가 `'hidden'`을 돌려주면 그 행의 선택 칸을 비웁니다.
31
+
32
+ - 폴더처럼 처음부터 고를 대상이 아닌 행에 씁니다. 체크박스 없이 같은 폭의 빈 칸을 둬 열이 어긋나지 않습니다. 1024px 미만 카드도 제목이 같은 자리에서 시작합니다.
33
+ - 선택 규칙은 `false`(막힌 행)와 같습니다. 전체 선택, 선택 개수, `onSelectionChange`에서 빠지고 `selectedIds`에 들어 있어도 선택으로 그리지 않습니다.
34
+ - 반환 타입만 `boolean | 'hidden'`으로 넓혔습니다. `boolean`을 돌려주는 코드는 그대로 동작합니다.
35
+
3
36
  ## 0.24.0
4
37
 
5
38
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -66,7 +66,7 @@ type GhostDefaultActionStyle = {
66
66
  declare const buttonCva: (props?: ({
67
67
  appearance?: "filled" | "outline" | "ghost" | "link" | null | undefined;
68
68
  tone?: "primary" | "neutral" | "danger" | null | undefined;
69
- size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | null | undefined;
69
+ size?: "default" | "md" | "xs" | "sm" | "lg" | "xl" | null | undefined;
70
70
  } & class_variance_authority_types.ClassProp) | undefined) => string;
71
71
  type ButtonVariantsOptions = Parameters<typeof buttonCva>[0];
72
72
  declare function buttonVariants(options?: ButtonVariantsOptions): string;
@@ -101,13 +101,13 @@ type CopyButtonProps = Omit<ButtonProps, 'appearance' | 'children' | 'loading' |
101
101
  declare const CopyButton: React.ForwardRefExoticComponent<CopyButtonProps & React.RefAttributes<HTMLButtonElement>>;
102
102
 
103
103
  declare const inputVariants: (props?: ({
104
- size?: "sm" | "md" | "lg" | null | undefined;
104
+ size?: "md" | "sm" | "lg" | null | undefined;
105
105
  fullWidth?: boolean | null | undefined;
106
106
  surface?: SurfaceLevel | null | undefined;
107
107
  } & class_variance_authority_types.ClassProp) | undefined) => string;
108
108
  declare const inputMessageVariants: (props?: ({
109
- state?: "error" | "success" | "default" | null | undefined;
110
- size?: "sm" | "md" | "lg" | null | undefined;
109
+ state?: "default" | "error" | "success" | null | undefined;
110
+ size?: "md" | "sm" | "lg" | null | undefined;
111
111
  } & class_variance_authority_types.ClassProp) | undefined) => string;
112
112
  type InputState = NonNullable<VariantProps<typeof inputMessageVariants>["state"]>;
113
113
  /** Canonical size type (0.2.0+). Use `size` prop with these values. */
@@ -155,11 +155,11 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "
155
155
  declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
156
156
 
157
157
  declare const fileUploadZoneVariants: (props?: ({
158
- size?: "compact" | "default" | null | undefined;
158
+ size?: "default" | "compact" | null | undefined;
159
159
  surface?: SurfaceLevel | null | undefined;
160
160
  } & class_variance_authority_types.ClassProp) | undefined) => string;
161
161
  declare const fileUploadIconVariants: (props?: ({
162
- size?: "compact" | "default" | null | undefined;
162
+ size?: "default" | "compact" | null | undefined;
163
163
  } & class_variance_authority_types.ClassProp) | undefined) => string;
164
164
  interface FileUploadZoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange">, VariantProps<typeof fileUploadZoneVariants> {
165
165
  accept?: string;
@@ -203,12 +203,12 @@ interface InlineAlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childre
203
203
  declare const InlineAlert: React.ForwardRefExoticComponent<InlineAlertProps & React.RefAttributes<HTMLDivElement>>;
204
204
 
205
205
  declare const textareaVariants: (props?: ({
206
- size?: "sm" | "md" | "lg" | null | undefined;
206
+ size?: "md" | "sm" | "lg" | null | undefined;
207
207
  fullWidth?: boolean | null | undefined;
208
208
  surface?: SurfaceLevel | null | undefined;
209
209
  } & class_variance_authority_types.ClassProp) | undefined) => string;
210
210
  declare const textareaMessageVariants: (props?: ({
211
- state?: "error" | "success" | "default" | null | undefined;
211
+ state?: "default" | "error" | "success" | null | undefined;
212
212
  } & class_variance_authority_types.ClassProp) | undefined) => string;
213
213
  type TextareaState = NonNullable<VariantProps<typeof textareaMessageVariants>["state"]>;
214
214
  /** Canonical size type (0.2.0+). Use `size` prop with these values. */
@@ -257,14 +257,14 @@ interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaEl
257
257
  declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
258
258
 
259
259
  declare const selectVariants: (props?: ({
260
- size?: "sm" | "md" | "lg" | null | undefined;
260
+ size?: "md" | "sm" | "lg" | null | undefined;
261
261
  fullWidth?: boolean | null | undefined;
262
262
  appearance?: "inline" | "field" | null | undefined;
263
263
  surface?: SurfaceLevel | null | undefined;
264
264
  } & class_variance_authority_types.ClassProp) | undefined) => string;
265
265
  declare const selectMessageVariants: (props?: ({
266
- state?: "error" | "success" | "default" | null | undefined;
267
- size?: "sm" | "md" | "lg" | null | undefined;
266
+ state?: "default" | "error" | "success" | null | undefined;
267
+ size?: "md" | "sm" | "lg" | null | undefined;
268
268
  } & class_variance_authority_types.ClassProp) | undefined) => string;
269
269
  type SelectState = NonNullable<VariantProps<typeof selectMessageVariants>["state"]>;
270
270
  /** Canonical size type (0.2.0+). Use `size` prop with these values. */
@@ -969,33 +969,6 @@ interface InfoModalProps {
969
969
  */
970
970
  declare function InfoModal({ open, onOpenChange, title, description, children, closeLabel, footer, }: InfoModalProps): react_jsx_runtime.JSX.Element;
971
971
 
972
- type FilterToolbarCollapseBelow = "sm" | "md" | "lg" | "never";
973
- type FilterToolbarLayout = "flow" | "grid";
974
- interface FilterToolbarAppliedFilter {
975
- key: string;
976
- label: string;
977
- onRemove: () => void;
978
- }
979
- interface FilterToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
980
- search?: React.ReactNode;
981
- filters?: React.ReactNode;
982
- collapsible?: React.ReactNode;
983
- collapseBelow?: FilterToolbarCollapseBelow;
984
- activeFilterCount?: number;
985
- onClearFilters?: () => void;
986
- /** grid: applied conditions among `filters`. Under 640px the count adds them. */
987
- activeLineFilterCount?: number;
988
- /** grid: under 640px 해제 calls it with `onClearFilters`. */
989
- onClearLineFilters?: () => void;
990
- collapsedLabel?: string;
991
- resultSummary?: React.ReactNode;
992
- clearAction?: React.ReactNode;
993
- actions?: React.ReactNode;
994
- layout?: FilterToolbarLayout;
995
- appliedFilters?: FilterToolbarAppliedFilter[];
996
- }
997
- declare const FilterToolbar: React.ForwardRefExoticComponent<FilterToolbarProps & React.RefAttributes<HTMLDivElement>>;
998
-
999
972
  /** Props an item icon receives: a Lucide icon or any component taking `size` and `strokeWidth`. */
1000
973
  type ActionMenuIconProps = {
1001
974
  size?: number | string;
@@ -1055,6 +1028,69 @@ type ActionMenuProps = ActionMenuBaseProps & ({
1055
1028
  });
1056
1029
  declare function ActionMenu({ trigger, title, description, open: openProp, onOpenChange, closeLabel, items, groups, }: ActionMenuProps): react_jsx_runtime.JSX.Element;
1057
1030
 
1031
+ type FilterToolbarCollapseBelow = "sm" | "md" | "lg" | "never" | "auto";
1032
+ type FilterToolbarLayout = "flow" | "grid";
1033
+ type FilterToolbarFieldWidth = "sm" | "md" | "lg";
1034
+ interface FilterToolbarAppliedFilter {
1035
+ key: string;
1036
+ label: string;
1037
+ onRemove: () => void;
1038
+ }
1039
+ /** An action that leaves the line under 640px for the ⋮ menu. From 640px it is a button. */
1040
+ type FilterToolbarMoreAction = Pick<ActionMenuItem, "id" | "label" | "icon" | "disabled" | "onSelect">;
1041
+ interface FilterToolbarSortOption {
1042
+ value: string;
1043
+ /** Names the direction, e.g. "응시 기간 임박순". There is no ascending or descending toggle. */
1044
+ label: string;
1045
+ }
1046
+ /** Sorting under 640px, in the sheet. From 640px the table's column headers sort instead. */
1047
+ interface FilterToolbarSort {
1048
+ /** Up to five show as radios, from six as a Select (with a dev warning). Keep it to five. */
1049
+ options: FilterToolbarSortOption[];
1050
+ value: string;
1051
+ onValueChange: (value: string) => void;
1052
+ /** Heading of the options. Default "정렬". */
1053
+ label?: string;
1054
+ }
1055
+ interface FilterToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
1056
+ search?: React.ReactNode;
1057
+ filters?: React.ReactNode;
1058
+ collapsible?: React.ReactNode;
1059
+ collapseBelow?: FilterToolbarCollapseBelow;
1060
+ activeFilterCount?: number;
1061
+ /** 초기화 under the sheet and the popover. */
1062
+ onClearFilters?: () => void;
1063
+ /** grid, auto: applied conditions among `filters`. Under 640px the count adds them. */
1064
+ activeLineFilterCount?: number;
1065
+ /** grid, auto: under 640px 초기화 calls it with `onClearFilters`. */
1066
+ onClearLineFilters?: () => void;
1067
+ collapsedLabel?: string;
1068
+ /** The result count on the sheet's apply button. The total belongs to the pagination. */
1069
+ resultCount?: number;
1070
+ /** Counter word after `resultCount`, as the list's TablePagination counts. Default "개". */
1071
+ unit?: string;
1072
+ /** @deprecated Ignored. The total belongs to the pagination; give the sheet `resultCount`. */
1073
+ resultSummary?: React.ReactNode;
1074
+ /** @deprecated Ignored. Clearing is 초기화 under the sheet and the popover (`onClearFilters`),
1075
+ * and on the empty state. */
1076
+ clearAction?: React.ReactNode;
1077
+ /** The main action, at every width. Under 640px give one; the rest go to `moreActions`. */
1078
+ actions?: React.ReactNode;
1079
+ /** Buttons from 640px, the ⋮ menu at the end of the line below, in this order. */
1080
+ moreActions?: FilterToolbarMoreAction[];
1081
+ sort?: FilterToolbarSort;
1082
+ layout?: FilterToolbarLayout;
1083
+ appliedFilters?: FilterToolbarAppliedFilter[];
1084
+ }
1085
+ interface FilterToolbarFieldProps extends React.HTMLAttributes<HTMLDivElement> {
1086
+ /** One of three widths, chosen by the longest option. A new value keeps the width. */
1087
+ width: FilterToolbarFieldWidth;
1088
+ }
1089
+ /** A filter control's cell. The control inside fills it. In the collapsed sheet or popover it
1090
+ * takes the full width. */
1091
+ declare const FilterToolbarField: React.ForwardRefExoticComponent<FilterToolbarFieldProps & React.RefAttributes<HTMLDivElement>>;
1092
+ declare const FilterToolbar: React.ForwardRefExoticComponent<FilterToolbarProps & React.RefAttributes<HTMLDivElement>>;
1093
+
1058
1094
  /** The card's ⋮ menu: the same items as the desktop row menu. */
1059
1095
  interface ListCardActions {
1060
1096
  items: readonly ActionMenuItem[];
@@ -1207,9 +1243,11 @@ interface DataTableBaseProps<T> extends Omit<React.HTMLAttributes<HTMLDivElement
1207
1243
  /**
1208
1244
  * With `selectable`, `false` blocks a row's selection: its checkbox is disabled, it is never
1209
1245
  * drawn selected or passed to `onSelectionChange`, and select-all counts only the other rows.
1246
+ * `'hidden'` blocks it the same way and draws no checkbox, for a row that is never selected (a
1247
+ * folder among items); its slot stays empty at the checkbox width, so the columns line up.
1210
1248
  * Navigating, expanding and the row menu still work.
1211
1249
  */
1212
- isRowSelectable?: (row: T) => boolean;
1250
+ isRowSelectable?: (row: T) => boolean | 'hidden';
1213
1251
  selectedIds?: Set<string>;
1214
1252
  onSelectionChange?: (ids: Set<string>) => void;
1215
1253
  /** Unit in the screen-reader selection message — `12명 선택됨`. Defaults to `개`. */
@@ -1789,7 +1827,7 @@ interface StatusDotProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'ch
1789
1827
  declare const StatusDot: React.ForwardRefExoticComponent<StatusDotProps & React.RefAttributes<HTMLSpanElement>>;
1790
1828
 
1791
1829
  declare const notificationBadgeVariants: (props?: ({
1792
- size?: "sm" | "md" | null | undefined;
1830
+ size?: "md" | "sm" | null | undefined;
1793
1831
  placement?: "none" | "inline" | "corner" | null | undefined;
1794
1832
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1795
1833
  type NotificationBadgeSize = NonNullable<VariantProps<typeof notificationBadgeVariants>['size']>;
@@ -1802,13 +1840,13 @@ declare const NotificationBadge: React.ForwardRefExoticComponent<NotificationBad
1802
1840
 
1803
1841
  declare const chipVariants: (props?: ({
1804
1842
  variant?: "filter" | "choice" | "removable" | "status-filter" | null | undefined;
1805
- tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
1806
- size?: "sm" | "md" | "lg" | null | undefined;
1843
+ tone?: "accent" | "neutral" | "danger" | "success" | "warning" | "muted" | null | undefined;
1844
+ size?: "md" | "sm" | "lg" | null | undefined;
1807
1845
  pressed?: boolean | null | undefined;
1808
1846
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1809
1847
  declare const chipCountVariants: (props?: ({
1810
- tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
1811
- size?: "sm" | "md" | "lg" | null | undefined;
1848
+ tone?: "accent" | "neutral" | "danger" | "success" | "warning" | "muted" | null | undefined;
1849
+ size?: "md" | "sm" | "lg" | null | undefined;
1812
1850
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1813
1851
  type ChipVariant = NonNullable<VariantProps<typeof chipVariants>["variant"]>;
1814
1852
  type ChipTone = NonNullable<VariantProps<typeof chipVariants>["tone"]>;
@@ -1822,7 +1860,7 @@ interface ChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>,
1822
1860
  declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLButtonElement>>;
1823
1861
 
1824
1862
  declare const emptyStateBaseVariants: (props?: ({
1825
- size?: "sm" | "md" | "lg" | null | undefined;
1863
+ size?: "md" | "sm" | "lg" | null | undefined;
1826
1864
  bordered?: boolean | null | undefined;
1827
1865
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1828
1866
  type EmptyStateTone = "neutral" | "muted" | "raised";
@@ -1834,7 +1872,7 @@ interface EmptyStateVariantOptions extends VariantProps<typeof emptyStateBaseVar
1834
1872
  }
1835
1873
  declare function emptyStateVariants({ size, tone, surface, bordered, className, }?: EmptyStateVariantOptions): string;
1836
1874
  declare const emptyStateIconVariants: (props?: ({
1837
- size?: "sm" | "md" | "lg" | null | undefined;
1875
+ size?: "md" | "sm" | "lg" | null | undefined;
1838
1876
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1839
1877
  type EmptyStateSize = NonNullable<VariantProps<typeof emptyStateBaseVariants>["size"]>;
1840
1878
  interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof emptyStateBaseVariants> {
@@ -1860,7 +1898,7 @@ interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "ti
1860
1898
  declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & React.RefAttributes<HTMLDivElement>>;
1861
1899
 
1862
1900
  declare const errorStateVariants: (props?: ({
1863
- size?: "sm" | "md" | "lg" | null | undefined;
1901
+ size?: "md" | "sm" | "lg" | null | undefined;
1864
1902
  surface?: SurfaceLevel | null | undefined;
1865
1903
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1866
1904
  interface ErrorStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof errorStateVariants> {
@@ -1880,7 +1918,7 @@ declare const skeletonVariants: (props?: ({
1880
1918
  shape?: "text" | "block" | "circle" | null | undefined;
1881
1919
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1882
1920
  declare const spinnerVariants: (props?: ({
1883
- size?: "sm" | "md" | "lg" | 16 | 24 | 32 | null | undefined;
1921
+ size?: "md" | "sm" | "lg" | 16 | 24 | 32 | null | undefined;
1884
1922
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1885
1923
  interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
1886
1924
  }
@@ -1913,7 +1951,7 @@ interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {
1913
1951
  declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
1914
1952
 
1915
1953
  declare const iconButtonCva: (props?: ({
1916
- size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
1954
+ size?: "md" | "xs" | "sm" | "lg" | "xl" | null | undefined;
1917
1955
  pressed?: boolean | null | undefined;
1918
1956
  appearance?: "filled" | "outline" | "ghost" | null | undefined;
1919
1957
  tone?: "primary" | "neutral" | "danger" | null | undefined;
@@ -1922,7 +1960,7 @@ type IconButtonSize = NonNullable<VariantProps<typeof iconButtonCva>["size"]>;
1922
1960
  type IconButtonVariantsOptions = NonNullable<Parameters<typeof iconButtonCva>[0]>;
1923
1961
  declare function iconButtonVariants(options?: IconButtonVariantsOptions): string;
1924
1962
  declare const iconButtonBadgeVariants: (props?: ({
1925
- tone?: "error" | "info" | "success" | null | undefined;
1963
+ tone?: "error" | "success" | "info" | null | undefined;
1926
1964
  } & class_variance_authority_types.ClassProp) | undefined) => string;
1927
1965
  type IconButtonBadgeTone = NonNullable<VariantProps<typeof iconButtonBadgeVariants>["tone"]>;
1928
1966
  type IconButtonIcon = React.ComponentType<React.SVGProps<SVGSVGElement> & {
@@ -2122,6 +2160,18 @@ type TablePaginationVisibility = Pick<TablePaginationProps, 'rangeEnd' | 'total'
2122
2160
  * (nothing to pick). Without `total`, the first page with no next page decides by its row count.
2123
2161
  */
2124
2162
  declare function shouldHideTablePagination({ rangeEnd, total, hasPrev, hasNext, pageSizeOptions, }: TablePaginationVisibility): boolean;
2163
+ interface TableTotalProps {
2164
+ /** Total count. Nothing is drawn at 0: the empty state takes the place. */
2165
+ total: number;
2166
+ /** Unit after the total, as the list's TablePagination counts. Default `개`. */
2167
+ unit?: string;
2168
+ }
2169
+ /**
2170
+ * The total alone where the page panel would be: a list with no pages, or one whose panel hides
2171
+ * (`shouldHideTablePagination`). Same box, side padding and text size as the panel, the count at
2172
+ * its right end where the range sits. Put it in `DataTable`'s `footer`.
2173
+ */
2174
+ declare function TableTotal({ total, unit }: TableTotalProps): react_jsx_runtime.JSX.Element | null;
2125
2175
  /**
2126
2176
  * Page panel at the bottom of a table — page size on the left, the range (`1–100 / 총 N개`)
2127
2177
  * and ◀ ▶ on the right. Put it in `DataTable`'s `footer`, which draws the line above it.
@@ -2185,7 +2235,7 @@ interface ActionFooterProps extends Omit<React.HTMLAttributes<HTMLDivElement>, '
2185
2235
  declare const ActionFooter: React.ForwardRefExoticComponent<ActionFooterProps & React.RefAttributes<HTMLDivElement>>;
2186
2236
 
2187
2237
  declare const toastVariants: (props?: ({
2188
- variant?: "error" | "warning" | "info" | "success" | "default" | null | undefined;
2238
+ variant?: "default" | "error" | "success" | "info" | "warning" | null | undefined;
2189
2239
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2190
2240
  declare const toastViewportVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
2191
2241
  type ToastVariant = NonNullable<VariantProps<typeof toastVariants>['variant']>;
@@ -2239,19 +2289,19 @@ interface ToastProviderProps extends React.HTMLAttributes<HTMLDivElement> {
2239
2289
  declare function ToastProvider({ children, maxToasts, className, ...props }: ToastProviderProps): react_jsx_runtime.JSX.Element;
2240
2290
 
2241
2291
  declare const otpFieldVariants: (props?: ({
2242
- size?: "compact" | "default" | null | undefined;
2292
+ size?: "default" | "compact" | null | undefined;
2243
2293
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2244
2294
  declare const otpFieldGroupVariants: (props?: ({
2245
- size?: "compact" | "default" | null | undefined;
2295
+ size?: "default" | "compact" | null | undefined;
2246
2296
  fluid?: boolean | null | undefined;
2247
2297
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2248
2298
  declare const otpCellVariants: (props?: ({
2249
- size?: "compact" | "default" | null | undefined;
2299
+ size?: "default" | "compact" | null | undefined;
2250
2300
  fluid?: boolean | null | undefined;
2251
2301
  surface?: SurfaceLevel | null | undefined;
2252
2302
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2253
2303
  declare const otpFieldMessageVariants: (props?: ({
2254
- state?: "error" | "default" | null | undefined;
2304
+ state?: "default" | "error" | null | undefined;
2255
2305
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2256
2306
  type OTPFieldSize = NonNullable<VariantProps<typeof otpCellVariants>["size"]>;
2257
2307
  interface OTPFieldProps extends Omit<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, "onChange" | "children" | "defaultValue" | "value">, VariantProps<typeof otpFieldVariants> {
@@ -2278,10 +2328,10 @@ interface OTPFieldProps extends Omit<React.FieldsetHTMLAttributes<HTMLFieldSetEl
2278
2328
  declare const OTPField: React.ForwardRefExoticComponent<OTPFieldProps & React.RefAttributes<HTMLFieldSetElement>>;
2279
2329
 
2280
2330
  declare const searchFieldVariants: (props?: ({
2281
- size?: "sm" | "md" | "lg" | null | undefined;
2331
+ size?: "md" | "sm" | "lg" | null | undefined;
2282
2332
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2283
2333
  declare const searchFieldInputVariants: (props?: ({
2284
- size?: "sm" | "md" | "lg" | null | undefined;
2334
+ size?: "md" | "sm" | "lg" | null | undefined;
2285
2335
  hasClear?: boolean | null | undefined;
2286
2336
  surface?: SurfaceLevel | null | undefined;
2287
2337
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -2305,7 +2355,7 @@ declare const checkboxVariants: (props?: ({
2305
2355
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2306
2356
  declare const checkboxRootVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
2307
2357
  declare const checkboxBoxVariants: (props?: ({
2308
- size?: "sm" | "md" | null | undefined;
2358
+ size?: "md" | "sm" | null | undefined;
2309
2359
  } & class_variance_authority_types.ClassProp) | undefined) => string;
2310
2360
  declare const checkboxGroupItemVariants: (props?: ({
2311
2361
  appearance?: "card" | "plain" | null | undefined;
@@ -2526,4 +2576,4 @@ interface OrganizationLogoProps extends Omit<SVGProps<SVGSVGElement>, "width" |
2526
2576
  }
2527
2577
  declare function OrganizationLogo({ organization, size, className, style, role, "aria-label": ariaLabel, "aria-hidden": ariaHidden, ...props }: OrganizationLogoProps): react_jsx_runtime.JSX.Element;
2528
2578
 
2529
- export { ActionFooter, type ActionFooterAction, type ActionFooterProps, type ActionFooterStatus, ActionMenu, type ActionMenuGroup, type ActionMenuItem, type ActionMenuProps, ActionSheet, type ActionSheetIconProps, type ActionSheetItem, type ActionSheetProps, Alert, AlertDialog, type AlertDialogProps, type AlertDialogTone, type AlertEmphasis, type AlertMarker, 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, 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 DataTableMobileCardContent, type DataTableMobileMetaLine, type DataTableProps, type DataTableRowActions, type DataTableSort, type DataTableVirtualHandle, type DataTableVirtualOptions, type DataTableVirtualRange, DatePicker, type DatePickerBaseProps, type DatePickerGranularity, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerSize, type DateRangeValue, DetailLayout, type DetailLayoutProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogEyebrow, DialogFooter, DialogHeader, type DialogListFit, type DialogListHeight, type DialogMobilePresentation, DialogOverlay, DialogPortal, type DialogProps, DialogRawContent, type DialogSize, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateLayout, type EmptyStateProps, type EmptyStateSize, type EmptyStateTone, type EmptyStateVariantOptions, ErrorState, type ErrorStateProps, FileUploadZone, type FileUploadZoneProps, FilterToolbar, type FilterToolbarAppliedFilter, type FilterToolbarCollapseBelow, type FilterToolbarLayout, type FilterToolbarProps, FormField, type FormFieldProps, type FormFieldRenderProps, FormLayout, type FormLayoutProps, type FormLayoutSection, FormModal, type FormModalProps, IconButton, type IconButtonBadgeTone, type IconButtonProps, type IconButtonSize, InfoModal, type InfoModalProps, InlineAlert, type InlineAlertProps, Input, type InputProps, type InputSize, type InputSizeLegacy, type InputState, Label, type LabelProps, ListCard, type ListCardActions, type ListCardProps, 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, type OverlayScrim, 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 RadioGroupMarker, 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, type SheetProps, type SheetSize, 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, StatusDot, type StatusDotProps, type StatusDotTone, type SurfaceLevel, Switch, type SwitchProps, TABLE_PAGE_SIZE_OPTIONS, type TabItem, TablePagination, type TablePaginationPagesProps, type TablePaginationProps, type TablePaginationVisibility, 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, shouldHideTablePagination, skeletonVariants, spinnerVariants, tabsBadgeVariants, tabsListVariants, tabsRootVariants, tabsTriggerVariants, textareaMessageVariants, textareaVariants, toast, toastVariants, toastViewportVariants, treeItemRowVariants, treeViewVariants, useOlunTheme, usePermission };
2579
+ export { ActionFooter, type ActionFooterAction, type ActionFooterProps, type ActionFooterStatus, ActionMenu, type ActionMenuGroup, type ActionMenuItem, type ActionMenuProps, ActionSheet, type ActionSheetIconProps, type ActionSheetItem, type ActionSheetProps, Alert, AlertDialog, type AlertDialogProps, type AlertDialogTone, type AlertEmphasis, type AlertMarker, 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, 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 DataTableMobileCardContent, type DataTableMobileMetaLine, type DataTableProps, type DataTableRowActions, type DataTableSort, type DataTableVirtualHandle, type DataTableVirtualOptions, type DataTableVirtualRange, DatePicker, type DatePickerBaseProps, type DatePickerGranularity, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, type DatePickerSize, type DateRangeValue, DetailLayout, type DetailLayoutProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogEyebrow, DialogFooter, DialogHeader, type DialogListFit, type DialogListHeight, type DialogMobilePresentation, DialogOverlay, DialogPortal, type DialogProps, DialogRawContent, type DialogSize, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateLayout, type EmptyStateProps, type EmptyStateSize, type EmptyStateTone, type EmptyStateVariantOptions, ErrorState, type ErrorStateProps, FileUploadZone, type FileUploadZoneProps, FilterToolbar, type FilterToolbarAppliedFilter, type FilterToolbarCollapseBelow, FilterToolbarField, type FilterToolbarFieldProps, type FilterToolbarFieldWidth, type FilterToolbarLayout, type FilterToolbarMoreAction, type FilterToolbarProps, type FilterToolbarSort, type FilterToolbarSortOption, FormField, type FormFieldProps, type FormFieldRenderProps, FormLayout, type FormLayoutProps, type FormLayoutSection, FormModal, type FormModalProps, IconButton, type IconButtonBadgeTone, type IconButtonProps, type IconButtonSize, InfoModal, type InfoModalProps, InlineAlert, type InlineAlertProps, Input, type InputProps, type InputSize, type InputSizeLegacy, type InputState, Label, type LabelProps, ListCard, type ListCardActions, type ListCardProps, 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, type OverlayScrim, 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 RadioGroupMarker, 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, type SheetProps, type SheetSize, 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, StatusDot, type StatusDotProps, type StatusDotTone, type SurfaceLevel, Switch, type SwitchProps, TABLE_PAGE_SIZE_OPTIONS, type TabItem, TablePagination, type TablePaginationPagesProps, type TablePaginationProps, type TablePaginationVisibility, TableTotal, type TableTotalProps, 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, shouldHideTablePagination, skeletonVariants, spinnerVariants, tabsBadgeVariants, tabsListVariants, tabsRootVariants, tabsTriggerVariants, textareaMessageVariants, textareaVariants, toast, toastVariants, toastViewportVariants, treeItemRowVariants, treeViewVariants, useOlunTheme, usePermission };