1mpacto-react-ui 1.0.0 → 1.0.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 (139) hide show
  1. package/dist/assets/_mixins.scss +43 -43
  2. package/dist/assets/core.css +1 -1
  3. package/dist/assets/fontfamily.css +1 -1
  4. package/dist/assets/icons/arrow-narrow-down.svg +3 -3
  5. package/dist/index.cjs +65 -65
  6. package/dist/index.mjs +2104 -2091
  7. package/dist/package.json.d.ts +131 -131
  8. package/dist/src/components/Table/Table.d.ts +1 -1
  9. package/dist/src/components/Table/Table.stories.d.ts +16 -2
  10. package/dist/src/hooks/useAsyncDebounce.d.ts +9 -0
  11. package/dist/src/hooks/useCombinedResizeObserver.d.ts +66 -0
  12. package/dist/src/hooks/useCountdown.d.ts +61 -0
  13. package/dist/src/hooks/useDeepCompareEffect.d.ts +13 -0
  14. package/dist/src/hooks/useElementOrWindowMediaQuery.d.ts +9 -0
  15. package/dist/src/hooks/useEventListener.d.ts +27 -0
  16. package/dist/src/hooks/useMasonry.d.ts +79 -0
  17. package/dist/src/hooks/useMergeRefs.d.ts +26 -0
  18. package/dist/src/hooks/useOtpInput.d.ts +157 -0
  19. package/dist/src/hooks/useStateRef.d.ts +8 -0
  20. package/dist/src/interfaces/components/Alert/index.d.ts +9 -1
  21. package/dist/src/interfaces/components/Badges/index.d.ts +28 -0
  22. package/dist/src/interfaces/components/Breadcrumbs/index.d.ts +79 -0
  23. package/dist/src/interfaces/components/Button/index.d.ts +44 -0
  24. package/dist/src/interfaces/components/ButtonIcon/index.d.ts +36 -0
  25. package/dist/src/interfaces/components/ButtonPopover/index.d.ts +78 -0
  26. package/dist/src/interfaces/components/Calendar/index.d.ts +364 -0
  27. package/dist/src/interfaces/components/Chart/index.d.ts +460 -0
  28. package/dist/src/interfaces/components/Checkbox/index.d.ts +12 -0
  29. package/dist/src/interfaces/components/Chips/index.d.ts +36 -0
  30. package/dist/src/interfaces/components/Collapse/index.d.ts +60 -0
  31. package/dist/src/interfaces/components/DatePicker/index.d.ts +274 -0
  32. package/dist/src/interfaces/components/ErrorMessage/index.d.ts +16 -0
  33. package/dist/src/interfaces/components/FilterContainer/index.d.ts +102 -0
  34. package/dist/src/interfaces/components/Input/index.d.ts +180 -0
  35. package/dist/src/interfaces/components/Modal/index.d.ts +45 -0
  36. package/dist/src/interfaces/components/NumberFormat/index.d.ts +25 -0
  37. package/dist/src/interfaces/components/Pagination/index.d.ts +81 -0
  38. package/dist/src/interfaces/components/Popover/index.d.ts +95 -0
  39. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckbox.d.ts +56 -0
  40. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckboxLabel.d.ts +44 -0
  41. package/dist/src/interfaces/components/SelectDropdownContainer/index.d.ts +195 -1
  42. package/dist/src/interfaces/components/Sidebar/index.d.ts +226 -0
  43. package/dist/src/interfaces/components/Step/index.d.ts +153 -0
  44. package/dist/src/interfaces/components/Switch/index.d.ts +53 -0
  45. package/dist/src/interfaces/components/Table/index.d.ts +386 -1
  46. package/dist/src/interfaces/components/Tabs/index.d.ts +126 -0
  47. package/dist/src/interfaces/components/TextEditor/index.d.ts +12 -0
  48. package/dist/src/interfaces/components/Textarea/index.d.ts +156 -0
  49. package/dist/src/interfaces/components/TimeRange/index.d.ts +100 -0
  50. package/dist/src/interfaces/components/Timeline/index.d.ts +36 -0
  51. package/dist/src/interfaces/components/Tooltip/index.d.ts +56 -0
  52. package/dist/src/interfaces/components/TruncateComponent/index.d.ts +34 -0
  53. package/dist/src/interfaces/components/UploadFile/index.d.ts +184 -1
  54. package/dist/src/interfaces/components/Virtualization/ListVirtualization.d.ts +138 -0
  55. package/dist/src/interfaces/components/Virtualization/TableVirtualization.d.ts +143 -0
  56. package/dist/tinymce/CHANGELOG.md +3785 -3785
  57. package/dist/tinymce/js/tinymce/langs/README.md +3 -3
  58. package/dist/tinymce/js/tinymce/license.md +6 -6
  59. package/dist/tinymce/js/tinymce/notices.txt +21 -21
  60. package/dist/tinymce/js/tinymce/plugins/codesample/plugin.min.js +8 -8
  61. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ar.js +92 -92
  62. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +92 -92
  63. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ca.js +92 -92
  64. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/cs.js +92 -92
  65. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/da.js +92 -92
  66. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/de.js +92 -92
  67. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/el.js +92 -92
  68. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/en.js +92 -92
  69. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/es.js +92 -92
  70. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/eu.js +92 -92
  71. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fa.js +92 -92
  72. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fi.js +92 -92
  73. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +92 -92
  74. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/he_IL.js +92 -92
  75. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hi.js +92 -92
  76. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hr.js +92 -92
  77. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +92 -92
  78. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/id.js +92 -92
  79. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/it.js +92 -92
  80. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ja.js +92 -92
  81. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/kk.js +92 -92
  82. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +92 -92
  83. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ms.js +92 -92
  84. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +92 -92
  85. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nl.js +92 -92
  86. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pl.js +92 -92
  87. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +92 -92
  88. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +92 -92
  89. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ro.js +92 -92
  90. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ru.js +92 -92
  91. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sk.js +92 -92
  92. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +92 -92
  93. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +92 -92
  94. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/th_TH.js +92 -92
  95. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/tr.js +92 -92
  96. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/uk.js +92 -92
  97. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/vi.js +92 -92
  98. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +86 -86
  99. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +92 -92
  100. package/dist/tinymce/js/tinymce/skins/content/dark/content.js +9 -9
  101. package/dist/tinymce/js/tinymce/skins/content/dark/content.min.css +10 -10
  102. package/dist/tinymce/js/tinymce/skins/content/default/content.js +9 -9
  103. package/dist/tinymce/js/tinymce/skins/content/default/content.min.css +10 -10
  104. package/dist/tinymce/js/tinymce/skins/content/document/content.js +9 -9
  105. package/dist/tinymce/js/tinymce/skins/content/document/content.min.css +10 -10
  106. package/dist/tinymce/js/tinymce/skins/content/tinymce-5/content.js +9 -9
  107. package/dist/tinymce/js/tinymce/skins/content/tinymce-5/content.min.css +10 -10
  108. package/dist/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.js +9 -9
  109. package/dist/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.min.css +10 -10
  110. package/dist/tinymce/js/tinymce/skins/content/writer/content.js +9 -9
  111. package/dist/tinymce/js/tinymce/skins/content/writer/content.min.css +10 -10
  112. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.inline.js +9 -9
  113. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.inline.min.css +10 -10
  114. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.js +9 -9
  115. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.min.css +10 -10
  116. package/dist/tinymce/js/tinymce/skins/ui/oxide/skin.min.css +1 -1
  117. package/dist/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -1
  118. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.js +9 -9
  119. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.min.css +10 -10
  120. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.js +9 -9
  121. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.min.css +10 -10
  122. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  123. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
  124. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.js +9 -9
  125. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.min.css +10 -10
  126. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.js +9 -9
  127. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.min.css +10 -10
  128. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  129. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -1
  130. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.js +9 -9
  131. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +10 -10
  132. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.js +9 -9
  133. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.min.css +10 -10
  134. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  135. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -1
  136. package/dist/tinymce/js/tinymce/tinymce.d.ts +3350 -3350
  137. package/dist/tinymce/js/tinymce/tinymce.min.js +10 -10
  138. package/dist/types-external/table.d.ts +15 -15
  139. package/package.json +131 -131
