1mpacto-react-ui 1.0.0 → 1.0.1

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 (137) 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 +63 -63
  6. package/dist/index.mjs +925 -927
  7. package/dist/package.json.d.ts +131 -131
  8. package/dist/src/hooks/useAsyncDebounce.d.ts +9 -0
  9. package/dist/src/hooks/useCombinedResizeObserver.d.ts +66 -0
  10. package/dist/src/hooks/useCountdown.d.ts +61 -0
  11. package/dist/src/hooks/useDeepCompareEffect.d.ts +13 -0
  12. package/dist/src/hooks/useElementOrWindowMediaQuery.d.ts +9 -0
  13. package/dist/src/hooks/useEventListener.d.ts +27 -0
  14. package/dist/src/hooks/useMasonry.d.ts +79 -0
  15. package/dist/src/hooks/useMergeRefs.d.ts +26 -0
  16. package/dist/src/hooks/useOtpInput.d.ts +157 -0
  17. package/dist/src/hooks/useStateRef.d.ts +8 -0
  18. package/dist/src/interfaces/components/Alert/index.d.ts +8 -0
  19. package/dist/src/interfaces/components/Badges/index.d.ts +28 -0
  20. package/dist/src/interfaces/components/Breadcrumbs/index.d.ts +79 -0
  21. package/dist/src/interfaces/components/Button/index.d.ts +44 -0
  22. package/dist/src/interfaces/components/ButtonIcon/index.d.ts +36 -0
  23. package/dist/src/interfaces/components/ButtonPopover/index.d.ts +78 -0
  24. package/dist/src/interfaces/components/Calendar/index.d.ts +364 -0
  25. package/dist/src/interfaces/components/Chart/index.d.ts +460 -0
  26. package/dist/src/interfaces/components/Checkbox/index.d.ts +12 -0
  27. package/dist/src/interfaces/components/Chips/index.d.ts +36 -0
  28. package/dist/src/interfaces/components/Collapse/index.d.ts +60 -0
  29. package/dist/src/interfaces/components/DatePicker/index.d.ts +274 -0
  30. package/dist/src/interfaces/components/ErrorMessage/index.d.ts +16 -0
  31. package/dist/src/interfaces/components/FilterContainer/index.d.ts +102 -0
  32. package/dist/src/interfaces/components/Input/index.d.ts +180 -0
  33. package/dist/src/interfaces/components/Modal/index.d.ts +45 -0
  34. package/dist/src/interfaces/components/NumberFormat/index.d.ts +25 -0
  35. package/dist/src/interfaces/components/Pagination/index.d.ts +81 -0
  36. package/dist/src/interfaces/components/Popover/index.d.ts +95 -0
  37. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckbox.d.ts +56 -0
  38. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckboxLabel.d.ts +44 -0
  39. package/dist/src/interfaces/components/SelectDropdownContainer/index.d.ts +195 -1
  40. package/dist/src/interfaces/components/Sidebar/index.d.ts +226 -0
  41. package/dist/src/interfaces/components/Step/index.d.ts +153 -0
  42. package/dist/src/interfaces/components/Switch/index.d.ts +53 -0
  43. package/dist/src/interfaces/components/Table/index.d.ts +364 -0
  44. package/dist/src/interfaces/components/Tabs/index.d.ts +126 -0
  45. package/dist/src/interfaces/components/TextEditor/index.d.ts +12 -0
  46. package/dist/src/interfaces/components/Textarea/index.d.ts +156 -0
  47. package/dist/src/interfaces/components/TimeRange/index.d.ts +100 -0
  48. package/dist/src/interfaces/components/Timeline/index.d.ts +36 -0
  49. package/dist/src/interfaces/components/Tooltip/index.d.ts +56 -0
  50. package/dist/src/interfaces/components/TruncateComponent/index.d.ts +34 -0
  51. package/dist/src/interfaces/components/UploadFile/index.d.ts +184 -1
  52. package/dist/src/interfaces/components/Virtualization/ListVirtualization.d.ts +138 -0
  53. package/dist/src/interfaces/components/Virtualization/TableVirtualization.d.ts +143 -0
  54. package/dist/tinymce/CHANGELOG.md +3785 -3785
  55. package/dist/tinymce/js/tinymce/langs/README.md +3 -3
  56. package/dist/tinymce/js/tinymce/license.md +6 -6
  57. package/dist/tinymce/js/tinymce/notices.txt +21 -21
  58. package/dist/tinymce/js/tinymce/plugins/codesample/plugin.min.js +8 -8
  59. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ar.js +92 -92
  60. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +92 -92
  61. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ca.js +92 -92
  62. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/cs.js +92 -92
  63. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/da.js +92 -92
  64. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/de.js +92 -92
  65. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/el.js +92 -92
  66. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/en.js +92 -92
  67. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/es.js +92 -92
  68. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/eu.js +92 -92
  69. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fa.js +92 -92
  70. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fi.js +92 -92
  71. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +92 -92
  72. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/he_IL.js +92 -92
  73. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hi.js +92 -92
  74. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hr.js +92 -92
  75. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +92 -92
  76. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/id.js +92 -92
  77. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/it.js +92 -92
  78. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ja.js +92 -92
  79. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/kk.js +92 -92
  80. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +92 -92
  81. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ms.js +92 -92
  82. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +92 -92
  83. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/nl.js +92 -92
  84. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pl.js +92 -92
  85. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +92 -92
  86. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +92 -92
  87. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ro.js +92 -92
  88. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/ru.js +92 -92
  89. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sk.js +92 -92
  90. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +92 -92
  91. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +92 -92
  92. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/th_TH.js +92 -92
  93. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/tr.js +92 -92
  94. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/uk.js +92 -92
  95. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/vi.js +92 -92
  96. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +86 -86
  97. package/dist/tinymce/js/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +92 -92
  98. package/dist/tinymce/js/tinymce/skins/content/dark/content.js +9 -9
  99. package/dist/tinymce/js/tinymce/skins/content/dark/content.min.css +10 -10
  100. package/dist/tinymce/js/tinymce/skins/content/default/content.js +9 -9
  101. package/dist/tinymce/js/tinymce/skins/content/default/content.min.css +10 -10
  102. package/dist/tinymce/js/tinymce/skins/content/document/content.js +9 -9
  103. package/dist/tinymce/js/tinymce/skins/content/document/content.min.css +10 -10
  104. package/dist/tinymce/js/tinymce/skins/content/tinymce-5/content.js +9 -9
  105. package/dist/tinymce/js/tinymce/skins/content/tinymce-5/content.min.css +10 -10
  106. package/dist/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.js +9 -9
  107. package/dist/tinymce/js/tinymce/skins/content/tinymce-5-dark/content.min.css +10 -10
  108. package/dist/tinymce/js/tinymce/skins/content/writer/content.js +9 -9
  109. package/dist/tinymce/js/tinymce/skins/content/writer/content.min.css +10 -10
  110. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.inline.js +9 -9
  111. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.inline.min.css +10 -10
  112. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.js +9 -9
  113. package/dist/tinymce/js/tinymce/skins/ui/oxide/content.min.css +10 -10
  114. package/dist/tinymce/js/tinymce/skins/ui/oxide/skin.min.css +1 -1
  115. package/dist/tinymce/js/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -1
  116. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.js +9 -9
  117. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.inline.min.css +10 -10
  118. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.js +9 -9
  119. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/content.min.css +10 -10
  120. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  121. package/dist/tinymce/js/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
  122. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.js +9 -9
  123. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.inline.min.css +10 -10
  124. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.js +9 -9
  125. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/content.min.css +10 -10
  126. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  127. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -1
  128. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.js +9 -9
  129. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +10 -10
  130. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.js +9 -9
  131. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/content.min.css +10 -10
  132. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  133. package/dist/tinymce/js/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -1
  134. package/dist/tinymce/js/tinymce/tinymce.d.ts +3350 -3350
  135. package/dist/tinymce/js/tinymce/tinymce.min.js +10 -10
  136. package/dist/types-external/table.d.ts +15 -15
  137. package/package.json +131 -131
