@sustaina/shared-ui 1.4.2 → 1.6.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.
- package/dist/index.d.mts +26 -16
- package/dist/index.d.ts +26 -16
- package/dist/index.js +90 -56
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +87 -56
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -123,6 +123,26 @@ function FormLabel({ children, className, errorClassName, required, ...props })
|
|
|
123
123
|
);
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
+
// src/utils/common.ts
|
|
127
|
+
function isDefined(value) {
|
|
128
|
+
return value !== null && value !== void 0;
|
|
129
|
+
}
|
|
130
|
+
function isEmptyObject(value) {
|
|
131
|
+
return !!value && Object.keys(value).length === 0 && value.constructor === Object;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// src/utils/filters.ts
|
|
135
|
+
function stripNullishObject(value) {
|
|
136
|
+
if (!isDefined(value)) {
|
|
137
|
+
return {};
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
return Object.fromEntries(Object.entries(value).filter(([, propValue]) => isDefined(propValue)));
|
|
141
|
+
} catch {
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
126
146
|
// src/utils/getColumnIdFromTable.ts
|
|
127
147
|
function getColumnIdFromTable(table) {
|
|
128
148
|
const allColumns = table.getAllColumns();
|
|
@@ -336,23 +356,6 @@ var useScreenSize = (breakpoints) => {
|
|
|
336
356
|
return { isMobile, isTablet, isDesktop };
|
|
337
357
|
};
|
|
338
358
|
var useScreenSize_default = useScreenSize;
|
|
339
|
-
|
|
340
|
-
// src/utils/common.ts
|
|
341
|
-
function isDefined(value) {
|
|
342
|
-
return value !== null && value !== void 0;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
// src/utils/filters.ts
|
|
346
|
-
function stripNullishObject(value) {
|
|
347
|
-
if (!isDefined(value)) {
|
|
348
|
-
return {};
|
|
349
|
-
}
|
|
350
|
-
try {
|
|
351
|
-
return Object.fromEntries(Object.entries(value).filter(([, propValue]) => isDefined(propValue)));
|
|
352
|
-
} catch {
|
|
353
|
-
return {};
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
359
|
var HeaderCell = ({ rootClassName, labelClassName, context, label, sorterProps }) => {
|
|
357
360
|
const { ref, hovering } = useHover_default();
|
|
358
361
|
const showSorter = sorterProps?.show ?? context.column.getCanSort();
|
|
@@ -684,6 +687,15 @@ function getColumnPinningStyles(column) {
|
|
|
684
687
|
};
|
|
685
688
|
return { classes, style };
|
|
686
689
|
}
|
|
690
|
+
function getRowClickHandlers(handler, { rowData, row, table }) {
|
|
691
|
+
const handleRowClick = (event, clickType) => {
|
|
692
|
+
handler(rowData, { event, row, table, clickType });
|
|
693
|
+
};
|
|
694
|
+
return {
|
|
695
|
+
onClick: (event) => handleRowClick(event, "single"),
|
|
696
|
+
onDoubleClick: (event) => handleRowClick(event, "double")
|
|
697
|
+
};
|
|
698
|
+
}
|
|
687
699
|
var fallbackData = [];
|
|
688
700
|
var DataTable = ({
|
|
689
701
|
tableRef,
|
|
@@ -923,11 +935,12 @@ var DataTable = ({
|
|
|
923
935
|
key: row.id,
|
|
924
936
|
className: cn("group", tableDataRowProps?.className),
|
|
925
937
|
"data-state": row.getIsSelected() ? "selected" : "non-selected",
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
938
|
+
...getRowClickHandlers(onRowClick ?? (() => {
|
|
939
|
+
}), {
|
|
940
|
+
rowData: row.original,
|
|
941
|
+
row,
|
|
942
|
+
table
|
|
943
|
+
})
|
|
931
944
|
},
|
|
932
945
|
row.getVisibleCells().map((cell) => {
|
|
933
946
|
const { classes, style } = getColumnPinningStyles(cell.column);
|
|
@@ -4906,7 +4919,7 @@ function DialogContent2({
|
|
|
4906
4919
|
{
|
|
4907
4920
|
"data-slot": "dialog-content",
|
|
4908
4921
|
className: cn3(
|
|
4909
|
-
"bg-
|
|
4922
|
+
"bg-white data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
|
|
4910
4923
|
className
|
|
4911
4924
|
),
|
|
4912
4925
|
...props,
|
|
@@ -4966,13 +4979,15 @@ var buttonVariants4 = cva(
|
|
|
4966
4979
|
{
|
|
4967
4980
|
variants: {
|
|
4968
4981
|
variant: {
|
|
4969
|
-
default: "bg-
|
|
4970
|
-
|
|
4971
|
-
|
|
4982
|
+
default: "border bg-[#8B8B8B] text-white shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50",
|
|
4983
|
+
success: "bg-sus-primary-1 text-primary-foreground shadow-xs hover:bg-sus-primary/90",
|
|
4984
|
+
error: "border border-[#BB0B0E] bg-background shadow-xs hover:bg-accent hover:text-accent-foreground text-[#BB0B0E]",
|
|
4985
|
+
warning: "bg-yellow-500 text-black shadow-xs hover:bg-yellow-600 dark:hover:bg-yellow-400",
|
|
4986
|
+
cancel: "border bg-[#8B8B8B] text-white shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:hover:bg-input/50"
|
|
4972
4987
|
},
|
|
4973
4988
|
size: {
|
|
4974
|
-
default: "h-9 px-4
|
|
4975
|
-
option: "py-5 h-9 px-4
|
|
4989
|
+
default: "h-9 px-4 has-[>svg]:px-3",
|
|
4990
|
+
option: "py-5 h-9 px-4 has-[>svg]:px-3",
|
|
4976
4991
|
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
4977
4992
|
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
4978
4993
|
icon: "size-9",
|
|
@@ -4982,7 +4997,7 @@ var buttonVariants4 = cva(
|
|
|
4982
4997
|
"icon-lg": "size-10"
|
|
4983
4998
|
},
|
|
4984
4999
|
active: {
|
|
4985
|
-
true: "
|
|
5000
|
+
true: "opacity-90 ring-2 ring-offset-1 ring-ring",
|
|
4986
5001
|
false: ""
|
|
4987
5002
|
}
|
|
4988
5003
|
},
|
|
@@ -5005,42 +5020,58 @@ function Button4({
|
|
|
5005
5020
|
Comp,
|
|
5006
5021
|
{
|
|
5007
5022
|
"data-slot": "button",
|
|
5008
|
-
className: cn3(buttonVariants4({ variant, size,
|
|
5023
|
+
className: cn3(buttonVariants4({ variant, size, active, className })),
|
|
5009
5024
|
...props
|
|
5010
5025
|
}
|
|
5011
5026
|
);
|
|
5012
5027
|
}
|
|
5013
|
-
function
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
|
|
5022
|
-
|
|
5023
|
-
|
|
5024
|
-
|
|
5028
|
+
function DialogAlert({
|
|
5029
|
+
open,
|
|
5030
|
+
onOpenChange,
|
|
5031
|
+
title,
|
|
5032
|
+
description,
|
|
5033
|
+
variant = "default",
|
|
5034
|
+
confirmText,
|
|
5035
|
+
cancelText = "Cancel",
|
|
5036
|
+
onConfirm,
|
|
5037
|
+
onCancel,
|
|
5038
|
+
showCancel = true,
|
|
5039
|
+
align = "center",
|
|
5040
|
+
outlet
|
|
5041
|
+
}) {
|
|
5042
|
+
const alignClass = align === "start" ? "justify-start" : align === "end" ? "justify-end" : "justify-center";
|
|
5043
|
+
const handleCancel = useCallback(() => {
|
|
5044
|
+
onCancel?.();
|
|
5045
|
+
onOpenChange(false);
|
|
5046
|
+
}, [onCancel, onOpenChange]);
|
|
5047
|
+
const handleConfirm = useCallback(() => {
|
|
5048
|
+
onConfirm?.();
|
|
5049
|
+
}, [onConfirm]);
|
|
5050
|
+
return /* @__PURE__ */ jsx(Dialog2, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent2, { className: "max-w-md", children: [
|
|
5025
5051
|
/* @__PURE__ */ jsxs(DialogHeader2, { children: [
|
|
5026
|
-
/* @__PURE__ */ jsx(DialogTitle2, { className:
|
|
5027
|
-
/* @__PURE__ */ jsx(DialogDescription2, { children:
|
|
5052
|
+
title && /* @__PURE__ */ jsx(DialogTitle2, { className: variantClass(variant), children: title }),
|
|
5053
|
+
description && /* @__PURE__ */ jsx(DialogDescription2, { children: description })
|
|
5028
5054
|
] }),
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
{
|
|
5034
|
-
variant: dialogData.variantBtn || "default",
|
|
5035
|
-
disabled: dialogData.btnState === false,
|
|
5036
|
-
onClick: dialogData.onClickBtn,
|
|
5037
|
-
children: dialogData.btn
|
|
5038
|
-
}
|
|
5039
|
-
)
|
|
5055
|
+
outlet && outlet,
|
|
5056
|
+
/* @__PURE__ */ jsxs("div", { className: `flex gap-3 mt-3 ${alignClass}`, children: [
|
|
5057
|
+
showCancel && /* @__PURE__ */ jsx(Button4, { variant: "cancel", onClick: handleCancel, children: cancelText }),
|
|
5058
|
+
confirmText && /* @__PURE__ */ jsx(Button4, { variant, onClick: handleConfirm, children: confirmText })
|
|
5040
5059
|
] })
|
|
5041
5060
|
] }) });
|
|
5042
5061
|
}
|
|
5062
|
+
function variantClass(variant) {
|
|
5063
|
+
switch (variant) {
|
|
5064
|
+
case "success":
|
|
5065
|
+
return "text-green-600";
|
|
5066
|
+
case "error":
|
|
5067
|
+
return "text-red-600";
|
|
5068
|
+
case "warning":
|
|
5069
|
+
return "text-yellow-600";
|
|
5070
|
+
default:
|
|
5071
|
+
return "";
|
|
5072
|
+
}
|
|
5073
|
+
}
|
|
5043
5074
|
|
|
5044
|
-
export { AdvanceSearch_default as AdvanceSearch, Button, DataTable_default as DataTable,
|
|
5075
|
+
export { AdvanceSearch_default as AdvanceSearch, Button, DataTable_default as DataTable, DialogAlert, FormErrorMessage, FormField, FormFieldContext, FormItem, FormItemContext, FormLabel, GridSettingsModal_default as GridSettingsModal, HeaderCell_default as HeaderCell, navbar_default as Navbar, NumberInput, PreventPageLeave_default as PreventPageLeave, TextInput, booleanToSelectValue, buttonVariants, cn, compareAlphanumeric, getColumnIdFromTable, isDefined, isEmptyObject, renderContentSlot, selectValueToBoolean, stripNullishObject, useFormField, useGridSettingsStore, useHover_default as useHover, useIntersectionObserver_default as useIntersectionObserver, useMediaQuery_default as useMediaQuery, usePreventPageLeave_default as usePreventPageLeave, usePreventPageLeaveStore_default as usePreventPageLeaveStore, useScreenSize_default as useScreenSize };
|
|
5045
5076
|
//# sourceMappingURL=index.mjs.map
|
|
5046
5077
|
//# sourceMappingURL=index.mjs.map
|