@appcorp/app-corp-vista 0.1.46 → 0.1.48

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.
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { VistaTableV1Props } from '../../type/vista-table-type';
3
+ export declare const TOOLTIP_OFFSET = -8;
4
+ export declare const rowClasses = "odd:bg-gray-100 even:bg-gray-200 hover:bg-gray-300 dark:odd:bg-gray-800 dark:even:bg-gray-700 dark:hover:bg-gray-600";
5
+ export declare const dataClasses = "p-2 cursor-pointer";
6
+ export declare const VistaTableBodyV1: FC<Pick<VistaTableV1Props, 'tableBodyRows' | 'tableBodyCols' | 'pageLimit' | 'loading' | 'rowActions'> & {
7
+ colLength: number;
8
+ }>;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var _a;
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.VistaTableBodyV1 = exports.dataClasses = exports.rowClasses = exports.TOOLTIP_OFFSET = void 0;
38
+ var react_1 = __importStar(require("react"));
39
+ var util_functions_1 = require("@react-pakistan/util-functions");
40
+ var react_tooltip_1 = require("react-tooltip");
41
+ var vista_table_cell_v1_1 = require("../../atoms/table-cell-v1/vista-table-cell-v1");
42
+ var vista_dropdown_menu_v1_1 = require("../../molecules/vista-dropdown-menu-v1/vista-dropdown-menu-v1");
43
+ var vista_shimmer_v1_1 = require("../../atoms/vista-shimmer-v1/vista-shimmer-v1");
44
+ var vista_table_type_1 = require("../../type/vista-table-type");
45
+ exports.TOOLTIP_OFFSET = -8;
46
+ exports.rowClasses = 'odd:bg-gray-100 even:bg-gray-200 hover:bg-gray-300 dark:odd:bg-gray-800 dark:even:bg-gray-700 dark:hover:bg-gray-600';
47
+ exports.dataClasses = 'p-2 cursor-pointer';
48
+ var componentMap = (_a = {},
49
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.ID] = function (val) { return (react_1.default.createElement("td", { className: exports.dataClasses, "data-tooltip-id": val },
50
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: (0, util_functions_1.truncateText)(val, 3), id: val, isBold: true }),
51
+ react_1.default.createElement(react_tooltip_1.Tooltip, { id: val, offset: exports.TOOLTIP_OFFSET, place: "top-start" },
52
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: val, isBold: true })))); },
53
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.BOLD_TEXT] = function (val) { return (react_1.default.createElement("td", { className: exports.dataClasses },
54
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: val, isBold: true }))); },
55
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT] = function (val) { return (react_1.default.createElement("td", { className: exports.dataClasses },
56
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: val }))); },
57
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.CREATED_UPDATED_AT] = function (val) {
58
+ var _a = val.split(util_functions_1.VALUE_DELIMITER.DOLLAR), createdAt = _a[0], updatedAt = _a[1];
59
+ return (react_1.default.createElement("td", { className: exports.dataClasses },
60
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: (0, util_functions_1.formatDate)(createdAt, util_functions_1.DATE_FORMATS.LOCALE_DATE) }),
61
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: (0, util_functions_1.formatDate)(updatedAt, util_functions_1.DATE_FORMATS.LOCALE_DATE) })));
62
+ },
63
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS] = function (id, rowActions) { return (react_1.default.createElement("td", { className: exports.dataClasses },
64
+ react_1.default.createElement("div", { className: "flex flex-row justify-center" },
65
+ react_1.default.createElement(vista_dropdown_menu_v1_1.VistaDropdownMenuV1, { assetId: id, rowActions: rowActions })))); },
66
+ _a[vista_table_type_1.VISTA_TABLE_CELL_TYPE.IMAGE] = function () { return (react_1.default.createElement(react_1.default.Fragment, null)); },
67
+ _a);
68
+ var VistaTableBodyV1 = function (_a) {
69
+ var colLength = _a.colLength, loading = _a.loading, pageLimit = _a.pageLimit, tableBodyCols = _a.tableBodyCols, tableBodyRows = _a.tableBodyRows, rowActions = _a.rowActions;
70
+ return (react_1.default.createElement(react_1.default.Fragment, null,
71
+ loading &&
72
+ new Array(Number(pageLimit)).fill(1).map(function (_, i) {
73
+ return (react_1.default.createElement("tr", { key: i, className: exports.rowClasses }, new Array(colLength).fill(1).map(function (_, _i) {
74
+ return (react_1.default.createElement("td", { key: _i, className: exports.dataClasses },
75
+ react_1.default.createElement(vista_shimmer_v1_1.VistaShimmer, null)));
76
+ })));
77
+ }),
78
+ !loading && (tableBodyRows === null || tableBodyRows === void 0 ? void 0 : tableBodyRows.map(function (row) {
79
+ return (react_1.default.createElement("tr", { key: row.id, className: exports.rowClasses }, tableBodyCols.map(function (_a, ind) {
80
+ var _b;
81
+ var key = _a.key, componentType = _a.componentType, expression = _a.expression;
82
+ var computedValue = '';
83
+ if (Array.isArray(key)) {
84
+ computedValue = row[key[0]][key[1]];
85
+ }
86
+ else {
87
+ computedValue = row[key];
88
+ }
89
+ if (componentType === vista_table_type_1.VISTA_TABLE_CELL_TYPE.CREATED_UPDATED_AT) {
90
+ computedValue = "".concat(row['createdAt']).concat(util_functions_1.VALUE_DELIMITER.DOLLAR).concat(row['updatedAt']);
91
+ }
92
+ if (componentType === vista_table_type_1.VISTA_TABLE_CELL_TYPE.ACTIONS) {
93
+ computedValue = row.id;
94
+ }
95
+ if (expression) {
96
+ computedValue = expression(row[key]);
97
+ }
98
+ return (react_1.default.createElement(react_1.Fragment, { key: "".concat(computedValue, "-").concat(ind) }, (_b = componentMap[componentType]) === null || _b === void 0 ? void 0 : _b.call(componentMap, computedValue, rowActions)));
99
+ })));
100
+ }))));
101
+ };
102
+ exports.VistaTableBodyV1 = VistaTableBodyV1;
@@ -0,0 +1,5 @@
1
+ import { FC } from "react";
2
+ import { TableHeadItemV1 } from "../../type/vista-table-type";
3
+ export declare const VistaTableHeadV1: FC<{
4
+ items: TableHeadItemV1[];
5
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VistaTableHeadV1 = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var vista_table_cell_v1_1 = require("../../atoms/table-cell-v1/vista-table-cell-v1");
9
+ var VistaTableHeadV1 = function (_a) {
10
+ var items = _a.items;
11
+ return (react_1.default.createElement("tr", null, items.map(function (_a) {
12
+ var label = _a.label, width = _a.width;
13
+ return (react_1.default.createElement("th", { className: "border-b border-gray-300 p-2", key: label, scope: "col", style: { width: width } },
14
+ react_1.default.createElement(vista_table_cell_v1_1.VistaTableCellV1, { label: label, isBold: true })));
15
+ })));
16
+ };
17
+ exports.VistaTableHeadV1 = VistaTableHeadV1;
@@ -7,14 +7,18 @@ exports.VistaTableV1 = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var vista_table_header_v1_1 = require("../../molecules/vista-table-header-v1");
9
9
  var vista_table_footer_v1_1 = require("../../molecules/vista-table-footer-v1");
10
+ var vista_table_head_v1_1 = require("./vista-table-head-v1");
11
+ var vista_table_body_v1_1 = require("./vista-table-body-v1");
10
12
  var VistaTableV1 = function (_a) {
11
- var currentPage = _a.currentPage, handleNextOnClick = _a.handleNextOnClick, handleOnSelect = _a.handleOnSelect, handlePreviousOnClick = _a.handlePreviousOnClick, handleSearchInput = _a.handleSearchInput, handleSuffixOnClick = _a.handleSuffixOnClick, headerActions = _a.headerActions, isNextDisabled = _a.isNextDisabled, isPreviousDisabled = _a.isPreviousDisabled, listOptions = _a.listOptions, nodeSelectedKey = _a.nodeSelectedKey, searchDisabled = _a.searchDisabled, _b = _a.searchEnabled, searchEnabled = _b === void 0 ? false : _b, searchId = _a.searchId, searchPlaceholder = _a.searchPlaceholder, searchValue = _a.searchValue, selectKey1 = _a.selectKey1, selectKey2 = _a.selectKey2, selectedItem = _a.selectedItem, tableBody = _a.tableBody, tableDescription = _a.tableDescription, tableHead = _a.tableHead, tableHeading = _a.tableHeading, totalPages = _a.totalPages;
13
+ var currentPage = _a.currentPage, handleNextOnClick = _a.handleNextOnClick, handleOnSelect = _a.handleOnSelect, handlePreviousOnClick = _a.handlePreviousOnClick, handleSearchInput = _a.handleSearchInput, handleSuffixOnClick = _a.handleSuffixOnClick, headerActions = _a.headerActions, isNextDisabled = _a.isNextDisabled, isPreviousDisabled = _a.isPreviousDisabled, listOptions = _a.listOptions, loading = _a.loading, nodeSelectedKey = _a.nodeSelectedKey, pageLimit = _a.pageLimit, rowActions = _a.rowActions, searchDisabled = _a.searchDisabled, _b = _a.searchEnabled, searchEnabled = _b === void 0 ? false : _b, searchId = _a.searchId, searchPlaceholder = _a.searchPlaceholder, searchValue = _a.searchValue, selectKey1 = _a.selectKey1, selectKey2 = _a.selectKey2, selectedItem = _a.selectedItem, tableBodyCols = _a.tableBodyCols, tableBodyRows = _a.tableBodyRows, tableDescription = _a.tableDescription, tableHeadItems = _a.tableHeadItems, tableHeading = _a.tableHeading, totalPages = _a.totalPages;
12
14
  return (react_1.default.createElement("div", null,
13
15
  react_1.default.createElement(vista_table_header_v1_1.VistaTableHeaderV1, { handleSearchInput: handleSearchInput, handleSuffixOnClick: handleSuffixOnClick, headerActions: headerActions, searchDisabled: searchDisabled, searchEnabled: searchEnabled, searchId: searchId, searchPlaceholder: searchPlaceholder, searchValue: searchValue, tableDescription: tableDescription, tableHeading: tableHeading }),
14
16
  react_1.default.createElement("div", { className: "mt-8 inline-block min-w-full py-2 align-middle" },
15
17
  react_1.default.createElement("table", { className: "min-w-full divide-y divide-gray-700" },
16
- react_1.default.createElement("thead", null, tableHead),
17
- react_1.default.createElement("tbody", { className: "divide-y divide-gray-700 overflow-y-auto" }, tableBody)),
18
+ react_1.default.createElement("thead", null,
19
+ react_1.default.createElement(vista_table_head_v1_1.VistaTableHeadV1, { items: tableHeadItems })),
20
+ react_1.default.createElement("tbody", { className: "divide-y divide-gray-700 overflow-y-auto" },
21
+ react_1.default.createElement(vista_table_body_v1_1.VistaTableBodyV1, { colLength: tableHeadItems.length, loading: loading, pageLimit: pageLimit, rowActions: rowActions, tableBodyCols: tableBodyCols, tableBodyRows: tableBodyRows }))),
18
22
  react_1.default.createElement(vista_table_footer_v1_1.VistaTableFooterV1, { currentPage: currentPage, handleNextOnClick: handleNextOnClick, handleOnSelect: handleOnSelect, handlePreviousOnClick: handlePreviousOnClick, isNextDisabled: isNextDisabled, isPreviousDisabled: isPreviousDisabled, listOptions: listOptions, nodeSelectedKey: nodeSelectedKey, selectKey1: selectKey1, selectKey2: selectKey2, selectedItem: selectedItem, totalPages: totalPages }))));
19
23
  };