@@ -1,51 +1,231 @@
1
1
  import { InputHTMLAttributes, ReactNode } from 'react';
2
2
 
3
+ /**
4
+ * [ID] : Interface untuk input dengan label mengambang di dalam.
5
+ * [EN] : Interface for input with floating inner label.
6
+ */
3
7
  export interface IInputFloatingInner extends InputHTMLAttributes<HTMLInputElement> {
8
+ /**
9
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
10
+ * [EN] : CSS class name for container (optional).
11
+ */
4
12
  classNameContainer?: string | undefined;
13
+ /**
14
+ * [ID] : Nama kelas CSS untuk label (opsional).
15
+ * [EN] : CSS class name for label (optional).
16
+ */
5
17
  classNameLabel?: string | undefined;
18
+ /**
19
+ * [ID] : ID elemen (opsional).
20
+ * [EN] : Element ID (optional).
21
+ */
6
22
  id?: string | undefined;
23
+ /**
24
+ * [ID] : Teks label (opsional).
25
+ * [EN] : Label text (optional).
26
+ */
7
27
  label?: string;
28
+ /**
29
+ * [ID] : Tipe input (opsional).
30
+ * [EN] : Input type (optional).
31
+ */
8
32
  type?: string;
33
+ /**
34
+ * [ID] : Ikon di awal input (opsional).
35
+ * [EN] : Icon at the start of input (optional).
36
+ */
9
37
  startIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
38
+ /**
39
+ * [ID] : Ikon di akhir input (opsional).
40
+ * [EN] : Icon at the end of input (optional).
41
+ */
10
42
  endIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
43
+ /**
44
+ * [ID] : Menandakan input wajib diisi (opsional).
45
+ * [EN] : Indicates input is required (optional).
46
+ */
11
47
  isRequired?: boolean;
48
+ /**
49
+ * [ID] : Pesan error (opsional).
50
+ * [EN] : Error message (optional).
51
+ */
12
52
  error?: string | undefined;
53
+ /**
54
+ * [ID] : Ukuran input (opsional).
55
+ * [EN] : Input size (optional).
56
+ */
13
57
  sizeInput?: 'large' | 'medium' | 'small';
58
+ /**
59
+ * [ID] : Nama kelas CSS untuk label error (opsional).
60
+ * [EN] : CSS class name for error label (optional).
61
+ */
14
62
  classNameLabelError?: string | undefined;
15
63
  }