@@ -2,52 +2,235 @@ import { default as React } from 'react';
2
2
  import { IInputReguler } from '../Input';
3
3
  import { IButton } from '../Button';
4
4
 
5
+ /**
6
+ * [ID] : Interface untuk komponen UploadFile.
7
+ * [EN] : Interface for UploadFile component.
8
+ */
5
9
  export interface IUploadFile {
6
- id?: string;
10
+ /**
11
+ * [ID] : Handler perubahan file.
12
+ * [EN] : File change handler.
13
+ * @param v - [ID] : File yang dipilih (opsional). [EN] : Selected file (optional).
14
+ */
7
15
  onChange: (v?: File | null) => void;
16
+ /**
17
+ * [ID] : Daftar tipe file yang valid (opsional).
18
+ * [EN] : List of valid file types (optional).
19
+ */
8
20
  validateFile?: string[];
21
+ /**
22
+ * [ID] : Jumlah file maksimum (opsional).
23
+ * [EN] : Maximum number of files (optional).
24
+ */
9
25
  maxFile?: number;
26
+ /**
27
+ * [ID] : Ukuran file maksimum (opsional).
28
+ * [EN] : Maximum file size (optional).
29
+ */
10
30
  maxSize?: number;
31
+ /**
32
+ * [ID] : Nama file.
33
+ * [EN] : File name.
34
+ */
11
35
  fileName: string;
36
+ /**
37
+ * [ID] : Label upload (opsional).
38
+ * [EN] : Upload label (optional).
39
+ */
12
40
  label?: string;
41
+ /**
42
+ * [ID] : Pesan error (opsional).
43
+ * [EN] : Error message (optional).
44
+ */
13
45
  error?: string | undefined;
46
+ /**
47
+ * [ID] : Properti input reguler (opsional).
48
+ * [EN] : Regular input properties (optional).
49
+ */
14
50
  inputProps?: IInputReguler;
51
+ /**
52
+ * [ID] : Prioritas error (internal/eksternal) (opsional).
53
+ * [EN] : Error priority (internal/external) (optional).
54
+ */
15
55
  priorityError?: 'internal' | 'external';
56
+ /**
57
+ * [ID] : Handler event error (opsional).
58
+ * [EN] : Error event handler (optional).
59
+ * @param message - [ID] : Pesan error. [EN] : Error message.
60
+ */
16
61
  eventError?: (message: string) => void;
17
62
  }
