ar-design 0.2.61 → 0.2.63

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 (36) hide show
  1. package/dist/components/data-display/card/IProps.d.ts +20 -3
  2. package/dist/components/data-display/chip/IProps.d.ts +11 -2
  3. package/dist/components/data-display/dnd/IProps.d.ts +32 -0
  4. package/dist/components/data-display/grid-system/column/IProps.d.ts +40 -0
  5. package/dist/components/data-display/grid-system/index.d.ts +1 -1
  6. package/dist/components/data-display/grid-system/row/IProps.d.ts +4 -0
  7. package/dist/components/data-display/grid-system/row/Row.d.ts +2 -2
  8. package/dist/components/data-display/table/IProps.d.ts +113 -0
  9. package/dist/components/data-display/tabs/IProps.d.ts +43 -4
  10. package/dist/components/data-display/typography/paragraph/IProps.d.ts +26 -2
  11. package/dist/components/data-display/typography/title/IProps.d.ts +48 -2
  12. package/dist/components/feedback/alert/IProps.d.ts +27 -2
  13. package/dist/components/feedback/modal/IProps.d.ts +29 -5
  14. package/dist/components/feedback/notification/IProps.d.ts +63 -2
  15. package/dist/components/feedback/popover/IProps.d.ts +68 -0
  16. package/dist/components/feedback/progress/IProps.d.ts +30 -0
  17. package/dist/components/feedback/tooltip/IProps.d.ts +25 -0
  18. package/dist/components/form/button/IProps.d.ts +55 -2
  19. package/dist/components/form/checkbox/IProps.d.ts +13 -3
  20. package/dist/components/form/date-picker/Props.d.ts +36 -3
  21. package/dist/components/form/input/IProps.d.ts +31 -4
  22. package/dist/components/form/input-tag/IProps.d.ts +2 -3
  23. package/dist/components/form/radio/IProps.d.ts +24 -3
  24. package/dist/components/form/select/Props.d.ts +118 -7
  25. package/dist/components/form/switch/IProps.d.ts +13 -2
  26. package/dist/components/form/text-editor/IProps.d.ts +85 -4
  27. package/dist/components/form/upload/Props.d.ts +96 -3
  28. package/dist/components/navigation/menu/IProps.d.ts +25 -0
  29. package/dist/components/navigation/pagination/IProps.d.ts +10 -3
  30. package/dist/components/navigation/steps/IProps.d.ts +12 -4
  31. package/dist/libs/types/IGlobalProps.d.ts +91 -45
  32. package/package.json +4 -12
  33. package/dist/components/data-display/grid-system/row/Types.d.ts +0 -4
  34. package/dist/components/data-display/table/_index.d.ts +0 -13
  35. package/dist/components/data-display/table/_index.js +0 -411
  36. /package/dist/components/data-display/grid-system/row/{Types.js → IProps.js} +0 -0
@@ -1,19 +1,112 @@
1
1
  import { AllowedTypes } from "../../../libs/types";
2
- import { IValidation } from "../../../libs/types/IGlobalProps";
2
+ import { IDisabled, IValidation } from "../../../libs/types/IGlobalProps";
3
3
  interface IMultiple {
4
+ /**
5
+ * Yüklenen dosyalar dizisi.
6
+ *
7
+ * Örneğin;
8
+ *
9
+ * ```jsx
10
+ * <Upload
11
+ * file={[file1, file2]}
12
+ * multiple={true}
13
+ * onChange={(formData, files, isInvalid) => {}}
14
+ * />
15
+ * ```
16
+ */
4
17
  file: File[];
18
+ /**
19
+ * Dosya seçimi veya değişikliğinde tetiklenen fonksiyon.
20
+ *
21
+ * @param formData - Dosyalarla oluşturulmuş FormData nesnesi.
22
+ * @param files - Seçilen dosyalar dizisi.
23
+ * @param isInvalidFileExist - Geçersiz dosya olup olmadığını belirtir.
24
+ *
25
+ * Örneğin;
26
+ *
27
+ * ```jsx
28
+ * <Upload
29
+ * onChange={(formData, files, isInvalid) => {
30
+ * console.log(files.length, isInvalid);
31
+ * }}
32
+ * />
33
+ * ```
34
+ */
5
35
  onChange: (formData: FormData, files: File[], isInvalidFileExist: boolean) => void;
36
+ /**
37
+ * Çoklu dosya seçiminin aktif olduğunu belirtir.
38
+ *
39
+ * Örneğin;
40
+ * ```jsx
41
+ * <Upload multiple={true} />
42
+ * ```
43
+ */
6
44
  multiple: true;
7
45
  }