64
+ /**
65
+ * [ID] : Interface untuk input reguler.
66
+ * [EN] : Interface for regular input.
67
+ */
16
68
  export interface IInputReguler extends InputHTMLAttributes<HTMLInputElement> {
69
+ /**
70
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
71
+ * [EN] : CSS class name for container (optional).
72
+ */
17
73
  classNameContainer?: string | undefined;
74
+ /**
75
+ * [ID] : ID elemen (opsional).
76
+ * [EN] : Element ID (optional).
77
+ */
18
78
  id?: string | undefined;
79
+ /**
80
+ * [ID] : Teks label (opsional).
81
+ * [EN] : Label text (optional).
82
+ */
19
83
  label?: string;
84
+ /**
85
+ * [ID] : Tipe input (opsional).
86
+ * [EN] : Input type (optional).
87
+ */
20
88
  type?: string;
89
+ /**
90
+ * [ID] : Ikon di awal input (opsional).
91
+ * [EN] : Icon at the start of input (optional).
92
+ */
21
93
  startIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
94
+ /**
95
+ * [ID] : Ikon di akhir input (opsional).
96
+ * [EN] : Icon at the end of input (optional).
97
+ */
22
98
  endIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
99
+ /**
100
+ * [ID] : Menandakan input wajib diisi (opsional).
101
+ * [EN] : Indicates input is required (optional).
102
+ */
23
103
  isRequired?: boolean;
104
+ /**
105
+ * [ID] : Pesan error (opsional).
106
+ * [EN] : Error message (optional).
107
+ */
24
108
  error?: string | undefined;
109
+ /**
110
+ * [ID] : Ukuran input (opsional).
111
+ * [EN] : Input size (optional).
112
+ */
25
113
  sizeInput?: 'large' | 'medium' | 'small';
114
+ /**
115
+ * [ID] : Nama kelas CSS untuk label (opsional).
116
+ * [EN] : CSS class name for label (optional).
117
+ */
26
118
  classNameLabel?: string | undefined;
119
+ /**
120
+ * [ID] : Nama kelas CSS untuk label error (opsional).
121
+ * [EN] : CSS class name for error label (optional).
122
+ */
27
123
  classNameLabelError?: string | undefined;
28
124
  }
