1mpacto-react-ui 0.2.0-beta.9 → 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 (214) hide show
  1. package/dist/assets/_colors.scss +80 -0
  2. package/dist/assets/_mixins.scss +32 -5
  3. package/dist/assets/_typography.scss +582 -0
  4. package/dist/assets/colors.css +40 -0
  5. package/dist/assets/core.css +1 -1
  6. package/dist/assets/fontfamily.css +1 -1
  7. package/dist/assets/fonts/PlusJakartaSans-Italic.ttf +0 -0
  8. package/dist/assets/fonts/PlusJakartaSans.ttf +0 -0
  9. package/dist/assets/style.css +1 -1
  10. package/dist/assets/toast.css +98 -194
  11. package/dist/assets/typography.css +96 -0
  12. package/dist/index.cjs +120 -117
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.mjs +27703 -27059
  15. package/dist/package.json.d.ts +46 -47
  16. package/dist/src/components/Alert/index.d.ts +1 -0
  17. package/dist/src/components/Badges/Badges.config.d.ts +57 -0
  18. package/dist/src/components/Badges/Badges.d.ts +1 -0
  19. package/dist/src/components/Badges/Badges.stories.d.ts +117 -2
  20. package/dist/src/components/Breadcrumbs/Breadcrumbs.config.d.ts +113 -0
  21. package/dist/src/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  22. package/dist/src/components/Breadcrumbs/Breadcrumbs.stories.d.ts +221 -6
  23. package/dist/src/components/Button/Button.config.d.ts +70 -0
  24. package/dist/src/components/Button/Button.d.ts +1 -0
  25. package/dist/src/components/Button/Button.stories.d.ts +129 -4
  26. package/dist/src/components/ButtonIcon/ButtonIcon.config.d.ts +53 -0
  27. package/dist/src/components/ButtonIcon/ButtonIcon.d.ts +1 -0
  28. package/dist/src/components/ButtonIcon/ButtonIcon.stories.d.ts +123 -4
  29. package/dist/src/components/ButtonPopover/ButtonPopover.d.ts +1 -0
  30. package/dist/src/components/ButtonPopover/ButtonPopover.stories.d.ts +258 -2
  31. package/dist/src/components/Calendar/Calendar.d.ts +3 -1
  32. package/dist/src/components/Calendar/Calendar.stories.d.ts +283 -2
  33. package/dist/src/components/Calendar/CalendarButton.d.ts +1 -0
  34. package/dist/src/components/Calendar/CalendarCell.d.ts +1 -0
  35. package/dist/src/components/Calendar/CalendarMonth.d.ts +1 -0
  36. package/dist/src/components/Calendar/CalendarRange.d.ts +1 -0
  37. package/dist/src/components/Calendar/CalendarYear.d.ts +1 -0
  38. package/dist/src/components/Chart/DoughnutChart.d.ts +1 -0
  39. package/dist/src/components/Chart/GradientBarChart.d.ts +1 -0
  40. package/dist/src/components/Chart/GradientBarChart.stories.d.ts +71 -4
  41. package/dist/src/components/Chart/GradientLineChart.d.ts +1 -0
  42. package/dist/src/components/Chart/GradientLineChart.stories.d.ts +82 -4
  43. package/dist/src/components/Chart/LineChart.d.ts +1 -0
  44. package/dist/src/components/Chart/LineChart.stories.d.ts +35 -2
  45. package/dist/src/components/Chips/Chips.config.d.ts +35 -0
  46. package/dist/src/components/Chips/Chips.d.ts +1 -0
  47. package/dist/src/components/Chips/Chips.stories.d.ts +137 -2
  48. package/dist/src/components/Collapse/Collapse.d.ts +1 -0
  49. package/dist/src/components/Collapse/Collapse.stories.d.ts +89 -2
  50. package/dist/src/components/Collapse/CollapseV2.d.ts +1 -0
  51. package/dist/src/components/Collapse/CollapseV2.stories.d.ts +59 -2
  52. package/dist/src/components/Colors/Colors.stories.d.ts +2 -1
  53. package/dist/src/components/DatePicker/DatePicker.d.ts +1 -0
  54. package/dist/src/components/DatePicker/DatePicker.stories.d.ts +221 -2
  55. package/dist/src/components/DatePicker/DateRangePicker.d.ts +1 -0
  56. package/dist/src/components/DatePicker/FilterDate.d.ts +2 -1
  57. package/dist/src/components/DatePicker/FilterDate.stories.d.ts +232 -3
  58. package/dist/src/components/DatePicker/MonthYearPicker.d.ts +1 -0
  59. package/dist/src/components/DatePicker/MonthYearPicker.stories.d.ts +198 -2
  60. package/dist/src/components/ErrorMessage/ErrorMessage.config.d.ts +8 -0
  61. package/dist/src/components/ErrorMessage/ErrorMessage.d.ts +1 -0
  62. package/dist/src/components/ErrorMessage/ErrorMessage.stories.d.ts +39 -2
  63. package/dist/src/components/FilterContainer/FilterContainer.d.ts +1 -0
  64. package/dist/src/components/FilterContainer/FilterContainer.stories.d.ts +165 -0
  65. package/dist/src/components/Input/InputFloatingInner.config.d.ts +9 -0
  66. package/dist/src/components/Input/InputFloatingInner.d.ts +1 -0
  67. package/dist/src/components/Input/InputFloatingInner.stories.d.ts +177 -6
  68. package/dist/src/components/Input/InputInnerLabel.config.d.ts +8 -0
  69. package/dist/src/components/Input/InputInnerLabel.d.ts +5 -0
  70. package/dist/src/components/Input/InputInnerLabel.stories.d.ts +205 -0
  71. package/dist/src/components/Input/InputNative.config.d.ts +9 -0
  72. package/dist/src/components/Input/InputNative.d.ts +1 -0
  73. package/dist/src/components/Input/InputNative.stories.d.ts +149 -5
  74. package/dist/src/components/Input/InputReguler.config.d.ts +9 -0
  75. package/dist/src/components/Input/InputReguler.d.ts +1 -0
  76. package/dist/src/components/Input/InputReguler.stories.d.ts +177 -6
  77. package/dist/src/components/Modal/ModalDialog.config.d.ts +9 -0
  78. package/dist/src/components/Modal/ModalDialog.d.ts +1 -0
  79. package/dist/src/components/Modal/ModalDialog.stories.d.ts +121 -2
  80. package/dist/src/components/NumberFormat/NumberFormat.d.ts +1 -0
  81. package/dist/src/components/NumberFormat/NumberFormat.stories.d.ts +373 -18
  82. package/dist/src/components/Pagination/Pagination.config.d.ts +5 -0
  83. package/dist/src/components/Pagination/Pagination.d.ts +2 -1
  84. package/dist/src/components/Pagination/Pagination.stories.d.ts +200 -3
  85. package/dist/src/components/Popover/Popover.d.ts +1 -0
  86. package/dist/src/components/Popover/Popover.stories.d.ts +216 -7
  87. package/dist/src/components/PortalComponent/PortalComponent.d.ts +1 -0
  88. package/dist/src/components/PortalComponent/PortalComponent.stories.d.ts +61 -0
  89. package/dist/src/components/RadioCheckbox/CheckboxTable.d.ts +1 -0
  90. package/dist/src/components/RadioCheckbox/RadioCheckbox.config.d.ts +41 -0
  91. package/dist/src/components/RadioCheckbox/RadioCheckbox.d.ts +1 -0
  92. package/dist/src/components/RadioCheckbox/RadioCheckbox.stories.d.ts +230 -8
  93. package/dist/src/components/RadioCheckbox/RadioCheckboxLabel.config.d.ts +25 -0
  94. package/dist/src/components/RadioCheckbox/RadioCheckboxLabel.d.ts +1 -0
  95. package/dist/src/components/RadioCheckbox/RadioCheckboxLabel.stories.d.ts +196 -4
  96. package/dist/src/components/SelectDropdownContainer/SelectDropdownContainer.config.d.ts +26 -0
  97. package/dist/src/components/SelectDropdownContainer/SelectDropdownContainer.d.ts +2 -1
  98. package/dist/src/components/SelectDropdownContainer/SelectDropdownContainer.stories.d.ts +5 -4
  99. package/dist/src/components/SelectDropdownContainer/styleConfig.d.ts +5 -1
  100. package/dist/src/components/Sidebar/ItemSidebar.config.d.ts +34 -0
  101. package/dist/src/components/Sidebar/ItemSidebar.d.ts +1 -0
  102. package/dist/src/components/Sidebar/Sidebar.config.d.ts +16 -0
  103. package/dist/src/components/Sidebar/Sidebar.d.ts +2 -1
  104. package/dist/src/components/Sidebar/Sidebar.stories.d.ts +6 -5
  105. package/dist/src/components/Step/Step.d.ts +1 -0
  106. package/dist/src/components/Step/Step.stories.d.ts +135 -2
  107. package/dist/src/components/Step/StepIndicator.d.ts +1 -0
  108. package/dist/src/components/Step/StepIndicator.stories.d.ts +148 -2
  109. package/dist/src/components/Switch/Switch.config.d.ts +26 -0
  110. package/dist/src/components/Switch/Switch.d.ts +1 -0
  111. package/dist/src/components/Switch/Switch.stories.d.ts +128 -2
  112. package/dist/src/components/Table/Table.config.d.ts +5 -0
  113. package/dist/src/components/Table/Table.d.ts +3 -3
  114. package/dist/src/components/Table/Table.stories.d.ts +71 -52
  115. package/dist/src/components/Table/TableSubMobile.d.ts +4 -0
  116. package/dist/src/components/Tabs/TabPanel.d.ts +1 -0
  117. package/dist/src/components/Tabs/Tabs.config.d.ts +31 -0
  118. package/dist/src/components/Tabs/Tabs.d.ts +2 -1
  119. package/dist/src/components/Tabs/Tabs.stories.d.ts +220 -3
  120. package/dist/src/components/TextEditor/TextEditor.d.ts +1 -0
  121. package/dist/src/components/TextEditor/TextEditor.stories.d.ts +59 -10
  122. package/dist/src/components/Textarea/Textarea.config.d.ts +31 -0
  123. package/dist/src/components/Textarea/Textarea.d.ts +1 -0
  124. package/dist/src/components/Textarea/Textarea.stories.d.ts +250 -3
  125. package/dist/src/components/Textarea/TextareaFloatingInner.config.d.ts +6 -0
  126. package/dist/src/components/Textarea/TextareaFloatingInner.d.ts +1 -0
  127. package/dist/src/components/Textarea/TextareaFloatingInner.stories.d.ts +260 -3
  128. package/dist/src/components/Textarea/TextareaInnerLabel.config.d.ts +7 -0
  129. package/dist/src/components/Textarea/TextareaInnerLabel.d.ts +5 -0
  130. package/dist/src/components/Textarea/TextareaInnerLabel.stories.d.ts +259 -0
  131. package/dist/src/components/TimeRange/TimeRange.d.ts +4 -0
  132. package/dist/src/components/TimeRange/TimeRange.stories.d.ts +186 -0
  133. package/dist/src/components/Timeline/Timeline.d.ts +1 -0
  134. package/dist/src/components/Timeline/Timeline.stories.d.ts +40 -2
  135. package/dist/src/components/Tooltip/Tooltip.d.ts +1 -0
  136. package/dist/src/components/Tooltip/Tooltip.stories.d.ts +159 -2
  137. package/dist/src/components/TruncateComponent/TruncateComponent.d.ts +1 -0
  138. package/dist/src/components/TruncateComponent/TruncateComponent.stories.d.ts +106 -2
  139. package/dist/src/components/Typography/Typography.stories.d.ts +2 -1
  140. package/dist/src/components/Upload/UploadFile.d.ts +1 -0
  141. package/dist/src/components/Upload/UploadFile.stories.d.ts +127 -2
  142. package/dist/src/components/Upload/UploadImage.d.ts +2 -1
  143. package/dist/src/components/Upload/UploadImage.stories.d.ts +145 -3
  144. package/dist/src/components/Upload/UploadMultipleFile.d.ts +2 -1
  145. package/dist/src/components/Upload/UploadMultipleFile.stories.d.ts +190 -3
  146. package/dist/src/components/Virtualization/ListVirtualization.d.ts +1 -0
  147. package/dist/src/components/Virtualization/ListVirtualization.stories.d.ts +279 -2
  148. package/dist/src/components/Virtualization/TableVirtualization.d.ts +1 -0
  149. package/dist/src/components/Virtualization/TableVirtualization.stories.d.ts +296 -2
  150. package/dist/src/components/index.d.ts +15 -8
  151. package/dist/src/components/screens/Screens.stories.d.ts +14 -0
  152. package/dist/src/config/bigNumber/index.d.ts +1 -0
  153. package/dist/src/config/components/borderRadius.d.ts +1 -0
  154. package/dist/src/config/components/font.d.ts +7 -0
  155. package/dist/src/config/components/gap.d.ts +1 -0
  156. package/dist/src/config/components/tinymce.d.ts +1 -0
  157. package/dist/src/config/components/typography.d.ts +3 -49
  158. package/dist/src/config/tailwind/index.d.ts +3 -1
  159. package/dist/src/config/tailwind/nativeScreen.d.ts +3 -0
  160. package/dist/src/config/tailwind/typography.d.ts +1 -0
  161. package/dist/src/hooks/index.d.ts +6 -3
  162. package/dist/src/hooks/useAsyncDebounce.d.ts +9 -0
  163. package/dist/src/hooks/useCombinedResizeObserver.d.ts +67 -0
  164. package/dist/src/hooks/useCountdown.d.ts +67 -3
  165. package/dist/src/hooks/useDeepCompareEffect.d.ts +14 -0
  166. package/dist/src/hooks/useElementOrWindowMediaQuery.d.ts +9 -0
  167. package/dist/src/hooks/useEventListener.d.ts +28 -0
  168. package/dist/src/hooks/useMasonry.d.ts +80 -0
  169. package/dist/src/hooks/useMergeRefs.d.ts +27 -0
  170. package/dist/src/hooks/useOtpInput.d.ts +200 -0
  171. package/dist/src/hooks/useStateRef.d.ts +9 -0
  172. package/dist/src/interfaces/components/Alert/index.d.ts +9 -0
  173. package/dist/src/interfaces/components/Badges/index.d.ts +31 -1
  174. package/dist/src/interfaces/components/Breadcrumbs/index.d.ts +86 -2
  175. package/dist/src/interfaces/components/Button/index.d.ts +47 -2
  176. package/dist/src/interfaces/components/ButtonIcon/index.d.ts +37 -0
  177. package/dist/src/interfaces/components/ButtonPopover/index.d.ts +79 -0
  178. package/dist/src/interfaces/components/Calendar/index.d.ts +385 -3
  179. package/dist/src/interfaces/components/Chart/index.d.ts +461 -0
  180. package/dist/src/interfaces/components/Checkbox/index.d.ts +13 -0
  181. package/dist/src/interfaces/components/Chips/index.d.ts +39 -1
  182. package/dist/src/interfaces/components/Collapse/index.d.ts +61 -0
  183. package/dist/src/interfaces/components/DatePicker/index.d.ts +278 -1
  184. package/dist/src/interfaces/components/ErrorMessage/index.d.ts +17 -1
  185. package/dist/src/interfaces/components/FilterContainer/index.d.ts +103 -0
  186. package/dist/src/interfaces/components/Input/index.d.ts +194 -0
  187. package/dist/src/interfaces/components/Modal/index.d.ts +46 -0
  188. package/dist/src/interfaces/components/NumberFormat/index.d.ts +26 -0
  189. package/dist/src/interfaces/components/Pagination/index.d.ts +84 -0
  190. package/dist/src/interfaces/components/Popover/index.d.ts +99 -1
  191. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckbox.d.ts +60 -2
  192. package/dist/src/interfaces/components/RadioCheckbox/RadioCheckboxLabel.d.ts +47 -1
  193. package/dist/src/interfaces/components/SelectDropdownContainer/index.d.ts +197 -2
  194. package/dist/src/interfaces/components/Sidebar/index.d.ts +230 -1
  195. package/dist/src/interfaces/components/Step/index.d.ts +154 -0
  196. package/dist/src/interfaces/components/Switch/index.d.ts +54 -1
  197. package/dist/src/interfaces/components/Table/index.d.ts +403 -6
  198. package/dist/src/interfaces/components/Tabs/index.d.ts +131 -1
  199. package/dist/src/interfaces/components/TextEditor/index.d.ts +13 -0
  200. package/dist/src/interfaces/components/Textarea/index.d.ts +170 -0
  201. package/dist/src/interfaces/components/TimeRange/index.d.ts +129 -0
  202. package/dist/src/interfaces/components/Timeline/index.d.ts +37 -0
  203. package/dist/src/interfaces/components/Tooltip/index.d.ts +57 -0
  204. package/dist/src/interfaces/components/TruncateComponent/index.d.ts +34 -0
  205. package/dist/src/interfaces/components/UploadFile/index.d.ts +187 -0
  206. package/dist/src/interfaces/components/Virtualization/ListVirtualization.d.ts +139 -0
  207. package/dist/src/interfaces/components/Virtualization/TableVirtualization.d.ts +144 -0
  208. package/dist/src/main.d.ts +1 -0
  209. package/dist/src/utils/common.d.ts +5 -4
  210. package/dist/src/utils/constant.d.ts +1 -0
  211. package/dist/types-external/table.d.ts +3 -0
  212. package/package.json +46 -47
  213. package/dist/index.cjs.map +0 -1
  214. package/dist/index.mjs.map +0 -1
