fone-design-system_v2 1.0.315 → 1.0.317

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.
@@ -1,3 +1,4 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
1
2
  import { LabelProps } from '../Label';
2
3
  import * as React from "react";
3
4
  type SizeType = "small" | "medium" | "large" | string;
@@ -9,11 +10,17 @@ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputE
9
10
  size?: SizeType;
10
11
  labelSize?: LabelProps["size"];
11
12
  labelPlacement?: "start" | "end" | "top" | "bottom";
13
+ /** 라벨 텍스트 색상 (예: "black", "#333", "rgb(...)") */
14
+ labelColor?: string;
15
+ /** 라벨 글자 두께 (예: 400, 600, "bold") */
16
+ labelWeight?: React.CSSProperties["fontWeight"];
17
+ /** 라벨에 직접 적용할 추가 스타일 (fontSize 등 임의 CSS) */
18
+ labelSx?: SxProps<Theme>;
12
19
  /**
13
20
  * "primary" 같은 키면 theme.palette에서 자동으로 가져옴
14
21
  * string(예: "#123", "var(--...)" )이면 그대로 사용
15
22
  */
16
- color?: "primary" | "secondary" | "success" | "error" | "warning" | "info" | "default" | string;
23
+ color?: "primary" | "secondary" | "success" | "error" | "warning" | "info" | "default" | (string & {});
17
24
  checked?: boolean;
18
25
  defaultChecked?: boolean;
19
26
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
@@ -1,9 +1,24 @@
1
1
  import { default as React } from 'react';
2
2
  import { DatePickerProps as AntdDatePickerProps } from 'antd/es/date-picker';
3
3
  import { Dayjs } from 'dayjs';