125
+ /**
126
+ * [ID] : Interface untuk input native.
127
+ * [EN] : Interface for native input.
128
+ */
29
129
  export interface IInputNative extends InputHTMLAttributes<HTMLInputElement> {
130
+ /**
131
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
132
+ * [EN] : CSS class name for container (optional).
133
+ */
30
134
  classNameContainer?: string | undefined;
135
+ /**
136
+ * [ID] : ID elemen (opsional).
137
+ * [EN] : Element ID (optional).
138
+ */
31
139
  id?: string | undefined;
140
+ /**
141
+ * [ID] : Tipe input (opsional).
142
+ * [EN] : Input type (optional).
143
+ */
32
144
  type?: string;
145
+ /**
146
+ * [ID] : Ikon di awal input (opsional).
147
+ * [EN] : Icon at the start of input (optional).
148
+ */
33
149
  startIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
150
+ /**
151
+ * [ID] : Ikon di akhir input (opsional).
152
+ * [EN] : Icon at the end of input (optional).
153
+ */
34
154
  endIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
155
+ /**
156
+ * [ID] : Pesan error (opsional).
157
+ * [EN] : Error message (optional).
158
+ */
35
159
  error?: string | undefined;
160
+ /**
161
+ * [ID] : Ukuran input (opsional).
162
+ * [EN] : Input size (optional).
163
+ */
36
164
  sizeInput?: 's' | 'xs' | 'l';
165
+ /**
166
+ * [ID] : Nama kelas CSS untuk label error (opsional).
167
+ * [EN] : CSS class name for error label (optional).
168
+ */
37
169
  classNameLabelError?: string | undefined;
38
170
  }
171
+ /**
172
+ * [ID] : Interface untuk input dengan label di dalam.
173
+ * [EN] : Interface for input with inner label.
174
+ */
39
175
  export interface IInputInnerLabel extends InputHTMLAttributes<HTMLInputElement> {
176
+ /**
177
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
178
+ * [EN] : CSS class name for container (optional).
179
+ */
40
180
  classNameContainer?: string | undefined;
181
+ /**
182
+ * [ID] : ID elemen (opsional).
183
+ * [EN] : Element ID (optional).
184
+ */
41
185
  id?: string | undefined;
186
+ /**
187
+ * [ID] : Teks label (opsional).
188
+ * [EN] : Label text (optional).
189
+ */
42
190
  label?: string;
191
+ /**
192
+ * [ID] : Tipe input (opsional).
193
+ * [EN] : Input type (optional).
194
+ */
43
195
  type?: string;
196
+ /**
197
+ * [ID] : Ikon di awal input (opsional).
198
+ * [EN] : Icon at the start of input (optional).
199
+ */
44
200
  startIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
201
+ /**
202
+ * [ID] : Ikon di akhir input (opsional).
203
+ * [EN] : Icon at the end of input (optional).
204
+ */
45
205
  endIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
206
+ /**
207
+ * [ID] : Menandakan input wajib diisi (opsional).
208
+ * [EN] : Indicates input is required (optional).
209
+ */
46
210
  isRequired?: boolean;
211
+ /**
212
+ * [ID] : Pesan error (opsional).
213
+ * [EN] : Error message (optional).
214
+ */
47
215
  error?: string | undefined;
216
+ /**
217
+ * [ID] : Ukuran input (opsional).
218
+ * [EN] : Input size (optional).
219
+ */
48
220
  sizeInput?: 'large' | 'small';
221
+ /**
222
+ * [ID] : Nama kelas CSS untuk label (opsional).
223
+ * [EN] : CSS class name for label (optional).
224
+ */
49
225
  classNameLabel?: string | undefined;
226
+ /**
227
+ * [ID] : Nama kelas CSS untuk label error (opsional).
228
+ * [EN] : CSS class name for error label (optional).
229
+ */
50
230
  classNameLabelError?: string | undefined;
51
231
  }
@@ -1,14 +1,59 @@
1
1
  import { ReactNode, ElementType } from 'react';
2
2
 
