@myrjfa/ui 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/chat/ChatMain.d.ts +1 -1
  2. package/dist/chat/ChatMain.d.ts.map +1 -1
  3. package/dist/chat/ChatMain.js +3 -3
  4. package/dist/chat/ChatSidebar.d.ts +1 -1
  5. package/dist/chat/ChatSidebar.d.ts.map +1 -1
  6. package/dist/chat/ConversationList.d.ts +1 -1
  7. package/dist/chat/ConversationList.d.ts.map +1 -1
  8. package/dist/chat/ConversationList.js +1 -1
  9. package/dist/chat/ExpensePanel.js +1 -1
  10. package/dist/chat/MessageBubble.d.ts +1 -1
  11. package/dist/chat/MessageBubble.d.ts.map +1 -1
  12. package/dist/chat/MessageInput.js +1 -1
  13. package/dist/chat/MilestonePanel.js +1 -1
  14. package/dist/chat/components/SplitInputs.d.ts +1 -1
  15. package/dist/chat/components/SplitInputs.d.ts.map +1 -1
  16. package/dist/chat/components/SplitTypeSelector.d.ts +1 -1
  17. package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -1
  18. package/dist/chat/dialogs/AddMemberDialog.d.ts +1 -1
  19. package/dist/chat/dialogs/AddMemberDialog.d.ts.map +1 -1
  20. package/dist/chat/dialogs/AddMemberDialog.js +1 -1
  21. package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +1 -1
  22. package/dist/chat/dialogs/GroupInfoDialog.d.ts +1 -1
  23. package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
  24. package/dist/chat/dialogs/GroupInfoDialog.js +1 -1
  25. package/dist/chat/dialogs/GroupInfoViewDialog.d.ts +1 -1
  26. package/dist/chat/dialogs/GroupInfoViewDialog.d.ts.map +1 -1
  27. package/dist/chat/dialogs/NewChatDialog.js +2 -2
  28. package/dist/chat/dialogs/NewGroupDialog.js +2 -2
  29. package/dist/chat/dialogs/ParticipantsDialog.d.ts +1 -1
  30. package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
  31. package/dist/chat/dialogs/ParticipantsDialog.js +1 -1
  32. package/dist/dashboard/action-buttons.d.ts.map +1 -1
  33. package/dist/dashboard/action-buttons.js +7 -1
  34. package/dist/dashboard/app-sidebar.d.ts.map +1 -1
  35. package/dist/dashboard/app-sidebar.js +9 -4
  36. package/dist/dashboard/card-header.d.ts +1 -1
  37. package/dist/dashboard/card-header.d.ts.map +1 -1
  38. package/dist/dashboard/card-header.js +1 -1
  39. package/dist/dashboard/dashboard-components.js +1 -1
  40. package/dist/dashboard/data-table.d.ts.map +1 -1
  41. package/dist/dashboard/data-table.js +8 -8
  42. package/dist/dashboard/table.js +1 -1
  43. package/dist/header/mobile-nav-item.js +1 -1
  44. package/dist/header/nav-item.js +1 -1
  45. package/dist/index.d.ts +3 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -2
  48. package/dist/main/footer.d.ts +1 -0
  49. package/dist/main/footer.d.ts.map +1 -1
  50. package/dist/main/footer.js +35 -16
  51. package/dist/main/navbar.d.ts +2 -2
  52. package/dist/main/navbar.d.ts.map +1 -1
  53. package/dist/main/navbar.js +24 -18
  54. package/dist/main/paginationBar.d.ts +1 -1
  55. package/dist/main/paginationBar.d.ts.map +1 -1
  56. package/dist/main/paginationBar.js +1 -1
  57. package/dist/main/portfolio/portfolioItem.d.ts +1 -1
  58. package/dist/main/portfolio/portfolioItem.d.ts.map +1 -1
  59. package/dist/main/portfolio/portfolioPopup.d.ts +1 -1
  60. package/dist/main/portfolio/portfolioPopup.d.ts.map +1 -1
  61. package/dist/main/portfolio/portfolioPopup.js +1 -1
  62. package/dist/main/review-page.d.ts +2 -2
  63. package/dist/main/review-page.d.ts.map +1 -1
  64. package/dist/main/review-page.js +10 -50
  65. package/dist/misc/accordion.js +1 -1
  66. package/dist/misc/alert-dialog.js +1 -1
  67. package/dist/misc/alert.js +1 -1
  68. package/dist/misc/alertdialogclaude.js +1 -1
  69. package/dist/misc/avatar.js +1 -1
  70. package/dist/misc/badge.js +1 -1
  71. package/dist/misc/button.d.ts +9 -9
  72. package/dist/misc/button.js +1 -1
  73. package/dist/misc/card.js +1 -1
  74. package/dist/misc/carousel.js +1 -1
  75. package/dist/misc/checkbox.js +1 -1
  76. package/dist/misc/command.js +2 -2
  77. package/dist/misc/datepicker.d.ts.map +1 -1
  78. package/dist/misc/datepicker.js +22 -4
  79. package/dist/misc/dialog.js +1 -1
  80. package/dist/misc/dropdown-menu.js +1 -1
  81. package/dist/misc/faq.d.ts +2 -2
  82. package/dist/misc/faq.d.ts.map +1 -1
  83. package/dist/misc/faq.js +1 -1
  84. package/dist/misc/file-preview.d.ts +1 -1
  85. package/dist/misc/file-preview.d.ts.map +1 -1
  86. package/dist/misc/file-preview.js +1 -1
  87. package/dist/misc/filter.d.ts +1 -1
  88. package/dist/misc/filter.d.ts.map +1 -1
  89. package/dist/misc/filter.js +3 -3
  90. package/dist/misc/filterBar.d.ts +2 -2
  91. package/dist/misc/filterBar.d.ts.map +1 -1
  92. package/dist/misc/filterBar.js +3 -3
  93. package/dist/misc/form.js +1 -1
  94. package/dist/misc/input.js +1 -1
  95. package/dist/misc/label.js +1 -1
  96. package/dist/misc/line-carousel.d.ts +1 -1
  97. package/dist/misc/line-carousel.d.ts.map +1 -1
  98. package/dist/misc/line-carousel.js +1 -1
  99. package/dist/misc/location/leafletMap.d.ts +8 -0
  100. package/dist/misc/location/leafletMap.d.ts.map +1 -0
  101. package/dist/misc/location/leafletMap.js +62 -0
  102. package/dist/misc/location/locationPicker.d.ts +5 -0
  103. package/dist/misc/location/locationPicker.d.ts.map +1 -0
  104. package/dist/misc/location/locationPicker.js +94 -0
  105. package/dist/misc/newsLetter.d.ts +1 -1
  106. package/dist/misc/newsLetter.d.ts.map +1 -1
  107. package/dist/misc/newsLetter.js +2 -2
  108. package/dist/misc/notification.js +2 -2
  109. package/dist/misc/pagination.js +1 -1
  110. package/dist/misc/password-eye.d.ts +2 -1
  111. package/dist/misc/password-eye.d.ts.map +1 -1
  112. package/dist/misc/password-eye.js +2 -1
  113. package/dist/misc/popover.d.ts.map +1 -1
  114. package/dist/misc/popover.js +2 -2
  115. package/dist/misc/progress.js +1 -1
  116. package/dist/misc/rental-tile.d.ts +6 -0
  117. package/dist/misc/rental-tile.d.ts.map +1 -0
  118. package/dist/misc/rental-tile.js +23 -0
  119. package/dist/misc/scroll-area.js +1 -1
  120. package/dist/misc/searchBar.d.ts +1 -1
  121. package/dist/misc/searchBar.d.ts.map +1 -1
  122. package/dist/misc/searchBar.js +1 -1
  123. package/dist/misc/select.d.ts.map +1 -1
  124. package/dist/misc/select.js +4 -4
  125. package/dist/misc/separator.js +1 -1
  126. package/dist/misc/share.d.ts +1 -1
  127. package/dist/misc/share.d.ts.map +1 -1
  128. package/dist/misc/share.js +1 -1
  129. package/dist/misc/sheet.js +1 -1
  130. package/dist/misc/sidebar.js +2 -2
  131. package/dist/misc/skeleton.js +1 -1
  132. package/dist/misc/slider.js +1 -1
  133. package/dist/misc/stateCard.d.ts +2 -2
  134. package/dist/misc/stateCard.d.ts.map +1 -1
  135. package/dist/misc/stateCard.js +2 -2
  136. package/dist/misc/switch.js +1 -1
  137. package/dist/misc/tabs.js +1 -1
  138. package/dist/misc/textarea.js +1 -1
  139. package/dist/misc/tile.d.ts +2 -1
  140. package/dist/misc/tile.d.ts.map +1 -1
  141. package/dist/misc/tile.js +12 -8
  142. package/dist/misc/tooltip.js +1 -1
  143. package/dist/profile/socialLink.d.ts +1 -1
  144. package/dist/profile/socialLink.d.ts.map +1 -1
  145. package/dist/profile/socialLink.js +19 -49
  146. package/package.json +10 -3
  147. package/dist/chat/dialogs/UserProfileDialog.d.ts +0 -10
  148. package/dist/chat/dialogs/UserProfileDialog.d.ts.map +0 -1
  149. package/dist/chat/dialogs/UserProfileDialog.js +0 -100
  150. package/dist/main/portfolio/temp-page.d.ts +0 -2
  151. package/dist/main/portfolio/temp-page.d.ts.map +0 -1
  152. package/dist/main/portfolio/temp-page.js +0 -102
  153. package/dist/misc/image-cropper.d.ts +0 -10
  154. package/dist/misc/image-cropper.d.ts.map +0 -1
  155. package/dist/misc/image-cropper.js +0 -44