8
46
  interface ISingle {
47
+ /**
48
+ * Yüklenen tek dosya veya undefined.
49
+ *
50
+ * Örneğin;
51
+ *
52
+ * ```jsx
53
+ * <Upload file={selectedFile} />
54
+ * ```
55
+ */
9
56
  file: File | undefined;
57
+ /**
58
+ * Dosya seçimi veya değişikliğinde tetiklenen fonksiyon.
59
+ *
60
+ * @param formData - Dosyayla oluşturulmuş FormData nesnesi veya undefined.
61
+ * @param files - Seçilen dosya veya null.
62
+ *
63
+ * Örneğin;
64
+ *
65
+ * ```jsx
66
+ * <Upload onChange={(formData, file) => console.log(file)} />
67
+ * ```
68
+ */
10
69
  onChange: (formData: FormData | undefined, files: File | null) => void;
70
+ /**
71
+ * Çoklu dosya seçiminin devre dışı olduğunu belirtir.
72
+ *
73
+ * Örneğin;
74
+ *
75
+ * ```jsx
76
+ * <Upload multiple={false} />
77
+ * ```
78
+ */
11
79
  multiple?: false;
12
80
  }
13
81
  type Props = {
82
+ /**
83
+ * Bileşen ile ilgili açıklayıcı veya gösterilecek metin.
84
+ *
85
+ * Örneğin;
86
+ *
87
+ * ```jsx
88
+ * <Upload text="Dosya yükle" />
89
+ * ```
90
+ */
14
91
  text: string;
92
+ /**
93
+ * Kabul edilen dosya türlerinin listesi.
94
+ *
95
+ * Örneğin;
96
+ * ```jsx
97
+ * <Upload allowedTypes={["image/png", "application/pdf"]} />
98
+ * ```
99
+ */
15
100
  allowedTypes?: AllowedTypes[];
101
+ /**
102
+ * Kabul edilen maksimum dosya boyutu (byte cinsinden).
103
+ *
104
+ * Örneğin;
105
+ *
106
+ * ```jsx
107
+ * <Upload maxSize={1} /> // 1 MB
108
+ * ```
109
+ */
16
110
  maxSize?: number;
17
- disabled?: boolean;
18
- } & (IMultiple | ISingle) & IValidation;
111
+ } & (IMultiple | ISingle) & IValidation & IDisabled;
19
112
  export default Props;
@@ -1,7 +1,32 @@
1
1
  import React from "react";
2
2
  import { MenuItemVariants, MenuProps } from "../../../libs/types";
3
3
  interface IProps extends React.HTMLAttributes<HTMLElement> {
4
+ /**
5
+ * Menüde gösterilecek öğeler listesi.
6
+ *
7
+ * Örneğin;
8
+ *
9
+ * ```jsx
10
+ * <Menu data={[
11
+ * { render: "Anasayfa", icon: SVGElement | HTMLImageElement },
12
+ * { render: <b>Hakkımızda</b>, type: "group", submenu: [{ render: "Ekibimiz" }] }
13
+ * ]} />
14
+ * ```
15
+ */
4
16
  data: MenuProps[];
17
+ /**
18
+ * Menü öğelerinin varyantı (stili).
19
+ *
20
+ * - `vertical`: Stil türünü belirtir ("filled" | "outlined" | "dashed" | "borderless").
21
+ * - `horizontal`: Bileşenin soluna içerik ekler (örneğin ₺, %, vb.).
22
+ * - `after`: Bileşenin sağına içerik ekler.
23
+ *
24
+ * Örneğin;
25
+ *
26
+ * ```jsx
27
+ * <Menu variant="vertical" />
28
+ * ```
29
+ */
5
30
  variant?: MenuItemVariants;
6
31
  }