3
+ /**
4
+ * [ID] : Interface untuk komponen ModalDialog.
5
+ * [EN] : Interface for ModalDialog component.
6
+ * @template T - [ID] : Tipe elemen HTML. [EN] : HTML element type.
7
+ */
3
8
  export interface IModalDialog<T extends ElementType> {
9
+ /**
10
+ * [ID] : Elemen HTML yang akan dirender (opsional).
11
+ * [EN] : HTML element to be rendered (optional).
12
+ */
4
13
  as?: T;
14
+ /**
15
+ * [ID] : Konten anak modal.
16
+ * [EN] : Modal child content.
17
+ */
5
18
  children: ReactNode | ReactNode[];
19
+ /**
20
+ * [ID] : ID elemen (opsional).
21
+ * [EN] : Element ID (optional).
22
+ */
6
23
  id?: string;
24
+ /**
25
+ * [ID] : ID modal (opsional).
26
+ * [EN] : Modal ID (optional).
27
+ */
7
28
  idModal?: string;
29
+ /**
30
+ * [ID] : Nama kelas CSS (opsional).
31
+ * [EN] : CSS class name (optional).
32
+ */
8
33
  className?: string | undefined;
34
+ /**
35
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
36
+ * [EN] : CSS class name for container (optional).
37
+ */
9
38
  classNameContainer?: string | undefined;
39
+ /**
40
+ * [ID] : Ukuran modal (opsional).
41
+ * [EN] : Modal size (optional).
42
+ */
10
43
  size?: 'small' | 'regular' | 'large' | 'medium';
44
+ /**
45
+ * [ID] : Status visibilitas modal.
46
+ * [EN] : Modal visibility status.
47
+ */
11
48
  show: boolean;
49
+ /**
50
+ * [ID] : Menampilkan overlay (opsional).
51
+ * [EN] : Show overlay (optional).
52
+ */
12
53
  withOverlay?: boolean;
54
+ /**
55
+ * [ID] : Handler saat modal ditutup (opsional).
56
+ * [EN] : Handler when modal is closed (optional).
57
+ */
13
58
  onClose?: () => void;
14
59
  }
@@ -1,9 +1,34 @@
1
1
  import { NumericFormatProps } from 'react-number-format';
2
2
 
3
+ /**
4
+ * [ID] : Interface untuk komponen NumberFormat.
5
+ * [EN] : Interface for NumberFormat component.
6
+ */
3
7
  export interface INumberFormat extends NumericFormatProps {
8
+ /**
9
+ * [ID] : Nilai maksimum (opsional).
10
+ * [EN] : Maximum value (optional).
11
+ */
4
12
  max?: number | undefined;
13
+ /**
14
+ * [ID] : Nilai minimum (opsional).
15
+ * [EN] : Minimum value (optional).
16
+ */
5
17
  min?: number | undefined;
18
+ /**
19
+ * [ID] : Properti dinamis lainnya.
20
+ * [EN] : Other dynamic properties.
21
+ */
6
22
  [key: string]: unknown;
23
+ /**
24
+ * [ID] : Teks yang dipilih (opsional).
25
+ * [EN] : Selected text (optional).
26
+ */
7
27
  selectedText?: string;
28
+ /**
29
+ * [ID] : Handler saat input fokus (opsional).
30
+ * [EN] : Handler when input is focused (optional).
31
+ * @param value - [ID] : Nilai input. [EN] : Input value.
32
+ */
8
33
  onFocusInput?: (value: string) => void;
9
34
  }
@@ -2,25 +2,106 @@ import { OffsetOptions } from '@floating-ui/react';
2
2
  import { ReactNode } from 'react';
3
3
  import { TKeyLocale } from '../Calendar';
4
4
 
5
+ /**
6
+ * [ID] : Tipe jenis pagination.
7
+ * [EN] : Pagination kind type.
8
+ */
5
9
  export type TKindPaginationType = 'box' | 'nude';
10
+ /**
11
+ * [ID] : Interface dasar pagination.
12
+ * [EN] : Basic pagination interface.
13
+ */
6
14
  export interface IPagination {
15
+ /**
16
+ * [ID] : Nomor halaman saat ini.
17
+ * [EN] : Current page number.
18
+ */
7
19
  pageNumber: number;
20
+ /**
21
+ * [ID] : Ukuran halaman (jumlah item per halaman).
22
+ * [EN] : Page size (number of items per page).
23
+ */
8
24
  pageSize: number;
25
+ /**
26
+ * [ID] : Total data.
27
+ * [EN] : Total data.
28
+ */
9
29
  totalData: number;
30
+ /**
31
+ * [ID] : Total halaman.
32
+ * [EN] : Total pages.
33
+ */
10
34
  totalPage: number;
11
35
  }
