@mahatisystems/mahati-ui-components 1.2.1 → 1.3.2
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/check-mark_1-6GNY6HFY.png +0 -0
- package/dist/check-mark_2-YWM2KQA2.png +0 -0
- package/dist/close-EEDOIEDC.png +0 -0
- package/dist/close_copy_1-PFFNUORV.png +0 -0
- package/dist/danger_1-LUIFNS2J.png +0 -0
- package/dist/danger_1_1-PHLDGYEA.png +0 -0
- package/dist/danger_2-YTNTGWQA.png +0 -0
- package/dist/index.css +301 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +628 -104
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +627 -106
- package/dist/index.mjs.map +1 -1
- package/dist/notification_1-K2I7DVDH.png +0 -0
- package/dist/notification_2-KFI6MN7T.png +0 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// src/components/Button.tsx
|
|
2
1
|
function _array_like_to_array(arr, len) {
|
|
3
2
|
if (len == null || len > arr.length) len = arr.length;
|
|
4
3
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -148,6 +147,69 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
148
147
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
149
148
|
}
|
|
150
149
|
var _Chart;
|
|
150
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
151
|
+
var __commonJS = function(cb, mod) {
|
|
152
|
+
return function __require() {
|
|
153
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {
|
|
154
|
+
exports: {}
|
|
155
|
+
}).exports, mod), mod.exports;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
// src/assets/icons/check-mark_1.png
|
|
159
|
+
var require_check_mark_1 = __commonJS({
|
|
160
|
+
"src/assets/icons/check-mark_1.png": function(exports, module) {
|
|
161
|
+
module.exports = "./check-mark_1-6GNY6HFY.png";
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
// src/assets/icons/check-mark_2.png
|
|
165
|
+
var require_check_mark_2 = __commonJS({
|
|
166
|
+
"src/assets/icons/check-mark_2.png": function(exports, module) {
|
|
167
|
+
module.exports = "./check-mark_2-YWM2KQA2.png";
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
// src/assets/icons/danger_1.png
|
|
171
|
+
var require_danger_1 = __commonJS({
|
|
172
|
+
"src/assets/icons/danger_1.png": function(exports, module) {
|
|
173
|
+
module.exports = "./danger_1-LUIFNS2J.png";
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
// src/assets/icons/danger_2.png
|
|
177
|
+
var require_danger_2 = __commonJS({
|
|
178
|
+
"src/assets/icons/danger_2.png": function(exports, module) {
|
|
179
|
+
module.exports = "./danger_2-YTNTGWQA.png";
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
// src/assets/icons/danger_1_1.png
|
|
183
|
+
var require_danger_1_1 = __commonJS({
|
|
184
|
+
"src/assets/icons/danger_1_1.png": function(exports, module) {
|
|
185
|
+
module.exports = "./danger_1_1-PHLDGYEA.png";
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
// src/assets/icons/notification_1.png
|
|
189
|
+
var require_notification_1 = __commonJS({
|
|
190
|
+
"src/assets/icons/notification_1.png": function(exports, module) {
|
|
191
|
+
module.exports = "./notification_1-K2I7DVDH.png";
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
// src/assets/icons/notification_2.png
|
|
195
|
+
var require_notification_2 = __commonJS({
|
|
196
|
+
"src/assets/icons/notification_2.png": function(exports, module) {
|
|
197
|
+
module.exports = "./notification_2-KFI6MN7T.png";
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
// src/assets/icons/close.png
|
|
201
|
+
var require_close = __commonJS({
|
|
202
|
+
"src/assets/icons/close.png": function(exports, module) {
|
|
203
|
+
module.exports = "./close-EEDOIEDC.png";
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
// src/assets/icons/close_copy_1.png
|
|
207
|
+
var require_close_copy_1 = __commonJS({
|
|
208
|
+
"src/assets/icons/close_copy_1.png": function(exports, module) {
|
|
209
|
+
module.exports = "./close_copy_1-PFFNUORV.png";
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
// src/components/Button.tsx
|
|
151
213
|
import React from "react";
|
|
152
214
|
import { cva } from "class-variance-authority";
|
|
153
215
|
// src/lib/utils.ts
|
|
@@ -2890,8 +2952,318 @@ var Calendar = function(param) {
|
|
|
2890
2952
|
})), isOpen && calendarContent);
|
|
2891
2953
|
};
|
|
2892
2954
|
Calendar.displayName = "Calendar";
|
|
2955
|
+
// src/components/ToastMessage.tsx
|
|
2956
|
+
import React13, { useEffect as useEffect6, useMemo, useState as useState9 } from "react";
|
|
2957
|
+
var cn5 = function() {
|
|
2958
|
+
for(var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++){
|
|
2959
|
+
values[_key] = arguments[_key];
|
|
2960
|
+
}
|
|
2961
|
+
return values.filter(Boolean).join(" ");
|
|
2962
|
+
};
|
|
2963
|
+
var cnArr = function(values) {
|
|
2964
|
+
return values.filter(Boolean).join(" ");
|
|
2965
|
+
};
|
|
2966
|
+
var assetSrc = function(m) {
|
|
2967
|
+
if (typeof m === "string") return m;
|
|
2968
|
+
var anyM = m;
|
|
2969
|
+
if (typeof (anyM === null || anyM === void 0 ? void 0 : anyM.src) === "string") return anyM.src;
|
|
2970
|
+
var d = anyM === null || anyM === void 0 ? void 0 : anyM.default;
|
|
2971
|
+
if (typeof d === "string") return d;
|
|
2972
|
+
if (typeof (d === null || d === void 0 ? void 0 : d.src) === "string") return d.src;
|
|
2973
|
+
return "";
|
|
2974
|
+
};
|
|
2975
|
+
var checkMarkSolid = require_check_mark_1();
|
|
2976
|
+
var checkMarkTransparent = require_check_mark_2();
|
|
2977
|
+
var dangerSolid = require_danger_1();
|
|
2978
|
+
var dangerTransparent = require_danger_2();
|
|
2979
|
+
var warningTransparent = require_danger_1_1();
|
|
2980
|
+
var notificationSolid = require_notification_1();
|
|
2981
|
+
var notificationTransparent = require_notification_2();
|
|
2982
|
+
var closeSolid = require_close();
|
|
2983
|
+
var closeTransparent = require_close_copy_1();
|
|
2984
|
+
var presetFor = function(type) {
|
|
2985
|
+
var commonContainer = "w-[min(92vw,420px)] md:w-[325px] rounded-[12px] shadow-[0_4px_12px_0_rgba(0,0,0,0.08)]";
|
|
2986
|
+
switch(type){
|
|
2987
|
+
case "Success":
|
|
2988
|
+
return {
|
|
2989
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
2990
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(40,167,69,1)_0%,rgba(58,208,125,1)_100%)]",
|
|
2991
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(40,167,69,1)_22.5%,rgba(58,208,125,1)_130%)]",
|
|
2992
|
+
stripTitleColor: "text-[rgba(40,167,69,1)]"
|
|
2993
|
+
};
|
|
2994
|
+
case "Error":
|
|
2995
|
+
return {
|
|
2996
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
2997
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(220,53,69,1)_0%,rgba(183,28,28,1)_100%)]",
|
|
2998
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(220,53,69,1)_22.5%,rgba(183,28,28,1)_130%)]",
|
|
2999
|
+
stripTitleColor: "text-[rgba(220,53,69,1)]"
|
|
3000
|
+
};
|
|
3001
|
+
case "Warning":
|
|
3002
|
+
return {
|
|
3003
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
3004
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(245,158,11,1)_0%,rgba(255,191,92,1)_100%)]",
|
|
3005
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(245,158,11,1)_22.5%,rgba(255,191,92,1)_130%)]",
|
|
3006
|
+
stripTitleColor: "text-[rgba(245,158,11,1)]"
|
|
3007
|
+
};
|
|
3008
|
+
case "Notification":
|
|
3009
|
+
return {
|
|
3010
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
3011
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(23,97,163,1)_0%,rgba(77,175,131,1)_100%)]",
|
|
3012
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(23,97,163,1)_22.5%,rgba(77,175,131,1)_130%)]",
|
|
3013
|
+
stripTitleColor: "text-[rgba(23,97,163,1)]"
|
|
3014
|
+
};
|
|
3015
|
+
case "LiquidUI":
|
|
3016
|
+
return {
|
|
3017
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
3018
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(16,185,129,1)_0%,rgba(59,130,246,1)_100%)]",
|
|
3019
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(16,185,129,1)_22.5%,rgba(59,130,246,1)_130%)]",
|
|
3020
|
+
stripTitleColor: "text-[rgba(16,185,129,1)]"
|
|
3021
|
+
};
|
|
3022
|
+
case "Action":
|
|
3023
|
+
return {
|
|
3024
|
+
container: "".concat(commonContainer, " h-[110px]"),
|
|
3025
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(139,92,246,1)_0%,rgba(168,85,247,1)_100%)]",
|
|
3026
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(139,92,246,1)_22.5%,rgba(168,85,247,1)_130%)]",
|
|
3027
|
+
stripTitleColor: "text-[rgba(139,92,246,1)]"
|
|
3028
|
+
};
|
|
3029
|
+
default:
|
|
3030
|
+
return {
|
|
3031
|
+
container: "".concat(commonContainer, " h-[70px]"),
|
|
3032
|
+
bgSolid: "bg-[linear-gradient(90deg,rgba(245,158,11,1)_0%,rgba(255,191,92,1)_100%)]",
|
|
3033
|
+
stripBg: "bg-[linear-gradient(90deg,rgba(245,158,11,1)_22.5%,rgba(255,191,92,1)_130%)]",
|
|
3034
|
+
stripTitleColor: "text-[rgba(245,158,11,1)]"
|
|
3035
|
+
};
|
|
3036
|
+
}
|
|
3037
|
+
};
|
|
3038
|
+
var titleForType = function(type) {
|
|
3039
|
+
switch(type){
|
|
3040
|
+
case "LiquidUI":
|
|
3041
|
+
return "Liquid UI";
|
|
3042
|
+
case "Action":
|
|
3043
|
+
return "Confirmation";
|
|
3044
|
+
default:
|
|
3045
|
+
return type;
|
|
3046
|
+
}
|
|
3047
|
+
};
|
|
3048
|
+
var iconFor = function(type, background) {
|
|
3049
|
+
var solid = background === "solid";
|
|
3050
|
+
switch(type){
|
|
3051
|
+
case "Success":
|
|
3052
|
+
return assetSrc(solid ? checkMarkSolid : checkMarkTransparent);
|
|
3053
|
+
case "Error":
|
|
3054
|
+
return assetSrc(solid ? dangerSolid : dangerTransparent);
|
|
3055
|
+
case "Warning":
|
|
3056
|
+
return assetSrc(solid ? dangerSolid : warningTransparent);
|
|
3057
|
+
case "Notification":
|
|
3058
|
+
return assetSrc(solid ? notificationSolid : notificationTransparent);
|
|
3059
|
+
case "LiquidUI":
|
|
3060
|
+
return assetSrc(checkMarkSolid);
|
|
3061
|
+
case "Action":
|
|
3062
|
+
return assetSrc(checkMarkSolid);
|
|
3063
|
+
default:
|
|
3064
|
+
return assetSrc(checkMarkSolid);
|
|
3065
|
+
}
|
|
3066
|
+
};
|
|
3067
|
+
var closeIconFor = function(background) {
|
|
3068
|
+
return assetSrc(background === "solid" ? closeSolid : closeTransparent);
|
|
3069
|
+
};
|
|
3070
|
+
var ToastItem = function(param) {
|
|
3071
|
+
var toast = param.toast, onClose = param.onClose;
|
|
3072
|
+
var _toast_actions, _toast_actions1;
|
|
3073
|
+
var _useState9 = _sliced_to_array(useState9(false), 2), isExiting = _useState9[0], setIsExiting = _useState9[1];
|
|
3074
|
+
var _useState91 = _sliced_to_array(useState9(false), 2), hovered = _useState91[0], setHovered = _useState91[1];
|
|
3075
|
+
var hasActions = !!(toast.actions && toast.actions.length > 0);
|
|
3076
|
+
var preset = useMemo(function() {
|
|
3077
|
+
return presetFor(toast.type);
|
|
3078
|
+
}, [
|
|
3079
|
+
toast.type
|
|
3080
|
+
]);
|
|
3081
|
+
var _toast_background;
|
|
3082
|
+
var background = (_toast_background = toast.background) !== null && _toast_background !== void 0 ? _toast_background : "solid";
|
|
3083
|
+
var _toast_message;
|
|
3084
|
+
var rawMessage = (_toast_message = toast.message) !== null && _toast_message !== void 0 ? _toast_message : "";
|
|
3085
|
+
var hasMessage = rawMessage.trim().length > 0;
|
|
3086
|
+
var handleClose = function() {
|
|
3087
|
+
setIsExiting(true);
|
|
3088
|
+
setTimeout(function() {
|
|
3089
|
+
return onClose(toast.id);
|
|
3090
|
+
}, 300);
|
|
3091
|
+
};
|
|
3092
|
+
var handleAction = function(action) {
|
|
3093
|
+
action === null || action === void 0 ? void 0 : action();
|
|
3094
|
+
handleClose();
|
|
3095
|
+
};
|
|
3096
|
+
useEffect6(function() {
|
|
3097
|
+
if (toast.duration && toast.duration > 0 && !hovered && !hasActions) {
|
|
3098
|
+
var t = setTimeout(function() {
|
|
3099
|
+
return handleClose();
|
|
3100
|
+
}, toast.duration);
|
|
3101
|
+
return function() {
|
|
3102
|
+
return clearTimeout(t);
|
|
3103
|
+
};
|
|
3104
|
+
}
|
|
3105
|
+
return;
|
|
3106
|
+
}, [
|
|
3107
|
+
toast.duration,
|
|
3108
|
+
hovered,
|
|
3109
|
+
hasActions
|
|
3110
|
+
]);
|
|
3111
|
+
var titleBottomClass = hasActions ? "bottom-[78px]" : "bottom-[33px]";
|
|
3112
|
+
var messageBottomClass = hasActions ? "bottom-[52px]" : "bottom-[16px]";
|
|
3113
|
+
var containerBgClass = background === "solid" ? preset.bgSolid : "bg-[rgba(255,255,255,1)]";
|
|
3114
|
+
var titleTextClass = background === "transparent" ? preset.stripTitleColor : "text-[rgba(255,255,255,1)]";
|
|
3115
|
+
var messageTextClass = background === "transparent" ? "text-[rgba(0,0,0,1)]" : "text-[rgba(255,255,255,1)]";
|
|
3116
|
+
var _toast_classNames;
|
|
3117
|
+
var slots = (_toast_classNames = toast.classNames) !== null && _toast_classNames !== void 0 ? _toast_classNames : {};
|
|
3118
|
+
var titleRight = "right-[80px] md:right-[140px]";
|
|
3119
|
+
var messageRight = "right-[70px] md:right-[94px]";
|
|
3120
|
+
var closeLeft = "left-[calc(100%-36px)] md:left-[289px]";
|
|
3121
|
+
var baseClass = cnArr([
|
|
3122
|
+
"relative flex overflow-hidden border border-transparent transition-all duration-300",
|
|
3123
|
+
preset.container,
|
|
3124
|
+
containerBgClass,
|
|
3125
|
+
isExiting ? "opacity-0 translate-x-full" : "opacity-100 translate-x-0",
|
|
3126
|
+
slots.base
|
|
3127
|
+
]);
|
|
3128
|
+
var stripClass = cnArr([
|
|
3129
|
+
"absolute top-0 left-[5px] w-[5px] h-full rounded-[20px_0_0_20px]",
|
|
3130
|
+
preset.stripBg,
|
|
3131
|
+
slots.strip
|
|
3132
|
+
]);
|
|
3133
|
+
var iconWrapClass = cnArr([
|
|
3134
|
+
"absolute left-[36px] top-[22px] h-[26px] w-[26px]",
|
|
3135
|
+
slots.icon
|
|
3136
|
+
]);
|
|
3137
|
+
var iconImgClass = "block h-[26px] w-[26px] object-contain";
|
|
3138
|
+
var isTitleCentered = !hasActions && !hasMessage;
|
|
3139
|
+
var titleTopClass = isTitleCentered ? "top-1/2 -translate-y-1/2" : "top-[13px]";
|
|
3140
|
+
var titleClass = cnArr([
|
|
3141
|
+
"absolute left-[80px]",
|
|
3142
|
+
titleTopClass,
|
|
3143
|
+
titleRight,
|
|
3144
|
+
!isTitleCentered && titleBottomClass,
|
|
3145
|
+
'font-["Poppins"] text-[16px] font-[700] leading-none overflow-hidden text-ellipsis whitespace-nowrap',
|
|
3146
|
+
titleTextClass,
|
|
3147
|
+
slots.title
|
|
3148
|
+
]);
|
|
3149
|
+
var messageClass = cnArr([
|
|
3150
|
+
"absolute left-[80px] top-[39px]",
|
|
3151
|
+
messageRight,
|
|
3152
|
+
messageBottomClass,
|
|
3153
|
+
'font-["Poppins"] text-[10px] font-[400] leading-none truncate',
|
|
3154
|
+
messageTextClass,
|
|
3155
|
+
slots.message
|
|
3156
|
+
]);
|
|
3157
|
+
var closeBtnClass = cnArr([
|
|
3158
|
+
"absolute top-[27px] h-[14px] w-[14px]",
|
|
3159
|
+
closeLeft,
|
|
3160
|
+
slots.close
|
|
3161
|
+
]);
|
|
3162
|
+
var actionsWrapClass = cnArr([
|
|
3163
|
+
"absolute left-[80px] right-[12px] md:right-[22px] bottom-[10px] flex flex-wrap gap-2",
|
|
3164
|
+
slots.actions
|
|
3165
|
+
]);
|
|
3166
|
+
var primaryActionClass = cnArr([
|
|
3167
|
+
"inline-flex w-fit whitespace-nowrap items-center justify-center rounded-lg",
|
|
3168
|
+
"bg-[rgba(17,24,39,1)] px-3 py-2 text-[12px] font-[600] text-[rgba(255,255,255,1)] transition-colors hover:bg-[rgba(31,41,55,1)]",
|
|
3169
|
+
slots.primaryAction
|
|
3170
|
+
]);
|
|
3171
|
+
var secondaryActionClass = cnArr([
|
|
3172
|
+
"inline-flex w-fit whitespace-nowrap items-center justify-center rounded-lg",
|
|
3173
|
+
"border border-[rgba(255,255,255,0.6)] bg-[rgba(255,255,255,0.15)] px-3 py-2 text-[12px] font-[600] text-[rgba(255,255,255,1)] transition-colors hover:bg-[rgba(255,255,255,0.22)]",
|
|
3174
|
+
slots.secondaryAction
|
|
3175
|
+
]);
|
|
3176
|
+
var iconSrc = iconFor(toast.type, background);
|
|
3177
|
+
var closeSrc = closeIconFor(background);
|
|
3178
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
3179
|
+
onMouseEnter: function() {
|
|
3180
|
+
return setHovered(true);
|
|
3181
|
+
},
|
|
3182
|
+
onMouseLeave: function() {
|
|
3183
|
+
return setHovered(false);
|
|
3184
|
+
},
|
|
3185
|
+
className: baseClass,
|
|
3186
|
+
role: "status",
|
|
3187
|
+
"aria-live": "polite"
|
|
3188
|
+
}, /* @__PURE__ */ React13.createElement("div", {
|
|
3189
|
+
className: stripClass,
|
|
3190
|
+
"aria-hidden": "true"
|
|
3191
|
+
}), /* @__PURE__ */ React13.createElement("div", {
|
|
3192
|
+
className: iconWrapClass,
|
|
3193
|
+
"aria-hidden": "true"
|
|
3194
|
+
}, /* @__PURE__ */ React13.createElement("img", {
|
|
3195
|
+
src: iconSrc,
|
|
3196
|
+
alt: "",
|
|
3197
|
+
className: iconImgClass
|
|
3198
|
+
})), /* @__PURE__ */ React13.createElement("h4", {
|
|
3199
|
+
className: titleClass
|
|
3200
|
+
}, toast.title), hasMessage && /* @__PURE__ */ React13.createElement("p", {
|
|
3201
|
+
className: messageClass
|
|
3202
|
+
}, rawMessage), !hasActions && /* @__PURE__ */ React13.createElement("button", {
|
|
3203
|
+
onClick: handleClose,
|
|
3204
|
+
className: closeBtnClass,
|
|
3205
|
+
"aria-label": "Close"
|
|
3206
|
+
}, /* @__PURE__ */ React13.createElement("img", {
|
|
3207
|
+
src: closeSrc,
|
|
3208
|
+
alt: "",
|
|
3209
|
+
className: "block h-[14px] w-[14px] object-contain",
|
|
3210
|
+
"aria-hidden": "true"
|
|
3211
|
+
})), hasActions && /* @__PURE__ */ React13.createElement("div", {
|
|
3212
|
+
className: actionsWrapClass
|
|
3213
|
+
}, ((_toast_actions = toast.actions) === null || _toast_actions === void 0 ? void 0 : _toast_actions[0]) && /* @__PURE__ */ React13.createElement("button", {
|
|
3214
|
+
onClick: function() {
|
|
3215
|
+
var _toast_actions_, _toast_actions;
|
|
3216
|
+
return handleAction((_toast_actions = toast.actions) === null || _toast_actions === void 0 ? void 0 : (_toast_actions_ = _toast_actions[0]) === null || _toast_actions_ === void 0 ? void 0 : _toast_actions_.onClick);
|
|
3217
|
+
},
|
|
3218
|
+
className: primaryActionClass
|
|
3219
|
+
}, toast.actions[0].label), ((_toast_actions1 = toast.actions) === null || _toast_actions1 === void 0 ? void 0 : _toast_actions1[1]) && /* @__PURE__ */ React13.createElement("button", {
|
|
3220
|
+
onClick: function() {
|
|
3221
|
+
var _toast_actions_, _toast_actions;
|
|
3222
|
+
return handleAction((_toast_actions = toast.actions) === null || _toast_actions === void 0 ? void 0 : (_toast_actions_ = _toast_actions[1]) === null || _toast_actions_ === void 0 ? void 0 : _toast_actions_.onClick);
|
|
3223
|
+
},
|
|
3224
|
+
className: secondaryActionClass
|
|
3225
|
+
}, toast.actions[1].label)));
|
|
3226
|
+
};
|
|
3227
|
+
ToastItem.displayName = "ToastItem";
|
|
3228
|
+
var posClass = function(p) {
|
|
3229
|
+
switch(p){
|
|
3230
|
+
case "top-left":
|
|
3231
|
+
return "top-4 left-4";
|
|
3232
|
+
case "top-center":
|
|
3233
|
+
return "top-4 left-1/2 -translate-x-1/2";
|
|
3234
|
+
case "top-right":
|
|
3235
|
+
return "top-4 right-4";
|
|
3236
|
+
case "bottom-left":
|
|
3237
|
+
return "bottom-4 left-4";
|
|
3238
|
+
case "bottom-center":
|
|
3239
|
+
return "bottom-4 left-1/2 -translate-x-1/2";
|
|
3240
|
+
case "bottom-right":
|
|
3241
|
+
return "bottom-4 right-4";
|
|
3242
|
+
default:
|
|
3243
|
+
return "top-4 right-4";
|
|
3244
|
+
}
|
|
3245
|
+
};
|
|
3246
|
+
var ToastMessageBase = function(param) {
|
|
3247
|
+
var toasts = param.toasts, position = param.position, onClose = param.onClose;
|
|
3248
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
3249
|
+
className: cn5("fixed z-[9999] flex flex-col gap-3 pointer-events-none", posClass(position))
|
|
3250
|
+
}, toasts.map(function(t) {
|
|
3251
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
3252
|
+
key: t.id,
|
|
3253
|
+
className: "pointer-events-auto"
|
|
3254
|
+
}, /* @__PURE__ */ React13.createElement(ToastItem, {
|
|
3255
|
+
toast: t,
|
|
3256
|
+
onClose: onClose
|
|
3257
|
+
}));
|
|
3258
|
+
}));
|
|
3259
|
+
};
|
|
3260
|
+
ToastMessageBase.displayName = "ToastMessage";
|
|
3261
|
+
var ToastMessage = ToastMessageBase;
|
|
3262
|
+
ToastMessage.cn = cn5;
|
|
3263
|
+
ToastMessage.titleForType = titleForType;
|
|
3264
|
+
ToastMessage.displayName = "ToastMessage";
|
|
2893
3265
|
// src/components/Dropdown.tsx
|
|
2894
|
-
import
|
|
3266
|
+
import React14, { useState as useState10, useRef as useRef3, useEffect as useEffect7 } from "react";
|
|
2895
3267
|
var variantStyles = {
|
|
2896
3268
|
basic: "bg-blue-600 text-white hover:bg-blue-700",
|
|
2897
3269
|
outline: "border border-black-600 text-blue-600 hover:bg-blue-50",
|
|
@@ -2904,13 +3276,13 @@ var variantStyles = {
|
|
|
2904
3276
|
};
|
|
2905
3277
|
var Dropdown = function(param) {
|
|
2906
3278
|
var options = param.options, value = param.value, onSelect = param.onSelect, _param_variant = param.variant, variant = _param_variant === void 0 ? "basic" : _param_variant, _param_className = param.className, className = _param_className === void 0 ? "" : _param_className, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Select an option" : _param_placeholder;
|
|
2907
|
-
var
|
|
2908
|
-
var
|
|
3279
|
+
var _useState10 = _sliced_to_array(useState10(false), 2), open = _useState10[0], setOpen = _useState10[1];
|
|
3280
|
+
var _useState101 = _sliced_to_array(useState10(null), 2), internalSelected = _useState101[0], setInternalSelected = _useState101[1];
|
|
2909
3281
|
var dropdownRef = useRef3(null);
|
|
2910
3282
|
var selectedOption = value !== void 0 ? options.find(function(opt) {
|
|
2911
3283
|
return opt.value === value;
|
|
2912
3284
|
}) : internalSelected;
|
|
2913
|
-
|
|
3285
|
+
useEffect7(function() {
|
|
2914
3286
|
var handleClickOutside = function handleClickOutside(event) {
|
|
2915
3287
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
2916
3288
|
setOpen(false);
|
|
@@ -2931,18 +3303,18 @@ var Dropdown = function(param) {
|
|
|
2931
3303
|
onSelect(option.value);
|
|
2932
3304
|
setOpen(false);
|
|
2933
3305
|
};
|
|
2934
|
-
return /* @__PURE__ */
|
|
3306
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
2935
3307
|
ref: dropdownRef,
|
|
2936
3308
|
className: "relative w-56 ".concat(className)
|
|
2937
|
-
}, /* @__PURE__ */
|
|
3309
|
+
}, /* @__PURE__ */ React14.createElement("button", {
|
|
2938
3310
|
onClick: function() {
|
|
2939
3311
|
return setOpen(!open);
|
|
2940
3312
|
},
|
|
2941
3313
|
className: "w-full text-left px-4 py-2 rounded-md transition-all duration-200 ".concat(variantStyles[variant])
|
|
2942
|
-
}, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.key) || placeholder), open && /* @__PURE__ */
|
|
3314
|
+
}, (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.key) || placeholder), open && /* @__PURE__ */ React14.createElement("div", {
|
|
2943
3315
|
className: "absolute mt-2 w-full bg-white border border-gray-200 rounded-md shadow-lg z-20"
|
|
2944
3316
|
}, options.map(function(opt) {
|
|
2945
|
-
return /* @__PURE__ */
|
|
3317
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
2946
3318
|
key: opt.value,
|
|
2947
3319
|
onClick: function() {
|
|
2948
3320
|
return handleSelect(opt);
|
|
@@ -2953,11 +3325,16 @@ var Dropdown = function(param) {
|
|
|
2953
3325
|
};
|
|
2954
3326
|
Dropdown.displayName = "Dropdown";
|
|
2955
3327
|
// src/components/Filter.tsx
|
|
2956
|
-
import
|
|
3328
|
+
import React15, { useState as useState11, useEffect as useEffect8, useRef as useRef4 } from "react";
|
|
2957
3329
|
import { X as X2, ChevronDown as ChevronDown2 } from "lucide-react";
|
|
3330
|
+
import { createPortal } from "react-dom";
|
|
3331
|
+
var fieldStyles = {
|
|
3332
|
+
small: "w-full px-3 py-2 pr-5 bg-white border border-gray-300 rounded-md appearance-none focus:outline-none focus:ring-2 focus:ring-[#1761a3]",
|
|
3333
|
+
medium: "w-full px-4 py-3 pr-6 bg-white border border-slate-300 rounded-md appearance-none focus:outline-none focus:ring-2 focus:ring-[#1761a3]"
|
|
3334
|
+
};
|
|
2958
3335
|
var Filter = function() {
|
|
2959
|
-
var
|
|
2960
|
-
var
|
|
3336
|
+
var _useState11 = _sliced_to_array(useState11(false), 2), open = _useState11[0], setOpen = _useState11[1];
|
|
3337
|
+
var _useState111 = _sliced_to_array(useState11({
|
|
2961
3338
|
date: {
|
|
2962
3339
|
start: null,
|
|
2963
3340
|
end: null
|
|
@@ -2965,7 +3342,7 @@ var Filter = function() {
|
|
|
2965
3342
|
activity: "",
|
|
2966
3343
|
status: "",
|
|
2967
3344
|
keyword: ""
|
|
2968
|
-
}), 2), values =
|
|
3345
|
+
}), 2), values = _useState111[0], setValues = _useState111[1];
|
|
2969
3346
|
var handleChange = function(name, value) {
|
|
2970
3347
|
setValues(function(prev) {
|
|
2971
3348
|
return _object_spread_props(_object_spread({}, prev), _define_property({}, name, value));
|
|
@@ -3002,9 +3379,9 @@ var Filter = function() {
|
|
|
3002
3379
|
console.log("Applied Filters:", values);
|
|
3003
3380
|
setOpen(false);
|
|
3004
3381
|
};
|
|
3005
|
-
return /* @__PURE__ */
|
|
3382
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
3006
3383
|
className: "relative"
|
|
3007
|
-
}, /* @__PURE__ */
|
|
3384
|
+
}, /* @__PURE__ */ React15.createElement(Button, {
|
|
3008
3385
|
variant: "outline",
|
|
3009
3386
|
className: "flex items-center gap-2 px-5 py-3 rounded-lg\r\n border border-[rgba(23,97,163,0.35)]\r\n bg-gradient-to-r from-[#f2fbf8] to-[#eef6fb]\r\n text-[#0f172a] font-semibold shadow-sm",
|
|
3010
3387
|
onClick: function() {
|
|
@@ -3012,148 +3389,292 @@ var Filter = function() {
|
|
|
3012
3389
|
return !p;
|
|
3013
3390
|
});
|
|
3014
3391
|
}
|
|
3015
|
-
}, "Filter"), open && /* @__PURE__ */
|
|
3392
|
+
}, "Filter"), open && /* @__PURE__ */ React15.createElement("div", {
|
|
3016
3393
|
className: "absolute right-0 mt-3 z-50"
|
|
3017
|
-
}, /* @__PURE__ */
|
|
3394
|
+
}, /* @__PURE__ */ React15.createElement(Card, {
|
|
3018
3395
|
variant: "figma",
|
|
3019
3396
|
className: "w-[360px] p-0 overflow-hidden bg-white"
|
|
3020
|
-
}, /* @__PURE__ */
|
|
3397
|
+
}, /* @__PURE__ */ React15.createElement("div", {
|
|
3021
3398
|
className: "flex justify-between items-center px-5 py-3 border-b border-[rgba(23,97,163,0.35)]"
|
|
3022
|
-
}, /* @__PURE__ */
|
|
3399
|
+
}, /* @__PURE__ */ React15.createElement("h3", {
|
|
3023
3400
|
className: "text-md font-semibold"
|
|
3024
|
-
}, "Add Filter"), /* @__PURE__ */
|
|
3401
|
+
}, "Add Filter"), /* @__PURE__ */ React15.createElement("button", {
|
|
3025
3402
|
onClick: function() {
|
|
3026
3403
|
return setOpen(false);
|
|
3027
3404
|
},
|
|
3028
3405
|
className: "w-8 h-8 rounded-full bg-slate-100 flex items-center justify-center"
|
|
3029
|
-
}, /* @__PURE__ */
|
|
3406
|
+
}, /* @__PURE__ */ React15.createElement(X2, {
|
|
3030
3407
|
className: "w-4 h-4 text-slate-600"
|
|
3031
|
-
}))), /* @__PURE__ */
|
|
3408
|
+
}))), /* @__PURE__ */ React15.createElement(Section, {
|
|
3032
3409
|
title: "Date Range",
|
|
3033
3410
|
onReset: function() {
|
|
3034
3411
|
return resetField("date");
|
|
3035
3412
|
}
|
|
3036
|
-
}, /* @__PURE__ */
|
|
3413
|
+
}, /* @__PURE__ */ React15.createElement(Calendar, {
|
|
3037
3414
|
enableRangeSelection: true,
|
|
3038
3415
|
rangeValue: values.date,
|
|
3039
3416
|
onRangeChange: function(range) {
|
|
3040
3417
|
return handleChange("date", range);
|
|
3041
3418
|
},
|
|
3042
3419
|
size: "small"
|
|
3043
|
-
})), /* @__PURE__ */
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
return resetField("activity");
|
|
3047
|
-
}
|
|
3048
|
-
}, /* @__PURE__ */ React14.createElement(MahatiActivity, {
|
|
3420
|
+
})), /* @__PURE__ */ React15.createElement("div", {
|
|
3421
|
+
className: "relative w-full"
|
|
3422
|
+
}, /* @__PURE__ */ React15.createElement("select", {
|
|
3049
3423
|
value: values.activity,
|
|
3050
|
-
onChange: function(
|
|
3051
|
-
return handleChange("activity",
|
|
3052
|
-
}
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
}, /* @__PURE__ */
|
|
3424
|
+
onChange: function(e) {
|
|
3425
|
+
return handleChange("activity", e.target.value);
|
|
3426
|
+
},
|
|
3427
|
+
className: "\r\n w-full appearance-none\r\n px-4 py-3 pr-10\r\n rounded-[6px]\r\n border border-slate-300\r\n bg-white text-sm\r\n focus:outline-none focus:ring-2 focus:ring-[#1761A3]\r\n "
|
|
3428
|
+
}, /* @__PURE__ */ React15.createElement("option", {
|
|
3429
|
+
value: ""
|
|
3430
|
+
}, "Select Activity"), /* @__PURE__ */ React15.createElement("option", null, "Activity List"), /* @__PURE__ */ React15.createElement("option", null, "Login"), /* @__PURE__ */ React15.createElement("option", null, "Update"), /* @__PURE__ */ React15.createElement("option", null, "Delete")), /* @__PURE__ */ React15.createElement(ChevronDown2, {
|
|
3431
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500 pointer-events-none"
|
|
3432
|
+
})), /* @__PURE__ */ React15.createElement("div", {
|
|
3433
|
+
className: "relative w-full"
|
|
3434
|
+
}, /* @__PURE__ */ React15.createElement("select", {
|
|
3059
3435
|
value: values.status,
|
|
3060
|
-
onChange: function(
|
|
3061
|
-
return handleChange("status",
|
|
3062
|
-
}
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
}, /* @__PURE__ */
|
|
3436
|
+
onChange: function(e) {
|
|
3437
|
+
return handleChange("status", e.target.value);
|
|
3438
|
+
},
|
|
3439
|
+
className: "\r\n w-full appearance-none\r\n px-4 py-3 pr-10\r\n rounded-[6px]\r\n border border-slate-300\r\n bg-white text-sm\r\n focus:outline-none focus:ring-2 focus:ring-[#1761A3]\r\n "
|
|
3440
|
+
}, /* @__PURE__ */ React15.createElement("option", {
|
|
3441
|
+
value: ""
|
|
3442
|
+
}, "Select Status"), /* @__PURE__ */ React15.createElement("option", null, "Pending"), /* @__PURE__ */ React15.createElement("option", null, "Approved"), /* @__PURE__ */ React15.createElement("option", null, "Rejected")), /* @__PURE__ */ React15.createElement(ChevronDown2, {
|
|
3443
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-500 pointer-events-none"
|
|
3444
|
+
})), /* @__PURE__ */ React15.createElement("input", {
|
|
3069
3445
|
value: values.keyword,
|
|
3070
|
-
onChange: function(
|
|
3071
|
-
return handleChange("keyword",
|
|
3072
|
-
}
|
|
3073
|
-
|
|
3446
|
+
onChange: function(e) {
|
|
3447
|
+
return handleChange("keyword", e.target.value);
|
|
3448
|
+
},
|
|
3449
|
+
placeholder: "Search...",
|
|
3450
|
+
className: "\r\n w-full px-4 py-3\r\n rounded-[6px]\r\n border border-slate-300\r\n bg-white text-sm\r\n focus:outline-none focus:ring-2 focus:ring-[#1761A3]\r\n "
|
|
3451
|
+
}), /* @__PURE__ */ React15.createElement("div", {
|
|
3074
3452
|
className: "flex justify-between items-center px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb]"
|
|
3075
|
-
}, /* @__PURE__ */
|
|
3453
|
+
}, /* @__PURE__ */ React15.createElement(Button, {
|
|
3076
3454
|
variant: "outline",
|
|
3077
3455
|
className: "border-[#1761A3] bg-[#F0F8FF]",
|
|
3078
3456
|
onClick: resetAll
|
|
3079
|
-
}, "Reset all"), /* @__PURE__ */
|
|
3457
|
+
}, "Reset all"), /* @__PURE__ */ React15.createElement(Button, {
|
|
3080
3458
|
className: "text-white bg-gradient-to-r from-[#1761a3] to-[#4daf83]",
|
|
3081
3459
|
onClick: applyFilters
|
|
3082
3460
|
}, "Apply Now")))));
|
|
3083
3461
|
};
|
|
3084
3462
|
var Section = function(param) {
|
|
3085
3463
|
var title = param.title, onReset = param.onReset, children = param.children;
|
|
3086
|
-
return /* @__PURE__ */
|
|
3464
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
3087
3465
|
className: "px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb]\r\n border-b border-[rgba(23,97,163,0.35)]"
|
|
3088
|
-
}, /* @__PURE__ */
|
|
3466
|
+
}, /* @__PURE__ */ React15.createElement("div", {
|
|
3089
3467
|
className: "flex justify-between items-center mb-3"
|
|
3090
|
-
}, /* @__PURE__ */
|
|
3468
|
+
}, /* @__PURE__ */ React15.createElement("h6", {
|
|
3091
3469
|
className: "font-semibold text-sm"
|
|
3092
|
-
}, title), /* @__PURE__ */
|
|
3470
|
+
}, title), /* @__PURE__ */ React15.createElement("button", {
|
|
3093
3471
|
onClick: onReset,
|
|
3094
3472
|
className: "text-[#1761a3] font-semibold text-sm"
|
|
3095
3473
|
}, "Reset")), children);
|
|
3096
3474
|
};
|
|
3097
|
-
var
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3475
|
+
var DEFAULT_ACTIVITY_OPTIONS = [
|
|
3476
|
+
{
|
|
3477
|
+
label: "Select Activity",
|
|
3478
|
+
value: ""
|
|
3479
|
+
},
|
|
3480
|
+
{
|
|
3481
|
+
label: "Activity List",
|
|
3482
|
+
value: "Activity List"
|
|
3483
|
+
},
|
|
3484
|
+
{
|
|
3485
|
+
label: "Login",
|
|
3486
|
+
value: "Login"
|
|
3487
|
+
},
|
|
3488
|
+
{
|
|
3489
|
+
label: "Update",
|
|
3490
|
+
value: "Update"
|
|
3491
|
+
},
|
|
3492
|
+
{
|
|
3493
|
+
label: "Delete",
|
|
3494
|
+
value: "Delete"
|
|
3495
|
+
}
|
|
3107
3496
|
];
|
|
3108
3497
|
var MahatiActivity = function(param) {
|
|
3109
|
-
var value = param.value, onChange = param.onChange;
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3498
|
+
var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_ACTIVITY_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
|
|
3499
|
+
var _options_find;
|
|
3500
|
+
var _useState11 = _sliced_to_array(useState11(false), 2), open = _useState11[0], setOpen = _useState11[1];
|
|
3501
|
+
var triggerRef = useRef4(null);
|
|
3502
|
+
var dropdownRef = useRef4(null);
|
|
3503
|
+
var _useState111 = _sliced_to_array(useState11(null), 2), pos = _useState111[0], setPos = _useState111[1];
|
|
3504
|
+
var selectedLabel = ((_options_find = options.find(function(o) {
|
|
3505
|
+
return o.value == value;
|
|
3506
|
+
})) === null || _options_find === void 0 ? void 0 : _options_find.label) || "Select Activity";
|
|
3507
|
+
var updatePosition = function() {
|
|
3508
|
+
if (!triggerRef.current) return;
|
|
3509
|
+
var rect = triggerRef.current.getBoundingClientRect();
|
|
3510
|
+
setPos({
|
|
3511
|
+
top: rect.bottom + window.scrollY + 6,
|
|
3512
|
+
left: rect.left + window.scrollX,
|
|
3513
|
+
width: rect.width
|
|
3514
|
+
});
|
|
3515
|
+
};
|
|
3516
|
+
useEffect8(function() {
|
|
3517
|
+
if (!open) return;
|
|
3518
|
+
updatePosition();
|
|
3519
|
+
window.addEventListener("scroll", updatePosition, true);
|
|
3520
|
+
window.addEventListener("resize", updatePosition);
|
|
3521
|
+
return function() {
|
|
3522
|
+
window.removeEventListener("scroll", updatePosition, true);
|
|
3523
|
+
window.removeEventListener("resize", updatePosition);
|
|
3524
|
+
};
|
|
3525
|
+
}, [
|
|
3526
|
+
open
|
|
3527
|
+
]);
|
|
3528
|
+
useEffect8(function() {
|
|
3529
|
+
var handler = function(e) {
|
|
3530
|
+
var _triggerRef_current, _dropdownRef_current;
|
|
3531
|
+
if (((_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.contains(e.target)) || ((_dropdownRef_current = dropdownRef.current) === null || _dropdownRef_current === void 0 ? void 0 : _dropdownRef_current.contains(e.target))) {
|
|
3532
|
+
return;
|
|
3533
|
+
}
|
|
3534
|
+
setOpen(false);
|
|
3535
|
+
};
|
|
3536
|
+
document.addEventListener("mousedown", handler);
|
|
3537
|
+
return function() {
|
|
3538
|
+
return document.removeEventListener("mousedown", handler);
|
|
3539
|
+
};
|
|
3540
|
+
}, []);
|
|
3541
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement("div", {
|
|
3542
|
+
ref: triggerRef,
|
|
3543
|
+
onClick: function() {
|
|
3544
|
+
return setOpen(function(p) {
|
|
3545
|
+
return !p;
|
|
3546
|
+
});
|
|
3547
|
+
},
|
|
3548
|
+
className: "\n ".concat(fieldStyles[size], "\n cursor-pointer\n flex items-center justify-between\n relative\n ").concat(open ? "border-[#1761a3] ring-2 ring-[#1761a3]" : "", "\n ")
|
|
3549
|
+
}, /* @__PURE__ */ React15.createElement("span", {
|
|
3550
|
+
className: "truncate"
|
|
3551
|
+
}, selectedLabel), /* @__PURE__ */ React15.createElement(ChevronDown2, {
|
|
3552
|
+
className: "w-4 h-4 text-slate-500 transition-transform ".concat(open ? "rotate-180" : "")
|
|
3553
|
+
})), open && pos && createPortal(/* @__PURE__ */ React15.createElement("div", {
|
|
3554
|
+
ref: dropdownRef,
|
|
3555
|
+
style: {
|
|
3556
|
+
position: "absolute",
|
|
3557
|
+
top: pos.top,
|
|
3558
|
+
left: pos.left,
|
|
3559
|
+
width: pos.width
|
|
3560
|
+
},
|
|
3561
|
+
className: "\r\n z-[9999]\r\n rounded-[6px]\r\n border border-slate-300\r\n bg-white\r\n shadow-xl\r\n max-h-[240px]\r\n overflow-y-auto\r\n "
|
|
3562
|
+
}, options.map(function(opt) {
|
|
3563
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
3564
|
+
key: String(opt.value),
|
|
3565
|
+
onClick: function() {
|
|
3566
|
+
onChange(opt.value);
|
|
3567
|
+
setOpen(false);
|
|
3568
|
+
},
|
|
3569
|
+
className: "\r\n px-4 py-2\r\n text-sm\r\n cursor-pointer\r\n text-black hover:bg-[#1761a3] hover:text-white\r\n "
|
|
3570
|
+
}, opt.label);
|
|
3571
|
+
})), document.body));
|
|
3116
3572
|
};
|
|
3573
|
+
var DEFAULT_STATUS_OPTIONS = [
|
|
3574
|
+
{
|
|
3575
|
+
label: "Select Status",
|
|
3576
|
+
value: ""
|
|
3577
|
+
},
|
|
3578
|
+
{
|
|
3579
|
+
label: "Pending",
|
|
3580
|
+
value: "Pending"
|
|
3581
|
+
},
|
|
3582
|
+
{
|
|
3583
|
+
label: "Approved",
|
|
3584
|
+
value: "Approved"
|
|
3585
|
+
},
|
|
3586
|
+
{
|
|
3587
|
+
label: "Rejected",
|
|
3588
|
+
value: "Rejected"
|
|
3589
|
+
}
|
|
3590
|
+
];
|
|
3117
3591
|
var MahatiStatus = function(param) {
|
|
3118
|
-
var value = param.value, onChange = param.onChange;
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3592
|
+
var value = param.value, onChange = param.onChange, _param_options = param.options, options = _param_options === void 0 ? DEFAULT_STATUS_OPTIONS : _param_options, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
|
|
3593
|
+
var _options_find;
|
|
3594
|
+
var _useState11 = _sliced_to_array(useState11(false), 2), open = _useState11[0], setOpen = _useState11[1];
|
|
3595
|
+
var triggerRef = useRef4(null);
|
|
3596
|
+
var dropdownRef = useRef4(null);
|
|
3597
|
+
var _useState111 = _sliced_to_array(useState11(null), 2), pos = _useState111[0], setPos = _useState111[1];
|
|
3598
|
+
var selectedLabel = (options === null || options === void 0 ? void 0 : (_options_find = options.find(function(o) {
|
|
3599
|
+
return o.value == value;
|
|
3600
|
+
})) === null || _options_find === void 0 ? void 0 : _options_find.label) || "Select Status";
|
|
3601
|
+
var updatePosition = function() {
|
|
3602
|
+
if (!triggerRef.current) return;
|
|
3603
|
+
var rect = triggerRef.current.getBoundingClientRect();
|
|
3604
|
+
setPos({
|
|
3605
|
+
top: rect.bottom + window.scrollY + 6,
|
|
3606
|
+
left: rect.left + window.scrollX,
|
|
3607
|
+
width: rect.width
|
|
3608
|
+
});
|
|
3609
|
+
};
|
|
3610
|
+
useEffect8(function() {
|
|
3611
|
+
if (!open) return;
|
|
3612
|
+
updatePosition();
|
|
3613
|
+
window.addEventListener("scroll", updatePosition, true);
|
|
3614
|
+
window.addEventListener("resize", updatePosition);
|
|
3615
|
+
return function() {
|
|
3616
|
+
window.removeEventListener("scroll", updatePosition, true);
|
|
3617
|
+
window.removeEventListener("resize", updatePosition);
|
|
3618
|
+
};
|
|
3619
|
+
}, [
|
|
3620
|
+
open
|
|
3621
|
+
]);
|
|
3622
|
+
useEffect8(function() {
|
|
3623
|
+
var handler = function(e) {
|
|
3624
|
+
var _triggerRef_current, _dropdownRef_current;
|
|
3625
|
+
if (((_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.contains(e.target)) || ((_dropdownRef_current = dropdownRef.current) === null || _dropdownRef_current === void 0 ? void 0 : _dropdownRef_current.contains(e.target))) {
|
|
3626
|
+
return;
|
|
3627
|
+
}
|
|
3628
|
+
setOpen(false);
|
|
3629
|
+
};
|
|
3630
|
+
document.addEventListener("mousedown", handler);
|
|
3631
|
+
return function() {
|
|
3632
|
+
return document.removeEventListener("mousedown", handler);
|
|
3633
|
+
};
|
|
3634
|
+
}, []);
|
|
3635
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement("div", {
|
|
3636
|
+
ref: triggerRef,
|
|
3637
|
+
onClick: function() {
|
|
3638
|
+
return setOpen(function(p) {
|
|
3639
|
+
return !p;
|
|
3640
|
+
});
|
|
3641
|
+
},
|
|
3642
|
+
className: "\n ".concat(fieldStyles[size], "\n cursor-pointer\n flex items-center justify-between\n relative\n ").concat(open ? "border-[#1761a3] ring-2 ring-[#1761a3]" : "", "\n ")
|
|
3643
|
+
}, /* @__PURE__ */ React15.createElement("span", {
|
|
3644
|
+
className: "truncate"
|
|
3645
|
+
}, selectedLabel), /* @__PURE__ */ React15.createElement(ChevronDown2, {
|
|
3646
|
+
className: "w-4 h-4 text-slate-500 transition-transform ".concat(open ? "rotate-180" : "")
|
|
3647
|
+
})), open && pos && createPortal(/* @__PURE__ */ React15.createElement("div", {
|
|
3648
|
+
ref: dropdownRef,
|
|
3649
|
+
style: {
|
|
3650
|
+
position: "absolute",
|
|
3651
|
+
top: pos.top,
|
|
3652
|
+
left: pos.left,
|
|
3653
|
+
width: pos.width
|
|
3654
|
+
},
|
|
3655
|
+
className: "\r\n z-[9999]\r\n rounded-[6px]\r\n border border-slate-300\r\n bg-white\r\n shadow-xl\r\n max-h-[240px]\r\n overflow-y-auto\r\n "
|
|
3656
|
+
}, options === null || options === void 0 ? void 0 : options.map(function(opt) {
|
|
3657
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
3658
|
+
key: String(opt.value),
|
|
3659
|
+
onClick: function() {
|
|
3660
|
+
onChange(opt.value);
|
|
3661
|
+
setOpen(false);
|
|
3662
|
+
},
|
|
3663
|
+
className: "\r\n px-4 py-2\r\n text-sm\r\n cursor-pointer\r\n text-black hover:bg-[#1761a3] hover:text-white\r\n "
|
|
3664
|
+
}, opt.label);
|
|
3665
|
+
})), document.body));
|
|
3125
3666
|
};
|
|
3126
3667
|
var MahatiSearch = function(param) {
|
|
3127
|
-
var value = param.value, onChange = param.onChange;
|
|
3128
|
-
return /* @__PURE__ */
|
|
3668
|
+
var value = param.value, onChange = param.onChange, _param_placeholder = param.placeholder, placeholder = _param_placeholder === void 0 ? "Search..." : _param_placeholder, _param_size = param.size, size = _param_size === void 0 ? "medium" : _param_size;
|
|
3669
|
+
return /* @__PURE__ */ React15.createElement("input", {
|
|
3129
3670
|
type: "text",
|
|
3130
3671
|
value: value,
|
|
3131
|
-
placeholder:
|
|
3672
|
+
placeholder: placeholder,
|
|
3132
3673
|
onChange: function(e) {
|
|
3133
3674
|
return onChange(e.target.value);
|
|
3134
3675
|
},
|
|
3135
|
-
className:
|
|
3676
|
+
className: fieldStyles[size]
|
|
3136
3677
|
});
|
|
3137
3678
|
};
|
|
3138
|
-
|
|
3139
|
-
var value = param.value, options = param.options, placeholder = param.placeholder, onChange = param.onChange;
|
|
3140
|
-
return /* @__PURE__ */ React14.createElement("div", {
|
|
3141
|
-
className: "relative"
|
|
3142
|
-
}, /* @__PURE__ */ React14.createElement("select", {
|
|
3143
|
-
value: value,
|
|
3144
|
-
onChange: function(e) {
|
|
3145
|
-
return onChange(e.target.value);
|
|
3146
|
-
},
|
|
3147
|
-
className: "w-full appearance-none px-4 py-3 pr-10\r\n rounded-[6px] border border-slate-300 bg-white\r\n focus:outline-none focus:ring-2 focus:ring-[#1761a3]"
|
|
3148
|
-
}, /* @__PURE__ */ React14.createElement("option", {
|
|
3149
|
-
value: ""
|
|
3150
|
-
}, placeholder), options.map(function(opt) {
|
|
3151
|
-
return /* @__PURE__ */ React14.createElement("option", {
|
|
3152
|
-
key: opt
|
|
3153
|
-
}, opt);
|
|
3154
|
-
})), /* @__PURE__ */ React14.createElement(ChevronDown2, {
|
|
3155
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2\r\n w-4 h-4 text-slate-500 pointer-events-none"
|
|
3156
|
-
}));
|
|
3157
|
-
};
|
|
3158
|
-
export { MahatiActivity, Button as MahatiButton, Calendar as MahatiCalendar, Card as MahatiCard, ChartInterface as MahatiChart, Dropdown as MahatiDropdown, Filter as MahatiFilter, FormContainer as MahatiFormContainer, Input as MahatiInput, Modal as MahatiModal, MahatiSearch, MahatiStatus, TabbedInterface as MahatiTabbedInterface, TabbedInterface2 as MahatiTabbedInterfaceTailwind, Table as MahatiTable, Table2 as MahatiTableTailwind, Tooltip as MahatiTooltip };
|
|
3679
|
+
export { MahatiActivity, Button as MahatiButton, Calendar as MahatiCalendar, Card as MahatiCard, ChartInterface as MahatiChart, Dropdown as MahatiDropdown, Filter as MahatiFilter, FormContainer as MahatiFormContainer, Input as MahatiInput, Modal as MahatiModal, MahatiSearch, MahatiStatus, TabbedInterface as MahatiTabbedInterface, TabbedInterface2 as MahatiTabbedInterfaceTailwind, Table as MahatiTable, Table2 as MahatiTableTailwind, ToastMessage as MahatiToastMessage, Tooltip as MahatiTooltip };
|
|
3159
3680
|
//# sourceMappingURL=index.mjs.map
|