@@ -1,94 +1,483 @@
1
1
  import { Table as ITableTanstack, Row, ColumnDef } from '@tanstack/react-table';
2
2
  import { default as React } from 'react';
3
3
  import { ITableVirtualization, IWrapperProps } from '../Virtualization/TableVirtualization';
4
+
5
+ /**
6
+ * [ID] : Definisi kolom tabel.
7
+ * [EN] : Table column definition.
8
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
9
+ */
4
10
  export type ITableColumnDef<T = unknown> = ColumnDef<T>;
11
+ /**
12
+ * [ID] : Interface untuk breakpoint kolom tabel.
13
+ * [EN] : Interface for table column breakpoint.
14
+ */
15
+ export interface ITableColumnBreakpoint {
16
+ /**
17
+ * [ID] : Lebar maksimum (opsional).
18
+ * [EN] : Maximum width (optional).
19
+ */
20
+ maxWidth?: number;
21
+ /**
22
+ * [ID] : Lebar minimum (opsional).
23
+ * [EN] : Minimum width (optional).
24
+ */
25
+ minWidth?: number;
26
+ /**
27
+ * [ID] : Daftar kolom.
28
+ * [EN] : List of columns.
29
+ */
30
+ columns: string[];
31
+ /**
32
+ * [ID] : Kolom nyata (opsional).
33
+ * [EN] : Real columns (optional).
34
+ */
35
+ realColumns?: string[];
36
+ /**
37
+ * [ID] : Reset ekspansi (opsional).
38
+ * [EN] : Reset expanded (optional).
39
+ */
40
+ resetExpanded?: boolean;
41
+ }
42
+ /**
43
+ * [ID] : Tipe fungsi render sub-komponen tabel.
44
+ * [EN] : Table sub-component render function type.
45
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
46
+ * @param original - [ID] : Data asli. [EN] : Original data.
47
+ * @param row - [ID] : Objek baris. [EN] : Row object.
48
+ * @param other - [ID] : Properti lain. [EN] : Other properties.
49
+ * @returns [ID] : Node React. [EN] : React Node.
50
+ */
51
+ export type TTableRenderSubComponent<T = unknown> = (original: T, row: Row<T>, other: {
52
+ visibilityColumns: Pick<ITableColumnBreakpoint, 'columns' | 'realColumns'>;
53
+ classNameSubMobile: string;
54
+ }) => React.ReactNode | React.ReactNode[];
55
+ /**
56
+ * [ID] : Tipe handler klik baris tabel.
57
+ * [EN] : Table row click handler type.
58
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
59
+ * @param original - [ID] : Data asli. [EN] : Original data.
60
+ * @param row - [ID] : Objek baris. [EN] : Row object.
61
+ */
62
+ export type TTableHandlerRowClick<T = unknown> = (original: T, row: Row<T>) => void;
63
+ /**
64
+ * [ID] : Interface untuk komponen Table.
65
+ * [EN] : Interface for Table component.
66
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
67
+ */
5
68
  export interface ITable<T = unknown> {
69
+ /**
70
+ * [ID] : Instance tabel TanStack.
71
+ * [EN] : TanStack table instance.
72
+ */
6
73
  tableInstance: ITableTanstack<T>;
74
+ /**
75
+ * [ID] : Nama kelas CSS pembungkus tabel (opsional).
76
+ * [EN] : Table wrapper CSS class name (optional).
77
+ */
7
78
  classNameWrapperTable?: string;
79
+ /**
80
+ * [ID] : Nama kelas CSS tabel (opsional).
81
+ * [EN] : Table CSS class name (optional).
82
+ */
8
83
  classNameTable?: string;
84
+ /**
85
+ * [ID] : Collapse semua baris (opsional).
86
+ * [EN] : Collapse all rows (optional).
87
+ */
9
88
  collapseAll?: boolean;
89
+ /**
90
+ * [ID] : Handler klik baris (opsional).
91
+ * [EN] : Row click handler (optional).
92
+ * @param original - [ID] : Data asli. [EN] : Original data.
93
+ * @param row - [ID] : Objek baris. [EN] : Row object.
94
+ */
10
95
  handlerRowClick?: (original: T, row: Row<T>) => void;
96
+ /**
97
+ * [ID] : Hak istimewa klik baris (opsional).
98
+ * [EN] : Row click privilege (optional).
99
+ */
11
100
  privillageRowClick?: boolean;
101
+ /**
102
+ * [ID] : Mengaktifkan virtualisasi (opsional).
103
+ * [EN] : Enable virtualization (optional).
104
+ */
12
105
  virtualization?: boolean;
106
+ /**
107
+ * [ID] : Properti virtualisasi (opsional).
108
+ * [EN] : Virtualization properties (optional).
109
+ */
13
110
  virtualizationProps?: IVirtualizationProps;
111
+ /**
112
+ * [ID] : ID header (opsional).
113
+ * [EN] : Header ID (optional).
114
+ */
14
115
  headerId?: string;
116
+ /**
117
+ * [ID] : Fungsi ID baris body (opsional).
118
+ * [EN] : Body row ID function (optional).
119
+ * @param row - [ID] : Objek baris. [EN] : Row object.
120
+ * @returns [ID] : ID baris. [EN] : Row ID.
121
+ */
15
122
  tbodyTrId?: (row: Row<T>) => string | undefined;
123
+ /**
124
+ * [ID] : Tinggi maksimum (opsional).
125
+ * [EN] : Maximum height (optional).
126
+ */
16
127
  maxHeight?: number;
128
+ /**
129
+ * [ID] : ID perhitungan tinggi (opsional).
130
+ * [EN] : Height calculation ID (optional).
131
+ */
17
132
  idCalculateHeight?: string;
18
- kind?: 'laba-reguler' | 'payhere-reguler' | 'laba-small';
133
+ /**
134
+ * [ID] : Jenis tabel (opsional).
135
+ * [EN] : Table kind (optional).
136
+ */
137
+ kind?: 'laba-reguler' | 'payhere-reguler' | 'laba-small' | 'bill-reguler';
138
+ /**
139
+ * [ID] : Varian tabel (opsional).
140
+ * [EN] : Table variant (optional).
141
+ */
19
142
  variant?: 'laba-grey-02';
143
+ /**
144
+ * [ID] : Komponen urutkan menaik (opsional).
145
+ * [EN] : Sort ascending component (optional).
146
+ */
20
147
  componentSortASC?: Element | React.ReactNode | React.ReactNode[];
148
+ /**
149
+ * [ID] : Komponen urutkan menurun (opsional).
150
+ * [EN] : Sort descending component (optional).
151
+ */
21
152
  componentSortDESC?: Element | React.ReactNode | React.ReactNode[];
153
+ /**
154
+ * [ID] : Scroll ke atas (opsional).
155
+ * [EN] : Scroll top (optional).
156
+ */
22
157
  scrollTop?: boolean;
158
+ /**
159
+ * [ID] : Placeholder kosong (opsional).
160
+ * [EN] : Empty placeholder (optional).
161
+ */
23
162
  emptyPlaceholder?: Element | React.ReactNode | React.ReactNode[];
24
- renderSubComponent?: (original: T, row: Row<T>) => React.ReactNode | React.ReactNode[];
163
+ /**
164
+ * [ID] : Fungsi render sub-komponen (opsional).
165
+ * [EN] : Sub-component render function (optional).
166
+ */
167
+ renderSubComponent?: (original: T, row: Row<T>, other: {
168
+ visibilityColumns: Pick<ITableColumnBreakpoint, 'columns' | 'realColumns'>;
169
+ classNameSubMobile: string;
170
+ }) => React.ReactNode | React.ReactNode[];
171
+ /**
172
+ * [ID] : Breakpoint kolom (opsional).
173
+ * [EN] : Column breakpoints (optional).
174
+ */
175
+ columnBreakpoints?: ITableColumnBreakpoint[];
25
176
  }