36
+ /**
37
+ * [ID] : Interface properti komponen Pagination.
38
+ * [EN] : Pagination component properties interface.
39
+ */
12
40
  export interface IPaginationProps extends IPagination {
41
+ /**
42
+ * [ID] : Handler perubahan pagination (opsional).
43
+ * [EN] : Pagination change handler (optional).
44
+ * @param v - [ID] : Data pagination baru. [EN] : New pagination data.
45
+ */
13
46
  onChange?: (v: IPagination) => void;
47
+ /**
48
+ * [ID] : Jenis pagination (opsional).
49
+ * [EN] : Pagination kind (optional).
50
+ */
14
51
  kind?: TKindPaginationType;
52
+ /**
53
+ * [ID] : Nama kelas CSS (opsional).
54
+ * [EN] : CSS class name (optional).
55
+ */
15
56
  className?: string | undefined;
57
+ /**
58
+ * [ID] : ID elemen (opsional).
59
+ * [EN] : Element ID (optional).
60
+ */
16
61
  id?: string | undefined;
62
+ /**
63
+ * [ID] : Ikon sebelumnya (opsional).
64
+ * [EN] : Previous icon (optional).
65
+ */
17
66
  prevIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
67
+ /**
68
+ * [ID] : Ikon selanjutnya (opsional).
69
+ * [EN] : Next icon (optional).
70
+ */
18
71
  nextIcon?: ReactNode | ReactNode[] | (() => ReactNode) | (() => ReactNode[]);
72
+ /**
73
+ * [ID] : Opsi ukuran halaman (opsional).
74
+ * [EN] : Page size options (optional).
75
+ */
19
76
  optionPageSize?: number[];
77
+ /**
78
+ * [ID] : Offset popover (opsional).
79
+ * [EN] : Popover offset (optional).
80
+ */
20
81
  offset?: OffsetOptions;
82
+ /**
83
+ * [ID] : Z-index (opsional).
84
+ * [EN] : Z-index (optional).
85
+ */
21
86
  zIndex?: number | undefined | string;
87
+ /**
88
+ * [ID] : Menampilkan opsi ukuran halaman (opsional).
89
+ * [EN] : Show page size options (optional).
90
+ */
22
91
  withOptionPageSize?: boolean;
92
+ /**
93
+ * [ID] : Menampilkan fitur 'go to page' (opsional).
94
+ * [EN] : Show 'go to page' feature (optional).
95
+ */
23
96
  withGotoPage?: boolean;
97
+ /**
98
+ * [ID] : Menampilkan lebih banyak halaman (opsional).
99
+ * [EN] : Show more pages (optional).
100
+ */
24
101
  withMorePage?: boolean;
102
+ /**
103
+ * [ID] : Lokal bahasa (opsional).
104
+ * [EN] : Locale (optional).
105
+ */
25
106
  locale?: TKeyLocale;
26
107
  }
@@ -1,30 +1,125 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FlipOptions, AutoPlacementOptions, UseFloatingOptions, OffsetOptions, FloatingArrowProps, FloatingFocusManagerProps, UseDismissProps } from '@floating-ui/react';
3
3
 
4
+ /**
5
+ * [ID] : Interface untuk komponen Popover.
6
+ * [EN] : Interface for Popover component.
7
+ */
4
8
  export interface IPopover extends React.HTMLAttributes<HTMLDivElement> {
9
+ /**
10
+ * [ID] : Konten anak popover.
11
+ * [EN] : Popover child content.
12
+ */
5
13
  children: ReactNode | ReactNode[];
14
+ /**
15
+ * [ID] : Nama kelas CSS (opsional).
16
+ * [EN] : CSS class name (optional).
17
+ */
6
18
  className?: string | undefined;
19
+ /**
20
+ * [ID] : Opsi offset (opsional).
21
+ * [EN] : Offset options (optional).
22
+ */
7
23
  offset?: OffsetOptions;
24
+ /**
25
+ * [ID] : Elemen jangkar (opsional).
26
+ * [EN] : Anchor element (optional).
27
+ */
8
28
  anchorEl?: ReactNode;
29
+ /**
30
+ * [ID] : Status ditampilkan (opsional).
31
+ * [EN] : Is shown status (optional).
32
+ */
9
33
  isShow?: boolean;
34
+ /**
35
+ * [ID] : Menggunakan penempatan otomatis (opsional).
36
+ * [EN] : Use auto placement (optional).
37
+ */
10
38
  useAutoPlacement?: boolean;
39
+ /**
40
+ * [ID] : Opsi flip (opsional).
41
+ * [EN] : Flip options (optional).
42
+ */
11
43
  flipOptions?: FlipOptions;
44
+ /**
45
+ * [ID] : Opsi penempatan otomatis (opsional).
46
+ * [EN] : Auto placement options (optional).
47
+ */
12
48
  autoPlacementOptions?: AutoPlacementOptions;
49
+ /**
50
+ * [ID] : Z-index (opsional).
51
+ * [EN] : Z-index (optional).
52
+ */
13
53
  zIndex?: number | undefined | string;
54
+ /**
55
+ * [ID] : Lebar popover (opsional).
56
+ * [EN] : Popover width (optional).
57
+ */
14
58
  width?: number | string;
59
+ /**
60
+ * [ID] : Gaya CSS internal popover (opsional).
61
+ * [EN] : Internal popover CSS style (optional).
62
+ */
15
63
  styleInnerPopover?: React.CSSProperties;
64
+ /**
65
+ * [ID] : Opsi floating UI (opsional).
66
+ * [EN] : Floating UI options (optional).
67
+ */
16
68
  floatingOptions?: UseFloatingOptions;
69
+ /**
70
+ * [ID] : Menampilkan panah (opsional).
71
+ * [EN] : Show arrow (optional).
72
+ */
17
73
  withArrow?: boolean;
74
+ /**
75
+ * [ID] : Properti panah (opsional).
76
+ * [EN] : Arrow properties (optional).
77
+ */
18
78
  propsArrow?: Partial<FloatingArrowProps>;
79
+ /**
80
+ * [ID] : Handler saat ditutup (opsional).
81
+ * [EN] : On close handler (optional).
82
+ */
19
83
  onClose?: () => void;
84
+ /**
85
+ * [ID] : Properti manajer fokus floating (opsional).
86
+ * [EN] : Floating focus manager properties (optional).
87
+ */
20
88
  floatingFocusManagerProps?: Omit<FloatingFocusManagerProps, 'context' | 'children'>;
89
+ /**
90
+ * [ID] : Properti dismiss (opsional).
91
+ * [EN] : Dismiss properties (optional).
92
+ */
21
93
  useDismissProps?: UseDismissProps;
22
94
  }