63
+ /**
64
+ * [ID] : Interface untuk komponen UploadImage.
65
+ * [EN] : Interface for UploadImage component.
66
+ */
18
67
  export interface IUploadImage {
68
+ /**
69
+ * [ID] : Handler perubahan gambar.
70
+ * [EN] : Image change handler.
71
+ * @param v - [ID] : File gambar yang dipilih (opsional). [EN] : Selected image file (optional).
72
+ */
19
73
  onChange: (v?: File | null) => void;
74
+ /**
75
+ * [ID] : URL nilai gambar (opsional).
76
+ * [EN] : Image value URL (optional).
77
+ */
20
78
  valueUrl?: string;
79
+ /**
80
+ * [ID] : Daftar tipe file yang valid (opsional).
81
+ * [EN] : List of valid file types (optional).
82
+ */
21
83
  validateFile?: string[];
84
+ /**
85
+ * [ID] : Deskripsi validasi file (opsional).
86
+ * [EN] : File validation description (optional).
87
+ */
22
88
  validateFileDesc?: string;
89
+ /**
90
+ * [ID] : Ukuran file maksimum (opsional).
91
+ * [EN] : Maximum file size (optional).
92
+ */
23
93
  maxSize?: number;
94
+ /**
95
+ * [ID] : Ikon (opsional).
96
+ * [EN] : Icon (optional).
97
+ */
24
98
  icon?: React.ReactNode;
99
+ /**
100
+ * [ID] : Deskripsi (opsional).
101
+ * [EN] : Description (optional).
102
+ */
25
103
  desc?: string | React.ReactNode | React.ReactNode[] | (() => React.ReactNode) | (() => React.ReactNode[]);
104
+ /**
105
+ * [ID] : Nama kelas CSS kontainer (opsional).
106
+ * [EN] : Container CSS class name (optional).
107
+ */
26
108
  classNameContainer?: string | undefined;
109
+ /**
110
+ * [ID] : Nama kelas CSS gambar (opsional).
111
+ * [EN] : Image CSS class name (optional).
112
+ */
27
113
  classNameImage?: string | undefined;
114
+ /**
115
+ * [ID] : Nama kelas CSS aksi (opsional).
116
+ * [EN] : Action CSS class name (optional).
117
+ */
28
118
  classNameAction?: string | undefined;
119
+ /**
120
+ * [ID] : ID elemen (opsional).
121
+ * [EN] : Element ID (optional).
122
+ */
29
123
  id?: string;
30
124
  }