177
+ /**
178
+ * [ID] : Interface untuk tabel non-virtualisasi.
179
+ * [EN] : Interface for non-virtualization table.
180
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
181
+ */
26
182
  export interface INonVirtualization<T = unknown> {
183
+ /**
184
+ * [ID] : Instance tabel TanStack.
185
+ * [EN] : TanStack table instance.
186
+ */
27
187
  tableInstance: ITableTanstack<T>;
188
+ /**
189
+ * [ID] : Nama kelas CSS pembungkus tabel (opsional).
190
+ * [EN] : Table wrapper CSS class name (optional).
191
+ */
28
192
  classNameWrapperTable?: string;
193
+ /**
194
+ * [ID] : Nama kelas CSS tabel (opsional).
195
+ * [EN] : Table CSS class name (optional).
196
+ */
29
197
  classNameTable?: string;
30
- handlerRowClick?: (original: T, row: Row<T>) => void;
198
+ /**
199
+ * [ID] : Handler klik baris (opsional).
200
+ * [EN] : Row click handler (optional).
201
+ */
202
+ handlerRowClick?: ITable<T>['handlerRowClick'];
203
+ /**
204
+ * [ID] : Hak istimewa klik baris (opsional).
205
+ * [EN] : Row click privilege (optional).
206
+ */
31
207
  privillageRowClick?: boolean;
208
+ /**
209
+ * [ID] : ID header (opsional).
210
+ * [EN] : Header ID (optional).
211
+ */
32
212
  headerId?: string;
213
+ /**
214
+ * [ID] : Fungsi ID baris body.
215
+ * [EN] : Body row ID function.
216
+ * @param row - [ID] : Objek baris. [EN] : Row object.
217
+ * @returns [ID] : ID baris. [EN] : Row ID.
218
+ */
33
219
  tbodyTrId: (row: Row<T>) => string | undefined;
220
+ /**
221
+ * [ID] : Tinggi maksimum (opsional).
222
+ * [EN] : Maximum height (optional).
223
+ */
34
224
  maxHeight?: number;
225
+ /**
226
+ * [ID] : ID perhitungan tinggi (opsional).
227
+ * [EN] : Height calculation ID (optional).
228
+ */
35
229
  idCalculateHeight?: string;
230
+ /**
231
+ * [ID] : Komponen urutkan menaik.
232
+ * [EN] : Sort ascending component.
233
+ */
36
234
  componentSortASC: Element | React.ReactNode | React.ReactNode[];
235
+ /**
236
+ * [ID] : Komponen urutkan menurun.
237
+ * [EN] : Sort descending component.
238
+ */
37
239
  componentSortDESC: Element | React.ReactNode | React.ReactNode[];
240
+ /**
241
+ * [ID] : Nama kelas CSS pointer.
242
+ * [EN] : Pointer CSS class name.
243
+ */
38
244
  classNamePointer: string;
245
+ /**
246
+ * [ID] : Placeholder kosong (opsional).
247
+ * [EN] : Empty placeholder (optional).
248
+ */
39
249
  emptyPlaceholder?: Element | React.ReactNode | React.ReactNode[];
40
- renderSubComponent?: (original: T, row: Row<T>) => React.ReactNode | React.ReactNode[];
250
+ /**
251
+ * [ID] : Fungsi render sub-komponen (opsional).
252
+ * [EN] : Sub-component render function (optional).
253
+ */
254
+ renderSubComponent?: ITable<T>['renderSubComponent'];
255
+ /**
256
+ * [ID] : Kolom yang terlihat.
257
+ * [EN] : Visible columns.
258
+ */
259
+ visibilityColumns: Pick<ITableColumnBreakpoint, 'columns' | 'realColumns'>;
260
+ /**
261
+ * [ID] : Nama kelas CSS sub-mobile.
262
+ * [EN] : Sub-mobile CSS class name.
263
+ */
264
+ classNameSubMobile: string;
41
265
  }
