@myrjfa/ui 1.1.0 → 1.1.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.
Files changed (154) hide show
  1. package/dist/chat/ChatMain.d.ts +3 -1
  2. package/dist/chat/ChatMain.d.ts.map +1 -1
  3. package/dist/chat/ChatMain.js +174 -145
  4. package/dist/chat/ChatSidebar.js +7 -8
  5. package/dist/chat/ConversationList.d.ts.map +1 -1
  6. package/dist/chat/ConversationList.js +20 -18
  7. package/dist/chat/ExpensePanel.d.ts +4 -1
  8. package/dist/chat/ExpensePanel.d.ts.map +1 -1
  9. package/dist/chat/ExpensePanel.js +215 -195
  10. package/dist/chat/MessageBubble.d.ts +5 -3
  11. package/dist/chat/MessageBubble.d.ts.map +1 -1
  12. package/dist/chat/MessageBubble.js +185 -103
  13. package/dist/chat/MessageInput.d.ts +8 -1
  14. package/dist/chat/MessageInput.d.ts.map +1 -1
  15. package/dist/chat/MessageInput.js +182 -165
  16. package/dist/chat/MilestonePanel.d.ts +4 -1
  17. package/dist/chat/MilestonePanel.d.ts.map +1 -1
  18. package/dist/chat/MilestonePanel.js +150 -150
  19. package/dist/chat/components/ParticipantSelector.d.ts +11 -0
  20. package/dist/chat/components/ParticipantSelector.d.ts.map +1 -0
  21. package/dist/chat/components/ParticipantSelector.js +17 -0
  22. package/dist/chat/components/SplitInputs.d.ts +11 -0
  23. package/dist/chat/components/SplitInputs.d.ts.map +1 -0
  24. package/dist/chat/components/SplitInputs.js +83 -0
  25. package/dist/chat/components/SplitTypeSelector.d.ts +8 -0
  26. package/dist/chat/components/SplitTypeSelector.d.ts.map +1 -0
  27. package/dist/chat/components/SplitTypeSelector.js +13 -0
  28. package/dist/chat/dialogs/AddMemberDialog.js +30 -90
  29. package/dist/chat/dialogs/CameraDialog.js +38 -86
  30. package/dist/chat/dialogs/CreatePollDialog.d.ts +8 -0
  31. package/dist/chat/dialogs/CreatePollDialog.d.ts.map +1 -0
  32. package/dist/chat/dialogs/CreatePollDialog.js +38 -0
  33. package/dist/chat/dialogs/ExpenseAnalyticsDialog.d.ts +19 -0
  34. package/dist/chat/dialogs/ExpenseAnalyticsDialog.d.ts.map +1 -0
  35. package/dist/chat/dialogs/ExpenseAnalyticsDialog.js +52 -0
  36. package/dist/chat/dialogs/GroupInfoDialog.d.ts.map +1 -1
  37. package/dist/chat/dialogs/GroupInfoDialog.js +55 -92
  38. package/dist/chat/dialogs/GroupInfoViewDialog.js +5 -6
  39. package/dist/chat/dialogs/NewChatDialog.d.ts.map +1 -1
  40. package/dist/chat/dialogs/NewChatDialog.js +49 -113
  41. package/dist/chat/dialogs/NewGroupDialog.d.ts.map +1 -1
  42. package/dist/chat/dialogs/NewGroupDialog.js +49 -92
  43. package/dist/chat/dialogs/ParticipantsDialog.d.ts.map +1 -1
  44. package/dist/chat/dialogs/ParticipantsDialog.js +68 -118
  45. package/dist/dashboard/action-buttons.js +4 -5
  46. package/dist/dashboard/app-sidebar.js +47 -129
  47. package/dist/dashboard/card-header.js +1 -2
  48. package/dist/dashboard/dashboard-components.js +3 -5
  49. package/dist/dashboard/data-table.d.ts +2 -1
  50. package/dist/dashboard/data-table.d.ts.map +1 -1
  51. package/dist/dashboard/data-table.js +21 -33
  52. package/dist/dashboard/nav-main.js +4 -5
  53. package/dist/dashboard/nav-secondary.js +2 -25
  54. package/dist/dashboard/stats-card.js +1 -2
  55. package/dist/dashboard/table.js +8 -54
  56. package/dist/header/mobile-nav-item.js +1 -2
  57. package/dist/header/mobile-navbar.js +8 -9
  58. package/dist/header/nav-item.js +1 -2
  59. package/dist/index.d.ts +6 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +7 -1
  62. package/dist/main/footer.js +5 -9
  63. package/dist/main/navbar.js +55 -138
  64. package/dist/main/paginationBar.js +12 -14
  65. package/dist/main/portfolio/portfolioItem.js +1 -2
  66. package/dist/main/portfolio/portfolioPopup.js +16 -17
  67. package/dist/main/review-page.d.ts.map +1 -1
  68. package/dist/main/review-page.js +132 -199
  69. package/dist/misc/accordion.js +8 -34
  70. package/dist/misc/alert-dialog.js +22 -55
  71. package/dist/misc/alert.js +7 -32
  72. package/dist/misc/alertdialogclaude.js +50 -125
  73. package/dist/misc/avatar.js +6 -31
  74. package/dist/misc/badge.js +4 -27
  75. package/dist/misc/button.js +4 -27
  76. package/dist/misc/card.js +12 -40
  77. package/dist/misc/carousel.js +37 -61
  78. package/dist/misc/checkbox.js +2 -25
  79. package/dist/misc/command.js +18 -49
  80. package/dist/misc/datepicker.js +66 -76
  81. package/dist/misc/dialog.js +20 -52
  82. package/dist/misc/document-upload-button.d.ts +12 -0
  83. package/dist/misc/document-upload-button.d.ts.map +1 -0
  84. package/dist/misc/document-upload-button.js +27 -0
  85. package/dist/misc/dropdown-menu.js +30 -67
  86. package/dist/misc/empty-state.d.ts +10 -0
  87. package/dist/misc/empty-state.d.ts.map +1 -0
  88. package/dist/misc/empty-state.js +5 -0
  89. package/dist/misc/faq.js +2 -3
  90. package/dist/misc/file-preview.js +43 -97
  91. package/dist/misc/filter.d.ts.map +1 -1
  92. package/dist/misc/filter.js +18 -21
  93. package/dist/misc/filterBar.js +136 -160
  94. package/dist/misc/form.js +39 -60
  95. package/dist/misc/image-compressor.d.ts +29 -0
  96. package/dist/misc/image-compressor.d.ts.map +1 -0
  97. package/dist/misc/image-compressor.js +70 -0
  98. package/dist/misc/image-cropper.d.ts +10 -0
  99. package/dist/misc/image-cropper.d.ts.map +1 -0
  100. package/dist/misc/image-cropper.js +44 -0
  101. package/dist/misc/input.d.ts.map +1 -1
  102. package/dist/misc/input.js +2 -25
  103. package/dist/misc/label.js +2 -25
  104. package/dist/misc/line-carousel.js +3 -13
  105. package/dist/misc/multiImageUploader.d.ts +2 -1
  106. package/dist/misc/multiImageUploader.d.ts.map +1 -1
  107. package/dist/misc/multiImageUploader.js +26 -3
  108. package/dist/misc/newsLetter.js +19 -79
  109. package/dist/misc/notification.d.ts +1 -2
  110. package/dist/misc/notification.d.ts.map +1 -1
  111. package/dist/misc/notification.js +89 -125
  112. package/dist/misc/pagination.js +16 -45
  113. package/dist/misc/password-eye.js +2 -3
  114. package/dist/misc/popover.d.ts.map +1 -1
  115. package/dist/misc/popover.js +8 -34
  116. package/dist/misc/progress.js +2 -25
  117. package/dist/misc/pwa-install-button.d.ts +9 -0
  118. package/dist/misc/pwa-install-button.d.ts.map +1 -0
  119. package/dist/misc/pwa-install-button.js +158 -0
  120. package/dist/misc/scroll-area.js +5 -29
  121. package/dist/misc/searchBar.js +27 -31
  122. package/dist/misc/searchBox.js +18 -22
  123. package/dist/misc/select.d.ts.map +1 -1
  124. package/dist/misc/select.js +22 -54
  125. package/dist/misc/separator.js +2 -25
  126. package/dist/misc/share.js +48 -104
  127. package/dist/misc/sheet.js +21 -53
  128. package/dist/misc/sidebar.js +112 -153
  129. package/dist/misc/skeleton.d.ts +36 -1
  130. package/dist/misc/skeleton.d.ts.map +1 -1
  131. package/dist/misc/skeleton.js +41 -27
  132. package/dist/misc/slider.js +3 -26
  133. package/dist/misc/starRating.js +5 -15
  134. package/dist/misc/stateCard.js +7 -8
  135. package/dist/misc/switch.d.ts +5 -0
  136. package/dist/misc/switch.d.ts.map +1 -0
  137. package/dist/misc/switch.js +8 -0
  138. package/dist/misc/tabs.js +8 -34
  139. package/dist/misc/textarea.js +2 -25
  140. package/dist/misc/tile.js +32 -93
  141. package/dist/misc/tooltip.js +8 -34
  142. package/dist/misc/whatsapp-help.d.ts +9 -0
  143. package/dist/misc/whatsapp-help.d.ts.map +1 -0
  144. package/dist/misc/whatsapp-help.js +13 -0
  145. package/dist/profile/socialLink.d.ts +1 -1
  146. package/dist/profile/socialLink.d.ts.map +1 -1
  147. package/dist/profile/socialLink.js +53 -69
  148. package/dist/utils/permissions.d.ts +7 -0
  149. package/dist/utils/permissions.d.ts.map +1 -0
  150. package/dist/utils/permissions.js +38 -0
  151. package/package.json +6 -4
  152. package/dist/main/portfolio/temp-page.d.ts +0 -2
  153. package/dist/main/portfolio/temp-page.d.ts.map +0 -1
  154. package/dist/main/portfolio/temp-page.js +0 -102