125
+ /**
126
+ * [ID] : Interface untuk komponen UploadMultipleFile.
127
+ * [EN] : Interface for UploadMultipleFile component.
128
+ */
31
129
  export interface IUploadMultipleFile {
130
+ /**
131
+ * [ID] : Handler perubahan file (opsional).
132
+ * [EN] : File change handler (optional).
133
+ * @param v - [ID] : Daftar file yang dipilih (opsional). [EN] : Selected file list (optional).
134
+ */
32
135
  onChange?: (v?: File[] | null) => void;
136
+ /**
137
+ * [ID] : Nama kelas CSS kontainer (opsional).
138
+ * [EN] : Container CSS class name (optional).
139
+ */
33
140
  classNameContainer?: string;
141
+ /**
142
+ * [ID] : Nama kelas CSS tombol (opsional).
143
+ * [EN] : Button CSS class name (optional).
144
+ */
34
145
  classNameButton?: string;
146
+ /**
147
+ * [ID] : Properti tombol (opsional).
148
+ * [EN] : Button properties (optional).
149
+ */
35
150
  buttonProps?: Omit<IButton, 'children'>;
151
+ /**
152
+ * [ID] : Teks upload (opsional).
153
+ * [EN] : Upload text (optional).
154
+ */
36
155
  textUpload?: string;
156
+ /**
157
+ * [ID] : Daftar tipe file yang valid (opsional).
158
+ * [EN] : List of valid file types (optional).
159
+ */
37
160
  validateFile?: string[];
161
+ /**
162
+ * [ID] : Ukuran file maksimum (opsional).
163
+ * [EN] : Maximum file size (optional).
164
+ */
38
165
  maxSize?: number;
166
+ /**
167
+ * [ID] : Jumlah file maksimum (opsional).
168
+ * [EN] : Maximum number of files (optional).
169
+ */
39
170
  maxFile?: number;
171
+ /**
172
+ * [ID] : Nilai file (opsional).
173
+ * [EN] : File value (optional).
174
+ */
40
175
  value?: IUploadMultipleFileValue[];
176
+ /**
177
+ * [ID] : Fungsi render elemen hapus (opsional).
178
+ * [EN] : Remove element render function (optional).
179
+ * @param value - [ID] : Nilai file. [EN] : File value.
180
+ * @returns [ID] : Node React. [EN] : React Node.
181
+ */
41
182
  removeElement?: (value: IUploadMultipleFileValue) => React.ReactNode | React.ReactNode[];
183
+ /**
184
+ * [ID] : Pesan error (opsional).
185
+ * [EN] : Error message (optional).
186
+ */
42
187
  error?: string;
188
+ /**
189
+ * [ID] : Handler download (opsional).
190
+ * [EN] : Download handler (optional).
191
+ * @param value - [ID] : Nilai file. [EN] : File value.
192
+ */
43
193
  handlerDownload?: (value: IUploadMultipleFileValue) => void;
194
+ /**
195
+ * [ID] : Prioritas error (internal/eksternal) (opsional).
196
+ * [EN] : Error priority (internal/external) (optional).
197
+ */
44
198
  priorityError?: 'internal' | 'external';
199
+ /**
200
+ * [ID] : Handler event error (opsional).
201
+ * [EN] : Error event handler (optional).
202
+ * @param message - [ID] : Pesan error. [EN] : Error message.
203
+ */
45
204
  eventError?: (message: string) => void;
205
+ /**
206
+ * [ID] : Lokasi elemen hapus (opsional).
207
+ * [EN] : Remove element location (optional).
208
+ */
46
209
  locationRemoveElement?: 'left' | 'right';
47
210
  }