20
24
  exports.VistaTableV1 = VistaTableV1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/app-corp-vista",
3
- "version": "0.1.46",
3
+ "version": "0.1.48",
4
4
  "scripts": {
5
5
  "build": "yarn clean && yarn build:ts && cp package.json lib && cp README.md lib",
6
6
  "build:next": "next build",
@@ -74,12 +74,13 @@
74
74
  "husky": "^9.1.7",
75
75
  "next": "^15",
76
76
  "next-intl": "^3.26.3",
77
- "next-themes": "^0.4.4",
77
+ "next-themes": "^0.4.6",
78
78
  "postcss": "^8",
79
79
  "react": "^19",
80
80
  "react-copy-to-clipboard": "^5.1.0",
81
81
  "react-dom": "^19",
82
82
  "react-slick": "^0.30.3",
83
+ "react-tooltip": "^5.28.1",
83
84
  "slick-carousel": "^1.8.1",
84
85
  "storybook": "^8",
85
86
  "swr": "^2.3.0",
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from "react";
2
+ import { RowActionItem } from "./vista-dropdown-menu-type";
2
3
  export interface VistaTableHeaderActionItem {
3
4
  enabled: boolean;
4
5
  handleOnClick: () => void;
@@ -6,6 +7,18 @@ export interface VistaTableHeaderActionItem {
6
7
  label: string;
7
8
  order: number;
8
9
  }
10
+ export interface TableHeadItemV1 {
11
+ label: string;
12
+ width: string;
13
+ }
14
+ export declare enum VISTA_TABLE_CELL_TYPE {
15
+ ACTIONS = "ACTIONS",
16
+ BOLD_TEXT = "BOLD_TEXT",
17
+ CREATED_UPDATED_AT = "CREATED_UPDATED_AT",
18
+ ID = "ID",
19
+ IMAGE = "IMAGE",
20
+ TEXT = "TEXT"
21
+ }
9
22
  export interface VistaTableV1Props {
10
23
  currentPage: number;
11
24
  handleNextOnClick: () => void;
@@ -17,7 +30,10 @@ export interface VistaTableV1Props {
17
30
  isNextDisabled: boolean;
18
31
  isPreviousDisabled: boolean;
19
32
  listOptions: Object[];
33
+ loading: boolean;
20
34
  nodeSelectedKey: string;
35
+ pageLimit: number;
36
+ rowActions: RowActionItem[];
21
37
  searchDisabled: boolean;
22
38
  searchEnabled?: boolean;
23
39
  searchId: string;
@@ -28,9 +44,10 @@ export interface VistaTableV1Props {
28
44
  selectedItem: {
29
45
  [key: string]: any;
30
46
  };
31
- tableBody: ReactNode;
47
+ tableBodyCols: any[];
48
+ tableBodyRows: any[];
32
49
  tableDescription: string;
33
- tableHead: ReactNode;
50
+ tableHeadItems: TableHeadItemV1[];
34
51
  tableHeading: string;
35
52
  totalPages: number;
36
53
  }
@@ -1,2 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VISTA_TABLE_CELL_TYPE = void 0;
4
+ var VISTA_TABLE_CELL_TYPE;
5
+ (function (VISTA_TABLE_CELL_TYPE) {
6
+ VISTA_TABLE_CELL_TYPE["ACTIONS"] = "ACTIONS";
7
+ VISTA_TABLE_CELL_TYPE["BOLD_TEXT"] = "BOLD_TEXT";
8
+ VISTA_TABLE_CELL_TYPE["CREATED_UPDATED_AT"] = "CREATED_UPDATED_AT";
9
+ VISTA_TABLE_CELL_TYPE["ID"] = "ID";
10
+ VISTA_TABLE_CELL_TYPE["IMAGE"] = "IMAGE";
11
+ VISTA_TABLE_CELL_TYPE["TEXT"] = "TEXT";
12
+ })(VISTA_TABLE_CELL_TYPE || (exports.VISTA_TABLE_CELL_TYPE = VISTA_TABLE_CELL_TYPE = {}));