266
+ /**
267
+ * [ID] : Interface untuk properti virtualisasi.
268
+ * [EN] : Interface for virtualization properties.
269
+ */
42
270
  export interface IVirtualizationProps extends Omit<ITableVirtualization, 'typeHight' | 'itemContent' | 'fixedHeaderContent' | 'itemSizeNames'> {
271
+ /**
272
+ * [ID] : Tipe tinggi (opsional).
273
+ * [EN] : Height type (optional).
274
+ */
43
275
  typeHight?: 'min-max' | 'container';
276
+ /**
277
+ * [ID] : Konten item (opsional).
278
+ * [EN] : Item content (optional).
279
+ */
44
280
  itemContent?: (Wrapper: React.ComponentType<IWrapperProps>, index: number, data: unknown, context: unknown) => React.ReactNode;
281
+ /**
282
+ * [ID] : Konten header tetap (opsional).
283
+ * [EN] : Fixed header content (optional).
284
+ */
45
285
  fixedHeaderContent?: (() => React.ReactNode) | (() => React.ReactNode[]);
286
+ /**
287
+ * [ID] : Nama ukuran item (opsional).
288
+ * [EN] : Item size names (optional).
289
+ */
46
290
  itemSizeNames?: string[];
47
291
  }
292
+ /**
293
+ * [ID] : Interface untuk tabel virtualisasi.
294
+ * [EN] : Interface for virtualization table.
295
+ * @template T - [ID] : Tipe data baris. [EN] : Row data type.
296
+ */
48
297
  export interface IVirtualization<T = unknown> {
298
+ /**
299
+ * [ID] : Instance tabel TanStack.
300
+ * [EN] : TanStack table instance.
301
+ */
49
302
  tableInstance: ITableTanstack<T>;
303
+ /**
304
+ * [ID] : Nama kelas CSS pembungkus tabel (opsional).
305
+ * [EN] : Table wrapper CSS class name (optional).
306
+ */
50
307
  classNameWrapperTable?: string;
51
- handlerRowClick?: (original: T, row: Row<T>) => void;
308
+ /**
309
+ * [ID] : Handler klik baris (opsional).
310
+ * [EN] : Row click handler (optional).
311
+ */
312
+ handlerRowClick?: ITable<T>['handlerRowClick'];
313
+ /**
314
+ * [ID] : Hak istimewa klik baris (opsional).
315
+ * [EN] : Row click privilege (optional).
316
+ */
52
317
  privillageRowClick?: boolean;
318
+ /**
319
+ * [ID] : Properti virtualisasi (opsional).
320
+ * [EN] : Virtualization properties (optional).
321
+ */
53
322
  virtualizationProps?: IVirtualizationProps;
323
+ /**
324
+ * [ID] : ID header (opsional).
325
+ * [EN] : Header ID (optional).
326
+ */
54
327
  headerId?: string;
328
+ /**
329
+ * [ID] : Fungsi ID baris body.
330
+ * [EN] : Body row ID function.
331
+ * @param row - [ID] : Objek baris. [EN] : Row object.
332
+ * @returns [ID] : ID baris. [EN] : Row ID.
333
+ */
55
334
  tbodyTrId: (row: Row<T>) => string | undefined;
335
+ /**
336
+ * [ID] : Nama kelas CSS tabel (opsional).
337
+ * [EN] : Table CSS class name (optional).
338
+ */
56
339
  classNameTable?: string;
340
+ /**
341
+ * [ID] : Komponen urutkan menaik.
342
+ * [EN] : Sort ascending component.
343
+ */
57
344
  componentSortASC: Element | React.ReactNode | React.ReactNode[];
345
+ /**
346
+ * [ID] : Komponen urutkan menurun.
347
+ * [EN] : Sort descending component.
348
+ */
58
349
  componentSortDESC: Element | React.ReactNode | React.ReactNode[];
350
+ /**
351
+ * [ID] : Nama kelas CSS pointer.
352
+ * [EN] : Pointer CSS class name.
353
+ */
59
354
  classNamePointer: string;
355
+ /**
356
+ * [ID] : Placeholder kosong (opsional).
357
+ * [EN] : Empty placeholder (optional).
358
+ */
60
359
  emptyPlaceholder?: Element | React.ReactNode | React.ReactNode[];
61
- renderSubComponent?: (original: T, row: Row<T>) => React.ReactNode | React.ReactNode[];
360
+ /**
361
+ * [ID] : Fungsi render sub-komponen (opsional).
362
+ * [EN] : Sub-component render function (optional).
363
+ */
364
+ renderSubComponent?: ITable<T>['renderSubComponent'];
365
+ /**
366
+ * [ID] : Kolom yang terlihat.
367
+ * [EN] : Visible columns.
368
+ */
369
+ visibilityColumns: Pick<ITableColumnBreakpoint, 'columns' | 'realColumns'>;
370
+ /**
371
+ * [ID] : Nama kelas CSS sub-mobile.
372
+ * [EN] : Sub-mobile CSS class name.
373
+ */
374
+ classNameSubMobile: string;
62
375
  }