95
+ /**
96
+ * [ID] : Interface untuk referensi Popover.
97
+ * [EN] : Interface for Popover reference.
98
+ */
23
99
  export interface IRefPopover {
100
+ /**
101
+ * [ID] : Status visibilitas.
102
+ * [EN] : Visibility status.
103
+ */
24
104
  show: boolean;
105
+ /**
106
+ * [ID] : Fungsi pengatur visibilitas.
107
+ * [EN] : Visibility setter function.
108
+ */
25
109
  setShow: React.Dispatch<React.SetStateAction<boolean>>;
110
+ /**
111
+ * [ID] : Handler untuk menampilkan popover.
112
+ * [EN] : Handler to show popover.
113
+ * @param event - [ID] : Event pemicu. [EN] : Trigger event.
114
+ */
26
115
  handlerShow: <T extends HTMLElement>(event: React.MouseEvent<T, unknown> | {
27
116
  currentTarget: ReactNode;
28
117
  }) => void;
118
+ /**
119
+ * [ID] : Fungsi untuk mendapatkan properti referensi.
120
+ * [EN] : Function to get reference properties.
121
+ * @param userProps - [ID] : Properti pengguna (opsional). [EN] : User properties (optional).
122
+ * @returns [ID] : Objek properti. [EN] : Property object.
123
+ */
29
124
  getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
30
125
  }
@@ -3,18 +3,74 @@ import { IBorderRadius } from '../../../config/components/borderRadius';
3
3
  import { Itypography } from '../../../config/components/typography';
4
4
  import { TFont } from '../../../config/components/font';
5
5
 
