@appcorp/stellar-solutions-modules 0.1.54 → 0.1.56
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.
- package/global-modules/bank/bank.d.ts +7 -1
- package/global-modules/bank/bank.js +8 -22
- package/global-modules/bank/constants.js +5 -5
- package/global-modules/bank/context.js +40 -42
- package/global-modules/bank/drawer.d.ts +0 -4
- package/global-modules/bank/drawer.js +10 -8
- package/global-modules/bank/form.d.ts +0 -3
- package/global-modules/bank/form.js +18 -15
- package/global-modules/bank/types.d.ts +1 -1
- package/global-modules/bank/validate.js +2 -2
- package/global-modules/branch/branch.d.ts +7 -1
- package/global-modules/branch/branch.js +8 -22
- package/global-modules/branch/constants.js +1 -1
- package/global-modules/branch/context.js +36 -22
- package/global-modules/branch/drawer.d.ts +0 -4
- package/global-modules/branch/drawer.js +10 -8
- package/global-modules/branch/form.d.ts +0 -3
- package/global-modules/branch/form.js +13 -14
- package/global-modules/branch/types.d.ts +1 -1
- package/global-modules/branch/validate.js +6 -6
- package/global-modules/payment-mode/constants.js +1 -1
- package/global-modules/payment-mode/context.js +8 -10
- package/global-modules/payment-mode/drawer.d.ts +0 -4
- package/global-modules/payment-mode/drawer.js +10 -8
- package/global-modules/payment-mode/form.d.ts +0 -3
- package/global-modules/payment-mode/form.js +8 -9
- package/global-modules/payment-mode/payment-mode.d.ts +1 -1
- package/global-modules/payment-mode/payment-mode.js +40 -44
- package/global-modules/payment-mode/types.d.ts +1 -1
- package/global-modules/payment-mode/validate.js +2 -2
- package/global-modules/preferences/constants.d.ts +0 -4
- package/global-modules/preferences/constants.js +14 -17
- package/global-modules/preferences/currency.js +2 -2
- package/global-modules/preferences/preferences.js +2 -6
- package/global-modules/tax/constants.js +1 -1
- package/global-modules/tax/context.js +6 -3
- package/global-modules/tax/drawer.d.ts +0 -4
- package/global-modules/tax/drawer.js +10 -8
- package/global-modules/tax/form.d.ts +0 -4
- package/global-modules/tax/form.js +8 -9
- package/global-modules/tax/tax.d.ts +1 -1
- package/global-modules/tax/tax.js +39 -43
- package/global-modules/tax/types.d.ts +1 -1
- package/index.d.ts +0 -30
- package/index.js +0 -46
- package/lib/toast-utils.d.ts +0 -44
- package/lib/toast-utils.js +240 -212
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +5 -12
- package/package.json +6 -7
- package/components/theme-provider.d.ts +0 -9
- package/components/theme-provider.js +0 -122
- package/components/theme-switcher.d.ts +0 -4
- package/components/theme-switcher.js +0 -60
- package/components/ui/badge.d.ts +0 -9
- package/components/ui/badge.js +0 -82
- package/components/ui/button.d.ts +0 -10
- package/components/ui/button.js +0 -91
- package/components/ui/card.d.ts +0 -9
- package/components/ui/card.js +0 -94
- package/components/ui/carousel.d.ts +0 -19
- package/components/ui/carousel.js +0 -168
- package/components/ui/checkbox.d.ts +0 -9
- package/components/ui/checkbox.js +0 -87
- package/components/ui/combobox.d.ts +0 -70
- package/components/ui/combobox.js +0 -315
- package/components/ui/command.d.ts +0 -18
- package/components/ui/command.js +0 -115
- package/components/ui/dialog.d.ts +0 -15
- package/components/ui/dialog.js +0 -118
- package/components/ui/drawer.d.ts +0 -13
- package/components/ui/drawer.js +0 -115
- package/components/ui/dropdown-menu.d.ts +0 -25
- package/components/ui/dropdown-menu.js +0 -148
- package/components/ui/enhanced-dropzone.d.ts +0 -21
- package/components/ui/enhanced-dropzone.js +0 -187
- package/components/ui/enhanced-table-footer-action.d.ts +0 -35
- package/components/ui/enhanced-table-footer-action.js +0 -110
- package/components/ui/enhanced-table-footer-page.d.ts +0 -34
- package/components/ui/enhanced-table-footer-page.js +0 -132
- package/components/ui/enhanced-table-footer-pagination.d.ts +0 -38
- package/components/ui/enhanced-table-footer-pagination.js +0 -116
- package/components/ui/enhanced-table-header-action.d.ts +0 -7
- package/components/ui/enhanced-table-header-action.js +0 -21
- package/components/ui/enhanced-table-header-search.d.ts +0 -12
- package/components/ui/enhanced-table-header-search.js +0 -17
- package/components/ui/enhanced-table.d.ts +0 -87
- package/components/ui/enhanced-table.js +0 -221
- package/components/ui/form.d.ts +0 -24
- package/components/ui/form.js +0 -125
- package/components/ui/input.d.ts +0 -8
- package/components/ui/input.js +0 -86
- package/components/ui/label.d.ts +0 -7
- package/components/ui/label.js +0 -68
- package/components/ui/popover.d.ts +0 -7
- package/components/ui/popover.js +0 -82
- package/components/ui/select.d.ts +0 -15
- package/components/ui/select.js +0 -127
- package/components/ui/separator.d.ts +0 -4
- package/components/ui/separator.js +0 -66
- package/components/ui/shadcn-io/color-picker/index.d.ts +0 -43
- package/components/ui/shadcn-io/color-picker/index.js +0 -304
- package/components/ui/shadcn-io/dropzone/index.d.ts +0 -19
- package/components/ui/shadcn-io/dropzone/index.js +0 -131
- package/components/ui/sonner.d.ts +0 -4
- package/components/ui/sonner.js +0 -54
- package/components/ui/switch.d.ts +0 -9
- package/components/ui/switch.js +0 -89
- package/components/ui/table.d.ts +0 -10
- package/components/ui/table.js +0 -101
- package/components/ui/textarea.d.ts +0 -8
- package/components/ui/textarea.js +0 -86
|
@@ -1,21 +0,0 @@
|
|
|
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.EnhancedTableHeaderAction = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var button_1 = require("./button");
|
|
9
|
-
var EnhancedTableHeaderAction = function (_a) {
|
|
10
|
-
var headerActions = _a.headerActions;
|
|
11
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, headerActions.length > 0 && (react_1.default.createElement("div", { className: "flex gap-2" }, headerActions
|
|
12
|
-
.filter(function (action) { return action.enabled !== false; })
|
|
13
|
-
.sort(function (a, b) { return (a.order || 0) - (b.order || 0); })
|
|
14
|
-
.map(function (action, index) { return (react_1.default.createElement(button_1.Button, { key: action.id || action.key || index, variant: action.variant || "default", onClick: function () {
|
|
15
|
-
if (action.onClick)
|
|
16
|
-
action.onClick();
|
|
17
|
-
if (action.handleOnClick)
|
|
18
|
-
action.handleOnClick();
|
|
19
|
-
} }, action.label)); })))));
|
|
20
|
-
};
|
|
21
|
-
exports.EnhancedTableHeaderAction = EnhancedTableHeaderAction;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
interface EnhancedTableHeaderSearchProps {
|
|
3
|
-
handleSearchInput: (key: string, value: string) => void;
|
|
4
|
-
loading: boolean;
|
|
5
|
-
searchDisabled?: boolean;
|
|
6
|
-
searchEnabled?: boolean;
|
|
7
|
-
searchId?: string;
|
|
8
|
-
searchPlaceholder?: string;
|
|
9
|
-
searchValue: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const EnhancedTableHeaderSearch: FC<EnhancedTableHeaderSearchProps>;
|
|
12
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
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.EnhancedTableHeaderSearch = void 0;
|
|
7
|
-
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var lucide_react_1 = require("lucide-react");
|
|
9
|
-
var input_1 = require("./input");
|
|
10
|
-
var EnhancedTableHeaderSearch = function (_a) {
|
|
11
|
-
var handleSearchInput = _a.handleSearchInput, loading = _a.loading, _b = _a.searchDisabled, searchDisabled = _b === void 0 ? false : _b, _c = _a.searchEnabled, searchEnabled = _c === void 0 ? true : _c, _d = _a.searchId, searchId = _d === void 0 ? "table-search" : _d, _e = _a.searchPlaceholder, searchPlaceholder = _e === void 0 ? "Search..." : _e, searchValue = _a.searchValue;
|
|
12
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, searchEnabled && (react_1.default.createElement("div", { className: "flex items-center gap-2 max-w-xl" },
|
|
13
|
-
react_1.default.createElement("div", { className: "relative flex-1" },
|
|
14
|
-
react_1.default.createElement(lucide_react_1.Search, { className: "absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
|
|
15
|
-
react_1.default.createElement(input_1.Input, { id: searchId, placeholder: searchPlaceholder, value: searchValue, onChange: function (e) { return handleSearchInput("search", e.target.value); }, disabled: searchDisabled || loading, className: "pl-9" }))))));
|
|
16
|
-
};
|
|
17
|
-
exports.EnhancedTableHeaderSearch = EnhancedTableHeaderSearch;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface TableColumn {
|
|
3
|
-
key?: string;
|
|
4
|
-
label: string;
|
|
5
|
-
width?: string;
|
|
6
|
-
componentType?: COMPONENT_TYPE | string;
|
|
7
|
-
}
|
|
8
|
-
export declare enum COMPONENT_TYPE {
|
|
9
|
-
ID = "ID",
|
|
10
|
-
BOLD_TEXT = "BOLD_TEXT",
|
|
11
|
-
TEXT = "TEXT",
|
|
12
|
-
OBJECT = "OBJECT",
|
|
13
|
-
MULTIPLE_TEXT_LINES = "MULTIPLE_TEXT_LINES",
|
|
14
|
-
CREATED_UPDATED_AT = "CREATED_UPDATED_AT",
|
|
15
|
-
ACTIONS = "ACTIONS",
|
|
16
|
-
BOOLEAN = "BOOLEAN"
|
|
17
|
-
}
|
|
18
|
-
export interface TableRow extends Record<string, unknown> {
|
|
19
|
-
id?: string;
|
|
20
|
-
[key: string]: unknown;
|
|
21
|
-
}
|
|
22
|
-
export interface RowAction {
|
|
23
|
-
id?: string;
|
|
24
|
-
key?: string;
|
|
25
|
-
label: string;
|
|
26
|
-
enabled?: boolean;
|
|
27
|
-
order?: number;
|
|
28
|
-
variant?: "default" | "destructive";
|
|
29
|
-
onClick?: (row: TableRow) => void;
|
|
30
|
-
handleOnClick?: (row: TableRow) => void;
|
|
31
|
-
handleAction?: (id: string) => void;
|
|
32
|
-
}
|
|
33
|
-
export interface HeaderAction {
|
|
34
|
-
id?: string;
|
|
35
|
-
key?: string;
|
|
36
|
-
label: string;
|
|
37
|
-
enabled?: boolean;
|
|
38
|
-
order?: number;
|
|
39
|
-
variant?: "default" | "outline" | "secondary";
|
|
40
|
-
onClick?: () => void;
|
|
41
|
-
handleOnClick?: () => void;
|
|
42
|
-
}
|
|
43
|
-
export interface PageLimitOption {
|
|
44
|
-
option: string;
|
|
45
|
-
}
|
|
46
|
-
export interface EnhancedTableProps {
|
|
47
|
-
tableHeadItems: TableColumn[];
|
|
48
|
-
tableBodyRows: TableRow[];
|
|
49
|
-
tableBodyCols: Array<{
|
|
50
|
-
key?: string | string[];
|
|
51
|
-
componentType: COMPONENT_TYPE | string;
|
|
52
|
-
}>;
|
|
53
|
-
tableHeading: string;
|
|
54
|
-
tableDescription?: string;
|
|
55
|
-
currentPage: number;
|
|
56
|
-
totalPages: number;
|
|
57
|
-
pageLimit: number;
|
|
58
|
-
listOptions: PageLimitOption[];
|
|
59
|
-
handleNextOnClick: () => void;
|
|
60
|
-
handlePreviousOnClick: () => void;
|
|
61
|
-
handleOnSelect: (node: string, value: object) => void;
|
|
62
|
-
isNextDisabled: boolean;
|
|
63
|
-
isPreviousDisabled: boolean;
|
|
64
|
-
searchEnabled?: boolean;
|
|
65
|
-
searchValue: string;
|
|
66
|
-
searchPlaceholder?: string;
|
|
67
|
-
searchId?: string;
|
|
68
|
-
searchDisabled?: boolean;
|
|
69
|
-
handleSearchInput: (key: string, value: string) => void;
|
|
70
|
-
headerActions: HeaderAction[];
|
|
71
|
-
rowActions: RowAction[];
|
|
72
|
-
loading: boolean;
|
|
73
|
-
isRTL?: boolean;
|
|
74
|
-
translationLabels?: {
|
|
75
|
-
booleanYes?: string;
|
|
76
|
-
booleanNo?: string;
|
|
77
|
-
noResultsFound?: string;
|
|
78
|
-
previousPage?: string;
|
|
79
|
-
nextPage?: string;
|
|
80
|
-
page?: string;
|
|
81
|
-
of?: string;
|
|
82
|
-
loading?: string;
|
|
83
|
-
rowsPerPage?: string;
|
|
84
|
-
};
|
|
85
|
-
nodeSelectKey?: string;
|
|
86
|
-
}
|
|
87
|
-
export declare const EnhancedTable: React.FC<EnhancedTableProps>;
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
-
};
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.EnhancedTable = exports.COMPONENT_TYPE = void 0;
|
|
19
|
-
var react_1 = __importDefault(require("react"));
|
|
20
|
-
var lucide_react_1 = require("lucide-react");
|
|
21
|
-
var table_1 = require("./table");
|
|
22
|
-
var button_1 = require("./button");
|
|
23
|
-
var dropdown_menu_1 = require("./dropdown-menu");
|
|
24
|
-
var utils_1 = require("../../lib/utils");
|
|
25
|
-
var enhanced_table_footer_action_1 = require("./enhanced-table-footer-action");
|
|
26
|
-
var enhanced_table_footer_page_1 = require("./enhanced-table-footer-page");
|
|
27
|
-
var enhanced_table_footer_pagination_1 = require("./enhanced-table-footer-pagination");
|
|
28
|
-
var popover_1 = require("./popover");
|
|
29
|
-
var enhanced_table_header_action_1 = require("./enhanced-table-header-action");
|
|
30
|
-
var enhanced_table_header_search_1 = require("./enhanced-table-header-search");
|
|
31
|
-
var badge_1 = require("./badge");
|
|
32
|
-
// Centralized component type values for table cell rendering
|
|
33
|
-
var COMPONENT_TYPE;
|
|
34
|
-
(function (COMPONENT_TYPE) {
|
|
35
|
-
COMPONENT_TYPE["ID"] = "ID";
|
|
36
|
-
COMPONENT_TYPE["BOLD_TEXT"] = "BOLD_TEXT";
|
|
37
|
-
COMPONENT_TYPE["TEXT"] = "TEXT";
|
|
38
|
-
COMPONENT_TYPE["OBJECT"] = "OBJECT";
|
|
39
|
-
COMPONENT_TYPE["MULTIPLE_TEXT_LINES"] = "MULTIPLE_TEXT_LINES";
|
|
40
|
-
COMPONENT_TYPE["CREATED_UPDATED_AT"] = "CREATED_UPDATED_AT";
|
|
41
|
-
COMPONENT_TYPE["ACTIONS"] = "ACTIONS";
|
|
42
|
-
COMPONENT_TYPE["BOOLEAN"] = "BOOLEAN";
|
|
43
|
-
})(COMPONENT_TYPE || (exports.COMPONENT_TYPE = COMPONENT_TYPE = {}));
|
|
44
|
-
var EnhancedTable = function (_a) {
|
|
45
|
-
var currentPage = _a.currentPage, handleNextOnClick = _a.handleNextOnClick, handleOnSelect = _a.handleOnSelect, handlePreviousOnClick = _a.handlePreviousOnClick, handleSearchInput = _a.handleSearchInput, headerActions = _a.headerActions, isNextDisabled = _a.isNextDisabled, isPreviousDisabled = _a.isPreviousDisabled, _b = _a.isRTL, isRTL = _b === void 0 ? false : _b, listOptions = _a.listOptions, loading = _a.loading, _c = _a.nodeSelectKey, nodeSelectKey = _c === void 0 ? "pageLimit" : _c, pageLimit = _a.pageLimit, rowActions = _a.rowActions, _d = _a.searchDisabled, searchDisabled = _d === void 0 ? false : _d, _e = _a.searchEnabled, searchEnabled = _e === void 0 ? true : _e, _f = _a.searchId, searchId = _f === void 0 ? "table-search" : _f, _g = _a.searchPlaceholder, searchPlaceholder = _g === void 0 ? "Search..." : _g, searchValue = _a.searchValue, tableBodyCols = _a.tableBodyCols, tableBodyRows = _a.tableBodyRows, tableDescription = _a.tableDescription, tableHeading = _a.tableHeading, tableHeadItems = _a.tableHeadItems, totalPages = _a.totalPages, _h = _a.translationLabels, translationLabels = _h === void 0 ? {} : _h;
|
|
46
|
-
// Default translation values
|
|
47
|
-
var defaultLabels = {
|
|
48
|
-
booleanYes: "Yes",
|
|
49
|
-
booleanNo: "No",
|
|
50
|
-
noResultsFound: "No results found.",
|
|
51
|
-
previousPage: "Previous page",
|
|
52
|
-
nextPage: "Next page",
|
|
53
|
-
page: "Page",
|
|
54
|
-
of: "of",
|
|
55
|
-
loading: "Loading",
|
|
56
|
-
rowsPerPage: "Rows per page:",
|
|
57
|
-
};
|
|
58
|
-
// Merge provided labels with defaults
|
|
59
|
-
var labels = __assign(__assign({}, defaultLabels), translationLabels);
|
|
60
|
-
var renderCellContent = function (row, col) {
|
|
61
|
-
var _a, _b;
|
|
62
|
-
// Helper to safely resolve nested keys (max depth 3)
|
|
63
|
-
var resolveValue = function (source, key) {
|
|
64
|
-
if (!key)
|
|
65
|
-
return source;
|
|
66
|
-
if (typeof key === "string") {
|
|
67
|
-
if (source && typeof source === "object")
|
|
68
|
-
return source[key];
|
|
69
|
-
return undefined;
|
|
70
|
-
}
|
|
71
|
-
// array of keys
|
|
72
|
-
var path = key.slice(0, 3); // enforce max depth 3
|
|
73
|
-
var cur = source;
|
|
74
|
-
for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {
|
|
75
|
-
var k = path_1[_i];
|
|
76
|
-
if (cur == null)
|
|
77
|
-
return undefined;
|
|
78
|
-
if (typeof cur !== "object")
|
|
79
|
-
return undefined;
|
|
80
|
-
cur = cur[k];
|
|
81
|
-
}
|
|
82
|
-
return cur;
|
|
83
|
-
};
|
|
84
|
-
var getProp = function (obj, prop) {
|
|
85
|
-
if (obj &&
|
|
86
|
-
typeof obj === "object" &&
|
|
87
|
-
prop in obj)
|
|
88
|
-
return obj[prop];
|
|
89
|
-
return undefined;
|
|
90
|
-
};
|
|
91
|
-
// Resolve value (supports nested key arrays)
|
|
92
|
-
var value = resolveValue(row, col.key);
|
|
93
|
-
// Normalize componentType so external string enums (like VISTA_TABLE_CELL_TYPE)
|
|
94
|
-
// remain compatible with this table. Unknown/unsupported types fall back to TEXT.
|
|
95
|
-
var normalizeComponentType = function (c) {
|
|
96
|
-
var _a;
|
|
97
|
-
if (!c)
|
|
98
|
-
return undefined;
|
|
99
|
-
if (Object.values(COMPONENT_TYPE).includes(c))
|
|
100
|
-
return c;
|
|
101
|
-
// Map common external values to our ComponentType using object notation
|
|
102
|
-
var MAP = {
|
|
103
|
-
ID: COMPONENT_TYPE.ID,
|
|
104
|
-
BOLD_TEXT: COMPONENT_TYPE.BOLD_TEXT,
|
|
105
|
-
BOOLEAN: COMPONENT_TYPE.BOOLEAN,
|
|
106
|
-
ACTIONS: COMPONENT_TYPE.ACTIONS,
|
|
107
|
-
TEXT: COMPONENT_TYPE.TEXT,
|
|
108
|
-
OBJECT: COMPONENT_TYPE.OBJECT,
|
|
109
|
-
MULTIPLE_TEXT_LINES: COMPONENT_TYPE.MULTIPLE_TEXT_LINES,
|
|
110
|
-
CREATED_UPDATED_AT: COMPONENT_TYPE.CREATED_UPDATED_AT,
|
|
111
|
-
};
|
|
112
|
-
return (_a = MAP[String(c)]) !== null && _a !== void 0 ? _a : COMPONENT_TYPE.TEXT;
|
|
113
|
-
};
|
|
114
|
-
var normalizedType = normalizeComponentType(col.componentType);
|
|
115
|
-
if (col.key === "action") {
|
|
116
|
-
return (react_1.default.createElement(dropdown_menu_1.DropdownMenu, null,
|
|
117
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuTrigger, { asChild: true },
|
|
118
|
-
react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon" },
|
|
119
|
-
react_1.default.createElement(lucide_react_1.MoreHorizontal, { className: "h-4 w-4" }))),
|
|
120
|
-
react_1.default.createElement(dropdown_menu_1.DropdownMenuContent, { align: "end" }, rowActions
|
|
121
|
-
.filter(function (action) { return action.enabled !== false; })
|
|
122
|
-
.sort(function (a, b) { return (a.order || 0) - (b.order || 0); })
|
|
123
|
-
.map(function (action, index) { return (react_1.default.createElement(dropdown_menu_1.DropdownMenuItem, { key: action.id || action.key || index, variant: action.variant, onClick: function () {
|
|
124
|
-
if (action.onClick)
|
|
125
|
-
action.onClick(row);
|
|
126
|
-
if (action.handleOnClick)
|
|
127
|
-
action.handleOnClick(row);
|
|
128
|
-
if (action.handleAction && row.id)
|
|
129
|
-
action.handleAction(row.id);
|
|
130
|
-
} }, action.label)); }))));
|
|
131
|
-
}
|
|
132
|
-
if (normalizedType === COMPONENT_TYPE.ID) {
|
|
133
|
-
return (react_1.default.createElement(popover_1.Popover, null,
|
|
134
|
-
react_1.default.createElement(popover_1.PopoverTrigger, { asChild: true },
|
|
135
|
-
react_1.default.createElement("span", { className: "text-xs text-muted-foreground font-mono" }, typeof value === "string"
|
|
136
|
-
? "".concat(value.substring(0, 8), "...")
|
|
137
|
-
: String(value || ""))),
|
|
138
|
-
react_1.default.createElement(popover_1.PopoverContent, null,
|
|
139
|
-
react_1.default.createElement("span", { className: "text-xs text-muted-foreground font-mono" }, String(value)))));
|
|
140
|
-
}
|
|
141
|
-
if (normalizedType === COMPONENT_TYPE.BOLD_TEXT) {
|
|
142
|
-
return react_1.default.createElement("span", { className: "font-semibold" }, String(value || ""));
|
|
143
|
-
}
|
|
144
|
-
if (normalizedType === COMPONENT_TYPE.BOOLEAN) {
|
|
145
|
-
var isTrue = Boolean(value);
|
|
146
|
-
return (react_1.default.createElement(badge_1.Badge, { variant: "secondary", className: (0, utils_1.cn)("text-white font-medium", isTrue
|
|
147
|
-
? "bg-green-500 hover:bg-green-600"
|
|
148
|
-
: "bg-red-500 hover:bg-red-600") }, isTrue ? labels.booleanYes : labels.booleanNo));
|
|
149
|
-
}
|
|
150
|
-
// OBJECT => nested property path supplied as array of strings (max length 3)
|
|
151
|
-
if (normalizedType === COMPONENT_TYPE.OBJECT) {
|
|
152
|
-
var nested = resolveValue(row, col.key);
|
|
153
|
-
// If nested is primitive, show it. If object, stringify first-level value.
|
|
154
|
-
if (nested == null)
|
|
155
|
-
return react_1.default.createElement("span", null, "");
|
|
156
|
-
if (typeof nested === "object") {
|
|
157
|
-
// Render primitive values inside object or JSON fallback
|
|
158
|
-
var primitive = typeof nested === "object"
|
|
159
|
-
? // try to find a primitive child
|
|
160
|
-
Object.values(nested).find(function (v) {
|
|
161
|
-
return ["string", "number", "boolean"].includes(typeof v);
|
|
162
|
-
})
|
|
163
|
-
: nested;
|
|
164
|
-
return react_1.default.createElement("span", null, String(primitive !== null && primitive !== void 0 ? primitive : JSON.stringify(nested)));
|
|
165
|
-
}
|
|
166
|
-
return react_1.default.createElement("span", null, String(nested));
|
|
167
|
-
}
|
|
168
|
-
// MULTIPLE_TEXT_LINES => col.key is an array of keys, render up to 3 lines
|
|
169
|
-
if (normalizedType === COMPONENT_TYPE.MULTIPLE_TEXT_LINES) {
|
|
170
|
-
var keys = Array.isArray(col.key) ? col.key : [];
|
|
171
|
-
var lines = keys.slice(0, 3).map(function (k) {
|
|
172
|
-
var v = resolveValue(row, k);
|
|
173
|
-
return v == null ? "" : String(v);
|
|
174
|
-
});
|
|
175
|
-
return (react_1.default.createElement("div", { className: "flex flex-col" }, lines.map(function (line, idx) { return (react_1.default.createElement("span", { key: idx, className: "text-sm" }, line)); })));
|
|
176
|
-
}
|
|
177
|
-
// CREATED_UPDATED_AT => show createdAt and updatedAt from the object (or nested object)
|
|
178
|
-
if (normalizedType === COMPONENT_TYPE.CREATED_UPDATED_AT) {
|
|
179
|
-
var target = resolveValue(row, col.key);
|
|
180
|
-
var created = (_a = getProp(target, "createdAt")) !== null && _a !== void 0 ? _a : getProp(row, "createdAt");
|
|
181
|
-
var updated = (_b = getProp(target, "updatedAt")) !== null && _b !== void 0 ? _b : getProp(row, "updatedAt");
|
|
182
|
-
var fmt = function (d) {
|
|
183
|
-
if (d == null)
|
|
184
|
-
return "";
|
|
185
|
-
var date = d instanceof Date ? d : new Date(String(d));
|
|
186
|
-
if (isNaN(date.getTime()))
|
|
187
|
-
return String(d);
|
|
188
|
-
return date.toLocaleString();
|
|
189
|
-
};
|
|
190
|
-
return (react_1.default.createElement("div", { className: "flex flex-col text-sm text-muted-foreground" },
|
|
191
|
-
react_1.default.createElement("span", null, fmt(created)),
|
|
192
|
-
react_1.default.createElement("span", null, fmt(updated))));
|
|
193
|
-
}
|
|
194
|
-
return react_1.default.createElement("span", null, String(value || ""));
|
|
195
|
-
};
|
|
196
|
-
// Create loading skeleton rows
|
|
197
|
-
var renderLoadingRows = function () {
|
|
198
|
-
return Array.from({ length: pageLimit || 5 }).map(function (_, index) { return (react_1.default.createElement(table_1.TableRow, { key: "loading-".concat(index), className: "hover:bg-muted/50" }, tableHeadItems.map(function (_, colIndex) { return (react_1.default.createElement(table_1.TableCell, { key: colIndex, className: "py-4" },
|
|
199
|
-
react_1.default.createElement("div", { className: "h-4 bg-muted animate-pulse rounded w-full" }))); }))); });
|
|
200
|
-
};
|
|
201
|
-
return (react_1.default.createElement("div", { className: "space-y-4" },
|
|
202
|
-
react_1.default.createElement("div", { className: "flex items-center justify-between" },
|
|
203
|
-
react_1.default.createElement("div", { className: "space-y-1" },
|
|
204
|
-
react_1.default.createElement("h2", { className: "text-2xl font-bold tracking-tight" }, tableHeading),
|
|
205
|
-
tableDescription && (react_1.default.createElement("p", { className: "text-muted-foreground" }, tableDescription))),
|
|
206
|
-
react_1.default.createElement("div", { className: "flex flex-row items-center justify-end gap-2" },
|
|
207
|
-
react_1.default.createElement(enhanced_table_header_search_1.EnhancedTableHeaderSearch, { handleSearchInput: handleSearchInput, loading: loading, searchDisabled: searchDisabled, searchEnabled: searchEnabled, searchId: searchId, searchPlaceholder: searchPlaceholder, searchValue: searchValue }),
|
|
208
|
-
react_1.default.createElement(enhanced_table_header_action_1.EnhancedTableHeaderAction, { headerActions: headerActions }))),
|
|
209
|
-
react_1.default.createElement("div", { className: "border rounded-md" },
|
|
210
|
-
react_1.default.createElement(table_1.Table, null,
|
|
211
|
-
react_1.default.createElement(table_1.TableHeader, null,
|
|
212
|
-
react_1.default.createElement(table_1.TableRow, null, tableHeadItems.map(function (header, index) { return (react_1.default.createElement(table_1.TableHead, { key: index, style: { width: header.width }, className: (0, utils_1.cn)("font-medium", index === 0 && "rounded-tl-md", index === tableHeadItems.length - 1 && "rounded-tr-md") }, header.label)); }))),
|
|
213
|
-
react_1.default.createElement(table_1.TableBody, null, loading ? (renderLoadingRows()) : tableBodyRows.length === 0 ? (react_1.default.createElement(table_1.TableRow, null,
|
|
214
|
-
react_1.default.createElement(table_1.TableCell, { colSpan: tableHeadItems.length, className: "h-24 text-center text-muted-foreground" }, labels.noResultsFound))) : (tableBodyRows.map(function (row, rowIndex) { return (react_1.default.createElement(table_1.TableRow, { key: rowIndex, className: "hover:bg-muted/50" }, tableBodyCols.map(function (col, colIndex) { return (react_1.default.createElement(table_1.TableCell, { key: colIndex, className: "py-4" }, renderCellContent(row, col))); }))); }))))),
|
|
215
|
-
react_1.default.createElement("div", { className: "flex items-center justify-between" },
|
|
216
|
-
react_1.default.createElement(enhanced_table_footer_pagination_1.EnhancedTableFooterPagination, { handleOnSelect: handleOnSelect, isRTL: isRTL, listOptions: listOptions, loading: loading, nodeSelectKey: nodeSelectKey, pageLimit: pageLimit, rowsPerPageLabel: labels.rowsPerPage, totalPages: totalPages }),
|
|
217
|
-
react_1.default.createElement("div", { className: "flex items-center gap-4" },
|
|
218
|
-
react_1.default.createElement(enhanced_table_footer_page_1.EnhancedTableFooterPage, { currentPage: currentPage, isRTL: isRTL, loading: loading, loadingLabel: labels.loading, ofLabel: labels.of, pageLabel: labels.page, totalPages: totalPages }),
|
|
219
|
-
react_1.default.createElement(enhanced_table_footer_action_1.EnhancedTableFooterAction, { handleNextOnClick: handleNextOnClick, handlePreviousOnClick: handlePreviousOnClick, isNextDisabled: isNextDisabled, isPreviousDisabled: isPreviousDisabled, isRTL: isRTL, loading: loading, nextPageLabel: labels.nextPage, previousPageLabel: labels.previousPage })))));
|
|
220
|
-
};
|
|
221
|
-
exports.EnhancedTable = EnhancedTable;
|
package/components/ui/form.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
3
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
-
import { type ControllerProps, type FieldPath, type FieldValues } from "react-hook-form";
|
|
5
|
-
declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
|
|
6
|
-
declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React.JSX.Element;
|
|
7
|
-
declare const useFormField: () => {
|
|
8
|
-
invalid: boolean;
|
|
9
|
-
isDirty: boolean;
|
|
10
|
-
isTouched: boolean;
|
|
11
|
-
isValidating: boolean;
|
|
12
|
-
error?: import("react-hook-form").FieldError;
|
|
13
|
-
id: string;
|
|
14
|
-
name: string;
|
|
15
|
-
formItemId: string;
|
|
16
|
-
formDescriptionId: string;
|
|
17
|
-
formMessageId: string;
|
|
18
|
-
};
|
|
19
|
-
declare function FormItem({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
20
|
-
declare function FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): React.JSX.Element;
|
|
21
|
-
declare function FormControl({ ...props }: React.ComponentProps<typeof Slot>): React.JSX.Element;
|
|
22
|
-
declare function FormDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
23
|
-
declare function FormMessage({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element | null;
|
|
24
|
-
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, };
|
package/components/ui/form.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
-
}
|
|
20
|
-
Object.defineProperty(o, k2, desc);
|
|
21
|
-
}) : (function(o, m, k, k2) {
|
|
22
|
-
if (k2 === undefined) k2 = k;
|
|
23
|
-
o[k2] = m[k];
|
|
24
|
-
}));
|
|
25
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
-
}) : function(o, v) {
|
|
28
|
-
o["default"] = v;
|
|
29
|
-
});
|
|
30
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
-
var ownKeys = function(o) {
|
|
32
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
-
var ar = [];
|
|
34
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
-
return ar;
|
|
36
|
-
};
|
|
37
|
-
return ownKeys(o);
|
|
38
|
-
};
|
|
39
|
-
return function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
})();
|
|
47
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
48
|
-
var t = {};
|
|
49
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
50
|
-
t[p] = s[p];
|
|
51
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
52
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
53
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
54
|
-
t[p[i]] = s[p[i]];
|
|
55
|
-
}
|
|
56
|
-
return t;
|
|
57
|
-
};
|
|
58
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
-
exports.FormField = exports.Form = exports.useFormField = void 0;
|
|
60
|
-
exports.FormItem = FormItem;
|
|
61
|
-
exports.FormLabel = FormLabel;
|
|
62
|
-
exports.FormControl = FormControl;
|
|
63
|
-
exports.FormDescription = FormDescription;
|
|
64
|
-
exports.FormMessage = FormMessage;
|
|
65
|
-
var React = __importStar(require("react"));
|
|
66
|
-
var react_slot_1 = require("@radix-ui/react-slot");
|
|
67
|
-
var react_hook_form_1 = require("react-hook-form");
|
|
68
|
-
var utils_1 = require("../../lib/utils");
|
|
69
|
-
var label_1 = require("./label");
|
|
70
|
-
var Form = react_hook_form_1.FormProvider;
|
|
71
|
-
exports.Form = Form;
|
|
72
|
-
var FormFieldContext = React.createContext({});
|
|
73
|
-
var FormField = function (_a) {
|
|
74
|
-
var props = __rest(_a, []);
|
|
75
|
-
return (React.createElement(FormFieldContext.Provider, { value: { name: props.name } },
|
|
76
|
-
React.createElement(react_hook_form_1.Controller, __assign({}, props))));
|
|
77
|
-
};
|
|
78
|
-
exports.FormField = FormField;
|
|
79
|
-
var useFormField = function () {
|
|
80
|
-
var fieldContext = React.useContext(FormFieldContext);
|
|
81
|
-
var itemContext = React.useContext(FormItemContext);
|
|
82
|
-
var getFieldState = (0, react_hook_form_1.useFormContext)().getFieldState;
|
|
83
|
-
var formState = (0, react_hook_form_1.useFormState)({ name: fieldContext.name });
|
|
84
|
-
var fieldState = getFieldState(fieldContext.name, formState);
|
|
85
|
-
if (!fieldContext) {
|
|
86
|
-
throw new Error("useFormField should be used within <FormField>");
|
|
87
|
-
}
|
|
88
|
-
var id = itemContext.id;
|
|
89
|
-
return __assign({ id: id, name: fieldContext.name, formItemId: "".concat(id, "-form-item"), formDescriptionId: "".concat(id, "-form-item-description"), formMessageId: "".concat(id, "-form-item-message") }, fieldState);
|
|
90
|
-
};
|
|
91
|
-
exports.useFormField = useFormField;
|
|
92
|
-
var FormItemContext = React.createContext({});
|
|
93
|
-
function FormItem(_a) {
|
|
94
|
-
var className = _a.className, props = __rest(_a, ["className"]);
|
|
95
|
-
var id = React.useId();
|
|
96
|
-
return (React.createElement(FormItemContext.Provider, { value: { id: id } },
|
|
97
|
-
React.createElement("div", __assign({ "data-slot": "form-item", className: (0, utils_1.cn)("grid gap-2", className) }, props))));
|
|
98
|
-
}
|
|
99
|
-
function FormLabel(_a) {
|
|
100
|
-
var className = _a.className, props = __rest(_a, ["className"]);
|
|
101
|
-
var _b = useFormField(), error = _b.error, formItemId = _b.formItemId;
|
|
102
|
-
return (React.createElement(label_1.Label, __assign({ "data-slot": "form-label", "data-error": !!error, className: (0, utils_1.cn)("data-[error=true]:text-destructive", className), htmlFor: formItemId }, props)));
|
|
103
|
-
}
|
|
104
|
-
function FormControl(_a) {
|
|
105
|
-
var props = __rest(_a, []);
|
|
106
|
-
var _b = useFormField(), error = _b.error, formItemId = _b.formItemId, formDescriptionId = _b.formDescriptionId, formMessageId = _b.formMessageId;
|
|
107
|
-
return (React.createElement(react_slot_1.Slot, __assign({ "data-slot": "form-control", id: formItemId, "aria-describedby": !error
|
|
108
|
-
? "".concat(formDescriptionId)
|
|
109
|
-
: "".concat(formDescriptionId, " ").concat(formMessageId), "aria-invalid": !!error }, props)));
|
|
110
|
-
}
|
|
111
|
-
function FormDescription(_a) {
|
|
112
|
-
var className = _a.className, props = __rest(_a, ["className"]);
|
|
113
|
-
var formDescriptionId = useFormField().formDescriptionId;
|
|
114
|
-
return (React.createElement("p", __assign({ "data-slot": "form-description", id: formDescriptionId, className: (0, utils_1.cn)("text-muted-foreground text-sm", className) }, props)));
|
|
115
|
-
}
|
|
116
|
-
function FormMessage(_a) {
|
|
117
|
-
var _b;
|
|
118
|
-
var className = _a.className, props = __rest(_a, ["className"]);
|
|
119
|
-
var _c = useFormField(), error = _c.error, formMessageId = _c.formMessageId;
|
|
120
|
-
var body = error ? String((_b = error === null || error === void 0 ? void 0 : error.message) !== null && _b !== void 0 ? _b : "") : props.children;
|
|
121
|
-
if (!body) {
|
|
122
|
-
return null;
|
|
123
|
-
}
|
|
124
|
-
return (React.createElement("p", __assign({ "data-slot": "form-message", id: formMessageId, className: (0, utils_1.cn)("text-destructive text-sm", className) }, props), body));
|
|
125
|
-
}
|
package/components/ui/input.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
interface InputProps extends React.ComponentProps<"input"> {
|
|
3
|
-
error?: string;
|
|
4
|
-
info?: string;
|
|
5
|
-
label?: string;
|
|
6
|
-
}
|
|
7
|
-
declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
8
|
-
export { Input };
|
package/components/ui/input.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
47
|
-
var t = {};
|
|
48
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
49
|
-
t[p] = s[p];
|
|
50
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
51
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
52
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
53
|
-
t[p[i]] = s[p[i]];
|
|
54
|
-
}
|
|
55
|
-
return t;
|
|
56
|
-
};
|
|
57
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
-
exports.Input = void 0;
|
|
59
|
-
var React = __importStar(require("react"));
|
|
60
|
-
var utils_1 = require("../../lib/utils");
|
|
61
|
-
var label_1 = require("./label");
|
|
62
|
-
var Input = React.forwardRef(function (_a, ref) {
|
|
63
|
-
var className = _a.className, type = _a.type, error = _a.error, info = _a.info, label = _a.label, required = _a.required, id = _a.id, props = __rest(_a, ["className", "type", "error", "info", "label", "required", "id"]);
|
|
64
|
-
// Determine if there's an error (for aria-invalid and styling)
|
|
65
|
-
var hasError = Boolean(error);
|
|
66
|
-
var inputElement = (React.createElement("input", __assign({ type: type, ref: ref, id: id, "data-slot": "input", "aria-invalid": hasError, required: required, className: (0, utils_1.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
67
|
-
// Error state styling
|
|
68
|
-
hasError &&
|
|
69
|
-
"border-destructive focus-visible:border-destructive focus-visible:ring-destructive/20",
|
|
70
|
-
// Normal state when no error
|
|
71
|
-
!hasError &&
|
|
72
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className) }, props)));
|
|
73
|
-
// If label is provided, render the complete input with label structure
|
|
74
|
-
if (label) {
|
|
75
|
-
return (React.createElement("div", { className: "w-full space-y-2" },
|
|
76
|
-
React.createElement(label_1.Label, { htmlFor: id, required: required }, label),
|
|
77
|
-
inputElement,
|
|
78
|
-
(error || info) && (React.createElement("div", null, error ? (React.createElement("p", { className: "text-xs text-destructive" }, error)) : info ? (React.createElement("p", { className: "text-xs text-blue-600 dark:text-blue-400" }, info)) : null))));
|
|
79
|
-
}
|
|
80
|
-
// If no label, render just the input with messages (backward compatibility)
|
|
81
|
-
return (React.createElement("div", { className: "w-full" },
|
|
82
|
-
inputElement,
|
|
83
|
-
(error || info) && (React.createElement("div", null, error ? (React.createElement("p", { className: "text-xs text-destructive" }, error)) : info ? (React.createElement("p", { className: "text-xs text-blue-600 dark:text-blue-400" }, info)) : null))));
|
|
84
|
-
});
|
|
85
|
-
exports.Input = Input;
|
|
86
|
-
Input.displayName = "Input";
|
package/components/ui/label.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
3
|
-
interface LabelProps extends React.ComponentProps<typeof LabelPrimitive.Root> {
|
|
4
|
-
required?: boolean;
|
|
5
|
-
}
|
|
6
|
-
declare function Label({ className, required, children, ...props }: LabelProps): React.JSX.Element;
|
|
7
|
-
export { Label };
|