211
+ /**
212
+ * [ID] : Interface untuk nilai UploadMultipleFile.
213
+ * [EN] : Interface for UploadMultipleFile value.
214
+ */
48
215
  export interface IUploadMultipleFileValue {
216
+ /**
217
+ * [ID] : Nama file.
218
+ * [EN] : File name.
219
+ */
49
220
  name?: string;
221
+ /**
222
+ * [ID] : Nama file (alternatif).
223
+ * [EN] : File name (alternative).
224
+ */
50
225
  fileName?: string;
226
+ /**
227
+ * [ID] : Nama asli file.
228
+ * [EN] : Original file name.
229
+ */
51
230
  originalName?: string;
231
+ /**
232
+ * [ID] : Properti dinamis lainnya.
233
+ * [EN] : Other dynamic properties.
234
+ */
52
235
  [key: string]: unknown;
53
236
  }
@@ -1,37 +1,175 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { Components } from 'react-virtuoso';
3
3
 
4
+ /**
5
+ * [ID] : Interface untuk gaya tinggi.
6
+ * [EN] : Interface for height style.
7
+ */
4
8
  export interface IStyleHeight {
9
+ /**
10
+ * [ID] : Tinggi.
11
+ * [EN] : Height.
12
+ */
5
13
  height?: number;
6
14
  }
15
+ /**
16
+ * [ID] : Interface untuk properti pembungkus.
17
+ * [EN] : Interface for wrapper properties.
18
+ */
7
19
  export interface IWrapperProps {
20
+ /**
21
+ * [ID] : Fungsi render anak.
22
+ * [EN] : Child render function.
23
+ * @param props - [ID] : Properti. [EN] : Properties.
24
+ * @returns [ID] : Node React. [EN] : React Node.
25
+ */
8
26
  children: (props: Record<string, unknown>) => ReactNode;
27
+ /**
28
+ * [ID] : Properti dinamis lainnya.
29
+ * [EN] : Other dynamic properties.
30
+ */
9
31
  [key: string]: unknown;
10
32
  }
33
+ /**
34
+ * [ID] : Interface untuk properti item.
35
+ * [EN] : Interface for item properties.
36
+ */
11
37
  export interface IItemProps {
38
+ /**
39
+ * [ID] : Konten anak.
40
+ * [EN] : Child content.
41
+ */
12
42
  children: ReactNode;
43
+ /**
44
+ * [ID] : Properti dinamis lainnya.
45
+ * [EN] : Other dynamic properties.
46
+ */
13
47
  [key: string]: unknown;
14
48
  }
