@akinon/ai-modal-table 1.0.0

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 (185) hide show
  1. package/dist/cjs/__tests__/index.test.d.ts +2 -0
  2. package/dist/cjs/__tests__/index.test.d.ts.map +1 -0
  3. package/dist/cjs/__tests__/index.test.js +82 -0
  4. package/dist/cjs/__tests__/index.test.tsx +94 -0
  5. package/dist/cjs/ai-modal-table/__tests__/index.test.d.ts +2 -0
  6. package/dist/cjs/ai-modal-table/__tests__/index.test.d.ts.map +1 -0
  7. package/dist/cjs/ai-modal-table/__tests__/index.test.js +59 -0
  8. package/dist/cjs/ai-modal-table/__tests__/index.test.tsx +98 -0
  9. package/dist/cjs/ai-modal-table/index.d.ts +4 -0
  10. package/dist/cjs/ai-modal-table/index.d.ts.map +1 -0
  11. package/dist/cjs/ai-modal-table/index.js +54 -0
  12. package/dist/cjs/ai-table/__tests__/index.test.d.ts +2 -0
  13. package/dist/cjs/ai-table/__tests__/index.test.d.ts.map +1 -0
  14. package/dist/cjs/ai-table/__tests__/index.test.js +348 -0
  15. package/dist/cjs/ai-table/__tests__/index.test.tsx +572 -0
  16. package/dist/cjs/ai-table/components/__tests__/content.test.d.ts +2 -0
  17. package/dist/cjs/ai-table/components/__tests__/content.test.d.ts.map +1 -0
  18. package/dist/cjs/ai-table/components/__tests__/content.test.js +1349 -0
  19. package/dist/cjs/ai-table/components/__tests__/content.test.tsx +1637 -0
  20. package/dist/cjs/ai-table/components/__tests__/filters.test.d.ts +2 -0
  21. package/dist/cjs/ai-table/components/__tests__/filters.test.d.ts.map +1 -0
  22. package/dist/cjs/ai-table/components/__tests__/filters.test.js +400 -0
  23. package/dist/cjs/ai-table/components/__tests__/filters.test.tsx +534 -0
  24. package/dist/cjs/ai-table/components/__tests__/footer.test.d.ts +2 -0
  25. package/dist/cjs/ai-table/components/__tests__/footer.test.d.ts.map +1 -0
  26. package/dist/cjs/ai-table/components/__tests__/footer.test.js +465 -0
  27. package/dist/cjs/ai-table/components/__tests__/footer.test.tsx +597 -0
  28. package/dist/cjs/ai-table/components/__tests__/mapper.test.d.ts +2 -0
  29. package/dist/cjs/ai-table/components/__tests__/mapper.test.d.ts.map +1 -0
  30. package/dist/cjs/ai-table/components/__tests__/mapper.test.js +453 -0
  31. package/dist/cjs/ai-table/components/__tests__/mapper.test.tsx +601 -0
  32. package/dist/cjs/ai-table/components/__tests__/pagination.test.d.ts +2 -0
  33. package/dist/cjs/ai-table/components/__tests__/pagination.test.d.ts.map +1 -0
  34. package/dist/cjs/ai-table/components/__tests__/pagination.test.js +430 -0
  35. package/dist/cjs/ai-table/components/__tests__/pagination.test.tsx +629 -0
  36. package/dist/cjs/ai-table/components/__tests__/row-actions.test.d.ts +2 -0
  37. package/dist/cjs/ai-table/components/__tests__/row-actions.test.d.ts.map +1 -0
  38. package/dist/cjs/ai-table/components/__tests__/row-actions.test.js +382 -0
  39. package/dist/cjs/ai-table/components/__tests__/row-actions.test.tsx +507 -0
  40. package/dist/cjs/ai-table/components/content.d.ts +11 -0
  41. package/dist/cjs/ai-table/components/content.d.ts.map +1 -0
  42. package/dist/cjs/ai-table/components/content.js +309 -0
  43. package/dist/cjs/ai-table/components/filters.d.ts +10 -0
  44. package/dist/cjs/ai-table/components/filters.d.ts.map +1 -0
  45. package/dist/cjs/ai-table/components/filters.js +55 -0
  46. package/dist/cjs/ai-table/components/footer.d.ts +12 -0
  47. package/dist/cjs/ai-table/components/footer.d.ts.map +1 -0
  48. package/dist/cjs/ai-table/components/footer.js +24 -0
  49. package/dist/cjs/ai-table/components/mapper.d.ts +11 -0
  50. package/dist/cjs/ai-table/components/mapper.d.ts.map +1 -0
  51. package/dist/cjs/ai-table/components/mapper.js +21 -0
  52. package/dist/cjs/ai-table/components/pagination.d.ts +11 -0
  53. package/dist/cjs/ai-table/components/pagination.d.ts.map +1 -0
  54. package/dist/cjs/ai-table/components/pagination.js +106 -0
  55. package/dist/cjs/ai-table/components/row-actions.d.ts +14 -0
  56. package/dist/cjs/ai-table/components/row-actions.d.ts.map +1 -0
  57. package/dist/cjs/ai-table/components/row-actions.js +52 -0
  58. package/dist/cjs/ai-table/constants/index.d.ts +17 -0
  59. package/dist/cjs/ai-table/constants/index.d.ts.map +1 -0
  60. package/dist/cjs/ai-table/constants/index.js +19 -0
  61. package/dist/cjs/ai-table/i18n/index.d.ts +3 -0
  62. package/dist/cjs/ai-table/i18n/index.d.ts.map +1 -0
  63. package/dist/cjs/ai-table/i18n/index.js +14 -0
  64. package/dist/cjs/ai-table/i18n/translations/en.d.ts +8 -0
  65. package/dist/cjs/ai-table/i18n/translations/en.d.ts.map +1 -0
  66. package/dist/cjs/ai-table/i18n/translations/en.js +9 -0
  67. package/dist/cjs/ai-table/i18n/translations/tr.d.ts +8 -0
  68. package/dist/cjs/ai-table/i18n/translations/tr.d.ts.map +1 -0
  69. package/dist/cjs/ai-table/i18n/translations/tr.js +9 -0
  70. package/dist/cjs/ai-table/index.d.ts +4 -0
  71. package/dist/cjs/ai-table/index.d.ts.map +1 -0
  72. package/dist/cjs/ai-table/index.js +71 -0
  73. package/dist/cjs/ai-table/utils/data-format/__tests__/index.test.d.ts +2 -0
  74. package/dist/cjs/ai-table/utils/data-format/__tests__/index.test.d.ts.map +1 -0
  75. package/dist/cjs/ai-table/utils/data-format/__tests__/index.test.js +146 -0
  76. package/dist/cjs/ai-table/utils/data-format/__tests__/index.test.ts +184 -0
  77. package/dist/cjs/ai-table/utils/data-format/index.d.ts +7 -0
  78. package/dist/cjs/ai-table/utils/data-format/index.d.ts.map +1 -0
  79. package/dist/cjs/ai-table/utils/data-format/index.js +43 -0
  80. package/dist/cjs/ai-table/utils/render-mapper-fields/__tests__/index.test.d.ts +2 -0
  81. package/dist/cjs/ai-table/utils/render-mapper-fields/__tests__/index.test.d.ts.map +1 -0
  82. package/dist/cjs/ai-table/utils/render-mapper-fields/__tests__/index.test.js +291 -0
  83. package/dist/cjs/ai-table/utils/render-mapper-fields/__tests__/index.test.tsx +399 -0
  84. package/dist/cjs/ai-table/utils/render-mapper-fields/index.d.ts +10 -0
  85. package/dist/cjs/ai-table/utils/render-mapper-fields/index.d.ts.map +1 -0
  86. package/dist/cjs/ai-table/utils/render-mapper-fields/index.js +48 -0
  87. package/dist/cjs/index.d.ts +4 -0
  88. package/dist/cjs/index.d.ts.map +1 -0
  89. package/dist/cjs/index.js +7 -0
  90. package/dist/cjs/types/index.d.ts +134 -0
  91. package/dist/cjs/types/index.d.ts.map +1 -0
  92. package/dist/cjs/types/index.js +2 -0
  93. package/dist/esm/__tests__/index.test.d.ts +2 -0
  94. package/dist/esm/__tests__/index.test.d.ts.map +1 -0
  95. package/dist/esm/__tests__/index.test.js +80 -0
  96. package/dist/esm/__tests__/index.test.tsx +94 -0
  97. package/dist/esm/ai-modal-table/__tests__/index.test.d.ts +2 -0
  98. package/dist/esm/ai-modal-table/__tests__/index.test.d.ts.map +1 -0
  99. package/dist/esm/ai-modal-table/__tests__/index.test.js +57 -0
  100. package/dist/esm/ai-modal-table/__tests__/index.test.tsx +98 -0
  101. package/dist/esm/ai-modal-table/index.d.ts +4 -0
  102. package/dist/esm/ai-modal-table/index.d.ts.map +1 -0
  103. package/dist/esm/ai-modal-table/index.js +50 -0
  104. package/dist/esm/ai-table/__tests__/index.test.d.ts +2 -0
  105. package/dist/esm/ai-table/__tests__/index.test.d.ts.map +1 -0
  106. package/dist/esm/ai-table/__tests__/index.test.js +346 -0
  107. package/dist/esm/ai-table/__tests__/index.test.tsx +572 -0
  108. package/dist/esm/ai-table/components/__tests__/content.test.d.ts +2 -0
  109. package/dist/esm/ai-table/components/__tests__/content.test.d.ts.map +1 -0
  110. package/dist/esm/ai-table/components/__tests__/content.test.js +1347 -0
  111. package/dist/esm/ai-table/components/__tests__/content.test.tsx +1637 -0
  112. package/dist/esm/ai-table/components/__tests__/filters.test.d.ts +2 -0
  113. package/dist/esm/ai-table/components/__tests__/filters.test.d.ts.map +1 -0
  114. package/dist/esm/ai-table/components/__tests__/filters.test.js +398 -0
  115. package/dist/esm/ai-table/components/__tests__/filters.test.tsx +534 -0
  116. package/dist/esm/ai-table/components/__tests__/footer.test.d.ts +2 -0
  117. package/dist/esm/ai-table/components/__tests__/footer.test.d.ts.map +1 -0
  118. package/dist/esm/ai-table/components/__tests__/footer.test.js +463 -0
  119. package/dist/esm/ai-table/components/__tests__/footer.test.tsx +597 -0
  120. package/dist/esm/ai-table/components/__tests__/mapper.test.d.ts +2 -0
  121. package/dist/esm/ai-table/components/__tests__/mapper.test.d.ts.map +1 -0
  122. package/dist/esm/ai-table/components/__tests__/mapper.test.js +451 -0
  123. package/dist/esm/ai-table/components/__tests__/mapper.test.tsx +601 -0
  124. package/dist/esm/ai-table/components/__tests__/pagination.test.d.ts +2 -0
  125. package/dist/esm/ai-table/components/__tests__/pagination.test.d.ts.map +1 -0
  126. package/dist/esm/ai-table/components/__tests__/pagination.test.js +428 -0
  127. package/dist/esm/ai-table/components/__tests__/pagination.test.tsx +629 -0
  128. package/dist/esm/ai-table/components/__tests__/row-actions.test.d.ts +2 -0
  129. package/dist/esm/ai-table/components/__tests__/row-actions.test.d.ts.map +1 -0
  130. package/dist/esm/ai-table/components/__tests__/row-actions.test.js +380 -0
  131. package/dist/esm/ai-table/components/__tests__/row-actions.test.tsx +507 -0
  132. package/dist/esm/ai-table/components/content.d.ts +11 -0
  133. package/dist/esm/ai-table/components/content.d.ts.map +1 -0
  134. package/dist/esm/ai-table/components/content.js +305 -0
  135. package/dist/esm/ai-table/components/filters.d.ts +10 -0
  136. package/dist/esm/ai-table/components/filters.d.ts.map +1 -0
  137. package/dist/esm/ai-table/components/filters.js +51 -0
  138. package/dist/esm/ai-table/components/footer.d.ts +12 -0
  139. package/dist/esm/ai-table/components/footer.d.ts.map +1 -0
  140. package/dist/esm/ai-table/components/footer.js +20 -0
  141. package/dist/esm/ai-table/components/mapper.d.ts +11 -0
  142. package/dist/esm/ai-table/components/mapper.d.ts.map +1 -0
  143. package/dist/esm/ai-table/components/mapper.js +17 -0
  144. package/dist/esm/ai-table/components/pagination.d.ts +11 -0
  145. package/dist/esm/ai-table/components/pagination.d.ts.map +1 -0
  146. package/dist/esm/ai-table/components/pagination.js +102 -0
  147. package/dist/esm/ai-table/components/row-actions.d.ts +14 -0
  148. package/dist/esm/ai-table/components/row-actions.d.ts.map +1 -0
  149. package/dist/esm/ai-table/components/row-actions.js +48 -0
  150. package/dist/esm/ai-table/constants/index.d.ts +17 -0
  151. package/dist/esm/ai-table/constants/index.d.ts.map +1 -0
  152. package/dist/esm/ai-table/constants/index.js +16 -0
  153. package/dist/esm/ai-table/i18n/index.d.ts +3 -0
  154. package/dist/esm/ai-table/i18n/index.d.ts.map +1 -0
  155. package/dist/esm/ai-table/i18n/index.js +11 -0
  156. package/dist/esm/ai-table/i18n/translations/en.d.ts +8 -0
  157. package/dist/esm/ai-table/i18n/translations/en.d.ts.map +1 -0
  158. package/dist/esm/ai-table/i18n/translations/en.js +7 -0
  159. package/dist/esm/ai-table/i18n/translations/tr.d.ts +8 -0
  160. package/dist/esm/ai-table/i18n/translations/tr.d.ts.map +1 -0
  161. package/dist/esm/ai-table/i18n/translations/tr.js +7 -0
  162. package/dist/esm/ai-table/index.d.ts +4 -0
  163. package/dist/esm/ai-table/index.d.ts.map +1 -0
  164. package/dist/esm/ai-table/index.js +67 -0
  165. package/dist/esm/ai-table/utils/data-format/__tests__/index.test.d.ts +2 -0
  166. package/dist/esm/ai-table/utils/data-format/__tests__/index.test.d.ts.map +1 -0
  167. package/dist/esm/ai-table/utils/data-format/__tests__/index.test.js +144 -0
  168. package/dist/esm/ai-table/utils/data-format/__tests__/index.test.ts +184 -0
  169. package/dist/esm/ai-table/utils/data-format/index.d.ts +7 -0
  170. package/dist/esm/ai-table/utils/data-format/index.d.ts.map +1 -0
  171. package/dist/esm/ai-table/utils/data-format/index.js +38 -0
  172. package/dist/esm/ai-table/utils/render-mapper-fields/__tests__/index.test.d.ts +2 -0
  173. package/dist/esm/ai-table/utils/render-mapper-fields/__tests__/index.test.d.ts.map +1 -0
  174. package/dist/esm/ai-table/utils/render-mapper-fields/__tests__/index.test.js +289 -0
  175. package/dist/esm/ai-table/utils/render-mapper-fields/__tests__/index.test.tsx +399 -0
  176. package/dist/esm/ai-table/utils/render-mapper-fields/index.d.ts +10 -0
  177. package/dist/esm/ai-table/utils/render-mapper-fields/index.d.ts.map +1 -0
  178. package/dist/esm/ai-table/utils/render-mapper-fields/index.js +44 -0
  179. package/dist/esm/index.d.ts +4 -0
  180. package/dist/esm/index.d.ts.map +1 -0
  181. package/dist/esm/index.js +2 -0
  182. package/dist/esm/types/index.d.ts +134 -0
  183. package/dist/esm/types/index.d.ts.map +1 -0
  184. package/dist/esm/types/index.js +1 -0
  185. package/package.json +60 -0
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderMapperRow = void 0;
4
+ const ui_input_1 = require("@akinon/ui-input");
5
+ const ui_layout_1 = require("@akinon/ui-layout");
6
+ const ui_select_1 = require("@akinon/ui-select");
7
+ const React = require("react");
8
+ const constants_1 = require("../../constants");
9
+ const renderDivider = (row, index) => {
10
+ const isLastItem = Object.keys(row).length - 1 === index;
11
+ if (isLastItem)
12
+ return null;
13
+ return React.createElement("div", { className: "w-3 h-1 bg-ebonyClay-550" });
14
+ };
15
+ const renderSelectItem = ({ key, value, index, options, handleItemChange }) => (React.createElement(ui_select_1.Select, { value: value || undefined, rootClassName: "w-40", size: "large", options: options || [], onChange: selectedValue => handleItemChange({
16
+ index,
17
+ key,
18
+ value: selectedValue
19
+ }) }));
20
+ const renderTextItem = ({ key, value, index, handleItemChange }) => (React.createElement(ui_input_1.Input, { value: value, className: "w-40", size: "large", onChange: e => handleItemChange({ index, key, value: e.target.value }) }));
21
+ const renderItemByType = ({ key, index, item, handleItemChange }) => {
22
+ const { type, options, value } = item;
23
+ switch (type) {
24
+ case constants_1.MAPPER_ITEM_TYPES.SELECT:
25
+ return renderSelectItem({
26
+ key,
27
+ value,
28
+ index,
29
+ options,
30
+ handleItemChange
31
+ });
32
+ case constants_1.MAPPER_ITEM_TYPES.TEXT:
33
+ return renderTextItem({ key, value, index, handleItemChange });
34
+ default:
35
+ return renderTextItem({ key, value, index, handleItemChange });
36
+ }
37
+ };
38
+ const renderMapperRow = ({ row, index, handleItemChange }) => {
39
+ return (React.createElement(ui_layout_1.Flex, { align: "center" }, Object.entries(row).map(([fieldKey, item], itemIndex) => (React.createElement(React.Fragment, { key: itemIndex },
40
+ renderItemByType({
41
+ key: fieldKey,
42
+ index,
43
+ item,
44
+ handleItemChange
45
+ }),
46
+ renderDivider(row, itemIndex))))));
47
+ };
48
+ exports.renderMapperRow = renderMapperRow;
@@ -0,0 +1,4 @@
1
+ export { AiModalTable } from './ai-modal-table';
2
+ export { AiTable } from './ai-table';
3
+ export type { AiModalTableProps, AiTableProps } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AiTable = exports.AiModalTable = void 0;
4
+ var ai_modal_table_1 = require("./ai-modal-table");
5
+ Object.defineProperty(exports, "AiModalTable", { enumerable: true, get: function () { return ai_modal_table_1.AiModalTable; } });
6
+ var ai_table_1 = require("./ai-table");
7
+ Object.defineProperty(exports, "AiTable", { enumerable: true, get: function () { return ai_table_1.AiTable; } });
@@ -0,0 +1,134 @@
1
+ import type { ModalProps } from '@akinon/ui-modal';
2
+ import { MAPPER_ITEM_TYPES } from '../ai-table/constants';
3
+ type MapperItemTypes = (typeof MAPPER_ITEM_TYPES)[keyof typeof MAPPER_ITEM_TYPES];
4
+ export type HandleMapperItemChange = ({ index, key, value }: {
5
+ index: number;
6
+ key: string;
7
+ value: MapperItemValue;
8
+ }) => void;
9
+ export type MapperItemValue = string | number;
10
+ export type MapperSelectItemOption = {
11
+ label: string;
12
+ value: MapperItemValue;
13
+ };
14
+ export interface MapperRow {
15
+ [key: string]: {
16
+ value: MapperItemValue;
17
+ type: MapperItemTypes;
18
+ options?: MapperSelectItemOption[];
19
+ };
20
+ }
21
+ type Filter = {
22
+ key: string;
23
+ type: string;
24
+ placeholder?: string;
25
+ };
26
+ type Column = {
27
+ title: string;
28
+ dataIndex: string;
29
+ hasSparkle?: boolean;
30
+ hasGradientLine?: boolean;
31
+ render?: (value: unknown, record: Record<string, unknown>) => React.ReactNode;
32
+ };
33
+ export interface MapperConfig {
34
+ /**
35
+ * Callback fired when items are added to a mapper field. Receives the row ID, the dataIndex of the mapper field, and the new item to be added. The new item is an object containing 'key' and 'value' properties.
36
+ */
37
+ onAddItem: (pk: string | number, dataIndex: string) => void;
38
+ /**
39
+ * Callback fired when items are removed from a mapper field. Receives the row ID, the dataIndex of the mapper field, and the index of the item to be removed.
40
+ */
41
+ onRemoveItem: ({ pk, dataIndex, index }: {
42
+ pk: string | number;
43
+ dataIndex: string;
44
+ index: number;
45
+ }) => void;
46
+ /**
47
+ * Callback fired when a mapper item is changed. Receives the row ID, the dataIndex of the mapper field, the key of the item, the index of the item in the array, and the new value.
48
+ */
49
+ onItemChange: (pk: string | number, payload: Record<string, MapperRow[]>) => void;
50
+ /**
51
+ * Column data indexes that have mapper functionality.
52
+ */
53
+ dataIndex: string;
54
+ }
55
+ export interface TableBaseProps {
56
+ /**
57
+ * The unique key field name for identifying rows
58
+ */
59
+ rowKey?: string;
60
+ /**
61
+ * Array of data objects to display in the table
62
+ */
63
+ data: Record<string, unknown>[];
64
+ /**
65
+ * Array of column configurations defining table structure and appearance
66
+ */
67
+ columns: Column[];
68
+ /**
69
+ * Array of filter configurations for filtering the table data
70
+ */
71
+ filters: Filter[];
72
+ /**
73
+ * Array of data keys that should be editable in the table
74
+ */
75
+ editDataIndexes?: string[];
76
+ /**
77
+ * Callback fired when a row is edited. Returns the row ID and the modified data. To work properly, editDataIndexes prop must be provided
78
+ */
79
+ onEdit?: (pk: number | string, payload: Record<string, string>) => void;
80
+ /**
81
+ * Function to render custom action buttons for each row. Receives the row ID.
82
+ */
83
+ customActionButtons?: (rowId: number | string) => React.ReactNode;
84
+ /**
85
+ * Array of currently selected row IDs
86
+ */
87
+ selectedRows: Array<number | string>;
88
+ /**
89
+ * Callback fired when the selection of rows changes
90
+ */
91
+ onChangeSelectedRows: (rows: Array<number | string>) => void;
92
+ /**
93
+ * Configuration for mapper functionality. If provided, the table will render mapper fields based on the specified dataIndex and use the provided callbacks to manage adding, removing, and changing items in the mapper fields.
94
+ */
95
+ mapperConfig?: MapperConfig;
96
+ /**
97
+ * CSS class name to apply to the table wrapper element
98
+ */
99
+ tableClassName?: string;
100
+ }
101
+ export interface AiTableProps extends TableBaseProps {
102
+ /**
103
+ * Shows loading state for the table data
104
+ */
105
+ isLoading: boolean;
106
+ /**
107
+ * Shows loading state for the submit buttons
108
+ */
109
+ isSubmitting: boolean;
110
+ /**
111
+ * Label text for the "Submit All" button
112
+ */
113
+ submitAllLabel: string;
114
+ /**
115
+ * Label text for the "Submit Selected" button
116
+ */
117
+ submitSelectedLabel: string;
118
+ /**
119
+ * Callback fired when "Submit All" button is clicked.
120
+ */
121
+ onSubmitAllData: () => void;
122
+ /**
123
+ * Callback fired when "Submit Selected" button is clicked.
124
+ */
125
+ onSubmitSelectedData: () => void;
126
+ }
127
+ export interface AiModalTableProps extends AiTableProps, ModalProps {
128
+ /**
129
+ * Description text displayed in the modal header
130
+ */
131
+ description: string;
132
+ }
133
+ export {};
134
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { describe, expect, it } from 'vitest';
3
+ import { AiModalTable, AiTable } from '../index';
4
+ import * as indexModule from '../index';
5
+ describe('index.tsx - Public API', () => {
6
+ describe('Component Exports', () => {
7
+ it('should export AiModalTable and AiTable components', () => {
8
+ expect(indexModule).toHaveProperty('AiModalTable');
9
+ expect(indexModule).toHaveProperty('AiTable');
10
+ expect(typeof indexModule.AiModalTable).toBe('function');
11
+ expect(typeof indexModule.AiTable).toBe('function');
12
+ });
13
+ it('should have only named exports (no default export)', () => {
14
+ const exports = Object.keys(indexModule).sort();
15
+ expect(exports).toContain('AiModalTable');
16
+ expect(exports).toContain('AiTable');
17
+ expect(indexModule.default).toBeUndefined();
18
+ });
19
+ it('should maintain export consistency', () => {
20
+ expect(indexModule.AiModalTable).toBe(AiModalTable);
21
+ expect(indexModule.AiTable).toBe(AiTable);
22
+ });
23
+ it('should export components as separate instances', () => {
24
+ const { AiModalTable, AiTable } = indexModule;
25
+ expect(AiModalTable).not.toBe(AiTable);
26
+ expect(typeof AiModalTable).toBe('function');
27
+ expect(typeof AiTable).toBe('function');
28
+ });
29
+ });
30
+ describe('Module Structure', () => {
31
+ it('should be importable as ES module with all exports', () => {
32
+ expect(Object.keys(indexModule).length).toBeGreaterThanOrEqual(2);
33
+ });
34
+ it('should have React components with proper names', () => {
35
+ const getComponentName = (comp) => comp.name || comp.displayName || 'Unknown';
36
+ expect(getComponentName(indexModule.AiModalTable)).toBeDefined();
37
+ expect(getComponentName(indexModule.AiTable)).toBeDefined();
38
+ });
39
+ it('should not have circular or broken dependencies', () => {
40
+ // Should be able to destructure without errors
41
+ expect(() => {
42
+ const { AiModalTable: ModalTable, AiTable: Table } = indexModule;
43
+ if (!ModalTable || !Table)
44
+ throw new Error('Missing export');
45
+ }).not.toThrow();
46
+ });
47
+ });
48
+ describe('Export Stability', () => {
49
+ it('should maintain stable export references across multiple imports', () => {
50
+ const import1 = indexModule.AiModalTable;
51
+ const import2 = indexModule.AiModalTable;
52
+ const import3 = indexModule.AiTable;
53
+ const import4 = indexModule.AiTable;
54
+ expect(import1).toBe(import2);
55
+ expect(import3).toBe(import4);
56
+ });
57
+ it('should support destructuring without errors', () => {
58
+ // Common user pattern - destructuring from index
59
+ const { AiModalTable, AiTable } = indexModule;
60
+ expect(AiModalTable).toBeDefined();
61
+ expect(AiTable).toBeDefined();
62
+ expect(typeof AiModalTable).toBe('function');
63
+ expect(typeof AiTable).toBe('function');
64
+ });
65
+ it('should support namespace import pattern', () => {
66
+ // Common user pattern - namespace import
67
+ const exports = indexModule;
68
+ expect(exports.AiModalTable).toBeDefined();
69
+ expect(exports.AiTable).toBeDefined();
70
+ });
71
+ it('should export both wrapper and content components', () => {
72
+ // Verify architectural separation:
73
+ // - AiModalTable wraps content (modal + AiTable)
74
+ // - AiTable provides table functionality independently
75
+ const { AiModalTable, AiTable } = indexModule;
76
+ expect(AiModalTable).not.toBe(AiTable);
77
+ expect(AiModalTable !== AiTable).toBe(true);
78
+ });
79
+ });
80
+ });
@@ -0,0 +1,94 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { describe, expect, it } from 'vitest';
3
+
4
+ import { AiModalTable, AiTable } from '../index';
5
+ import * as indexModule from '../index';
6
+
7
+ describe('index.tsx - Public API', () => {
8
+ describe('Component Exports', () => {
9
+ it('should export AiModalTable and AiTable components', () => {
10
+ expect(indexModule).toHaveProperty('AiModalTable');
11
+ expect(indexModule).toHaveProperty('AiTable');
12
+ expect(typeof indexModule.AiModalTable).toBe('function');
13
+ expect(typeof indexModule.AiTable).toBe('function');
14
+ });
15
+
16
+ it('should have only named exports (no default export)', () => {
17
+ const exports = Object.keys(indexModule).sort();
18
+ expect(exports).toContain('AiModalTable');
19
+ expect(exports).toContain('AiTable');
20
+ expect((indexModule as Record<string, any>).default).toBeUndefined();
21
+ });
22
+
23
+ it('should maintain export consistency', () => {
24
+ expect(indexModule.AiModalTable).toBe(AiModalTable);
25
+ expect(indexModule.AiTable).toBe(AiTable);
26
+ });
27
+
28
+ it('should export components as separate instances', () => {
29
+ const { AiModalTable, AiTable } = indexModule;
30
+ expect(AiModalTable).not.toBe(AiTable);
31
+ expect(typeof AiModalTable).toBe('function');
32
+ expect(typeof AiTable).toBe('function');
33
+ });
34
+ });
35
+
36
+ describe('Module Structure', () => {
37
+ it('should be importable as ES module with all exports', () => {
38
+ expect(Object.keys(indexModule).length).toBeGreaterThanOrEqual(2);
39
+ });
40
+
41
+ it('should have React components with proper names', () => {
42
+ const getComponentName = (comp: any) =>
43
+ comp.name || comp.displayName || 'Unknown';
44
+
45
+ expect(getComponentName(indexModule.AiModalTable)).toBeDefined();
46
+ expect(getComponentName(indexModule.AiTable)).toBeDefined();
47
+ });
48
+
49
+ it('should not have circular or broken dependencies', () => {
50
+ // Should be able to destructure without errors
51
+ expect(() => {
52
+ const { AiModalTable: ModalTable, AiTable: Table } = indexModule;
53
+ if (!ModalTable || !Table) throw new Error('Missing export');
54
+ }).not.toThrow();
55
+ });
56
+ });
57
+
58
+ describe('Export Stability', () => {
59
+ it('should maintain stable export references across multiple imports', () => {
60
+ const import1 = indexModule.AiModalTable;
61
+ const import2 = indexModule.AiModalTable;
62
+ const import3 = indexModule.AiTable;
63
+ const import4 = indexModule.AiTable;
64
+
65
+ expect(import1).toBe(import2);
66
+ expect(import3).toBe(import4);
67
+ });
68
+
69
+ it('should support destructuring without errors', () => {
70
+ // Common user pattern - destructuring from index
71
+ const { AiModalTable, AiTable } = indexModule;
72
+ expect(AiModalTable).toBeDefined();
73
+ expect(AiTable).toBeDefined();
74
+ expect(typeof AiModalTable).toBe('function');
75
+ expect(typeof AiTable).toBe('function');
76
+ });
77
+
78
+ it('should support namespace import pattern', () => {
79
+ // Common user pattern - namespace import
80
+ const exports = indexModule;
81
+ expect(exports.AiModalTable).toBeDefined();
82
+ expect(exports.AiTable).toBeDefined();
83
+ });
84
+
85
+ it('should export both wrapper and content components', () => {
86
+ // Verify architectural separation:
87
+ // - AiModalTable wraps content (modal + AiTable)
88
+ // - AiTable provides table functionality independently
89
+ const { AiModalTable, AiTable } = indexModule;
90
+ expect(AiModalTable).not.toBe(AiTable);
91
+ expect(AiModalTable !== AiTable).toBe(true);
92
+ });
93
+ });
94
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/ai-modal-table/__tests__/index.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ /* eslint-disable @typescript-eslint/no-explicit-any */
13
+ import { fireEvent, render, screen } from '@testing-library/react';
14
+ import React from 'react';
15
+ import { describe, expect, it, vi } from 'vitest';
16
+ vi.mock('@akinon/ui-theme', async (importOriginal) => {
17
+ const actual = (await importOriginal());
18
+ return Object.assign(Object.assign({}, actual), { useToken: () => ({ token: {}, hashId: 'hash123' }) });
19
+ });
20
+ vi.mock('@akinon/ui-layout', () => ({
21
+ Flex: ({ children }) => React.createElement("div", { "data-testid": "flex" }, children)
22
+ }));
23
+ vi.mock('@akinon/ui-modal', () => ({
24
+ Modal: (_a) => {
25
+ var { children, onCancel, className } = _a, rest = __rest(_a, ["children", "onCancel", "className"]);
26
+ return (React.createElement("div", Object.assign({ "data-testid": "modal", className: className }, rest),
27
+ React.createElement("button", { "data-testid": "close-button", onClick: onCancel }),
28
+ children));
29
+ }
30
+ }));
31
+ vi.mock('../ai-table', () => ({
32
+ AiTable: (props) => (React.createElement("div", { "data-testid": "ai-table" },
33
+ React.createElement("pre", { "data-testid": "ai-table-props" }, JSON.stringify({
34
+ columns: props.columns,
35
+ data: props.data,
36
+ isLoading: props.isLoading
37
+ })))),
38
+ DEFAULT_ROW_KEY: 'id'
39
+ }));
40
+ import { AiModalTable } from '../index';
41
+ describe('AiModalTable', () => {
42
+ it('renders description and passes props to AiTable', () => {
43
+ const columns = [{ title: 'Name', dataIndex: 'name' }];
44
+ const data = [{ id: 1, name: 'Alice' }];
45
+ render(React.createElement(AiModalTable, { description: "My description", columns: columns, data: data, isLoading: true, submitAllLabel: "Submit All", submitSelectedLabel: "Submit Selected", filters: [], selectedRows: [], onChangeSelectedRows: () => { }, isSubmitting: false, onSubmitAllData: () => { }, onSubmitSelectedData: () => { } }));
46
+ expect(screen.getByText('My description')).toBeInTheDocument();
47
+ });
48
+ it('calls onCancel when modal close clicked and applies class names', () => {
49
+ const onCancel = vi.fn();
50
+ render(React.createElement(AiModalTable, { description: "My description", columns: [], data: [], isLoading: true, submitAllLabel: "Submit All", submitSelectedLabel: "Submit Selected", filters: [], selectedRows: [], onChangeSelectedRows: () => { }, isSubmitting: false, onSubmitAllData: () => { }, onSubmitSelectedData: () => { }, onCancel: onCancel }));
51
+ const modal = screen.getByTestId('modal');
52
+ expect(modal.className).toContain('ai-modal-table');
53
+ expect(modal.className).toContain('hash123');
54
+ fireEvent.click(screen.getByTestId('close-button'));
55
+ expect(onCancel).toHaveBeenCalledTimes(1);
56
+ });
57
+ });
@@ -0,0 +1,98 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { fireEvent, render, screen } from '@testing-library/react';
3
+ import React from 'react';
4
+ import { describe, expect, it, vi } from 'vitest';
5
+
6
+ vi.mock('@akinon/ui-theme', async importOriginal => {
7
+ const actual = (await importOriginal()) as Record<string, any>;
8
+
9
+ return {
10
+ ...actual,
11
+ useToken: () => ({ token: {}, hashId: 'hash123' })
12
+ };
13
+ });
14
+
15
+ vi.mock('@akinon/ui-layout', () => ({
16
+ Flex: ({ children }: any) => <div data-testid="flex">{children}</div>
17
+ }));
18
+
19
+ vi.mock('@akinon/ui-modal', () => ({
20
+ Modal: ({ children, onCancel, className, ...rest }: any) => (
21
+ <div data-testid="modal" className={className} {...rest}>
22
+ <button data-testid="close-button" onClick={onCancel} />
23
+ {children}
24
+ </div>
25
+ )
26
+ }));
27
+
28
+ vi.mock('../ai-table', () => ({
29
+ AiTable: (props: any) => (
30
+ <div data-testid="ai-table">
31
+ <pre data-testid="ai-table-props">
32
+ {JSON.stringify({
33
+ columns: props.columns,
34
+ data: props.data,
35
+ isLoading: props.isLoading
36
+ })}
37
+ </pre>
38
+ </div>
39
+ ),
40
+ DEFAULT_ROW_KEY: 'id'
41
+ }));
42
+
43
+ import { AiModalTable } from '../index';
44
+
45
+ describe('AiModalTable', () => {
46
+ it('renders description and passes props to AiTable', () => {
47
+ const columns = [{ title: 'Name', dataIndex: 'name' }];
48
+ const data = [{ id: 1, name: 'Alice' }];
49
+
50
+ render(
51
+ <AiModalTable
52
+ description="My description"
53
+ columns={columns}
54
+ data={data}
55
+ isLoading={true}
56
+ submitAllLabel="Submit All"
57
+ submitSelectedLabel="Submit Selected"
58
+ filters={[]}
59
+ selectedRows={[]}
60
+ onChangeSelectedRows={() => {}}
61
+ isSubmitting={false}
62
+ onSubmitAllData={() => {}}
63
+ onSubmitSelectedData={() => {}}
64
+ />
65
+ );
66
+
67
+ expect(screen.getByText('My description')).toBeInTheDocument();
68
+ });
69
+
70
+ it('calls onCancel when modal close clicked and applies class names', () => {
71
+ const onCancel = vi.fn();
72
+
73
+ render(
74
+ <AiModalTable
75
+ description="My description"
76
+ columns={[]}
77
+ data={[]}
78
+ isLoading={true}
79
+ submitAllLabel="Submit All"
80
+ submitSelectedLabel="Submit Selected"
81
+ filters={[]}
82
+ selectedRows={[]}
83
+ onChangeSelectedRows={() => {}}
84
+ isSubmitting={false}
85
+ onSubmitAllData={() => {}}
86
+ onSubmitSelectedData={() => {}}
87
+ onCancel={onCancel}
88
+ />
89
+ );
90
+
91
+ const modal = screen.getByTestId('modal');
92
+ expect(modal.className).toContain('ai-modal-table');
93
+ expect(modal.className).toContain('hash123');
94
+
95
+ fireEvent.click(screen.getByTestId('close-button'));
96
+ expect(onCancel).toHaveBeenCalledTimes(1);
97
+ });
98
+ });
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { AiModalTableProps } from '../types';
3
+ export declare const AiModalTable: ({ columns, customActionButtons, data, description, editDataIndexes, filters, isLoading, isSubmitting, onChangeSelectedRows, onEdit, onSubmitAllData, onSubmitSelectedData, rowKey, selectedRows, submitAllLabel, submitSelectedLabel, mapperConfig, tableClassName, ...modalProps }: AiModalTableProps) => React.JSX.Element;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai-modal-table/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,eAAO,MAAM,YAAY,GAAI,qRAoB1B,iBAAiB,sBAoEnB,CAAC"}
@@ -0,0 +1,50 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { Flex } from '@akinon/ui-layout';
13
+ import { Modal } from '@akinon/ui-modal';
14
+ import { useToken } from '@akinon/ui-theme';
15
+ import { useStyleRegister } from '@ant-design/cssinjs';
16
+ import { ConfigProvider } from 'antd';
17
+ import classNames from 'classnames';
18
+ import * as React from 'react';
19
+ import { AiTable } from '../ai-table';
20
+ import { DEFAULT_ROW_KEY } from '../ai-table/constants';
21
+ export const AiModalTable = (_a) => {
22
+ var { columns = [], customActionButtons, data = [], description, editDataIndexes, filters = [], isLoading, isSubmitting, onChangeSelectedRows, onEdit, onSubmitAllData, onSubmitSelectedData, rowKey = DEFAULT_ROW_KEY, selectedRows, submitAllLabel, submitSelectedLabel, mapperConfig, tableClassName } = _a, modalProps = __rest(_a, ["columns", "customActionButtons", "data", "description", "editDataIndexes", "filters", "isLoading", "isSubmitting", "onChangeSelectedRows", "onEdit", "onSubmitAllData", "onSubmitSelectedData", "rowKey", "selectedRows", "submitAllLabel", "submitSelectedLabel", "mapperConfig", "tableClassName"]);
23
+ const { onCancel, className } = modalProps, restModalProps = __rest(modalProps, ["onCancel", "className"]);
24
+ const { getPrefixCls, theme } = React.useContext(ConfigProvider.ConfigContext);
25
+ const { token, hashId } = useToken();
26
+ const baseCls = getPrefixCls('ai-modal-table');
27
+ const handleCancel = (e) => {
28
+ if (onCancel)
29
+ onCancel(e);
30
+ };
31
+ const useStyle = useStyleRegister({
32
+ token: token,
33
+ path: ['AiModalTable'],
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ theme: theme
36
+ }, () => {
37
+ const prefixCls = `:where(.${hashId}).${baseCls}`;
38
+ return {
39
+ [prefixCls]: {
40
+ '.akinon-modal-title': {
41
+ borderBottom: 'none !important'
42
+ }
43
+ }
44
+ };
45
+ });
46
+ return useStyle(React.createElement(Modal, Object.assign({ className: classNames(baseCls, hashId, className), footer: null, onCancel: handleCancel, centered: true, destroyOnClose: true, width: 1200 }, restModalProps),
47
+ React.createElement(Flex, { gap: 10, vertical: true },
48
+ React.createElement("div", { className: "text-neutral-50 text-sm mb-2" }, description),
49
+ React.createElement(AiTable, { columns: columns, customActionButtons: customActionButtons, data: data, editDataIndexes: editDataIndexes, filters: filters, isLoading: isLoading, isSubmitting: isSubmitting, onChangeSelectedRows: onChangeSelectedRows, onEdit: onEdit, onSubmitAllData: onSubmitAllData, onSubmitSelectedData: onSubmitSelectedData, rowKey: rowKey, selectedRows: selectedRows, submitAllLabel: submitAllLabel, submitSelectedLabel: submitSelectedLabel, mapperConfig: mapperConfig, tableClassName: tableClassName }))));
50
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/ai-table/__tests__/index.test.tsx"],"names":[],"mappings":""}