6
+ /**
7
+ * [ID] : Interface untuk komponen RadioCheckbox.
8
+ * [EN] : Interface for RadioCheckbox component.
9
+ */
6
10
  export interface IRadioCheckbox extends InputHTMLAttributes<HTMLInputElement> {
11
+ /**
12
+ * [ID] : Nama kelas CSS untuk kontainer (opsional).
13
+ * [EN] : CSS class name for container (optional).
14
+ */
7
15
  classNameContainer?: string | undefined;
16
+ /**
17
+ * [ID] : Nama kelas CSS untuk label (opsional).
18
+ * [EN] : CSS class name for label (optional).
19
+ */
8
20
  classNameLabel?: string | undefined;
21
+ /**
22
+ * [ID] : Nama kelas CSS untuk ikon yang dicentang (opsional).
23
+ * [EN] : CSS class name for checked icon (optional).
24
+ */
9
25
  classNameCheckedIcon?: string | undefined;
26
+ /**
27
+ * [ID] : Nama kelas CSS untuk kontainer ikon yang dicentang (opsional).
28
+ * [EN] : CSS class name for checked icon container (optional).
29
+ */
10
30
  classNameContainerCheckedIcon?: string | undefined;
31
+ /**
32
+ * [ID] : Ukuran input (opsional).
33
+ * [EN] : Input size (optional).
34
+ */
11
35
  sizeInput?: 'reguler' | 'small' | 's' | 'm';
36
+ /**
37
+ * [ID] : Varian gaya (opsional).
38
+ * [EN] : Style variant (optional).
39
+ */
12
40
  variants?: 'laba-blue-10' | 'blue-700' | 'blue-700-hv_bg_transparent' | 'laba-blue-10-hv_bg_transparent' | 'bill-primary-500' | 'bill-primary-600-hv_bg_transparent' | 'bill-secondary-800-hv_bg_transparent';
41
+ /**
42
+ * [ID] : Varian gaya non-aktif (opsional).
43
+ * [EN] : Disabled style variant (optional).
44
+ */
13
45
  variantDisableds?: 'default-disabled-checkbox' | 'default-disabled-radio';
46
+ /**
47
+ * [ID] : Radius sudut (opsional).
48
+ * [EN] : Border radius (optional).
49
+ */
14
50
  borderRadius?: IBorderRadius;
51
+ /**
52
+ * [ID] : Ikon saat dicentang (opsional).
53
+ * [EN] : Icon when checked (optional).
54
+ */
15
55
  checkedIcon?: ReactNode | ReactNode[];
56
+ /**
57
+ * [ID] : Tipe input (checkbox atau radio) (opsional).
58
+ * [EN] : Input type (checkbox or radio) (optional).
59
+ */
16
60
  type?: 'checkbox' | 'radio';
61
+ /**
62
+ * [ID] : Konfigurasi font (opsional).
63
+ * [EN] : Font configuration (optional).
64
+ */
17
65
  fonts?: TFont;
66
+ /**
67
+ * [ID] : Label input (opsional).
68
+ * [EN] : Input label (optional).
69
+ */
18
70
  label?: string;
71
+ /**
72
+ * [ID] : Konfigurasi tipografi (opsional).
73
+ * [EN] : Typography configuration (optional).
74
+ */
19
75
  typography?: Itypography;
20
76
  }
@@ -4,15 +4,59 @@ import { IRadioCheckbox } from './RadioCheckbox';
4
4
  import { IBorderRadius } from '../../../config/components/borderRadius';
5
5
  import { TFont } from '../../../config/components/font';
6
6
 
7
+ /**
8
+ * [ID] : Interface untuk komponen RadioCheckboxLabel.
9
+ * [EN] : Interface for RadioCheckboxLabel component.
10
+ */
7
11
  export interface IRadioCheckboxLabel extends InputHTMLAttributes<HTMLInputElement> {
12
+ /**
13
+ * [ID] : Tipografi label (opsional).
14
+ * [EN] : Label typography (optional).
15
+ */
8
16
  typographyLabel?: Itypography;
17
+ /**
18
+ * [ID] : Tipografi deskripsi (opsional).
19
+ * [EN] : Description typography (optional).
20
+ */
9
21
  typographyDesc?: Itypography;
22
+ /**
23
+ * [ID] : Radius sudut (opsional).
24
+ * [EN] : Border radius (optional).
25
+ */
10
26
  borderRadius?: IBorderRadius;
27
+ /**
28
+ * [ID] : Tipe input (checkbox atau radio) (opsional).
29
+ * [EN] : Input type (checkbox or radio) (optional).
30
+ */
11
31
  type?: 'checkbox' | 'radio';
32
+ /**
33
+ * [ID] : Konfigurasi font (opsional).
34
+ * [EN] : Font configuration (optional).
35
+ */
12
36
  fonts?: TFont;
37
+ /**
38
+ * [ID] : Properti RadioCheckbox (opsional).
39
+ * [EN] : RadioCheckbox properties (optional).
40
+ */
13
41
  radioCheckboxProps?: IRadioCheckbox;
42
+ /**
43
+ * [ID] : Varian gaya (opsional).
44
+ * [EN] : Style variant (optional).
45
+ */
14
46
  variants?: 'blue-50' | 'laba-blue-01';
47
+ /**
48
+ * [ID] : Label input.
49
+ * [EN] : Input label.
50
+ */
15
51
  label: string | ReactNode | ReactNode[];
52
+ /**
53
+ * [ID] : Deskripsi input (opsional).
54
+ * [EN] : Input description (optional).
55
+ */
16
56
  desc?: string | ReactNode | ReactNode[];
57
+ /**
58
+ * [ID] : Latar belakang dengan hover (opsional).
59
+ * [EN] : Background with hover (optional).
60
+ */
17
61
  backgroundWithHover?: boolean;
18
62
  }