7
32
  export default IProps;
@@ -1,12 +1,18 @@
1
- /**
2
- * Pagination component props
3
- */
4
1
  interface IProps {
5
2
  /**
6
3
  * Varsayılan olarak seçili olan sayfa numarası.
7
4
  * Eğer belirtilmezse, 1. sayfa varsayılan olarak kabul edilir.
5
+ *
6
+ * Örneğin;
7
+ *
8
+ * ```tsx
9
+ * <Pagination defaultCurrent={3} />
10
+ * ```
8
11
  */
9
12
  defaultCurrent?: number;
13
+ /**
14
+ * Şu anda aktif olan sayfa numarası.
15
+ */
10
16
  currentPage: number;
11
17
  /**
12
18
  * Toplam kayıt sayısı.
@@ -20,6 +26,7 @@ interface IProps {
20
26
  perPage?: number;
21
27
  /**
22
28
  * Sayfa değiştiğinde tetiklenen geri çağırma fonksiyonu.
29
+ *
23
30
  * @param currentPage - Kullanıcının seçtiği yeni sayfa numarası.
24
31
  */
25
32
  onChange: (currentPage: number) => void;
@@ -1,8 +1,5 @@
1
1
  import { StepProps, ValidationProperties } from "../../../libs/types";
2
2
  import { IChildren } from "../../../libs/types/IGlobalProps";
3
- /**
4
- * Stepper component props
5
- */
6
3
  interface IProps<TData extends object> extends IChildren {
7
4
  /**
8
5
  * Step'leri temsil eden dizisi.
@@ -15,10 +12,21 @@ interface IProps<TData extends object> extends IChildren {
15
12
  */
16
13
  onChange: (currentStep: number) => void;
17
14
  /**
18
- * ...
15
+ * Doğrulama için kullanılan veri nesnesi.
16
+ *
17
+ * `TData` tipi ile esnek şekilde tanımlanır.
19
18
  */
20
19
  validation?: {
20
+ /**
21
+ * Doğrulama yapılacak veri.
22
+ */
21
23
  data: TData;
24
+ /**
25
+ * Doğrulama kuralları dizisi.
26
+ *
27
+ * `ValidationProperties<TData>` tipiyle tanımlanır ve
28
+ * `data` üzerindeki alanlara uygulanacak doğrulama kurallarını içerir.
29
+ */
22
30
  rules: ValidationProperties<TData>[];
23
31
  };
24
32
  }
@@ -1,8 +1,29 @@
1
1
  import { Border, Icon, Sizes, Status, Variants } from ".";
2
- /**
3
- * Ortak olabilecek özellikler bu interface altına konumlandırıldı.
4
- */
5
- export interface IGlobalProps {
2
+ export interface IChildren {
3
+ /**
4
+ * Bileşenin içinde render edilecek içeriği belirtir.
5
+ * Bu içerik bir dize (string) veya bir React Elemanı olabilir.
6
+ *
7
+ * Örneğin;
8
+ * - Bir Dize: "Hello, World!"
9
+ * - Bir React Elemanı: <span>Hello, World!</span>
10
+ *
11
+ * ```jsx
12
+ * <Component>Hello, World!</Component>
13
+ *
14
+ * <Component>
15
+ * <span>Hello, World!</span>
16
+ * </Component>
17
+ *
18
+ * <Component>
19
+ * <span>Hello, World!</span>
20
+ * <span>Hello, World!</span>
21
+ * </Component>
22
+ * ```
23
+ */
24
+ children?: React.ReactNode;
25
+ }
26
+ export interface IVariant {
6
27
  /**
7
28
  * Bileşenin stil varyantını belirtir.
8
29
  *
@@ -20,6 +41,8 @@ export interface IGlobalProps {
20
41
  * ```
21
42
  */
22
43
  variant?: Variants;
44
+ }
45
+ export interface IStatus {
23
46
  /**
24
47
  * Bileşenin statü durumuna göre renk özelliğini belirtir.
25
48
  *
@@ -30,6 +53,31 @@ export interface IGlobalProps {
30
53
  * ```
31
54
  */
32
55
  status?: Status;
56
+ }
57
+ export interface IBorder {
58
+ /**
59
+ * Bileşenin çervesinde düzenleme yapılmasına olanak tanır.
60
+ * Kenarlığın stilini ve köşe yuvarlama derecesini tanımlamak için kullanılır.
61
+ *
62
+ * - `radius` (isteğe bağlı): Köşe yuvarlama derecesini belirtir.
63
+ * - `sm`: Küçük yuvarlama.
64
+ * - `lg`: Büyük yuvarlama.
65
+ * - `xl`: Ekstra büyük yuvarlama.
66
+ * - `xxl`: Çok büyük yuvarlama.
67
+ * - `pill`: Hap şeklinde yuvarlama.
68
+ * - `none`: Yuvarlama yok.
69
+ *
70
+ * Örneğin;
71
+ *
72
+ * ```jsx
73
+ * <Component border={{ radius: "sm" }} >
74
+ * Example
75
+ * </Component>
76
+ * ```
77
+ */
78
+ border?: Border;
79
+ }
80
+ export interface IIcon {
33
81
  /**
34
82
  * İkon eklemeyi sağlar.
35
83
  * İkonun kendisini, yönünü ve pozisyonunu tanımlamak için kullanılır.
@@ -54,27 +102,26 @@ export interface IGlobalProps {
54
102
  * ```
55
103
  */
56
104
  icon?: Icon;
105
+ }
106
+ export interface ISize {
57
107
  /**
58
- * Bileşenin çervesinde düzenleme yapılmasına olanak tanır.
59
- * Kenarlığın stilini ve köşe yuvarlama derecesini tanımlamak için kullanılır.
108
+ * Bileşenin boyutlarınu belirlemek için kullanılır.
60
109
  *
61
- * - `radius` (isteğe bağlı): Köşe yuvarlama derecesini belirtir.
62
- * - `sm`: Küçük yuvarlama.
63
- * - `lg`: Büyük yuvarlama.
64
- * - `xl`: Ekstra büyük yuvarlama.
65
- * - `xxl`: Çok büyük yuvarlama.
66
- * - `pill`: Hap şeklinde yuvarlama.
67
- * - `none`: Yuvarlama yok.
110
+ * - `large`: Büyük boyut.
111
+ * - `normal (Varsayılan)`: Normal boyut.
112
+ * - `small`: Küçük boyut.
68
113
  *
69
114
  * Örneğin;
70
115
  *
71
116
  * ```jsx
72
- * <Component border={{ radius: "sm" }} >
117
+ * <Component size="large" >
73
118
  * Example
74
119
  * </Component>
75
120
  * ```
76
121
  */
77
- border?: Border;
122
+ size?: Sizes;
123
+ }
124
+ export interface IUpperCase {
78
125
  /**
79
126
  * Bileşendeki metni büyük harflere dönüştürüp dönüştürmeyeceğini belirtir.
80
127
  * Boolean (true/false) değeri alır.
@@ -83,55 +130,54 @@ export interface IGlobalProps {
83
130
  * - `false`: Metin olduğu gibi, yani küçük/büyük harf karışımı şeklinde yazılır.
84
131
  *
85
132
  * Bu özellik, metnin stilini özelleştirmek için kullanılır ve isteğe bağlı şekilde çalışır.
133
+ *
134
+ * Örneğin;
135
+ *
136
+ * ```jsx
137
+ * <Component upperCase>
138
+ * Example
139
+ * </Component>
140
+ * ```
86
141
  */
87
142
  upperCase?: boolean;
88
- disabled?: boolean;
89
143
  }
90
- export interface IChildren {
144
+ export interface IValidation {
91
145
  /**
92
- * Bileşenin içinde render edilecek içeriği belirtir.
93
- * Bu içerik bir dize (string) veya bir React Elemanı olabilir.
146
+ * Bileşen için doğrulama (validation) mesajı tanımlamak amacıyla kullanılır.
147
+ *
148
+ * - `text`: Gösterilecek hata veya uyarı mesajı.
149
+ * - `scrollTo`: (İsteğe bağlı) true olarak ayarlanırsa, doğrulama mesajı varsa ilgili bileşene otomatik olarak kaydırma yapılır.
94
150
  *
95
151
  * Örneğin;
96
- * - Bir Dize: "Hello, World!"
97
- * - Bir React Elemanı: <span>Hello, World!</span>
98
152
  *
99
153
  * ```jsx
100
- * <Component>Hello, World!</Component>
101
- *
102
- * <Component>
103
- * <span>Hello, World!</span>
104
- * </Component>
105
- *
106
- * <Component>
107
- * <span>Hello, World!</span>
108
- * <span>Hello, World!</span>
109
- * </Component>
154
+ * <Component
155
+ * validation={{
156
+ * text: "Bu alan zorunludur.",
157
+ * scrollTo: true,
158
+ * }}
159
+ * />
110
160
  * ```
111
161
  */
112
- children?: React.ReactNode;
162
+ validation?: {
163
+ text: string | undefined;
164
+ scrollTo?: boolean;
165
+ };
113
166
  }
114
- export interface ISizes {
167
+ export interface IDisabled {
115
168
  /**
116
- * Bileşenin boyutlarınu belirlemek için kullanılır.
169
+ * Bileşenin pasif (devre dışı) olup olmadığını belirtmek için kullanılır.
117
170
  *
118
- * - `large`: Büyük boyut.
119
- * - `normal (Varsayılan)`: Normal boyut.
120
- * - `small`: Küçük boyut.
171
+ * - `true`: Bileşen devre dışı olur, kullanıcı etkileşimi engellenir.
172
+ * - `false` veya belirtilmemişse: Bileşen aktif olur.
121
173
  *
122
174
  * Örneğin;
123
175
  *
124
176
  * ```jsx
125
- * <Component size="large" >
177
+ * <Component disabled>
126
178
  * Example
127
179
  * </Component>
128
180
  * ```
129
181
  */
130
- size?: Sizes;
131
- }
132
- export interface IValidation {
133
- validation?: {
134
- text: string | undefined;
135
- scrollTo?: boolean;
136
- };
182
+ disabled?: boolean;
137
183
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ar-design",
3
- "version": "0.2.61",
3
+ "version": "0.2.63",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -19,17 +19,9 @@
19
19
  "dist/"
20
20
  ],
21
21
  "scripts": {
22
- "build": "npm run scripts && rm -rf dist/ && npm run build:post-mac && npm run build:esm",
23
- "build:post-mac": "npm run mkdir:esm && npm run copy:esm",
24
- "mkdir:esm": "mkdir -p dist/assets && mkdir -p dist/assets/css",
25
- "copy:esm": "cp -r ./src/assets dist/ && cp -r ./src/assets/css dist/assets/",
26
- "build:esm": "tsc",
27
- "mv:esm": "for ext in js ts; do mv ./dist/esm/*.$ext ./dist/; done",
28
- "mkdir:cjs": "mkdir -p dist/cjs/libs/styles",
29
- "copy:cjs": "cp -r ./src/libs/styles dist/cjs/libs/",
30
- "build:cjs": "tsc --module commonjs --outdir dist/cjs",
31
- "mv:cjs": "for ext in js ts; do mv ./dist/cjs/*.$ext ./dist/; done",
32
- "scripts": "node src/scripts/index.cjs"
22
+ "build": "npm run clean && tsc && npm run css-loader && cp -r ./src/assets dist/",
23
+ "css-loader": "node src/scripts/index.cjs",
24
+ "clean": "rm -rf dist/"
33
25
  },
34
26
  "repository": {
35
27
  "type": "git",
@@ -1,4 +0,0 @@
1
- export type Props = {
2
- children: React.ReactNode;
3
- direction?: "row";
4
- };
@@ -1,13 +0,0 @@
1
- import "../../../assets/css/components/data-display/table/styles.css";
2
- import IProps from "./IProps";
3
- import React, { ReactElement } from "react";
4
- declare const TableWithRef: <T>(props: IProps<T> & {
5
- ref?: React.ForwardedRef<HTMLTableElement>;
6
- }) => ReactElement;
7
- type TableCompoundComponents = typeof TableWithRef & {
8
- Actions: React.FC<{
9
- children: React.ReactElement | React.ReactElement[];
10
- }>;
11
- };
12
- declare const Table: TableCompoundComponents;
13
- export default Table;