@bigtablet/design-system 1.17.3 → 1.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/dist/index.css CHANGED
@@ -310,6 +310,9 @@
310
310
  .button_variant_danger:active:not(:disabled) {
311
311
  transform: scale(0.98);
312
312
  }
313
+ .button_full_width {
314
+ width: 100%;
315
+ }
313
316
 
314
317
  /* src/ui/form/checkbox/style.scss */
315
318
  .checkbox {
@@ -999,13 +1002,13 @@
999
1002
  gap: 0.25rem;
1000
1003
  }
1001
1004
  }
1002
- .date_picker_full {
1005
+ .date_picker_full_width {
1003
1006
  width: 100%;
1004
1007
  }
1005
- .date_picker_full .date_picker_fields {
1008
+ .date_picker_full_width .date_picker_fields {
1006
1009
  width: 100%;
1007
1010
  }
1008
- .date_picker_full select {
1011
+ .date_picker_full_width select {
1009
1012
  flex: 1;
1010
1013
  min-width: 0;
1011
1014
  }
package/dist/index.d.ts CHANGED
@@ -33,8 +33,10 @@ declare const AlertProvider: React.FC<{
33
33
 
34
34
  interface SpinnerProps {
35
35
  size?: number;
36
+ /** Accessible label for the spinner (default: "Loading") */
37
+ ariaLabel?: string;
36
38
  }
37
- declare const Spinner: ({ size }: SpinnerProps) => react_jsx_runtime.JSX.Element;
39
+ declare const Spinner: ({ size, ariaLabel }: SpinnerProps) => react_jsx_runtime.JSX.Element;
38
40
 
39
41
  interface TopLoadingProps {
40
42
  /** 진행률 (0-100). undefined면 indeterminate 모드 */
@@ -45,8 +47,10 @@ interface TopLoadingProps {
45
47
  height?: number;
46
48
  /** 표시 여부 */
47
49
  isLoading?: boolean;
50
+ /** 프로그레스 바의 접근성 레이블 (기본값: "Page loading") */
51
+ ariaLabel?: string;
48
52
  }
49
- declare const TopLoading: ({ progress, color, height, isLoading, }: TopLoadingProps) => react_jsx_runtime.JSX.Element | null;
53
+ declare const TopLoading: ({ progress, color, height, isLoading, ariaLabel, }: TopLoadingProps) => react_jsx_runtime.JSX.Element | null;
50
54
 
51
55
  interface ToastProviderProps {
52
56
  containerId?: string;
@@ -64,16 +68,22 @@ declare const useToast: (containerId?: string) => {
64
68
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
65
69
  variant?: "primary" | "secondary" | "ghost" | "danger";
66
70
  size?: "sm" | "md" | "lg";
71
+ /** Whether the button should take the full width of its container */
72
+ fullWidth?: boolean;
73
+ /**
74
+ * Custom width for the button
75
+ * @deprecated Use `fullWidth` prop or CSS instead
76
+ */
67
77
  width?: string;
68
78
  }
69
- declare const Button: ({ variant, size, width, className, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
79
+ declare const Button: ({ variant, size, fullWidth, width, className, style, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
70
80
 
71
81
  interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> {
72
82
  label?: React.ReactNode;
73
83
  size?: "sm" | "md" | "lg";
74
84
  indeterminate?: boolean;
75
85
  }
76
- declare const Checkbox: ({ label, size, indeterminate, className, ...props }: CheckboxProps) => react_jsx_runtime.JSX.Element;
86
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
77
87
 
78
88
  interface FileInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
79
89
  label?: string;
@@ -85,7 +95,7 @@ interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "
85
95
  label?: React.ReactNode;
86
96
  size?: "sm" | "md" | "lg";
87
97
  }
88
- declare const Radio: ({ label, size, className, ...props }: RadioProps) => react_jsx_runtime.JSX.Element;
98
+ declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
89
99
 
90
100
  type SelectSize = "sm" | "md" | "lg";
91
101
  type SelectVariant = "outline" | "filled" | "ghost";
@@ -117,8 +127,10 @@ interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
117
127
  onChange?: (checked: boolean) => void;
118
128
  size?: "sm" | "md" | "lg";
119
129
  disabled?: boolean;
130
+ /** Accessible label for the switch (for screen readers) */
131
+ ariaLabel: string;
120
132
  }
121
- declare const Switch: ({ checked, defaultChecked, onChange, size, disabled, className, ...props }: SwitchProps) => react_jsx_runtime.JSX.Element;
133
+ declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
122
134
 
123
135
  type TextFieldVariant = "outline" | "filled" | "ghost";
124
136
  type TextFieldSize = "sm" | "md" | "lg";
@@ -151,9 +163,15 @@ interface DatePickerProps {
151
163
  minDate?: string;
152
164
  selectableRange?: SelectableRange;
153
165
  disabled?: boolean;
166
+ /** Whether the date picker should take the full width of its container */
167
+ fullWidth?: boolean;
168
+ /**
169
+ * Custom width for the date picker
170
+ * @deprecated Use `fullWidth` prop or CSS instead
171
+ */
154
172
  width?: number | string;
155
173
  }
156
- declare const DatePicker: ({ label, value, onChange, mode, startYear, endYear, minDate, selectableRange, disabled, width, }: DatePickerProps) => react_jsx_runtime.JSX.Element;
174
+ declare const DatePicker: ({ label, value, onChange, mode, startYear, endYear, minDate, selectableRange, disabled, fullWidth, width, }: DatePickerProps) => react_jsx_runtime.JSX.Element;
157
175
 
158
176
  interface PaginationProps {
159
177
  page: number;
@@ -168,7 +186,9 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">
168
186
  closeOnOverlay?: boolean;
169
187
  width?: number | string;
170
188
  title?: React.ReactNode;
189
+ /** Accessible label for the modal (default uses title or "Dialog") */
190
+ ariaLabel?: string;
171
191
  }
172
- declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
192
+ declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ariaLabel, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
173
193
 
174
194
  export { AlertProvider, Button, Card, Checkbox, DatePicker, FileInput, Modal, Pagination, Radio, Select, type SelectOption, Spinner, Switch, TextField, ToastProvider, TopLoading, useAlert, useToast };