@telepix-lab/telepix-ui 0.0.1 → 0.1.2

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.
Files changed (59) hide show
  1. package/README.md +86 -53
  2. package/dist/cjs/autocomplete/index.d.ts +16 -0
  3. package/dist/cjs/autocomplete/styles.d.ts +50 -0
  4. package/dist/cjs/calendar/index.d.ts +5 -0
  5. package/dist/cjs/calendar/styles.d.ts +103 -0
  6. package/dist/cjs/card/styles.d.ts +0 -1
  7. package/dist/cjs/context-menu/index.d.ts +21 -0
  8. package/dist/cjs/context-menu/styleVariable.stylex.d.ts +4 -0
  9. package/dist/cjs/context-menu/styles.d.ts +103 -0
  10. package/dist/cjs/data-table/index.d.ts +36 -0
  11. package/dist/cjs/date-picker/index.d.ts +16 -0
  12. package/dist/cjs/date-picker/styles.d.ts +5 -0
  13. package/dist/cjs/index.css +1 -0
  14. package/dist/cjs/index.d.ts +17 -3
  15. package/dist/cjs/index.js +7150 -3572
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/interactive-list-item/index.d.ts +11 -0
  18. package/dist/cjs/interactive-list-item/styles.d.ts +49 -0
  19. package/dist/cjs/multiple-select/index.d.ts +30 -0
  20. package/dist/cjs/multiple-select/styles.d.ts +138 -0
  21. package/dist/cjs/pagination/index.d.ts +13 -0
  22. package/dist/cjs/pagination/styles.d.ts +47 -0
  23. package/dist/cjs/select/index.d.ts +1 -2
  24. package/dist/cjs/styles.css +345 -13
  25. package/dist/cjs/table/index.d.ts +15 -0
  26. package/dist/cjs/table/styles.d.ts +45 -0
  27. package/dist/cjs/tag/index.d.ts +2 -17
  28. package/dist/cjs/tag/styles.d.ts +9 -0
  29. package/dist/cjs/text/index.d.ts +0 -16
  30. package/dist/esm/autocomplete/index.d.ts +16 -0
  31. package/dist/esm/autocomplete/styles.d.ts +50 -0
  32. package/dist/esm/calendar/index.d.ts +5 -0
  33. package/dist/esm/calendar/styles.d.ts +103 -0
  34. package/dist/esm/card/styles.d.ts +0 -1
  35. package/dist/esm/context-menu/index.d.ts +21 -0
  36. package/dist/esm/context-menu/styleVariable.stylex.d.ts +4 -0
  37. package/dist/esm/context-menu/styles.d.ts +103 -0
  38. package/dist/esm/data-table/index.d.ts +36 -0
  39. package/dist/esm/date-picker/index.d.ts +16 -0
  40. package/dist/esm/date-picker/styles.d.ts +5 -0
  41. package/dist/esm/index.css +1 -0
  42. package/dist/esm/index.d.ts +17 -3
  43. package/dist/esm/index.js +7101 -3574
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/interactive-list-item/index.d.ts +11 -0
  46. package/dist/esm/interactive-list-item/styles.d.ts +49 -0
  47. package/dist/esm/multiple-select/index.d.ts +30 -0
  48. package/dist/esm/multiple-select/styles.d.ts +138 -0
  49. package/dist/esm/pagination/index.d.ts +13 -0
  50. package/dist/esm/pagination/styles.d.ts +47 -0
  51. package/dist/esm/select/index.d.ts +1 -2
  52. package/dist/esm/styles.css +345 -13
  53. package/dist/esm/table/index.d.ts +15 -0
  54. package/dist/esm/table/styles.d.ts +45 -0
  55. package/dist/esm/tag/index.d.ts +2 -17
  56. package/dist/esm/tag/styles.d.ts +9 -0
  57. package/dist/esm/text/index.d.ts +0 -16
  58. package/dist/index.d.ts +719 -53
  59. package/package.json +18 -17
package/README.md CHANGED
@@ -1,74 +1,107 @@
1
- # TelePIX UI
1
+ ## telepix-ui
2
2
 