49
+ /**
50
+ * [ID] : Interface untuk komponen ListVirtualization.
51
+ * [EN] : Interface for ListVirtualization component.
52
+ */
15
53
  export interface IListVirtualization {
54
+ /**
55
+ * [ID] : Nama kelas CSS kontainer (opsional).
56
+ * [EN] : Container CSS class name (optional).
57
+ */
16
58
  classNameContainer?: string;
59
+ /**
60
+ * [ID] : Fungsi untuk menghitung kunci item (opsional).
61
+ * [EN] : Function to compute item key (optional).
62
+ * @param index - [ID] : Indeks item. [EN] : Item index.
63
+ * @param item - [ID] : Data item. [EN] : Item data.
64
+ * @param context - [ID] : Konteks. [EN] : Context.
65
+ * @returns [ID] : Kunci item. [EN] : Item key.
66
+ */
17
67
  computeItemKey?: (index: number, item: unknown, context: unknown) => string;
68
+ /**
69
+ * [ID] : Fungsi untuk mendapatkan ukuran item (opsional).
70
+ * [EN] : Function to get item size (optional).
71
+ * @param el - [ID] : Elemen HTML. [EN] : HTML element.
72
+ * @returns [ID] : Ukuran item. [EN] : Item size.
73
+ */
18
74
  itemSize?: (el: HTMLElement) => number;
75
+ /**
76
+ * [ID] : Total jumlah item (opsional).
77
+ * [EN] : Total item count (optional).
78
+ */
19
79
  totalCount?: number;
80
+ /**
81
+ * [ID] : Tipe tinggi (min-max atau container).
82
+ * [EN] : Height type (min-max or container).
83
+ */
20
84
  typeHight: 'min-max' | 'container';
85
+ /**
86
+ * [ID] : Tinggi minimum item (opsional).
87
+ * [EN] : Minimum item height (optional).
88
+ */
21
89
  minHeightItem?: number;
90
+ /**
91
+ * [ID] : Tinggi maksimum tabel (opsional).
92
+ * [EN] : Maximum table height (optional).
93
+ */
22
94
  maxHeightTable?: number;
95
+ /**
96
+ * [ID] : Panjang minimum item (opsional).
97
+ * [EN] : Minimum item length (optional).
98
+ */
23
99
  minLengthItem?: number;
100
+ /**
101
+ * [ID] : Fungsi render konten item.
102
+ * [EN] : Item content render function.
103
+ * @param Wrapper - [ID] : Komponen pembungkus. [EN] : Wrapper component.
104
+ * @param index - [ID] : Indeks item. [EN] : Item index.
105
+ * @param data - [ID] : Data item. [EN] : Item data.
106
+ * @param context - [ID] : Konteks. [EN] : Context.
107
+ * @returns [ID] : Node React. [EN] : React Node.
108
+ */
24
109
  itemContent: (Wrapper: React.ComponentType<IWrapperProps>, index: number, data: unknown, context: unknown) => ReactNode;
110
+ /**
111
+ * [ID] : Tipe perhitungan ukuran item (opsional).
112
+ * [EN] : Item size calculation type (optional).
113
+ */
25
114
  typeCalculateItemSize?: 'auto' | 'manual';
115
+ /**
116
+ * [ID] : Nama ukuran item (opsional).
117
+ * [EN] : Item size names (optional).
118
+ */
26
119
  itemSizeNames?: string[];
120
+ /**
121
+ * [ID] : Fungsi overscan (opsional).
122
+ * [EN] : Overscan function (optional).
123
+ * @param value - [ID] : Nilai input. [EN] : Input value.
124
+ * @returns [ID] : Nilai overscan. [EN] : Overscan value.
125
+ */
27
126
  overscan?: (value?: number) => number;
127
+ /**
128
+ * [ID] : Komponen kustom (opsional).
129
+ * [EN] : Custom components (optional).
130
+ */
28
131
  component?: Components;
132
+ /**
133
+ * [ID] : ID kontainer (opsional).
134
+ * [EN] : Container ID (optional).
135
+ */
29
136
  idContainer?: string;
137
+ /**
138
+ * [ID] : Pemicu perhitungan ulang kontainer (opsional).
139
+ * [EN] : Trigger for container recalculation (optional).
140
+ */
30
141
  triggerCalCulateContainer?: number | string | boolean | object | Date;
142
+ /**
143
+ * [ID] : Akumulasi tinggi (opsional).
144
+ * [EN] : Accumulation height (optional).
145
+ */
31
146
  accumulationHeight?: number;
147
+ /**
148
+ * [ID] : Penundaan perhitungan tinggi (opsional).
149
+ * [EN] : Height calculation delay (optional).
150
+ */
32
151
  delayTriggerCalculateHeight?: number;
152
+ /**
153
+ * [ID] : Fungsi penambahan viewport (opsional).
154
+ * [EN] : Increase viewport function (optional).
155
+ * @param value - [ID] : Nilai input. [EN] : Input value.
156
+ * @returns [ID] : Nilai penambahan. [EN] : Increase value.
157
+ */
33
158
  increaseViewportBy?: (value?: number) => number;
159
+ /**
160
+ * [ID] : Konteks (opsional).
161
+ * [EN] : Context (optional).
162
+ */
34
163
  context?: object;
164
+ /**
165
+ * [ID] : Handler saat mencapai akhir (opsional).
166
+ * [EN] : End reached handler (optional).
167
+ * @param value - [ID] : Nilai. [EN] : Value.
168
+ */
35
169
  endReached?: (value: number) => void;
170
+ /**
171
+ * [ID] : Penambahan total jumlah (opsional).
172
+ * [EN] : Increase total count (optional).
173
+ */
36
174
  increaseTotalCount?: number;
37
175
  }