@@ -1,102 +0,0 @@
1
- // app/(dashboard)/profile/[userId]/portfolio/page.tsx
2
- 'use client';
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- var __generator = (this && this.__generator) || function (thisArg, body) {
13
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
14
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
- function verb(n) { return function (v) { return step([n, v]); }; }
16
- function step(op) {
17
- if (f) throw new TypeError("Generator is already executing.");
18
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
- if (y = 0, t) op = [op[0] & 2, t.value];
21
- switch (op[0]) {
22
- case 0: case 1: t = op; break;
23
- case 4: _.label++; return { value: op[1], done: false };
24
- case 5: _.label++; y = op[1]; op = [0]; continue;
25
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
- default:
27
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
- if (t[2]) _.ops.pop();
32
- _.trys.pop(); continue;
33
- }
34
- op = body.call(thisArg, _);
35
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
- }
38
- };
39
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
40
- import { useEffect, useState, useRef } from 'react';
41
- import { useParams, useRouter, useSearchParams } from 'next/navigation';
42
- import Image from 'next/image';
43
- import { Button } from '@myrjfa/ui/dist/misc/button';
44
- import { ExternalLink, ChevronLeft } from 'lucide-react';
45
- import ShareButton from '@myrjfa/ui/dist/misc/share';
46
- import { getUserPortfolio } from '@/lib/actions';
47
- export default function PortfolioPage() {
48
- var _this = this;
49
- var router = useRouter();
50
- var id = useParams().id;
51
- var userId = decodeURIComponent(id);
52
- var searchParams = useSearchParams();
53
- var firstName = searchParams.get("firstName");
54
- var _a = useState([]), portfolio = _a[0], setPortfolio = _a[1];
55
- var _b = useState(0), currentIndex = _b[0], setCurrentIndex = _b[1];
56
- var containerRef = useRef(null);
57
- useEffect(function () {
58
- // Fetch portfolio data
59
- // This should match your existing data fetching logic
60
- var fetchData = function () { return __awaiter(_this, void 0, void 0, function () {
61
- var portfolioResponse;
62
- return __generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0: return [4 /*yield*/, getUserPortfolio(userId)];
65
- case 1:
66
- portfolioResponse = _a.sent();
67
- if (portfolioResponse.error)
68
- console.error(portfolioResponse.error);
69
- else
70
- setPortfolio(portfolioResponse.portfolios);
71
- return [2 /*return*/];
72
- }
73
- });
74
- }); };
75
- fetchData();
76
- var index = searchParams.get('index');
77
- if (index) {
78
- setCurrentIndex(parseInt(index));
79
- }
80
- }, [userId, searchParams]);
81
- useEffect(function () {
82
- // Scroll to current item
83
- if (containerRef.current) {
84
- var items = containerRef.current.children;
85
- if (items[currentIndex]) {
86
- items[currentIndex].scrollIntoView({ behavior: 'smooth', block: 'start' });
87
- }
88
- }
89
- }, [currentIndex]);
90
- var handleScroll = function () {
91
- if (!containerRef.current)
92
- return;
93
- var container = containerRef.current;
94
- var scrollPosition = container.scrollTop;
95
- var itemHeight = window.innerHeight;
96
- var newIndex = Math.round(scrollPosition / itemHeight);
97
- if (newIndex !== currentIndex && newIndex >= 0 && newIndex < portfolio.length) {
98
- setCurrentIndex(newIndex);
99
- }
100
- };
101
- return (_jsxs("div", { className: "fixed inset-0 bg-black z-50 mt-15", children: [_jsx("div", { className: "absolute top-0 left-0 right-0 z-10 bg-gradient-to-b from-black/50 to-transparent", children: _jsxs("div", { className: "flex items-center justify-between p-4", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: function () { return router.back(); }, className: "text-white hover:bg-white/10", children: _jsx(ChevronLeft, { className: "h-6 w-6" }) }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-8 h-8 bg-gradient-to-r from-blue-500 to-purple-500 rounded-full flex items-center justify-center", children: _jsx("span", { className: "text-white text-xs font-bold", children: "P" }) }), _jsxs("span", { className: "text-white font-semibold", children: [firstName, "'s Portfolio"] })] }), _jsx("div", { className: "w-10" }), " "] }) }), _jsx("div", { ref: containerRef, onScroll: handleScroll, className: "h-full overflow-y-scroll snap-y snap-mandatory scrollbar-hide", style: { scrollbarWidth: 'none', msOverflowStyle: 'none' }, children: portfolio.map(function (item, index) { return (_jsxs("div", { className: "h-screen w-full snap-start snap-always relative flex flex-col", children: [_jsx("div", { className: "flex-1 flex items-center justify-center bg-black", children: item.mediaType === 'video' ? (_jsx("video", { src: item.url, controls: true, loop: true, playsInline: true, className: "max-w-full max-h-full object-contain" })) : (_jsx("div", { className: "relative w-full h-full", children: _jsx(Image, { src: item.url, alt: item.caption, fill: true, sizes: "100vw", className: "object-contain", priority: index === currentIndex }) })) }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 via-black/50 to-transparent p-4 pb-6", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx(ShareButton, {}), item.mainUrl && (_jsx(Button, { variant: "ghost", size: "sm", onClick: function () { return window.open(item.mainUrl, '_blank'); }, className: "text-white hover:bg-white/10", children: _jsx(ExternalLink, { className: "w-5 h-5" }) }))] }), _jsxs("div", { className: "text-white text-sm", children: [_jsx("p", { className: "font-medium", children: "5 likes" }), _jsxs("p", { className: "text-white/70 text-xs", children: [item.comments || 0, " comments \u2022 ", item.shares || 0, " shares"] })] }), _jsx("div", { className: "text-white", children: _jsxs("p", { className: "text-sm leading-relaxed line-clamp-3", children: [_jsx("span", { className: "font-semibold", children: firstName }), " ", item.caption] }) }), _jsx("div", { className: "flex gap-1 justify-center pt-2", children: portfolio.map(function (_, i) { return (_jsx("div", { className: "h-0.5 flex-1 rounded-full transition-all ".concat(i === currentIndex ? 'bg-white' : 'bg-white/30') }, i)); }) })] }) })] }, item._id)); }) }), _jsx("style", { jsx: true, children: "\n .scrollbar-hide::-webkit-scrollbar {\n display: none;\n }\n " })] }));
102
- }
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- interface ImageCropperProps {
3
- image: string;
4
- onCancel: () => void;
5
- onCropComplete: (croppedImage: Blob) => void;
6
- open: boolean;
7
- }
8
- declare const ImageCropper: React.FC<ImageCropperProps>;
9
- export default ImageCropper;
10
- //# sourceMappingURL=image-cropper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-cropper.d.ts","sourceRoot":"","sources":["../../src/misc/image-cropper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,YAAY,EAAE,IAAI,KAAK,IAAI,CAAC;IAC7C,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgG7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,44 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState, useCallback } from "react";
4
- import Cropper from "react-easy-crop";
5
- import { Button } from "./button";
6
- import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "./dialog";
7
- import { Slider } from "./slider";
8
- const ImageCropper = ({ image, onCancel, onCropComplete, open }) => {
9
- const [crop, setCrop] = useState({ x: 0, y: 0 });
10
- const [zoom, setZoom] = useState(1);
11
- const [croppedAreaPixels, setCroppedAreaPixels] = useState(null);
12
- const onCropChange = (crop) => {
13
- setCrop(crop);
14
- };
15
- const onZoomChange = (zoom) => {
16
- setZoom(zoom);
17
- };
18
- const onCropCompleteCallback = useCallback((_, croppedAreaPixels) => {
19
- setCroppedAreaPixels(croppedAreaPixels);
20
- }, []);
21
- const createCroppedImage = async () => {
22
- if (!croppedAreaPixels || !image)
23
- return;
24
- const img = new Image();
25
- img.src = image;
26
- await new Promise((resolve) => {
27
- img.onload = resolve;
28
- });
29
- const canvas = document.createElement("canvas");
30
- const ctx = canvas.getContext("2d");
31
- if (!ctx)
32
- return;
33
- canvas.width = croppedAreaPixels.width;
34
- canvas.height = croppedAreaPixels.height;
35
- ctx.drawImage(img, croppedAreaPixels.x, croppedAreaPixels.y, croppedAreaPixels.width, croppedAreaPixels.height, 0, 0, croppedAreaPixels.width, croppedAreaPixels.height);
36
- canvas.toBlob((blob) => {
37
- if (blob) {
38
- onCropComplete(blob);
39
- }
40
- }, "image/jpeg");
41
- };
42
- return (_jsx(Dialog, { open: open, onOpenChange: (isOpen) => !isOpen && onCancel(), children: _jsxs(DialogContent, { className: "sm:max-w-[500px] z-[300]", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: "Crop Profile Picture" }) }), _jsx("div", { className: "relative h-[300px] w-full bg-gray-100 rounded-md overflow-hidden", children: _jsx(Cropper, { image: image, crop: crop, zoom: zoom, aspect: 1, cropShape: "round", showGrid: false, onCropChange: onCropChange, onCropComplete: onCropCompleteCallback, onZoomChange: onZoomChange }) }), _jsx("div", { className: "py-4", children: _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("span", { className: "text-sm font-medium", children: "Zoom" }), _jsx(Slider, { value: [zoom], min: 1, max: 5, step: 0.1, onValueChange: (values) => { var _a; return setZoom((_a = values[0]) !== null && _a !== void 0 ? _a : 1); }, className: "flex-1" })] }) }), _jsxs(DialogFooter, { className: "flex gap-2", children: [_jsx(Button, { variant: "outline", onClick: onCancel, children: "Cancel" }), _jsx(Button, { onClick: createCroppedImage, children: "Set Profile Picture" })] })] }) }));
43
- };
44
- export default ImageCropper;