@@ -1,37 +1,13 @@
1
1
  "use client";
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 __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
3
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
26
4
  import { cn } from "@myrjfa/state/dist/lib/utils";
27
- function ScrollArea(_a) {
28
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
29
- return (_jsxs(ScrollAreaPrimitive.Root, __assign({ "data-slot": "scroll-area", className: cn("relative", className) }, props, { children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] })));
5
+ function ScrollArea({ className, children, ...props }) {
6
+ return (_jsxs(ScrollAreaPrimitive.Root, { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { "data-slot": "scroll-area-viewport", className: "ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] }));
30
7
  }
31
- function ScrollBar(_a) {
32
- var className = _a.className, _b = _a.orientation, orientation = _b === void 0 ? "vertical" : _b, props = __rest(_a, ["className", "orientation"]);
33
- return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, __assign({ "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" &&
8
+ function ScrollBar({ className, orientation = "vertical", ...props }) {
9
+ return (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { "data-slot": "scroll-area-scrollbar", orientation: orientation, className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" &&
34
10
  "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" &&
35
- "h-2.5 flex-col border-t border-t-transparent", className) }, props, { children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) })));
11
+ "h-2.5 flex-col border-t border-t-transparent", className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { "data-slot": "scroll-area-thumb", className: "bg-border relative flex-1 rounded-full" }) }));
36
12
  }