4
- export interface DatePickerProps extends Omit<AntdDatePickerProps, "onChange" | "value"> {
4
+ /**
5
+ * 상태별 스타일 처리 방식 (TimePicker와 동일)
6
+ * - 인라인 `style`은 specificity가 가장 높아 hover/active(클래스)로 덮을 수 없다.
7
+ * 그래서 default(`style`)도 인라인으로 넘기지 않고 클래스 CSS로 주입해
8
+ * "base → hover → active" 순서로 덮어쓰기가 되도록 한다.
9
+ * - border/background 같은 box 속성은 컨테이너(.ant-picker)에 적용하고,
10
+ * fontSize/fontWeight/color 같은 텍스트 속성은 입력(input)이 컨테이너 값을
11
+ * 상속(inherit)하게 만들어 한 번의 스타일 객체로 같이 처리한다.
12
+ */
13
+ export interface DatePickerProps extends Omit<AntdDatePickerProps, "onChange" | "value" | "style"> {
5
14
  value?: Dayjs | null;
6
15
  onChange?: ((date: Dayjs, dateString: string | string[]) => void) | undefined;
16
+ /** 기본(base) 스타일. border/background/fontSize/color 등 자유롭게 지정 */
17
+ style?: React.CSSProperties;
18
+ /** hover 상태에서 base 위에 덮어쓸 스타일 */
19
+ hoverStyle?: React.CSSProperties;
20
+ /** active(focus) 상태에서 base/hover 위에 덮어쓸 스타일 */
21
+ activeStyle?: React.CSSProperties;
7
22
  }
8
23
  declare const DatePicker: React.ForwardRefExoticComponent<Omit<DatePickerProps, "ref"> & React.RefAttributes<any>>;
9
24
  export default DatePicker;
@@ -1,3 +1,3 @@
1
1
  import { Table2Props } from './types';
2
- declare const Table2: <T extends object>({ data, columns, onChange, checkbox, no, radio, selectedCell, focusedCell, onRowClick, onRowDoubleClick, isLoading, rowCountChangeScrollPosition, scrollTo, isEditMode, rowClickTriggerIdx, resetTriggerOnDataChange, noTriggerOnDataChange, reorderMode, onReorder, onCellClick, getRowProps, rowHeight, headerRowHeight, sx, emptyText, emptyIcon, emptySlot, }: Table2Props) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Table2: <T extends object>({ data, columns, onChange, checkbox, no, radio, selectedCell, focusedCell, onRowClick, onRowDoubleClick, isLoading, rowCountChangeScrollPosition, scrollTo, isEditMode, rowClickTriggerIdx, resetTriggerOnDataChange, noTriggerOnDataChange, reorderMode, onReorder, onCellClick, getRowProps, rowHeight, headerRowHeight, headerStyle, sx, emptyText, emptyIcon, emptySlot, }: Table2Props) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Table2;
@@ -1,9 +1,10 @@
1
- import { default as React } from 'react';
1
+ import { default as React, CSSProperties } from 'react';
2
2
  import { Table as ReactTable } from '@tanstack/react-table';
3
3
  interface Props<T extends object = any> {
4
4
  table: ReactTable<T>;
5
5
  clickedRowIndex: number;
6
6
  headerRowHeight?: number;
7
+ headerStyle?: CSSProperties;
7
8
  }
8
9
  declare const Header: React.ForwardRefExoticComponent<Props<any> & React.RefAttributes<HTMLTableSectionElement>>;
9
10
  export default Header;
@@ -32,6 +32,7 @@ interface Props<T extends object = any> {
32
32
  tableSx?: CSSProperties;
33
33
  rowHeight: number;
34
34
  headerRowHeight: number;
35
+ headerStyle?: CSSProperties;
35
36
  rowCountChangeScrollPosition?: "top" | "bottom" | number | "preserve";
36
37
  focusedCellInfo: {
37
38
  rowIndex: number;
@@ -150,6 +150,8 @@ export interface Table2Props {
150
150
  rowHeight?: number;
151
151
  /** thead 행 높이를 설정합니다. */
152
152
  headerRowHeight?: number;
153
+ /** thead 행 스타일을 오버라이드합니다. */
154
+ headerStyle?: CSSProperties;
153
155
  /** 각 행에 대한 추가 속성을 설정할 수 있는 콜백 함수를 제공합니다. */
154
156
  getRowProps?: (params: {
155
157
  row: any;
@@ -1,4 +1,32 @@
1
1
  import { default as React } from 'react';
2
2
  import { TimePickerProps } from 'antd';
3
- declare const TimePicker: React.FC<TimePickerProps>;
3
+ /**
4
+ * 상태별 스타일 처리 방식
5
+ * - 인라인 `style`은 specificity가 가장 높아 hover/active(클래스)로 덮을 수 없다.
6
+ * 그래서 default(`style`)도 인라인으로 넘기지 않고 클래스 CSS로 주입해
7
+ * "base → hover → active" 순서로 덮어쓰기가 되도록 한다.
8
+ * - border/background 같은 box 속성은 컨테이너(.ant-picker)에 적용하고,
9
+ * fontSize/fontWeight/color 같은 텍스트 속성은 입력(input)이 컨테이너 값을
10
+ * 상속(inherit)하게 만들어 한 번의 스타일 객체로 같이 처리한다.
11
+ *
12
+ * (대안) antd 네이티브 방식인 ConfigProvider 테마 토큰:
13
+ * <ConfigProvider
14
+ * theme={{ components: { DatePicker: {
15
+ * hoverBorderColor: "#9ca3af",
16
+ * activeBorderColor: "#2563eb",
17
+ * activeShadow: "0 0 0 2px rgba(37,99,235,0.2)",
18
+ * } } }}
19
+ * >
20
+ * <TimePicker />
21
+ * </ConfigProvider>
22
+ */
23
+ export interface DsTimePickerProps extends TimePickerProps {
24
+ /** 기본(base) 스타일. border/background/fontSize/color 등 자유롭게 지정 */
25
+ style?: React.CSSProperties;
26
+ /** hover 상태에서 base 위에 덮어쓸 스타일 */
27
+ hoverStyle?: React.CSSProperties;
28
+ /** active(focus) 상태에서 base/hover 위에 덮어쓸 스타일 */
29
+ activeStyle?: React.CSSProperties;
30
+ }
31
+ declare const TimePicker: React.FC<DsTimePickerProps>;
4
32
  export default TimePicker;