376
+ /**
377
+ * [ID] : Interface untuk header virtualisasi.
378
+ * [EN] : Interface for virtualization head.
379
+ */
63
380
  export interface IVirtualizationHead extends React.HTMLAttributes<HTMLTableSectionElement> {
381
+ /**
382
+ * [ID] : Konteks (opsional).
383
+ * [EN] : Context (optional).
384
+ */
64
385
  context?: {
386
+ /**
387
+ * [ID] : ID header (opsional).
388
+ * [EN] : Header ID (optional).
389
+ */
65
390
  headerId?: string;
391
+ /**
392
+ * [ID] : Properti dinamis lainnya.
393
+ * [EN] : Other dynamic properties.
394
+ */
66
395
  [key: string]: unknown;
67
396
  };
397
+ /**
398
+ * [ID] : Properti dinamis lainnya.
399
+ * [EN] : Other dynamic properties.
400
+ */
68
401
  [key: string]: unknown;
69
402
  }
403
+ /**
404
+ * [ID] : Interface untuk tabel virtualisasi.
405
+ * [EN] : Interface for virtualization table.
406
+ */
70
407
  export interface IVirtualizationTable extends React.HTMLAttributes<HTMLTableElement> {
408
+ /**
409
+ * [ID] : Konteks (opsional).
410
+ * [EN] : Context (optional).
411
+ */
71
412
  context?: {
413
+ /**
414
+ * [ID] : Nama kelas CSS tabel (opsional).
415
+ * [EN] : Table CSS class name (optional).
416
+ */
72
417
  classNameTable?: string;
418
+ /**
419
+ * [ID] : Lebar tabel.
420
+ * [EN] : Table width.
421
+ */
73
422
  width: string | number;
423
+ /**
424
+ * [ID] : Properti dinamis lainnya.
425
+ * [EN] : Other dynamic properties.
426
+ */
74
427
  [key: string]: unknown;
75
428
  };
429
+ /**
430
+ * [ID] : Properti dinamis lainnya.
431
+ * [EN] : Other dynamic properties.
432
+ */
76
433
  [key: string]: unknown;
77
434
  }