37
13
  export { ScrollArea, ScrollBar };
@@ -4,39 +4,36 @@ import { Search } from "lucide-react";
4
4
  import { usePathname, useRouter, useSearchParams } from "next/navigation";
5
5
  import { Suspense, useEffect, useRef, useState } from "react";
6
6
  import { Button } from "./button";
7
- function SearchBarComponent(_a) {
8
- var titles = _a.titles;
9
- var searchParams = useSearchParams();
10
- var pathname = usePathname();
11
- var router = useRouter();
12
- var inputRef = useRef(null);
7
+ function SearchBarComponent({ titles }) {
8
+ const searchParams = useSearchParams();
9
+ const pathname = usePathname();
10
+ const router = useRouter();
11
+ const inputRef = useRef(null);
13
12
  // State for search input and suggestions
14
- var _b = useState(""), searchQuery = _b[0], setSearchQuery = _b[1];
15
- var _c = useState(false), showSuggestions = _c[0], setShowSuggestions = _c[1];
16
- var _d = useState([]), suggestions = _d[0], setSuggestions = _d[1];
17
- var _e = useState(-1), highlightedIndex = _e[0], setHighlightedIndex = _e[1];
18
- useEffect(function () {
19
- var query = searchParams.get("query") || "";
13
+ const [searchQuery, setSearchQuery] = useState("");
14
+ const [showSuggestions, setShowSuggestions] = useState(false);
15
+ const [suggestions, setSuggestions] = useState([]);
16
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
17
+ useEffect(() => {
18
+ const query = searchParams.get("query") || "";
20
19
  setSearchQuery(query);
21
20
  }, [searchParams]);
22
21
  // Update suggestions when search query changes
23
- useEffect(function () {
22
+ useEffect(() => {
24
23
  if (searchQuery.trim() === "") {
25
24
  setSuggestions([]);
26
25
  setHighlightedIndex(-1);
27
26
  return;
28
27
  }
29
- var filtered = titles
30
- .filter(function (title) {
31
- return title.toLowerCase().includes(searchQuery.toLowerCase());
32
- })
28
+ const filtered = titles
29
+ .filter(title => title.toLowerCase().includes(searchQuery.toLowerCase()))
33
30
  .slice(0, 5); // Limit to top 5 suggestions
34
31
  setSuggestions(filtered);
35
32
  setHighlightedIndex(-1);
36
33
  }, [searchQuery, titles]);
37
34
  // Execute search by updating URL params
38
- var executeSearch = function () {
39
- var newParams = new URLSearchParams(searchParams);
35
+ const executeSearch = () => {
36
+ const newParams = new URLSearchParams(searchParams);
40
37
  // Reset to first page when searching
41
38
  newParams.set("page", "1");
42
39
  if (searchQuery.trim() !== "") {
@@ -45,24 +42,24 @@ function SearchBarComponent(_a) {
45
42
  else {
46
43
  newParams.delete("query");
47
44
  }
48
- router.push("".concat(pathname, "?").concat(newParams.toString()));
45
+ router.push(`${pathname}?${newParams.toString()}`);
49
46
  setShowSuggestions(false);
50
47
  };
51
- var handleKeyDown = function (e) {
48
+ const handleKeyDown = (e) => {
52
49
  if (e.key === "ArrowDown") {
53
50
  e.preventDefault();
54
51
  setShowSuggestions(true);
55
- setHighlightedIndex(function (prev) { return (prev + 1) % suggestions.length; });
52
+ setHighlightedIndex((prev) => (prev + 1) % suggestions.length);
56
53
  }
57
54
  else if (e.key === "ArrowUp") {
58
55
  e.preventDefault();
59
56
  setShowSuggestions(true);
60
- setHighlightedIndex(function (prev) { return (prev - 1 + suggestions.length) % suggestions.length; });
57
+ setHighlightedIndex((prev) => (prev - 1 + suggestions.length) % suggestions.length);
61
58
  }
62
59
  else if (e.key === "Enter") {
63
60
  e.preventDefault();
64
61
  if (highlightedIndex >= 0 && suggestions[highlightedIndex]) {
65
- var selectedSuggestion = suggestions[highlightedIndex];
62
+ const selectedSuggestion = suggestions[highlightedIndex];
66
63
  setSearchQuery(selectedSuggestion);
67
64
  setHighlightedIndex(0);
68
65
  }
@@ -73,21 +70,20 @@ function SearchBarComponent(_a) {
73
70
  }
74
71
  };
75
72
  // Select a suggestion
76
- var handleSuggestionClick = function (suggestion) {
73
+ const handleSuggestionClick = (suggestion) => {
77
74
  var _a;
78
75
  setSearchQuery(suggestion);
79
76
  setShowSuggestions(false);
80
77
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
81
78
  };
82
- return (_jsx("div", { className: "relative w-4/5 mx-auto bg-background shadow-md rounded-full px-4 py-2 md:max-w-5xl z-11", children: _jsxs("div", { className: "flex items-center", children: [_jsxs("div", { className: "relative flex-1", children: [_jsx("input", { ref: inputRef, type: "text", placeholder: "Search...", value: searchQuery, onChange: function (e) {
79
+ return (_jsx("div", { className: "relative w-4/5 mx-auto bg-background shadow-md rounded-full px-4 py-2 md:max-w-5xl z-11", children: _jsxs("div", { className: "flex items-center", children: [_jsxs("div", { className: "relative flex-1", children: [_jsx("input", { ref: inputRef, type: "text", placeholder: "Search...", value: searchQuery, onChange: (e) => {
83
80
  setSearchQuery(e.target.value);
84
81
  setShowSuggestions(true);
85
- }, onKeyDown: handleKeyDown, onFocus: function () { return setShowSuggestions(searchQuery.trim() !== ""); }, onBlur: function () {
82
+ }, onKeyDown: handleKeyDown, onFocus: () => setShowSuggestions(searchQuery.trim() !== ""), onBlur: () => {
86
83
  // Delay hiding suggestions to allow clicking on them
87
- setTimeout(function () { return setShowSuggestions(false); }, 150);
88
- }, className: "w-full bg-transparent border-none outline-none py-2 px-3 text-gray-700" }), showSuggestions && suggestions.length > 0 && (_jsx("div", { className: "absolute top-full left-0 w-full mt-1 bg-white rounded-md shadow-lg z-15 max-h-60 overflow-y-auto", children: suggestions.map(function (suggestion, index) { return (_jsx("div", { className: "px-4 py-2 text-sm cursor-pointer ".concat(index === highlightedIndex ? 'bg-muted' : 'text-gray-700 hover:bg-muted'), onMouseDown: function (e) { return e.preventDefault(); }, onClick: function () { return handleSuggestionClick(suggestion); }, children: suggestion }, index)); }) }))] }), _jsx(Button, { variant: "default", onClick: executeSearch, className: "ml-4 w-10 h-10 rounded-full flex items-center justify-center cursor-pointer", children: _jsx(Search, { size: 18 }) })] }) }));
84
+ setTimeout(() => setShowSuggestions(false), 150);
85
+ }, className: "w-full bg-transparent border-none outline-none py-2 px-3 text-gray-700" }), showSuggestions && suggestions.length > 0 && (_jsx("div", { className: "absolute top-full left-0 w-full mt-1 bg-white rounded-md shadow-lg z-15 max-h-60 overflow-y-auto", children: suggestions.map((suggestion, index) => (_jsx("div", { className: `px-4 py-2 text-sm cursor-pointer ${index === highlightedIndex ? 'bg-muted' : 'text-gray-700 hover:bg-muted'}`, onMouseDown: (e) => e.preventDefault(), onClick: () => handleSuggestionClick(suggestion), children: suggestion }, index))) }))] }), _jsx(Button, { variant: "default", onClick: executeSearch, className: "ml-4 w-10 h-10 rounded-full flex items-center justify-center cursor-pointer", children: _jsx(Search, { size: 18 }) })] }) }));
89
86
  }
90
- export default function SearchBar(_a) {
91
- var titles = _a.titles;
87
+ export default function SearchBar({ titles }) {
92
88
  return (_jsx(Suspense, { fallback: _jsx("div", { className: "w-full h-screen flex items-center justify-center", children: "Loading..." }), children: _jsx(SearchBarComponent, { titles: titles }) }));
93
89
  }
@@ -1,45 +1,41 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState } from "react";
4
- export function SearchBox(_a) {
5
- var _b;
6
- var titles = _a.titles, id = _a.id, placeholder = _a.placeholder, onChange = _a.onChange, searchQuery = _a.searchQuery, setSearchQuery = _a.setSearchQuery, handleAdd = _a.handleAdd;
7
- var inputRef = useRef(null);
8
- var _c = useState(false), showSuggestions = _c[0], setShowSuggestions = _c[1];
9
- var _d = useState([]), suggestions = _d[0], setSuggestions = _d[1];
10
- var _e = useState(-1), highlightedIndex = _e[0], setHighlightedIndex = _e[1];
4
+ export function SearchBox({ titles, id, placeholder, onChange, searchQuery, setSearchQuery, handleAdd }) {
5
+ const inputRef = useRef(null);
6
+ const [showSuggestions, setShowSuggestions] = useState(false);
7
+ const [suggestions, setSuggestions] = useState([]);
8
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
11
9
  if (!setSearchQuery) {
12
- _b = useState(""), searchQuery = _b[0], setSearchQuery = _b[1];
10
+ [searchQuery, setSearchQuery] = useState("");
13
11
  }
14
- useEffect(function () {
12
+ useEffect(() => {
15
13
  if (searchQuery.trim() === "") {
16
14
  setSuggestions([]);
17
15
  setHighlightedIndex(-1);
18
16
  return;
19
17
  }
20
- var filtered = titles
21
- .filter(function (title) {
22
- return title.toLowerCase().includes(searchQuery.toLowerCase());
23
- })
18
+ const filtered = titles
19
+ .filter((title) => title.toLowerCase().includes(searchQuery.toLowerCase()))
24
20
  .slice(0, 5);
25
21
  setSuggestions(filtered);
26
22
  setHighlightedIndex(-1);
27
23
  }, [searchQuery, titles]);
28
- var handleKeyDown = function (e) {
24
+ const handleKeyDown = (e) => {
29
25
  if (e.key === "ArrowDown") {
30
26
  e.preventDefault();
31
27
  setShowSuggestions(true);
32
- setHighlightedIndex(function (prev) { return (prev + 1) % suggestions.length; });
28
+ setHighlightedIndex((prev) => (prev + 1) % suggestions.length);
33
29
  }
34
30
  else if (e.key === "ArrowUp") {
35
31
  e.preventDefault();
36
32
  setShowSuggestions(true);
37
- setHighlightedIndex(function (prev) { return (prev - 1 + suggestions.length) % suggestions.length; });
33
+ setHighlightedIndex((prev) => (prev - 1 + suggestions.length) % suggestions.length);
38
34
  }
39
35
  else if (e.key === "Enter") {
40
36
  e.preventDefault();
41
37
  if (highlightedIndex >= 0 && suggestions[highlightedIndex]) {
42
- var selectedSuggestion = suggestions[highlightedIndex];
38
+ const selectedSuggestion = suggestions[highlightedIndex];
43
39
  setSearchQuery(selectedSuggestion);
44
40
  setHighlightedIndex(0);
45
41
  }
@@ -50,17 +46,17 @@ export function SearchBox(_a) {
50
46
  setShowSuggestions(false);
51
47
  }
52
48
  };
53
- var handleSuggestionClick = function (suggestion) {
49
+ const handleSuggestionClick = (suggestion) => {
54
50
  var _a;
55
51
  setSearchQuery(suggestion);
56
52
  setShowSuggestions(false);
57
53
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
58
54
  };
59
- return (_jsx("div", { className: "relative w-full mx-auto bg-background rounded-lg", children: _jsx("div", { className: "flex items-center", children: _jsxs("div", { className: "relative flex-1", children: [_jsx("input", { id: id !== null && id !== void 0 ? id : "", ref: inputRef, type: "text", placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : "Search...", value: searchQuery, onChange: function (e) {
55
+ return (_jsx("div", { className: "relative w-full mx-auto bg-background rounded-lg", children: _jsx("div", { className: "flex items-center", children: _jsxs("div", { className: "relative flex-1", children: [_jsx("input", { id: id !== null && id !== void 0 ? id : "", ref: inputRef, type: "text", placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : "Search...", value: searchQuery, onChange: (e) => {
60
56
  setSearchQuery(e.target.value);
61
57
  setShowSuggestions(true);
62
- }, onKeyDown: handleKeyDown, onFocus: function () { return setShowSuggestions(searchQuery.trim() !== ""); }, onBlur: function (e) {
58
+ }, onKeyDown: handleKeyDown, onFocus: () => setShowSuggestions(searchQuery.trim() !== ""), onBlur: (e) => {
63
59
  // Delay hiding to allow click
64
- setTimeout(function () { return setShowSuggestions(false); }, 150);
65
- }, className: "w-full bg-transparent border border-input rounded-md py-2 px-3 text-sm text-gray-700 focus:outline-none z-11" }), showSuggestions && suggestions.length > 0 && (_jsx("div", { className: "absolute top-full left-0 w-full mt-1 bg-white rounded-md shadow-lg z-100 max-h-60 overflow-y-auto border border-muted", children: suggestions.map(function (suggestion, index) { return (_jsx("div", { className: "px-4 py-2 text-sm cursor-pointer ".concat(index === highlightedIndex ? 'bg-muted' : 'text-gray-700 hover:bg-muted'), onMouseDown: function (e) { return e.preventDefault(); }, onClick: function () { return handleSuggestionClick(suggestion); }, children: suggestion }, index)); }) }))] }) }) }));
60
+ setTimeout(() => setShowSuggestions(false), 150);
61
+ }, className: "w-full bg-transparent border border-input rounded-md py-2 px-3 text-sm text-gray-700 focus:outline-none z-11" }), showSuggestions && suggestions.length > 0 && (_jsx("div", { className: "absolute top-full left-0 w-full mt-1 bg-white rounded-md shadow-lg z-100 max-h-60 overflow-y-auto border border-muted", children: suggestions.map((suggestion, index) => (_jsx("div", { className: `px-4 py-2 text-sm cursor-pointer ${index === highlightedIndex ? 'bg-muted' : 'text-gray-700 hover:bg-muted'}`, onMouseDown: (e) => e.preventDefault(), onClick: () => handleSuggestionClick(suggestion), children: suggestion }, index))) }))] }) }) }));
66
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/misc/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAgBtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA4BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/misc/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAgBtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CA6BtD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAkBnD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,SAAS,CAAC,2CAQxD;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,cAAc,CAAC,2CAa7D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,gBAAgB,CAAC,2CAa/D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
@@ -1,70 +1,38 @@
1
1
  "use client";
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 __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
3
  import * as SelectPrimitive from "@radix-ui/react-select";
26
4
  import { cn } from "@myrjfa/state/dist/lib/utils";
27
5
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
28
- function Select(_a) {
29
- var props = __rest(_a, []);
30
- return _jsx(SelectPrimitive.Root, __assign({ "data-slot": "select" }, props));
6
+ function Select({ ...props }) {
7
+ return _jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
31
8
  }
32
- function SelectGroup(_a) {
33
- var props = __rest(_a, []);
34
- return _jsx(SelectPrimitive.Group, __assign({ "data-slot": "select-group" }, props));
9
+ function SelectGroup({ ...props }) {
10
+ return _jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
35
11
  }
36
- function SelectValue(_a) {
37
- var props = __rest(_a, []);
38
- return _jsx(SelectPrimitive.Value, __assign({ "data-slot": "select-value" }, props));
12
+ function SelectValue({ ...props }) {
13
+ return _jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
39
14
  }
40
- function SelectTrigger(_a) {
41
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
42
- return (_jsxs(SelectPrimitive.Trigger, __assign({ "data-slot": "select-trigger", className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex h-9 w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className) }, props, { children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] })));
15
+ function SelectTrigger({ className, children, ...props }) {
16
+ return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex h-9 w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] }));
43
17
  }
44
- function SelectContent(_a) {
45
- var className = _a.className, children = _a.children, _b = _a.position, position = _b === void 0 ? "popper" : _b, props = __rest(_a, ["className", "children", "position"]);
46
- return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, __assign({ "data-slot": "select-content", className: cn("bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md", position === "popper" &&
47
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position }, props, { children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
48
- "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"), children: children }), _jsx(SelectScrollDownButton, {})] })) }));
18
+ function SelectContent({ className, children, position = "popper", ...props }) {
19
+ return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { "data-slot": "select-content", className: cn("bg-popover text-popover-foreground 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-[310] max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md pointer-events-auto", position === "popper" &&
20
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), position: position, onWheel: (e) => e.stopPropagation(), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
21
+ "h-full max-h-[var(--radix-select-content-available-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1 overflow-y-auto touch-pan-y"), children: children }), _jsx(SelectScrollDownButton, {})] }) }));
49
22
  }
50
- function SelectLabel(_a) {
51
- var className = _a.className, props = __rest(_a, ["className"]);
52
- return (_jsx(SelectPrimitive.Label, __assign({ "data-slot": "select-label", className: cn("px-2 py-1.5 text-sm font-medium", className) }, props)));
23
+ function SelectLabel({ className, ...props }) {
24
+ return (_jsx(SelectPrimitive.Label, { "data-slot": "select-label", className: cn("px-2 py-1.5 text-sm font-medium", className), ...props }));
53
25
  }
54
- function SelectItem(_a) {
55
- var className = _a.className, children = _a.children, props = __rest(_a, ["className", "children"]);
56
- return (_jsxs(SelectPrimitive.Item, __assign({ "data-slot": "select-item", className: cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className) }, props, { children: [_jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
26
+ function SelectItem({ className, children, ...props }) {
27
+ return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className), ...props, children: [_jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] }));
57
28
  }
58
- function SelectSeparator(_a) {
59
- var className = _a.className, props = __rest(_a, ["className"]);
60
- return (_jsx(SelectPrimitive.Separator, __assign({ "data-slot": "select-separator", className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className) }, props)));
29
+ function SelectSeparator({ className, ...props }) {
30
+ return (_jsx(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className), ...props }));
61
31
  }
62
- function SelectScrollUpButton(_a) {
63
- var className = _a.className, props = __rest(_a, ["className"]);
64
- return (_jsx(SelectPrimitive.ScrollUpButton, __assign({ "data-slot": "select-scroll-up-button", className: cn("flex cursor-default items-center justify-center py-1", className) }, props, { children: _jsx(ChevronUpIcon, { className: "size-4" }) })));
32
+ function SelectScrollUpButton({ className, ...props }) {
33
+ return (_jsx(SelectPrimitive.ScrollUpButton, { "data-slot": "select-scroll-up-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronUpIcon, { className: "size-4" }) }));
65
34
  }
66
- function SelectScrollDownButton(_a) {
67
- var className = _a.className, props = __rest(_a, ["className"]);
68
- return (_jsx(SelectPrimitive.ScrollDownButton, __assign({ "data-slot": "select-scroll-down-button", className: cn("flex cursor-default items-center justify-center py-1", className) }, props, { children: _jsx(ChevronDownIcon, { className: "size-4" }) })));
35
+ function SelectScrollDownButton({ className, ...props }) {
36
+ return (_jsx(SelectPrimitive.ScrollDownButton, { "data-slot": "select-scroll-down-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronDownIcon, { className: "size-4" }) }));
69
37
  }
70
38
  export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -1,31 +1,8 @@
1
1
  "use client";
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 __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
2
  import { jsx as _jsx } from "react/jsx-runtime";
25
3
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
26
4
  import { cn } from "@myrjfa/state/dist/lib/utils";
27
- function Separator(_a) {
28
- var className = _a.className, _b = _a.orientation, orientation = _b === void 0 ? "horizontal" : _b, _c = _a.decorative, decorative = _c === void 0 ? true : _c, props = __rest(_a, ["className", "orientation", "decorative"]);
29
- return (_jsx(SeparatorPrimitive.Root, __assign({ "data-slot": "separator-root", decorative: decorative, orientation: orientation, className: cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className) }, props)));
5
+ function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
6
+ return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator-root", decorative: decorative, orientation: orientation, className: cn("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", className), ...props }));
30
7
  }
31
8
  export { Separator };