3
- 텔레픽스 디자인 시스템 반영을 위한 공통 라이브러리 입니다.
3
+ ### 프로젝트 개요
4
4
 
5
- ## 설치 방법
5
+ - 목적
6
+ - 텔레픽스 [디자인 시스템](https://www.figma.com/design/YLBhLFHGoA6zBis0W2iU6n/Simple-Design-System?node-id=942-1584&m=dev) 반영을 위한 공통 라이브러리 제작
7
+ - 불필요하고 반복 작성되는 컴포넌트 개발 공수를 줄여 개발 속도 향상
8
+ - 핵심 기능
9
+ - 자주 사용되는 공통 컴포넌트를 import하여 자유롭게 컴포넌트 조작
6
10
 
7
- ```bash
8
- # npm
9
- npm install @telepix-lab/telepix-ui
10
-
11
- # yarn
12
- yarn add @telepix-lab/telepix-ui
13
-
14
- # pnpm
15
- pnpm add @telepix-lab/telepix-ui
16
- ```
11
+ <br/>
17
12
 
18
- ## 사용 방법
19
-
20
- ```jsx
21
- import { Button, Text } from "@telepix-lab/telepix-ui";
22
- import "@telepix-lab/telepix-ui/styles.css"; // 스타일 불러오기
23
-
24
- function App() {
25
- return (
26
- <div>
27
- <Text size="xl" weight="bold">
28
- 안녕하세요, TelePIX UI입니다!
29
- </Text>
30
- <Button variant="primary" size="md">
31
- 버튼
32
- </Button>
33
- </div>
34
- );
35
- }
36
- ```
13
+ ### 기술 스택
37
14
 
38
- ## tailwindcss와 사용하는 경우
15
+ - TypeScript
16
+ - React
17
+ - [Stylex](https://stylexjs.com/)
18
+ - [Storybook](https://storybook.js.org/docs)
19
+ - [Radix-ui Primitives](https://www.radix-ui.com/primitives)
20
+ - [react-day-picker](https://daypicker.dev/)
21
+ - [dayjs](https://day.js.org/)
39
22
 
40
- tailwind를 import하는 css보다 telepix-ui css가 더 먼저 정의되어있어야 합니다.
41
- `import "@telepix-lab/telepix-ui/styles.css";`
42
23
  <br/>
43
24
 
44
- tailwindcss와 사용하는 경우에 `@import "tailwindcss"` 대신에 아래와 같이 적용합니다.
45
- tailwindcss/preflight로 인하여 디자인 시스템의 디자인이 적용되지 않을 수 있어 주의합니다.
25
+ ### 디렉터리 구조
46
26
 
47
- ```
48
- @layer theme, base, components, utilities;
49
- @import "tailwindcss/theme.css" layer(theme);
50
- @import "tailwindcss/utilities.css" layer(utilities);
51
- // @import "tailwindcss/preflight.css" 제외
27
+ ```bash
28
+ 📦 .storybook
29
+ ┣ 📜 index.css
30
+ ┣ 📜 main.ts
31
+ 📜 preview.jsx
32
+ ┗ 📜 props-table.tsx
33
+ 📦 src
34
+ ┣ 📂 autocomplete
35
+ ┣ 📂 button
36
+ ┣ 📂 calendar
37
+ ┣ 📂 card
38
+ ┣ 📂 checkbox
39
+ ┣ 📂 context-menu
40
+ ┣ 📂 data-table
41
+ ┣ 📂 date-picker
42
+ ┣ 📂 dialog
43
+ ┣ 📂 horizontal-tab
44
+ ┣ 📂 input
45
+ ┣ 📂 interactive-list-item
46
+ ┣ 📂 mode-tab
47
+ ┣ 📂 multiple-select
48
+ ┣ 📂 pagination
49
+ ┣ 📂 radio-group
50
+ ┣ 📂 select
51
+ ┣ 📂 styles
52
+ ┣ 📂 table
53
+ ┣ 📂 tag
54
+ ┣ 📂 text
55
+ ┣ 📂 textarea
56
+ ┣ 📂 tooltip
57
+ ┣ 📂 vertical-menu
58
+ ┣ 📜 GettingStarted.mdx
59
+ ┣ 📜 index.ts
60
+ ┗ 📜 tailwind.css
61
+ 📜 eslint.config.js
62
+ 📜 package.json
63
+ 📜 pnpm-lock.yaml
64
+ 📜 postcss.config.js
65
+ 📜 prettier.config.mjs
66
+ 📜 README.md
67
+ 📜 rollup.config.js
68
+ 📜 tailwind.config.js
69
+ 📜 tsconfig.build.json
70
+ 📜 tsconfig.json
52
71
  ```
53
72
 
54
- ## 개발
73
+ <br/>
55
74
 
56
- 컴포넌트의 사용방법은 storybook을 실행하여 확인합니다.
75
+ ### 설치 실행 방법
57
76
 
58
77
  ```bash
59
- # 개발 모드 실행
60
- pnpm dev
78
+ # 의존성 설치
79
+ pnpm install
61
80
 
62
81
  # 스토리북 실행
63
- pnpm storybook
82
+ npm run storybook
83
+ ```
64
84
 
65
- # 빌드
66
- pnpm build
85
+ <br/>
67
86
 
68
- # 테스트
69
- pnpm test
87
+ ### Design System 링크
88
+
89
+ - [Simple Design System](https://www.figma.com/design/YLBhLFHGoA6zBis0W2iU6n/Simple-Design-System?node-id=942-752&m=dev)
90
+
91
+ <br/>
92
+
93
+ ### 배포 관련 정보
94
+
95
+ 배포 시, 아래와 같이 package.json의 version을 올리고 push를 하게 되면, Pipeline에 의해 자동으로 배포됩니다.
96
+
97
+ ```bash
98
+ npm version patch # 또는 minor / major
99
+
100
+ git push origin main --follow-tags
70
101
  ```
71
102
 
72
- ## 라이센스
103
+ <br/>
104
+
105
+ ### 커밋 메세지 컨벤션
73
106
 
74
- ISC
107
+ 커밋 메세지 컨벤션은 [frontend 코드 컨벤션](https://telepix.atlassian.net/wiki/spaces/SDT/pages/1676968101)을 따릅니다.
@@ -0,0 +1,16 @@
1
+ interface AutocompleteProps<T> {
2
+ placeholder?: string;
3
+ data: T[];
4
+ value?: string;
5
+ displayValue: (item: T) => string;
6
+ onSelect?: (selectedItem: T | null) => void;
7
+ onChange?: (value: string) => void;
8
+ noResultsMessage?: string;
9
+ maxResults?: number;
10
+ debounceTime?: number;
11
+ wrapperClassName?: string;
12
+ contentClassName?: string;
13
+ itemClassName?: string;
14
+ }
15
+ export declare const Autocomplete: <T>({ placeholder, data, value, displayValue, onSelect, onChange, noResultsMessage, maxResults, debounceTime, wrapperClassName, contentClassName, itemClassName, }: AutocompleteProps<T>) => import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,50 @@
1
+ export declare const autocompleteStyles: Readonly<{
2
+ readonly wrapper: Readonly<{
3
+ readonly position: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"position", "relative">;
4
+ }>;
5
+ readonly content: Readonly<{
6
+ readonly position: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"position", "absolute">;
7
+ readonly top: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"top", "calc(100% - 10px)">;
8
+ readonly left: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"left", 0>;
9
+ readonly zIndex: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"zIndex", 20>;
10
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "8px">;
11
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
12
+ readonly boxShadow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"boxShadow", string>;
13
+ readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", `1px solid ${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>}`>;
14
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "8px">;
15
+ readonly width: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"width", "calc(100% - 16px)">;
16
+ }>;
17
+ readonly item: Readonly<{
18
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "4px">;
19
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "8px">;
20
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
21
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
22
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
23
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
24
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
25
+ readonly listStyleType: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"listStyleType", "none">;
26
+ readonly ":hover": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":hover", {
27
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
28
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
29
+ }>;
30
+ }>;
31
+ readonly highlight: Readonly<{
32
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
33
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
34
+ }>;
35
+ readonly matched: Readonly<{
36
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
37
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
38
+ }>;
39
+ readonly noResults: Readonly<{
40
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "4px">;
41
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "8px">;
42
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
43
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
44
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
45
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
46
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
47
+ readonly listStyleType: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"listStyleType", "none">;
48
+ readonly textAlign: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"textAlign", "center">;
49
+ }>;
50
+ }>;
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import { DayPicker } from "react-day-picker";
3
+ import "react-day-picker/style.css";
4
+ export type CalendarProps = React.ComponentProps<typeof DayPicker>;
5
+ export declare const Calendar: ({ className, classNames, showOutsideDays, ...props }: CalendarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,103 @@
1
+ export declare const calendarStyles: Readonly<{
2
+ readonly months: Readonly<{
3
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "12px">;
4
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
5
+ readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", `1px solid ${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>}`>;
6
+ readonly boxShadow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"boxShadow", string>;
7
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "8px">;
8
+ readonly position: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"position", "relative">;
9
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
10
+ readonly flexWrap: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"flexWrap", "wrap">;
11
+ readonly gap: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"gap", "var(--rdp-months-gap)">;
12
+ readonly maxWidth: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"maxWidth", "fit-content">;
13
+ }>;
14
+ readonly monthCaption: Readonly<{
15
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
16
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
17
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "center">;
18
+ readonly marginBottom: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"marginBottom", "16px">;
19
+ readonly height: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"height", "var(--rdp-nav-height)">;
20
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", "bold">;
21
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", "large">;
22
+ readonly marginInlineStart: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"marginInlineStart", "var(--rdp-nav_button-width)">;
23
+ readonly marginInlineEnd: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"marginInlineEnd", "var(--rdp-nav_button-width)">;
24
+ readonly position: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"position", "relative">;
25
+ }>;
26
+ readonly captionLabel: Readonly<{
27
+ readonly height: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"height", "28px">;
28
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "center">;
29
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
30
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
31
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
32
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
33
+ readonly zIndex: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"zIndex", 1>;
34
+ readonly position: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"position", "relative">;
35
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "inline-flex">;
36
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
37
+ readonly whiteSpace: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"whiteSpace", "nowrap">;
38
+ readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", 0>;
39
+ }>;
40
+ readonly navButton: Readonly<{
41
+ readonly stroke: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"stroke", string>;
42
+ readonly ":is([data-orientation='right'])": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":is([data-orientation='right'])", {
43
+ readonly transform: "rotate(180deg)";
44
+ }>;
45
+ }>;
46
+ readonly monthGrid: Readonly<{
47
+ readonly borderSpacing: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderSpacing", "0 8px">;
48
+ readonly borderCollapse: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderCollapse", "separate">;
49
+ }>;
50
+ readonly weekday: Readonly<{
51
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
52
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
53
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
54
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
55
+ readonly width: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"width", "32px">;
56
+ readonly height: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"height", "32px">;
57
+ }>;
58
+ readonly day: Readonly<{
59
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "6px">;
60
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
61
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
62
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
63
+ readonly ":not(:is([data-selected='true']))": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":not(:is([data-selected='true']))", {
64
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
65
+ }>;
66
+ readonly ":hover:not(:is([data-selected='true']))": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":hover:not(:is([data-selected='true']))", {
67
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
68
+ readonly cursor: "pointer";
69
+ }>;
70
+ }>;
71
+ readonly selected: Readonly<{
72
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
73
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
74
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
75
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
76
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
77
+ }>;
78
+ readonly rangeStart: Readonly<{
79
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
80
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
81
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "6px 0 0 6px !important">;
82
+ readonly ":is(.range-end)": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":is(.range-end)", {
83
+ readonly borderRadius: "6px !important";
84
+ }>;
85
+ }>;
86
+ readonly rangeEnd: Readonly<{
87
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
88
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
89
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "0 6px 6px 0 !important">;
90
+ }>;
91
+ readonly rangeMiddle: Readonly<{
92
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
93
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
94
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "0 !important">;
95
+ }>;
96
+ readonly outside: Readonly<{
97
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", `${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>} !important`>;
98
+ readonly ":hover": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":hover", {
99
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
100
+ readonly cursor: "pointer";
101
+ }>;
102
+ }>;
103
+ }>;
@@ -4,7 +4,6 @@ export declare const cardStyles: Readonly<{
4
4
  readonly flexDirection: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"flexDirection", "column">;
5
5
  readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", string>;
6
6
  readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", `1px solid ${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>}`>;
7
- readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", string>;
8
7
  readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
9
8
  }>;
10
9
  }>;
@@ -0,0 +1,21 @@
1
+ import { ContextMenu as ContextMenuRadix } from "radix-ui";
2
+ export declare const ContextMenu: import("react").FC<ContextMenuRadix.ContextMenuProps>;
3
+ export declare const ContextMenuTrigger: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuTriggerProps & import("react").RefAttributes<HTMLSpanElement>>;
4
+ export declare const ContextMenuContent: (props: React.ComponentProps<typeof ContextMenuRadix.Content>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ContextMenuArrow: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuArrowProps & import("react").RefAttributes<SVGSVGElement>>;
6
+ export declare const ContextMenuLabel: (props: React.ComponentProps<typeof ContextMenuRadix.Label>) => import("react/jsx-runtime").JSX.Element;
7
+ interface ContextMenuItemProps extends Omit<React.ComponentProps<typeof ContextMenuRadix.Item>, "children"> {
8
+ leftIcon?: React.ReactNode;
9
+ rightSlot?: React.ReactNode;
10
+ }
11
+ export declare const ContextMenuItem: ({ leftIcon, rightSlot, textValue, ...rest }: ContextMenuItemProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const ContextMenuGroup: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuGroupProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ export declare const ContextMenuSub: import("react").FC<ContextMenuRadix.ContextMenuSubProps>;
14
+ export declare const ContextMenuSubTrigger: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ export declare const ContextMenuSubContent: (props: React.ComponentProps<typeof ContextMenuRadix.SubContent>) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const ContextMenuSeparator: (props: React.ComponentProps<typeof ContextMenuRadix.Separator>) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const ContextMenuCheckboxItem: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuCheckboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ export declare const ContextMenuRadioGroup: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuRadioGroupProps & import("react").RefAttributes<HTMLDivElement>>;
19
+ export declare const ContextMenuRadioItem: import("react").ForwardRefExoticComponent<ContextMenuRadix.ContextMenuRadioItemProps & import("react").RefAttributes<HTMLDivElement>>;
20
+ export declare const ContextMenuItemIndicator: (props: React.ComponentProps<typeof ContextMenuRadix.ItemIndicator>) => import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,4 @@
1
+ import * as stylex from "@stylexjs/stylex";
2
+ export declare const styleVariable: stylex.VarGroup<Readonly<{
3
+ childColor: string;
4
+ }>, symbol>;
@@ -0,0 +1,103 @@
1
+ export declare const contextMenuContentStyles: Readonly<{
2
+ readonly content: Readonly<{
3
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "8px">;
4
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
5
+ readonly boxShadow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"boxShadow", string>;
6
+ readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", `1px solid ${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>}`>;
7
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "8px">;
8
+ readonly width: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"width", "320px">;
9
+ }>;
10
+ readonly item: Readonly<{
11
+ readonly [x: string]: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<string, string | {
12
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
13
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
14
+ readonly cursor?: undefined;
15
+ readonly default?: undefined;
16
+ readonly ":hover:not(:is([data-disabled]))"?: undefined;
17
+ readonly ":active:not(:is([data-disabled]))"?: undefined;
18
+ readonly ':is([data-state="open"])'?: undefined;
19
+ readonly ":is([data-disabled])"?: undefined;
20
+ } | {
21
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
22
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
23
+ readonly cursor: "not-allowed";
24
+ readonly default?: undefined;
25
+ readonly ":hover:not(:is([data-disabled]))"?: undefined;
26
+ readonly ":active:not(:is([data-disabled]))"?: undefined;
27
+ readonly ':is([data-state="open"])'?: undefined;
28
+ readonly ":is([data-disabled])"?: undefined;
29
+ }>;
30
+ readonly outline: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"outline", "none">;
31
+ readonly padding: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"padding", "8px">;
32
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
33
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
34
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "space-between">;
35
+ readonly gap: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"gap", "8px">;
36
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", string>;
37
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", string>;
38
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", string>;
39
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
40
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
41
+ readonly border: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"border", `1px solid ${import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>}`>;
42
+ readonly borderRadius: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"borderRadius", "4px">;
43
+ readonly ":hover:not(:is([data-disabled]))": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":hover:not(:is([data-disabled]))", {
44
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
45
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
46
+ }>;
47
+ readonly ":active:not(:is([data-disabled]))": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":active:not(:is([data-disabled]))", {
48
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
49
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
50
+ }>;
51
+ readonly ":is([data-state='open'])": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":is([data-state='open'])", {
52
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
53
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
54
+ }>;
55
+ readonly ":is([data-disabled])": import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<":is([data-disabled])", {
56
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
57
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXVar<string>;
58
+ readonly cursor: "not-allowed";
59
+ }>;
60
+ }>;
61
+ readonly itemContent: Readonly<{
62
+ readonly flex: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"flex", 1>;
63
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
64
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
65
+ readonly gap: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"gap", "8px">;
66
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", "inherit">;
67
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", "inherit">;
68
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", "inherit">;
69
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", "inherit">;
70
+ readonly overflow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"overflow", "hidden">;
71
+ }>;
72
+ readonly textValue: Readonly<{
73
+ readonly textOverflow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"textOverflow", "ellipsis">;
74
+ readonly overflow: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"overflow", "hidden">;
75
+ readonly whiteSpace: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"whiteSpace", "nowrap">;
76
+ }>;
77
+ readonly leftIcon: Readonly<{
78
+ readonly width: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"width", "16px">;
79
+ readonly height: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"height", "16px">;
80
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
81
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
82
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "center">;
83
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", "inherit">;
84
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", "inherit">;
85
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", "inherit">;
86
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", "inherit">;
87
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", "transparent">;
88
+ }>;
89
+ readonly rightSlot: Readonly<{
90
+ readonly display: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"display", "flex">;
91
+ readonly alignItems: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"alignItems", "center">;
92
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "center">;
93
+ readonly fontSize: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontSize", "inherit">;
94
+ readonly lineHeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"lineHeight", "inherit">;
95
+ readonly fontWeight: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"fontWeight", "inherit">;
96
+ readonly color: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"color", string>;
97
+ }>;
98
+ readonly separator: Readonly<{
99
+ readonly height: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"height", "1px">;
100
+ readonly backgroundColor: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"backgroundColor", string>;
101
+ readonly margin: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"margin", "4px 0">;
102
+ }>;
103
+ }>;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ /** table 기반 config로 테이블 완성 component */
3
+ interface TableInfo<T> {
4
+ header: string;
5
+ renderFn: (item: T) => React.ReactNode;
6
+ minWidth?: number;
7
+ maxWidth?: number;
8
+ showTooltip?: boolean;
9
+ }
10
+ export type DataTableConfig<T> = TableInfo<T>[];
11
+ export interface DataTableProps<T> {
12
+ config: DataTableConfig<T>;
13
+ data: T[];
14
+ emptyMessage?: string;
15
+ onRowClick?: (item: T) => void;
16
+ enableSelection?: boolean;
17
+ shouldLastBorderRender?: boolean;
18
+ classNames?: {
19
+ table?: string;
20
+ header?: string;
21
+ head?: string;
22
+ body?: string;
23
+ row?: string;
24
+ cell?: string;
25
+ };
26
+ refs?: {
27
+ tableRef?: React.Ref<HTMLTableElement>;
28
+ headerRef?: React.Ref<HTMLTableRowElement>;
29
+ bodyRef?: React.Ref<HTMLTableSectionElement>;
30
+ rowRef?: React.Ref<HTMLTableRowElement>;
31
+ cellRef?: React.Ref<HTMLTableCellElement>;
32
+ headRef?: React.Ref<HTMLTableCellElement>;
33
+ };
34
+ }
35
+ export declare const DataTable: <T extends object>({ config, data, emptyMessage, onRowClick, enableSelection, shouldLastBorderRender, classNames, refs, }: DataTableProps<T>) => import("react/jsx-runtime").JSX.Element;
36
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Popover } from "radix-ui";
2
+ import { CalendarProps } from "../calendar";
3
+ import { DateRange } from "react-day-picker";
4
+ type AllDatePickerTypes = Date | undefined | DateRange | Date[];
5
+ interface DatePicker {
6
+ size: "regular" | "large";
7
+ placeholder?: string;
8
+ format?: string;
9
+ value?: AllDatePickerTypes;
10
+ onChange?: (date: AllDatePickerTypes) => void;
11
+ isInstantClose?: boolean;
12
+ disabled?: boolean;
13
+ }
14
+ export type DatePickerProps = DatePicker & CalendarProps & Popover.PopoverProps & Popover.PopoverContentProps;
15
+ export declare const DatePicker: ({ size, placeholder, format, value, mode, onChange, isInstantClose, open: openProp, onOpenChange: onOpenChangeProp, disabled, ...rest }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
16
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const datePickerStyles: Readonly<{
2
+ readonly wrapper: Readonly<{
3
+ readonly justifyContent: import("node_modules/@stylexjs/stylex/lib/cjs/types/StyleXTypes").StyleXClassNameFor<"justifyContent", "start">;
4
+ }>;
5
+ }>;
@@ -0,0 +1 @@
1
+ .rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:0.5;--rdp-outside-opacity:0.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:0.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:0.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:#fff;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction),transparent 50%,var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction),var(--rdp-range_middle-background-color) 50%,transparent 50%);--rdp-range_end-color:#fff;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:0.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:0.75;--rdp-weekday-padding:0.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:0.3s;--rdp-animation_timing:cubic-bezier(0.4,0,0.2,1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{position:relative}.rdp-root,.rdp-root *{box-sizing:border-box}.rdp-day{height:var(--rdp-day-height);text-align:center;width:var(--rdp-day-width)}.rdp-day_button{align-items:center;background:none;border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);color:inherit;cursor:pointer;display:flex;font:inherit;height:var(--rdp-day_button-height);justify-content:center;margin:0;padding:0;width:var(--rdp-day_button-width)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{align-items:center;border:0;display:inline-flex;position:relative;white-space:nowrap;z-index:1}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{align-items:center;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;height:var(--rdp-nav_button-height);justify-content:center;margin:0;padding:0;position:relative;width:var(--rdp-nav_button-width)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{align-items:center;display:inline-flex;gap:var(--rdp-dropdown-gap);position:relative}.rdp-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:inherit;inset-block-end:0;inset-block-start:0;inset-inline-start:0;line-height:inherit;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:2}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{align-content:center;display:flex;font-size:large;font-weight:700;height:var(--rdp-nav-height)}.rdp-root[data-nav-layout=after] .rdp-month,.rdp-root[data-nav-layout=around] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-end:var(--rdp-nav_button-width);margin-inline-start:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{display:inline-flex;height:var(--rdp-nav-height);inset-inline-start:0;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{display:inline-flex;height:var(--rdp-nav-height);inset-inline-end:0;justify-content:center;position:absolute;top:0}.rdp-months{display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:-moz-fit-content;max-width:fit-content;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{align-items:center;display:flex;height:var(--rdp-nav-height);inset-block-start:0;inset-inline-end:0;position:absolute}.rdp-weekday{font-size:smaller;font-weight:500;opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);font-size:small;font-weight:400;height:var(--rdp-week_number-height);opacity:var(--rdp-week_number-opacity);text-align:var(--rdp-weeknumber-text-align);width:var(--rdp-week_number-width)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled{opacity:var(--rdp-disabled-opacity)}.rdp-hidden{color:var(--rdp-range_start-color);visibility:hidden}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{background-color:var(--rdp-range_end-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes rdp-slide_in_right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes rdp-slide_out_left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translateX(0)}to{transform:translateX(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}