@@ -1,38 +1,181 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TableComponents } from 'react-virtuoso';
3
3
 
4
+ /**
5
+ * [ID] : Interface untuk gaya tinggi.
6
+ * [EN] : Interface for height style.
7
+ */
4
8
  export interface IStyleHeight {
9
+ /**
10
+ * [ID] : Tinggi.
11
+ * [EN] : Height.
12
+ */
5
13
  height?: number;
6
14
  }
15
+ /**
16
+ * [ID] : Interface untuk properti pembungkus.
17
+ * [EN] : Interface for wrapper properties.
18
+ */
7
19
  export interface IWrapperProps {
20
+ /**
21
+ * [ID] : Fungsi render anak.
22
+ * [EN] : Child render function.
23
+ * @param props - [ID] : Properti. [EN] : Properties.
24
+ * @returns [ID] : Node React. [EN] : React Node.
25
+ */
8
26
  children: (props: Record<string, unknown>) => ReactNode;
27
+ /**
28
+ * [ID] : Properti dinamis lainnya.
29
+ * [EN] : Other dynamic properties.
30
+ */
9
31
  [key: string]: unknown;
10
32
  }
33
+ /**
34
+ * [ID] : Interface untuk properti baris tabel.
35
+ * [EN] : Interface for table row properties.
36
+ */
11
37
  export interface ITableRowProps {
38
+ /**
39
+ * [ID] : Konten anak.
40
+ * [EN] : Child content.
41
+ */
12
42
  children: ReactNode;
43
+ /**
44
+ * [ID] : Properti dinamis lainnya.
45
+ * [EN] : Other dynamic properties.
46
+ */
13
47
  [key: string]: unknown;
14
48
  }