435
+ /**
436
+ * [ID] : Interface untuk konfigurasi tabel.
437
+ * [EN] : Interface for table configuration.
438
+ */
78
439
  export interface ITableConfig {
440
+ /**
441
+ * [ID] : Konfigurasi jenis.
442
+ * [EN] : Kind configuration.
443
+ */
79
444
  kind: {
80
445
  'payhere-reguler': string;
81
446
  'laba-reguler': string;
82
447
  'laba-small': string;
448
+ 'bill-reguler': string;
449
+ };
450
+ /**
451
+ * [ID] : Konfigurasi sub-mobile.
452
+ * [EN] : Sub-mobile configuration.
453
+ */
454
+ subMobile: {
455
+ 'payhere-reguler': string;
456
+ 'laba-reguler': string;
457
+ 'laba-small': string;
458
+ 'bill-reguler': string;
83
459
  };
460
+ /**
461
+ * [ID] : Konfigurasi pointer.
462
+ * [EN] : Pointer configuration.
463
+ */
84
464
  pointer: {
85
465
  'payhere-reguler': string;
86
466
  'laba-reguler': string;
87
467
  'laba-small': string;
468
+ 'bill-reguler': string;
88
469
  };
470
+ /**
471
+ * [ID] : Konfigurasi utilitas.
472
+ * [EN] : Utility configuration.
473
+ */
89
474
  utility: {
90
475
  'table-scroll-top': string;
91
476
  };
477
+ /**
478
+ * [ID] : Konfigurasi ikon pengurutan.
479
+ * [EN] : Sorting icon configuration.
480
+ */
92
481
  sortingIcon: {
93
482
  'payhere-reguler': {
94
483
  asc: Element | React.ReactNode | React.ReactNode[];
@@ -102,7 +491,15 @@ export interface ITableConfig {
102
491
  asc: Element | React.ReactNode | React.ReactNode[];
103
492
  desc: Element | React.ReactNode | React.ReactNode[];
104
493
  };
494
+ 'bill-reguler': {
495
+ asc: Element | React.ReactNode | React.ReactNode[];
496
+ desc: Element | React.ReactNode | React.ReactNode[];
497
+ };
105
498
  };
499
+ /**
500
+ * [ID] : Konfigurasi varian.
501
+ * [EN] : Variant configuration.
502
+ */
106
503
  variant: {
107
504
  'laba-grey-02': string;
108
505
  };
@@ -1,33 +1,163 @@
1
1
  import { IBorderRadius } from '../../../config/components/borderRadius';
2
- export type TVariantTabs = 'original-laba-blue-10' | 'container-payhere-brand-base' | 'container-laba-blue-10' | 'container-laba-blue-10-bg_white';
2
+ import { TKeyLocale } from '../Calendar';
3
+
4
+ /**
5
+ * [ID] : Tipe varian tab.
6
+ * [EN] : Tab variant type.
7
+ */
8
+ export type TVariantTabs = 'original-laba-blue-10' | 'container-payhere-brand-base' | 'container-payhere-brand-base-bg_white' | 'container-laba-blue-10' | 'container-laba-blue-10-bg_white' | 'original-bill-secondary-800';
9
+ /**
10
+ * [ID] : Tipe ukuran tab.
11
+ * [EN] : Tab size type.
12
+ */
3
13
  export type TSizeTabs = 'tabs-m' | 'tabs-s' | 'tabs-medium' | 'tabs-small';
14
+ /**
15
+ * [ID] : Tipe event tab.
16
+ * [EN] : Tab event type.
17
+ */
4
18
  export type TTypeEventTabs = 'change' | 'mounted';
19
+ /**
20
+ * [ID] : Interface untuk item daftar tab.
21
+ * [EN] : Interface for tab list item.
22
+ */
5
23
  export interface ITabsList {
24
+ /**
25
+ * [ID] : ID tab.
26
+ * [EN] : Tab ID.
27
+ */
6
28
  id: string | number;
29
+ /**
30
+ * [ID] : Label tab.
31
+ * [EN] : Tab label.
32
+ */
7
33
  label: string | number;
34
+ /**
35
+ * [ID] : Status disembunyikan (opsional).
36
+ * [EN] : Is hidden status (optional).
37
+ */
8
38
  isHide?: boolean;
39
+ /**
40
+ * [ID] : Nama kelas CSS (opsional).
41
+ * [EN] : CSS class name (optional).
42
+ */
9
43
  className?: string;
44
+ /**
45
+ * [ID] : Warna aktif (opsional).
46
+ * [EN] : Active color (optional).
47
+ */
10
48
  activeColor?: string;
49
+ /**
50
+ * [ID] : Lokal bahasa (opsional).
51
+ * [EN] : Locale (optional).
52
+ */
53
+ locale?: Partial<Record<TKeyLocale, string>>;
11
54
  }
55
+ /**
56
+ * [ID] : Interface untuk komponen Tabs.
57
+ * [EN] : Interface for Tabs component.
58
+ */
12
59
  export interface ITabs {
60
+ /**
61
+ * [ID] : ID elemen (opsional).
62
+ * [EN] : Element ID (optional).
63
+ */
13
64
  id?: string;
65
+ /**
66
+ * [ID] : Nilai tab aktif (opsional).
67
+ * [EN] : Active tab value (optional).
68
+ */
14
69
  value?: string | number;
70
+ /**
71
+ * [ID] : Daftar tab.
72
+ * [EN] : Tab list.
73
+ */
15
74
  tabsList: ITabsList[];
75
+ /**
76
+ * [ID] : Kunci nilai tab (opsional).
77
+ * [EN] : Tab value key (optional).
78
+ */
16
79
  keyValueTab?: string;
80
+ /**
81
+ * [ID] : Nama kelas CSS kontainer (opsional).
82
+ * [EN] : Container CSS class name (optional).
83
+ */
17
84
  classNameContainer?: string;
85
+ /**
86
+ * [ID] : Nama kelas CSS (opsional).
87
+ * [EN] : CSS class name (optional).
88
+ */
18
89
  className?: string;
90
+ /**
91
+ * [ID] : Nama kelas CSS tombol (opsional).
92
+ * [EN] : Button CSS class name (optional).
93
+ */
19
94
  classNameButton?: string;
95
+ /**
96
+ * [ID] : Varian tab (opsional).
97
+ * [EN] : Tab variant (optional).
98
+ */
20
99
  variant?: TVariantTabs;
100
+ /**
101
+ * [ID] : Ukuran tab (opsional).
102
+ * [EN] : Tab size (optional).
103
+ */
21
104
  size?: TSizeTabs;
105
+ /**
106
+ * [ID] : Radius sudut (opsional).
107
+ * [EN] : Border radius (optional).
108
+ */
22
109
  borderRadius?: IBorderRadius;
110
+ /**
111
+ * [ID] : Status non-aktif (opsional).
112
+ * [EN] : Disabled status (optional).
113
+ */
23
114
  disabled?: boolean;
115
+ /**
116
+ * [ID] : Animasi (opsional).
117
+ * [EN] : Animation (optional).
118
+ */
24
119
  animation?: boolean;
120
+ /**
121
+ * [ID] : Eksekusi perubahan saat mounted (opsional).
122
+ * [EN] : Execute change on mounted (optional).
123
+ */
25
124
  mountedExecuteChange?: boolean;
125
+ /**
126
+ * [ID] : Handler perubahan tab (opsional).
127
+ * [EN] : Tab change handler (optional).
128
+ * @param v - [ID] : Tab yang dipilih. [EN] : Selected tab.
129
+ * @param sourceEvent - [ID] : Sumber event. [EN] : Event source.
130
+ */
26
131
  onChange?: (v: ITabsList, sourceEvent: TTypeEventTabs) => void;
132
+ /**
133
+ * [ID] : Tipe tombol (opsional).
134
+ * [EN] : Button type (optional).
135
+ */
27
136
  typeButton?: 'button' | 'submit';
137
+ /**
138
+ * [ID] : Lokal bahasa (opsional).
139
+ * [EN] : Locale (optional).
140
+ */
141
+ locale?: TKeyLocale;
28
142
  }
143
+ /**
144
+ * [ID] : Interface untuk gaya tab.
145
+ * [EN] : Interface for tab style.
146
+ */
29
147
  export interface IStyleTabs {
148
+ /**
149
+ * [ID] : Lebar.
150
+ * [EN] : Width.
151
+ */
30
152
  width: number;
153
+ /**
154
+ * [ID] : Tinggi.
155
+ * [EN] : Height.
156
+ */
31
157
  height: number;
158
+ /**
159
+ * [ID] : Posisi kiri.
160
+ * [EN] : Left position.
161
+ */
32
162
  left: number;
33
163
  }
@@ -1,5 +1,18 @@
1
1
  import { IAllProps } from '@tinymce/tinymce-react';
2
+
3
+ /**
4
+ * [ID] : Interface untuk komponen TextEditor.
5
+ * [EN] : Interface for TextEditor component.
6
+ */
2
7
  export interface ITextEditorProps extends IAllProps {
8
+ /**
9
+ * [ID] : ID editor.
10
+ * [EN] : Editor ID.
11
+ */
3
12
  id: string;
13
+ /**
14
+ * [ID] : Label editor (opsional).
15
+ * [EN] : Editor label (optional).
16
+ */
4
17
  label?: string;
5
18
  }