49
+ /**
50
+ * [ID] : Interface untuk komponen TableVirtualization.
51
+ * [EN] : Interface for TableVirtualization component.
52
+ */
15
53
  export interface ITableVirtualization {
54
+ /**
55
+ * [ID] : Nama kelas CSS kontainer (opsional).
56
+ * [EN] : Container CSS class name (optional).
57
+ */
16
58
  classNameContainer?: string;
59
+ /**
60
+ * [ID] : Fungsi untuk menghitung kunci item (opsional).
61
+ * [EN] : Function to compute item key (optional).
62
+ * @param index - [ID] : Indeks item. [EN] : Item index.
63
+ * @param item - [ID] : Data item. [EN] : Item data.
64
+ * @param context - [ID] : Konteks. [EN] : Context.
65
+ * @returns [ID] : Kunci item. [EN] : Item key.
66
+ */
17
67
  computeItemKey?: (index: number, item: unknown, context: unknown) => string;
68
+ /**
69
+ * [ID] : Fungsi untuk mendapatkan ukuran item (opsional).
70
+ * [EN] : Function to get item size (optional).
71
+ * @param el - [ID] : Elemen HTML. [EN] : HTML element.
72
+ * @returns [ID] : Ukuran item. [EN] : Item size.
73
+ */
18
74
  itemSize?: (el: HTMLElement) => number;
75
+ /**
76
+ * [ID] : Total jumlah item (opsional).
77
+ * [EN] : Total item count (optional).
78
+ */
19
79
  totalCount?: number;
80
+ /**
81
+ * [ID] : Tipe tinggi (min-max atau container).
82
+ * [EN] : Height type (min-max or container).
83
+ */
20
84
  typeHight: 'min-max' | 'container';
85
+ /**
86
+ * [ID] : Tinggi minimum item (opsional).
87
+ * [EN] : Minimum item height (optional).
88
+ */
21
89
  minHeightItem?: number;
90
+ /**
91
+ * [ID] : Tinggi maksimum tabel (opsional).
92
+ * [EN] : Maximum table height (optional).
93
+ */
22
94
  maxHeightTable?: number;
95
+ /**
96
+ * [ID] : Panjang minimum item (opsional).
97
+ * [EN] : Minimum item length (optional).
98
+ */
23
99
  minLengthItem?: number;
100
+ /**
101
+ * [ID] : Konten header tetap.
102
+ * [EN] : Fixed header content.
103
+ * @returns [ID] : Node React. [EN] : React Node.
104
+ */
24
105
  fixedHeaderContent: (() => ReactNode) | (() => ReactNode[]);
106
+ /**
107
+ * [ID] : Fungsi render konten item.
108
+ * [EN] : Item content render function.
109
+ * @param Wrapper - [ID] : Komponen pembungkus. [EN] : Wrapper component.
110
+ * @param index - [ID] : Indeks item. [EN] : Item index.
111
+ * @param data - [ID] : Data item. [EN] : Item data.
112
+ * @param context - [ID] : Konteks. [EN] : Context.
113
+ * @returns [ID] : Node React. [EN] : React Node.
114
+ */
25
115
  itemContent: (Wrapper: React.ComponentType<IWrapperProps>, index: number, data: unknown, context: unknown) => ReactNode;
116
+ /**
117
+ * [ID] : Tipe perhitungan ukuran item (opsional).
118
+ * [EN] : Item size calculation type (optional).
119
+ */
26
120
  typeCalculateItemSize?: 'auto' | 'manual';
121
+ /**
122
+ * [ID] : Nama ukuran item (opsional).
123
+ * [EN] : Item size names (optional).
124
+ */
27
125
  itemSizeNames?: string[];
126
+ /**
127
+ * [ID] : Fungsi overscan (opsional).
128
+ * [EN] : Overscan function (optional).
129
+ * @param value - [ID] : Nilai input. [EN] : Input value.
130
+ * @returns [ID] : Nilai overscan. [EN] : Overscan value.
131
+ */
28
132
  overscan?: (value?: number) => number;
133
+ /**
134
+ * [ID] : Komponen tabel kustom (opsional).
135
+ * [EN] : Custom table components (optional).
136
+ */
29
137
  component?: TableComponents;
138
+ /**
139
+ * [ID] : ID kontainer (opsional).
140
+ * [EN] : Container ID (optional).
141
+ */
30
142
  idContainer?: string;
143
+ /**
144
+ * [ID] : Pemicu perhitungan ulang kontainer (opsional).
145
+ * [EN] : Trigger for container recalculation (optional).
146
+ */
31
147
  triggerCalCulateContainer?: number | string | boolean | object | Date;
148
+ /**
149
+ * [ID] : Akumulasi tinggi (opsional).
150
+ * [EN] : Accumulation height (optional).
151
+ */
32
152
  accumulationHeight?: number;
153
+ /**
154
+ * [ID] : Penundaan perhitungan tinggi (opsional).
155
+ * [EN] : Height calculation delay (optional).
156
+ */
33
157
  delayTriggerCalculateHeight?: number;
158
+ /**
159
+ * [ID] : Fungsi penambahan viewport (opsional).
160
+ * [EN] : Increase viewport function (optional).
161
+ * @param value - [ID] : Nilai input. [EN] : Input value.
162
+ * @returns [ID] : Nilai penambahan. [EN] : Increase value.
163
+ */
34
164
  increaseViewportBy?: (value?: number) => number;
165
+ /**
166
+ * [ID] : Konteks (opsional).
167
+ * [EN] : Context (optional).
168
+ */
35
169
  context?: object;
170
+ /**
171
+ * [ID] : Handler saat mencapai akhir (opsional).
172
+ * [EN] : End reached handler (optional).
173
+ * @param value - [ID] : Nilai. [EN] : Value.
174
+ */
36
175
  endReached?: (value: number) => void;
176
+ /**
177
+ * [ID] : Penambahan total jumlah (opsional).
178
+ * [EN] : Increase total count (optional).
179
+ */
37
180
  increaseTotalCount?: number;
38
181
  }