casino-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +213 -0
- package/dist/assets/assets/card-back.svg +43 -0
- package/dist/assets/assets/card-shoe-overlay.svg +14 -0
- package/dist/assets/card-back.svg +43 -0
- package/dist/assets/card-shoe-overlay.svg +14 -0
- package/dist/casino-ui.css +2 -0
- package/dist/components/bet-panel.d.ts +41 -0
- package/dist/components/bet-panel.d.ts.map +1 -0
- package/dist/components/bet-panel.js +37 -0
- package/dist/components/bet-panel.js.map +1 -0
- package/dist/components/button.d.ts +15 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +27 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/card-score-badge.d.ts +9 -0
- package/dist/components/card-score-badge.d.ts.map +1 -0
- package/dist/components/card-score-badge.js +20 -0
- package/dist/components/card-score-badge.js.map +1 -0
- package/dist/components/card-shoe.d.ts +6 -0
- package/dist/components/card-shoe.d.ts.map +1 -0
- package/dist/components/card-shoe.js +14 -0
- package/dist/components/card-shoe.js.map +1 -0
- package/dist/components/card-table.d.ts +7 -0
- package/dist/components/card-table.d.ts.map +1 -0
- package/dist/components/card-table.js +6 -0
- package/dist/components/card-table.js.map +1 -0
- package/dist/components/chip-rack.d.ts +6 -0
- package/dist/components/chip-rack.d.ts.map +1 -0
- package/dist/components/chip-rack.js +13 -0
- package/dist/components/chip-rack.js.map +1 -0
- package/dist/components/chip.d.ts +49 -0
- package/dist/components/chip.d.ts.map +1 -0
- package/dist/components/chip.js +81 -0
- package/dist/components/chip.js.map +1 -0
- package/dist/components/game-footer.d.ts +29 -0
- package/dist/components/game-footer.d.ts.map +1 -0
- package/dist/components/game-footer.js +72 -0
- package/dist/components/game-footer.js.map +1 -0
- package/dist/components/game-info-dialog.d.ts +23 -0
- package/dist/components/game-info-dialog.d.ts.map +1 -0
- package/dist/components/game-info-dialog.js +26 -0
- package/dist/components/game-info-dialog.js.map +1 -0
- package/dist/components/icon.d.ts +10 -0
- package/dist/components/icon.d.ts.map +1 -0
- package/dist/components/icon.js +59 -0
- package/dist/components/icon.js.map +1 -0
- package/dist/components/poker-card.d.ts +15 -0
- package/dist/components/poker-card.d.ts.map +1 -0
- package/dist/components/poker-card.js +77 -0
- package/dist/components/poker-card.js.map +1 -0
- package/dist/components/result-badge.d.ts +14 -0
- package/dist/components/result-badge.d.ts.map +1 -0
- package/dist/components/result-badge.js +71 -0
- package/dist/components/result-badge.js.map +1 -0
- package/dist/components/switch-table-dialog.d.ts +10 -0
- package/dist/components/switch-table-dialog.d.ts.map +1 -0
- package/dist/components/switch-table-dialog.js +51 -0
- package/dist/components/switch-table-dialog.js.map +1 -0
- package/dist/components/toast-container.d.ts +8 -0
- package/dist/components/toast-container.d.ts.map +1 -0
- package/dist/components/toast-container.js +8 -0
- package/dist/components/toast-container.js.map +1 -0
- package/dist/components/toast-helpers.d.ts +22 -0
- package/dist/components/toast-helpers.d.ts.map +1 -0
- package/dist/components/toast-helpers.js +47 -0
- package/dist/components/toast-helpers.js.map +1 -0
- package/dist/components/toast.d.ts +26 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +49 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +14 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +35 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/drawer.d.ts +14 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +35 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +39 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/stories/BetPanel.stories.d.ts +10 -0
- package/dist/stories/BetPanel.stories.d.ts.map +1 -0
- package/dist/stories/BetPanel.stories.js +34 -0
- package/dist/stories/BetPanel.stories.js.map +1 -0
- package/dist/stories/Button.stories.d.ts +13 -0
- package/dist/stories/Button.stories.d.ts.map +1 -0
- package/dist/stories/Button.stories.js +39 -0
- package/dist/stories/Button.stories.js.map +1 -0
- package/dist/stories/CardScoreBadge.stories.d.ts +8 -0
- package/dist/stories/CardScoreBadge.stories.d.ts.map +1 -0
- package/dist/stories/CardScoreBadge.stories.js +21 -0
- package/dist/stories/CardScoreBadge.stories.js.map +1 -0
- package/dist/stories/CardShoe.stories.d.ts +7 -0
- package/dist/stories/CardShoe.stories.d.ts.map +1 -0
- package/dist/stories/CardShoe.stories.js +8 -0
- package/dist/stories/CardShoe.stories.js.map +1 -0
- package/dist/stories/CardTable.stories.d.ts +7 -0
- package/dist/stories/CardTable.stories.d.ts.map +1 -0
- package/dist/stories/CardTable.stories.js +15 -0
- package/dist/stories/CardTable.stories.js.map +1 -0
- package/dist/stories/Chip.stories.d.ts +11 -0
- package/dist/stories/Chip.stories.d.ts.map +1 -0
- package/dist/stories/Chip.stories.js +32 -0
- package/dist/stories/Chip.stories.js.map +1 -0
- package/dist/stories/ChipRack.stories.d.ts +7 -0
- package/dist/stories/ChipRack.stories.d.ts.map +1 -0
- package/dist/stories/ChipRack.stories.js +8 -0
- package/dist/stories/ChipRack.stories.js.map +1 -0
- package/dist/stories/Dialog.stories.d.ts +6 -0
- package/dist/stories/Dialog.stories.d.ts.map +1 -0
- package/dist/stories/Dialog.stories.js +15 -0
- package/dist/stories/Dialog.stories.js.map +1 -0
- package/dist/stories/GameFooter.stories.d.ts +7 -0
- package/dist/stories/GameFooter.stories.d.ts.map +1 -0
- package/dist/stories/GameFooter.stories.js +37 -0
- package/dist/stories/GameFooter.stories.js.map +1 -0
- package/dist/stories/Icon.stories.d.ts +9 -0
- package/dist/stories/Icon.stories.d.ts.map +1 -0
- package/dist/stories/Icon.stories.js +27 -0
- package/dist/stories/Icon.stories.js.map +1 -0
- package/dist/stories/PokerCard.stories.d.ts +14 -0
- package/dist/stories/PokerCard.stories.d.ts.map +1 -0
- package/dist/stories/PokerCard.stories.js +40 -0
- package/dist/stories/PokerCard.stories.js.map +1 -0
- package/dist/stories/ResultBadge.stories.d.ts +11 -0
- package/dist/stories/ResultBadge.stories.d.ts.map +1 -0
- package/dist/stories/ResultBadge.stories.js +32 -0
- package/dist/stories/ResultBadge.stories.js.map +1 -0
- package/dist/stories/Toast.stories.d.ts +10 -0
- package/dist/stories/Toast.stories.d.ts.map +1 -0
- package/dist/stories/Toast.stories.js +34 -0
- package/dist/stories/Toast.stories.js.map +1 -0
- package/dist/styles/casino-ui-base.css +310 -0
- package/dist/styles/styles/casino-ui-base.css +310 -0
- package/dist/styles/styles/toast.css +52 -0
- package/dist/styles/toast.css +52 -0
- package/dist/toast.css +52 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/format-amount.d.ts +2 -0
- package/dist/utils/format-amount.d.ts.map +1 -0
- package/dist/utils/format-amount.js +31 -0
- package/dist/utils/format-amount.js.map +1 -0
- package/package.json +58 -0
- package/src/assets/card-back.svg +43 -0
- package/src/assets/card-shoe-overlay.svg +14 -0
- package/src/components/bet-panel.tsx +275 -0
- package/src/components/button.tsx +80 -0
- package/src/components/card-score-badge.tsx +61 -0
- package/src/components/card-shoe.tsx +52 -0
- package/src/components/card-table.tsx +182 -0
- package/src/components/chip-rack.tsx +55 -0
- package/src/components/chip.tsx +203 -0
- package/src/components/game-footer.tsx +356 -0
- package/src/components/game-info-dialog.tsx +245 -0
- package/src/components/icon.tsx +94 -0
- package/src/components/poker-card.tsx +192 -0
- package/src/components/result-badge.tsx +157 -0
- package/src/components/switch-table-dialog.tsx +211 -0
- package/src/components/toast-container.tsx +25 -0
- package/src/components/toast-helpers.ts +79 -0
- package/src/components/toast.tsx +282 -0
- package/src/components/ui/dialog.tsx +134 -0
- package/src/components/ui/drawer.tsx +132 -0
- package/src/components/ui/dropdown-menu.tsx +210 -0
- package/src/env.d.ts +6 -0
- package/src/index.ts +88 -0
- package/src/lib/utils.ts +6 -0
- package/src/stories/BetPanel.stories.tsx +113 -0
- package/src/stories/Button.stories.tsx +55 -0
- package/src/stories/CardScoreBadge.stories.tsx +34 -0
- package/src/stories/CardShoe.stories.tsx +12 -0
- package/src/stories/Chip.stories.tsx +51 -0
- package/src/stories/ChipRack.stories.tsx +12 -0
- package/src/stories/Dialog.stories.tsx +45 -0
- package/src/stories/GameFooter.stories.tsx +45 -0
- package/src/stories/Icon.stories.tsx +49 -0
- package/src/stories/PokerCard.stories.tsx +72 -0
- package/src/stories/ResultBadge.stories.tsx +51 -0
- package/src/stories/Toast.stories.tsx +71 -0
- package/src/styles/casino-ui-base.css +310 -0
- package/src/styles/toast.css +52 -0
- package/src/types.ts +11 -0
- package/src/utils/format-amount.ts +35 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils";
|
|
3
|
+
import cardBackImg from "../assets/card-back.svg";
|
|
4
|
+
const BADGE_COLORS = {
|
|
5
|
+
default: "border-card-border",
|
|
6
|
+
push: "border-card-border",
|
|
7
|
+
win: "border-[#8BB339]",
|
|
8
|
+
lose: "border-[#DB375E]",
|
|
9
|
+
bust: "border-[#DB375E]",
|
|
10
|
+
blackjack: "border-[#FF5C05]",
|
|
11
|
+
even: "border-card-border",
|
|
12
|
+
surrender: "border-card-border",
|
|
13
|
+
};
|
|
14
|
+
const SUIT_SVGS = {
|
|
15
|
+
heart: `<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none"><path d="M13.8295 3.98242C12.7564 3.98242 11.7463 4.40032 10.9871 5.16052L10.4999 5.64772L10.0127 5.16052C9.2525 4.40032 8.24345 3.98242 7.17035 3.98242C4.95275 3.98242 3.1499 5.78527 3.1499 8.00287C3.1499 9.07597 3.5678 10.0861 4.328 10.8452L10.4999 17.0171L16.6718 10.8452C17.432 10.085 17.8499 9.07597 17.8499 8.00287C17.8499 5.78527 16.0471 3.98242 13.8295 3.98242ZM15.1871 9.36052L10.4999 14.0477L5.8127 9.36052C5.4494 8.99722 5.2499 8.51527 5.2499 8.00287C5.2499 6.94342 6.1109 6.08242 7.17035 6.08242C7.68275 6.08242 8.1647 6.28192 8.528 6.64522L10.4999 8.61712L12.4718 6.64522C12.8351 6.28192 13.3171 6.08242 13.8295 6.08242C14.8889 6.08242 15.7499 6.94342 15.7499 8.00287C15.7499 8.51527 15.5504 8.99722 15.1871 9.36052Z" fill="currentColor"/><path d="M15.1871 9.36052L10.4999 14.0477L5.8127 9.36052C5.4494 8.99722 5.2499 8.51527 5.2499 8.00287C5.2499 6.94342 6.1109 6.08242 7.17035 6.08242C7.68275 6.08242 8.1647 6.28192 8.528 6.64522L10.4999 8.61712L12.4718 6.64522C12.8351 6.28192 13.3171 6.08242 13.8295 6.08242C14.8889 6.08242 15.7499 6.94342 15.7499 8.00287C15.7499 8.51527 15.5504 8.99722 15.1871 9.36052Z" fill="currentColor"/></svg>`,
|
|
16
|
+
spade: `<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none">
|
|
17
|
+
<path d="M10.4999 2.93262L4.328 9.10452C3.5678 9.86472 3.1499 10.8738 3.1499 11.9469C3.1499 14.1645 4.95275 15.9673 7.17035 15.9673C7.99775 15.9673 8.7842 15.7132 9.4499 15.2523V18.0673H11.5499V15.2523C12.2156 15.7132 13.0021 15.9673 13.8295 15.9673C16.0471 15.9673 17.8499 14.1645 17.8499 11.9469C17.8499 10.8738 17.432 9.86367 16.6718 9.10452L10.4999 2.93262ZM13.8295 13.8673C13.3171 13.8673 12.8351 13.6678 12.4718 13.3045L10.4999 11.3326L8.528 13.3045C8.1647 13.6678 7.68275 13.8673 7.17035 13.8673C6.1109 13.8673 5.2499 13.0063 5.2499 11.9469C5.2499 11.4345 5.4494 10.9525 5.8127 10.5892L10.4999 5.90202L15.1871 10.5892C15.5504 10.9525 15.7499 11.4345 15.7499 11.9469C15.7499 13.0063 14.8889 13.8673 13.8295 13.8673Z" fill="currentColor"/>
|
|
18
|
+
<path d="M13.8295 13.8673C13.3171 13.8673 12.8351 13.6678 12.4718 13.3045L10.4999 11.3326L8.528 13.3045C8.1647 13.6678 7.68275 13.8673 7.17035 13.8673C6.1109 13.8673 5.2499 13.0063 5.2499 11.9469C5.2499 11.4345 5.4494 10.9525 5.8127 10.5892L10.4999 5.90202L15.1871 10.5892C15.5504 10.9525 15.7499 11.4345 15.7499 11.9469C15.7499 13.0063 14.8889 13.8673 13.8295 13.8673Z" fill="currentColor"/>
|
|
19
|
+
</svg>`,
|
|
20
|
+
diamond: `<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 15 15" fill="none"><path d="M2.01221 7.50041L7.49996 13.9032L12.9877 7.50041L7.49996 1.09766L2.01221 7.50041ZM7.49996 11.5977L3.98771 7.50041L7.49996 3.40315L11.0122 7.50041L7.49996 11.5977Z" fill="currentColor"/><path d="M7.49996 11.5977L3.98771 7.50041L7.49996 3.40315L11.0122 7.50041L7.49996 11.5977Z" fill="currentColor"/></svg>`,
|
|
21
|
+
club: `<svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21" fill="none">
|
|
22
|
+
<path d="M14.6978 7.48269C14.6989 7.43859 14.6999 7.39449 14.6999 7.35039C14.6999 5.03409 12.8162 3.15039 10.4999 3.15039C8.1836 3.15039 6.2999 5.03409 6.2999 7.35039C6.2999 7.39449 6.30095 7.43859 6.302 7.48269C4.4918 7.94889 3.1499 9.59634 3.1499 11.5504C3.1499 13.8667 5.0336 15.7504 7.3499 15.7504C8.11955 15.7504 8.82935 15.5236 9.4499 15.1603V17.8504H11.5499V15.1603C12.1705 15.5236 12.8803 15.7504 13.6499 15.7504C15.9662 15.7504 17.8499 13.8667 17.8499 11.5504C17.8499 9.59634 16.508 7.94889 14.6978 7.48269ZM13.6499 13.6504C12.4918 13.6504 11.5499 12.7085 11.5499 11.5504H9.4499C9.4499 12.7085 8.50805 13.6504 7.3499 13.6504C6.19175 13.6504 5.2499 12.7085 5.2499 11.5504C5.2499 10.3922 6.1907 9.45039 7.3184 9.45039L9.0803 9.56484L8.53535 8.06124C8.444 7.81029 8.3999 7.57719 8.3999 7.35039C8.3999 6.19224 9.34175 5.25039 10.4999 5.25039C11.6581 5.25039 12.5999 6.19224 12.5999 7.35039C12.5999 7.57719 12.5558 7.81029 12.4645 8.06229L11.9195 9.56589L13.5155 9.46824L13.6499 9.45039C14.8081 9.45039 15.7499 10.3922 15.7499 11.5504C15.7499 12.7085 14.8081 13.6504 13.6499 13.6504Z" fill="currentColor"/>
|
|
23
|
+
<path d="M13.6499 13.6504C12.4918 13.6504 11.5499 12.7085 11.5499 11.5504H9.4499C9.4499 12.7085 8.50805 13.6504 7.3499 13.6504C6.19175 13.6504 5.2499 12.7085 5.2499 11.5504C5.2499 10.3922 6.1907 9.45039 7.3184 9.45039L9.0803 9.56484L8.53535 8.06124C8.444 7.81029 8.3999 7.57719 8.3999 7.35039C8.3999 6.19224 9.34175 5.25039 10.4999 5.25039C11.6581 5.25039 12.5999 6.19224 12.5999 7.35039C12.5999 7.57719 12.5558 7.81029 12.4645 8.06229L11.9195 9.56589L13.5155 9.46824L13.6499 9.45039C14.8081 9.45039 15.7499 10.3922 15.7499 11.5504C15.7499 12.7085 14.8081 13.6504 13.6499 13.6504Z" fill="currentColor"/>
|
|
24
|
+
</svg>`,
|
|
25
|
+
};
|
|
26
|
+
const SUIT_CONFIG = {
|
|
27
|
+
heart: { colorClass: "text-card-suit-red" },
|
|
28
|
+
diamond: { colorClass: "text-card-suit-red" },
|
|
29
|
+
spade: { colorClass: "text-card-suit-black" },
|
|
30
|
+
club: { colorClass: "text-card-suit-black" },
|
|
31
|
+
};
|
|
32
|
+
function SuitIcon({ suit, className }) {
|
|
33
|
+
const suitSvg = SUIT_SVGS[suit];
|
|
34
|
+
if (!suitSvg) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const processedSvg = suitSvg
|
|
38
|
+
.replace(/\swidth="[^"]*"/g, ' width="100%"')
|
|
39
|
+
.replace(/\sheight="[^"]*"/g, ' height="100%"')
|
|
40
|
+
.replace(/\sclass="[^"]*"/g, "")
|
|
41
|
+
.replace(/\sstyle="[^"]*"/g, "");
|
|
42
|
+
return (_jsx("div", { className: className, dangerouslySetInnerHTML: {
|
|
43
|
+
__html: processedSvg,
|
|
44
|
+
} }));
|
|
45
|
+
}
|
|
46
|
+
export function PokerCard({ suit, rank, side = "front", backImage, className, showShadow = true, size = "lg", type = "default", }) {
|
|
47
|
+
const isXs = size === "xs";
|
|
48
|
+
const isMd = size === "md";
|
|
49
|
+
const isSmall = size === "sm";
|
|
50
|
+
const sizeClass = isXs
|
|
51
|
+
? "w-6 h-8.5 rounded-[4px]"
|
|
52
|
+
: isSmall
|
|
53
|
+
? "w-7 h-10 rounded-[4px]"
|
|
54
|
+
: isMd
|
|
55
|
+
? "w-9 h-12.5 rounded-[4.62px]"
|
|
56
|
+
: "w-10 h-14 rounded-[4.62px]";
|
|
57
|
+
const shadow = isXs
|
|
58
|
+
? "drop-shadow(0px 1px 0px #404040)"
|
|
59
|
+
: "drop-shadow(0px 2px 0px #404040)";
|
|
60
|
+
const backShadow = isXs
|
|
61
|
+
? "drop-shadow(0px 1px 0px #122741)"
|
|
62
|
+
: "drop-shadow(0px 2px 0px #122741)";
|
|
63
|
+
const badgeColor = BADGE_COLORS[type];
|
|
64
|
+
if (side === "back") {
|
|
65
|
+
return (_jsx("div", { className: cn("relative bg-card-back-bg border overflow-clip", badgeColor, sizeClass, className), style: {
|
|
66
|
+
filter: showShadow ? backShadow : "none",
|
|
67
|
+
}, children: _jsx("div", { className: "absolute inset-0", children: _jsx("img", { src: backImage ?? cardBackImg, alt: "", className: "absolute inset-0 size-full object-cover pointer-events-none" }) }) }));
|
|
68
|
+
}
|
|
69
|
+
if (!suit || !rank)
|
|
70
|
+
return null;
|
|
71
|
+
const { colorClass } = SUIT_CONFIG[suit];
|
|
72
|
+
return (_jsxs("div", { className: cn("relative bg-white border overflow-clip", badgeColor, sizeClass, className), style: {
|
|
73
|
+
containerType: "inline-size",
|
|
74
|
+
filter: showShadow ? shadow : "none",
|
|
75
|
+
}, children: [_jsx("span", { className: cn("absolute top-[2%] w-[35%] text-center font-bold leading-none", colorClass, rank === "10" ? "-tracking-[1.8px] left-[3%]" : "left-[10%]"), style: { fontSize: "50cqi" }, children: rank }), _jsx(SuitIcon, { suit: suit, className: cn("absolute top-[8%] right-[8%] w-[37.5%] aspect-square", colorClass) }), _jsx(SuitIcon, { suit: suit, className: cn("absolute bottom-[6%] left-[3%] w-[52.5%] aspect-square", colorClass) })] }));
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=poker-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poker-card.js","sourceRoot":"","sources":["../../src/components/poker-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ResultType = "win" | "lose" | "bust" | "push" | "blackjack" | "even" | "surrender";
|
|
2
|
+
interface ResultBadgeProps {
|
|
3
|
+
type: ResultType;
|
|
4
|
+
amount?: string;
|
|
5
|
+
showPayout?: boolean;
|
|
6
|
+
assetIconUrl?: string | React.ReactNode;
|
|
7
|
+
isUSD?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
isMobile?: boolean;
|
|
10
|
+
isMobileSeat?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function ResultBadge({ type, amount, showPayout, assetIconUrl, isUSD, className, isMobile, isMobileSeat, }: ResultBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=result-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-badge.d.ts","sourceRoot":"","sources":["../../src/components/result-badge.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,WAAW,GACX,MAAM,GACN,WAAW,CAAC;AAEhB,UAAU,gBAAgB;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAgED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,MAAY,EACZ,UAAkB,EAClB,YAAY,EACZ,KAAa,EACb,SAAS,EACT,QAAgB,EAChB,YAAoB,GACrB,EAAE,gBAAgB,2CA+DlB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils";
|
|
3
|
+
const BADGE_STYLES = {
|
|
4
|
+
win: {
|
|
5
|
+
border: "border-[#8BB339]",
|
|
6
|
+
text: "text-[#8BB339]",
|
|
7
|
+
bg: "bg-[rgba(199,254,81,0.08)]",
|
|
8
|
+
},
|
|
9
|
+
lose: {
|
|
10
|
+
border: "border-[#DB375E]",
|
|
11
|
+
text: "text-[#DB375E]",
|
|
12
|
+
bg: "bg-[rgba(219,55,94,0.08)]",
|
|
13
|
+
},
|
|
14
|
+
bust: {
|
|
15
|
+
border: "border-[#DB375E]",
|
|
16
|
+
text: "text-[#DB375E]",
|
|
17
|
+
bg: "bg-[rgba(219,55,94,0.08)]",
|
|
18
|
+
},
|
|
19
|
+
push: {
|
|
20
|
+
border: "border-[#7454F0]",
|
|
21
|
+
text: "text-[#7454F0]",
|
|
22
|
+
bg: "bg-[#7454F0]/12",
|
|
23
|
+
},
|
|
24
|
+
blackjack: {
|
|
25
|
+
border: "border-[#FF5C05]",
|
|
26
|
+
text: "text-[#FF5C05]",
|
|
27
|
+
bg: "bg-[rgba(255,92,5,0.08)]",
|
|
28
|
+
shadow: "shadow-[0_0_5px_2px_rgba(255,92,5,0.6)]",
|
|
29
|
+
},
|
|
30
|
+
even: {
|
|
31
|
+
border: "border-[#7454F0]",
|
|
32
|
+
text: "text-[#7454F0]",
|
|
33
|
+
bg: "bg-[#7454F0]/12",
|
|
34
|
+
},
|
|
35
|
+
surrender: {
|
|
36
|
+
border: "border-[#8A8A8A]",
|
|
37
|
+
text: "text-[#8A8A8A]",
|
|
38
|
+
bg: "bg-[rgba(138,138,138,0.08)]",
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
const PAYOUT_TEXT_COLORS = {
|
|
42
|
+
win: "text-[#8BB339]",
|
|
43
|
+
lose: "text-[#DB375E]",
|
|
44
|
+
bust: "text-[#DB375E]",
|
|
45
|
+
push: "text-[#BFBFBF]",
|
|
46
|
+
blackjack: "text-brand",
|
|
47
|
+
even: "text-[#7454F0]",
|
|
48
|
+
surrender: "text-[#BFBFBF]",
|
|
49
|
+
};
|
|
50
|
+
const LABELS = {
|
|
51
|
+
win: "Win",
|
|
52
|
+
lose: "Lose",
|
|
53
|
+
bust: "Bust",
|
|
54
|
+
push: "Push",
|
|
55
|
+
blackjack: "Blackjack",
|
|
56
|
+
even: "Break Even",
|
|
57
|
+
surrender: "Surrender",
|
|
58
|
+
};
|
|
59
|
+
export function ResultBadge({ type, amount = "0", showPayout = false, assetIconUrl, isUSD = false, className, isMobile = false, isMobileSeat = false, }) {
|
|
60
|
+
const style = BADGE_STYLES[type];
|
|
61
|
+
return (_jsx("div", { className: cn("flex items-center justify-center border", isMobile
|
|
62
|
+
? isMobileSeat
|
|
63
|
+
? "w-18.5 h-4.5 rounded-sm p-1"
|
|
64
|
+
: "w-18.5 h-5.5 rounded-sm px-1 py-1.5"
|
|
65
|
+
: "w-25 h-6.5 rounded-md p-1", style.border, style.bg, style.shadow, className), children: showPayout ? (_jsxs("div", { className: "flex items-center gap-1", children: [isUSD ? (_jsx("span", { className: cn("text-xs ", isMobile
|
|
66
|
+
? "leading-2.5 font-semibold"
|
|
67
|
+
: "leading-3.5 font-bold", PAYOUT_TEXT_COLORS[type]), children: "$" })) : assetIconUrl ? (typeof assetIconUrl === "string" ? (_jsx("img", { src: assetIconUrl, alt: "", className: "w-4 h-4" })) : (_jsx("div", { className: "w-4 h-4", children: assetIconUrl }))) : null, _jsx("span", { className: cn("text-xs", isMobile ? "leading-2.5 font-semibold" : "leading-3.5 font-bold", PAYOUT_TEXT_COLORS[type]), children: amount })] })) : (_jsx("span", { className: cn(isMobile
|
|
68
|
+
? "text-xs leading-2.5"
|
|
69
|
+
: "text-sm leading-3.5 font-semibold", style.text), children: LABELS[type] })) }));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=result-badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-badge.js","sourceRoot":"","sources":["../../src/components/result-badge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface SwitchTableDialogProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onOpenChange: (open: boolean) => void;
|
|
4
|
+
currentTableId: string;
|
|
5
|
+
onJoin: (tableIdOrLink: string) => void;
|
|
6
|
+
isMobile?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare function SwitchTableDialog({ open, onOpenChange, currentTableId, onJoin, isMobile, }: SwitchTableDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default SwitchTableDialog;
|
|
10
|
+
//# sourceMappingURL=switch-table-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-table-dialog.d.ts","sourceRoot":"","sources":["../../src/components/switch-table-dialog.tsx"],"names":[],"mappings":"AAqBA,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2FD,iBAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,MAAM,EACN,QAAgB,GACjB,EAAE,sBAAsB,2CAoFxB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from "react";
|
|
3
|
+
import { Dialog, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "./ui/dialog";
|
|
4
|
+
import { Drawer, DrawerClose, DrawerContent, DrawerFooter, DrawerHeader, DrawerTitle, } from "./ui/drawer";
|
|
5
|
+
import { Icon } from "./icon";
|
|
6
|
+
import { Button } from "./button";
|
|
7
|
+
import { toast } from "./toast-helpers";
|
|
8
|
+
function SwitchTableBody({ currentTableId, inputValue, onInputChange, }) {
|
|
9
|
+
const [copied, setCopied] = useState(false);
|
|
10
|
+
const handleCopy = useCallback(async () => {
|
|
11
|
+
try {
|
|
12
|
+
await navigator.clipboard.writeText(currentTableId);
|
|
13
|
+
setCopied(true);
|
|
14
|
+
setTimeout(() => setCopied(false), 2000);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
toast.status.error("Failed to copy table ID");
|
|
18
|
+
}
|
|
19
|
+
}, [currentTableId]);
|
|
20
|
+
return (_jsxs("div", { className: "w-full flex flex-col gap-3 px-5", children: [_jsxs("div", { className: "w-full flex items-center gap-2", children: [_jsx("span", { className: "text-text-secondary text-sm", children: "Current table ID:" }), _jsx("span", { className: "font-semibold text-white truncate w-40 text-sm", children: currentTableId }), _jsx("button", { type: "button", onClick: handleCopy, className: "min-w-4 cursor-pointer text-text-secondary transition-colors hover:text-white", children: copied ? (_jsx(Icon, { icon: "check", className: "size-4 text-accent-success" })) : (_jsx(Icon, { icon: "copy", className: "size-4" })) })] }), _jsx("input", { type: "text", value: inputValue, onChange: (e) => onInputChange(e.target.value), placeholder: "Enter a table ID", className: "w-full rounded-xl border border-button-grey bg-surface-500 p-3 text-sm text-white placeholder:text-text-secondary outline-none focus:border-surface-200 ease-in-out duration-300" }), _jsxs("div", { className: "flex items-center gap-2 text-xs text-text-secondary", children: [_jsx(Icon, { icon: "info", className: "size-4 shrink-0" }), _jsx("span", { children: "Leaving this table will end the current game." })] })] }));
|
|
21
|
+
}
|
|
22
|
+
function SwitchTableFooter({ inputValue, onCancel, onJoin, }) {
|
|
23
|
+
return (_jsxs("div", { className: "w-full flex items-center gap-3", children: [_jsx(Button, { variant: "tertiary", type: "button", onClick: onCancel, className: "w-full flex-1 min-w-0 h-10 rounded-xl", children: "Cancel" }), _jsx(Button, { variant: "primary", type: "button", onClick: onJoin, disabled: !inputValue.trim(), className: "w-full flex-1 min-w-0 h-10 rounded-xl", children: "Join" })] }));
|
|
24
|
+
}
|
|
25
|
+
function SwitchTableDialog({ open, onOpenChange, currentTableId, onJoin, isMobile = false, }) {
|
|
26
|
+
const [inputValue, setInputValue] = useState("");
|
|
27
|
+
const handleJoin = useCallback(() => {
|
|
28
|
+
const trimmed = inputValue.trim();
|
|
29
|
+
if (!trimmed)
|
|
30
|
+
return;
|
|
31
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
32
|
+
const isUuid = uuidRegex.test(trimmed);
|
|
33
|
+
if (!isUuid) {
|
|
34
|
+
toast.status.error("Invalid table ID");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
setInputValue("");
|
|
38
|
+
onOpenChange(false);
|
|
39
|
+
onJoin(trimmed);
|
|
40
|
+
}, [inputValue, onOpenChange, onJoin]);
|
|
41
|
+
const handleCancel = useCallback(() => {
|
|
42
|
+
setInputValue("");
|
|
43
|
+
onOpenChange(false);
|
|
44
|
+
}, [onOpenChange]);
|
|
45
|
+
if (isMobile) {
|
|
46
|
+
return (_jsx(Drawer, { open: open, onOpenChange: onOpenChange, children: _jsxs(DrawerContent, { className: "rounded-t-xl overflow-clip bg-surface-400 border-none", children: [_jsxs(DrawerHeader, { className: "flex items-start justify-between p-5", children: [_jsx(DrawerTitle, { className: "text-2xl font-bold text-left", children: "Switch Table" }), _jsx(DrawerClose, { className: "min-w-6 cursor-pointer opacity-70 transition-opacity hover:opacity-100", children: _jsx(Icon, { icon: "x", className: "size-6" }) })] }), _jsx(SwitchTableBody, { currentTableId: currentTableId, inputValue: inputValue, onInputChange: setInputValue }), _jsx(DrawerFooter, { className: "border-t border-surface-300 bg-surface-450 px-5 pt-5 pb-6 mt-5", children: _jsx(SwitchTableFooter, { inputValue: inputValue, onCancel: handleCancel, onJoin: handleJoin }) })] }) }));
|
|
47
|
+
}
|
|
48
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "w-100 rounded-xl overflow-clip bg-surface-400 gap-5", children: [_jsxs(DialogHeader, { className: "flex items-start justify-between px-5 pt-5", children: [_jsx(DialogTitle, { className: "text-2xl font-bold", children: "Switch Table" }), _jsx(DialogClose, { className: "min-w-6 cursor-pointer opacity-70 transition-opacity hover:opacity-100", children: _jsx(Icon, { icon: "x", className: "size-6" }) })] }), _jsx(SwitchTableBody, { currentTableId: currentTableId, inputValue: inputValue, onInputChange: setInputValue }), _jsx(DialogFooter, { className: "border-t border-surface-300 bg-surface-450 px-5 pt-5 pb-6", children: _jsx(SwitchTableFooter, { inputValue: inputValue, onCancel: handleCancel, onJoin: handleJoin }) })] }) }));
|
|
49
|
+
}
|
|
50
|
+
export default SwitchTableDialog;
|
|
51
|
+
//# sourceMappingURL=switch-table-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-table-dialog.js","sourceRoot":"","sources":["../../src/components/switch-table-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ToastPosition } from "react-toastify";
|
|
2
|
+
import "react-toastify/dist/ReactToastify.css";
|
|
3
|
+
import "../styles/toast.css";
|
|
4
|
+
export declare function CasinoToastContainer({ limit, position, }?: {
|
|
5
|
+
limit?: number;
|
|
6
|
+
position?: ToastPosition;
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=toast-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-container.d.ts","sourceRoot":"","sources":["../../src/components/toast-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qBAAqB,CAAC;AAE7B,wBAAgB,oBAAoB,CAAC,EACnC,KAAS,EACT,QAAwB,GACzB,GAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;CACrB,2CAcL"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ToastContainer, Zoom } from "react-toastify";
|
|
3
|
+
import "react-toastify/dist/ReactToastify.css";
|
|
4
|
+
import "../styles/toast.css";
|
|
5
|
+
export function CasinoToastContainer({ limit = 5, position = "bottom-left", } = {}) {
|
|
6
|
+
return (_jsx("div", { className: "casino-toast", children: _jsx(ToastContainer, { position: position, limit: limit, newestOnTop: true, pauseOnFocusLoss: false, transition: Zoom, draggable: false, hideProgressBar: true }) }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=toast-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-container.js","sourceRoot":"","sources":["../../src/components/toast-container.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAsB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qBAAqB,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,aAAa,MAItB,EAAE;IACJ,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC3B,KAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,WAAW,QACX,gBAAgB,EAAE,KAAK,EACvB,UAAU,EAAE,IAAI,EAChB,SAAS,EAAE,KAAK,EAChB,eAAe,SACf,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ToastAction } from "./toast";
|
|
2
|
+
export declare const toast: {
|
|
3
|
+
readonly info: (message: string) => void;
|
|
4
|
+
readonly success: (message: string) => void;
|
|
5
|
+
readonly status: {
|
|
6
|
+
readonly info: (message: string, opts?: {
|
|
7
|
+
title?: string;
|
|
8
|
+
}) => import("react-toastify").Id;
|
|
9
|
+
readonly success: (message: string, opts?: {
|
|
10
|
+
title?: string;
|
|
11
|
+
}) => import("react-toastify").Id;
|
|
12
|
+
readonly error: (message: string, opts?: {
|
|
13
|
+
title?: string;
|
|
14
|
+
}) => import("react-toastify").Id;
|
|
15
|
+
};
|
|
16
|
+
readonly action: (opts: {
|
|
17
|
+
title?: string;
|
|
18
|
+
message: string;
|
|
19
|
+
actions: ToastAction[];
|
|
20
|
+
}) => import("react-toastify").Id;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=toast-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-helpers.d.ts","sourceRoot":"","sources":["../../src/components/toast-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,WAAW,EAGjB,MAAM,SAAS,CAAC;AAuDjB,eAAO,MAAM,KAAK;6BACA,MAAM;gCACH,MAAM;;iCAGP,MAAM,SAAS;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;oCAE9B,MAAM,SAAS;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;kCAEnC,MAAM,SAAS;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;4BAIrC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE;CAElE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { toast as toastify } from "react-toastify";
|
|
2
|
+
import { EphemeralToast, StatusToast, ActionToast, } from "./toast";
|
|
3
|
+
import React from "react";
|
|
4
|
+
function renderEphemeral(message, variant) {
|
|
5
|
+
toastify(React.createElement(EphemeralToast, { message, variant }), {
|
|
6
|
+
autoClose: 2500,
|
|
7
|
+
closeButton: false,
|
|
8
|
+
closeOnClick: true,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function renderStatus(message, variant, opts) {
|
|
12
|
+
const toastId = toastify(({ closeToast }) => React.createElement(StatusToast, {
|
|
13
|
+
message,
|
|
14
|
+
variant,
|
|
15
|
+
title: opts?.title,
|
|
16
|
+
onClose: () => closeToast?.(),
|
|
17
|
+
}), {
|
|
18
|
+
autoClose: 5000,
|
|
19
|
+
closeButton: false,
|
|
20
|
+
closeOnClick: false,
|
|
21
|
+
});
|
|
22
|
+
return toastId;
|
|
23
|
+
}
|
|
24
|
+
function renderAction(opts) {
|
|
25
|
+
const toastId = toastify(({ closeToast }) => React.createElement(ActionToast, {
|
|
26
|
+
message: opts.message,
|
|
27
|
+
title: opts.title,
|
|
28
|
+
actions: opts.actions,
|
|
29
|
+
onClose: () => closeToast?.(),
|
|
30
|
+
}), {
|
|
31
|
+
autoClose: false,
|
|
32
|
+
closeButton: false,
|
|
33
|
+
closeOnClick: false,
|
|
34
|
+
});
|
|
35
|
+
return toastId;
|
|
36
|
+
}
|
|
37
|
+
export const toast = {
|
|
38
|
+
info: (message) => renderEphemeral(message, "info"),
|
|
39
|
+
success: (message) => renderEphemeral(message, "success"),
|
|
40
|
+
status: {
|
|
41
|
+
info: (message, opts) => renderStatus(message, "info", opts),
|
|
42
|
+
success: (message, opts) => renderStatus(message, "success", opts),
|
|
43
|
+
error: (message, opts) => renderStatus(message, "error", opts),
|
|
44
|
+
},
|
|
45
|
+
action: (opts) => renderAction(opts),
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=toast-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast-helpers.js","sourceRoot":"","sources":["../../src/components/toast-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,GAIZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,SAAS,eAAe,CAAC,OAAe,EAAE,OAAyB;IACjE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE;QAClE,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CACnB,OAAe,EACf,OAAsB,EACtB,IAAyB;IAEzB,MAAM,OAAO,GAAG,QAAQ,CACtB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACjB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QAC/B,OAAO;QACP,OAAO;QACP,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE;KAC9B,CAAC,EACJ;QACE,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;KACpB,CACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,IAIrB;IACC,MAAM,OAAO,GAAG,QAAQ,CACtB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACjB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE;KAC9B,CAAC,EACJ;QACE,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;KACpB,CACF,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3D,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC;IAEjE,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,OAAe,EAAE,IAAyB,EAAE,EAAE,CACnD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;QACrC,OAAO,EAAE,CAAC,OAAe,EAAE,IAAyB,EAAE,EAAE,CACtD,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC;QACxC,KAAK,EAAE,CAAC,OAAe,EAAE,IAAyB,EAAE,EAAE,CACpD,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;KACvC;IAED,MAAM,EAAE,CAAC,IAAiE,EAAE,EAAE,CAC5E,YAAY,CAAC,IAAI,CAAC;CACZ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type EphemeralVariant = "info" | "success";
|
|
3
|
+
export type StatusVariant = "info" | "success" | "error";
|
|
4
|
+
export interface ToastAction {
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
onClick: () => void;
|
|
8
|
+
highlight?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function EphemeralToast({ message, variant, }: {
|
|
11
|
+
message: string;
|
|
12
|
+
variant: EphemeralVariant;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function StatusToast({ message, title, variant, onClose, }: {
|
|
15
|
+
message: string;
|
|
16
|
+
title?: string;
|
|
17
|
+
variant: StatusVariant;
|
|
18
|
+
onClose?: () => void;
|
|
19
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function ActionToast({ message, title, actions, onClose, }: {
|
|
21
|
+
message: string;
|
|
22
|
+
title?: string;
|
|
23
|
+
actions: ToastAction[];
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA0ID,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAgB,GACjB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,2CAWA;AAID,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,OAAgB,EAChB,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,2CA8BA;AAID,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,2CA0DA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* ── Self-contained SVG icons ─────────────────────────── */
|
|
3
|
+
function InfoIcon({ className }) {
|
|
4
|
+
return (_jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 1.667A8.333 8.333 0 1 0 10 18.333 8.333 8.333 0 0 0 10 1.667ZM10.833 6.667a.833.833 0 1 1-1.666 0 .833.833 0 0 1 1.666 0ZM10 8.75a.625.625 0 0 1 .625.625v4.375a.625.625 0 1 1-1.25 0V9.375A.625.625 0 0 1 10 8.75Z", fill: "var(--toast-icon-info, #3FC1FF)" }) }));
|
|
5
|
+
}
|
|
6
|
+
function CheckIcon({ className }) {
|
|
7
|
+
return (_jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M16.707 5.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L8 12.586l7.293-7.293a1 1 0 0 1 1.414 0Z", fill: "var(--toast-icon-success, #00A95D)" }) }));
|
|
8
|
+
}
|
|
9
|
+
function SuccessCircleIcon({ className }) {
|
|
10
|
+
return (_jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 1.667A8.333 8.333 0 1 0 10 18.333 8.333 8.333 0 0 0 10 1.667Zm3.577 6.077a.625.625 0 1 0-.904-.863L8.75 11.21 7.328 9.674a.625.625 0 1 0-.905.862l1.875 1.968a.625.625 0 0 0 .905 0l4.374-4.76Z", fill: "var(--toast-icon-success, #00A95D)" }) }));
|
|
11
|
+
}
|
|
12
|
+
function ErrorCircleIcon({ className }) {
|
|
13
|
+
return (_jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 1.667A8.333 8.333 0 1 0 10 18.333 8.333 8.333 0 0 0 10 1.667ZM10.833 6.667a.833.833 0 1 1-1.666 0 .833.833 0 0 1 1.666 0ZM10 8.75a.625.625 0 0 1 .625.625v4.375a.625.625 0 1 1-1.25 0V9.375A.625.625 0 0 1 10 8.75Z", fill: "var(--toast-icon-error, #AF1B45)" }) }));
|
|
14
|
+
}
|
|
15
|
+
function WarningIcon({ className }) {
|
|
16
|
+
return (_jsx("svg", { className: className, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 1.667A8.333 8.333 0 1 0 10 18.333 8.333 8.333 0 0 0 10 1.667ZM10.833 6.667a.833.833 0 1 1-1.666 0 .833.833 0 0 1 1.666 0ZM10 8.75a.625.625 0 0 1 .625.625v4.375a.625.625 0 1 1-1.25 0V9.375A.625.625 0 0 1 10 8.75Z", fill: "var(--toast-icon-warning, #AF1B45)" }) }));
|
|
17
|
+
}
|
|
18
|
+
function CloseIcon({ className }) {
|
|
19
|
+
return (_jsx("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M12.207 4.707a1 1 0 0 0-1.414-1.414L8 6.086 5.207 3.293a1 1 0 0 0-1.414 1.414L6.586 7.5l-2.793 2.793a1 1 0 1 0 1.414 1.414L8 8.914l2.793 2.793a1 1 0 0 0 1.414-1.414L9.414 7.5l2.793-2.793Z", fill: "var(--toast-text-secondary, #BFBFBF)" }) }));
|
|
20
|
+
}
|
|
21
|
+
/* ── Icon resolver per toast kind + variant ────────────── */
|
|
22
|
+
const EPHEMERAL_ICON = {
|
|
23
|
+
info: InfoIcon,
|
|
24
|
+
success: CheckIcon,
|
|
25
|
+
};
|
|
26
|
+
const STATUS_ICON = {
|
|
27
|
+
info: InfoIcon,
|
|
28
|
+
success: SuccessCircleIcon,
|
|
29
|
+
error: ErrorCircleIcon,
|
|
30
|
+
};
|
|
31
|
+
/* ── Ephemeral Toast ──────────────────────────────────── */
|
|
32
|
+
export function EphemeralToast({ message, variant = "info", }) {
|
|
33
|
+
const Icon = EPHEMERAL_ICON[variant];
|
|
34
|
+
return (_jsxs("div", { className: "casino-toast-ephemeral flex gap-3 items-start rounded-xl border border-(--toast-border,rgba(255,255,255,0.04)) bg-(--toast-bg,#1F1F1F) p-3 shadow-(--toast-shadow,0px_6px_15px_-3px_rgba(0,0,0,0.15)) w-[330px]", children: [_jsx(Icon, { className: "shrink-0" }), _jsx("p", { className: "text-sm font-normal text-(--toast-text-primary,#FFFFFF) leading-5 overflow-hidden text-ellipsis", children: message })] }));
|
|
35
|
+
}
|
|
36
|
+
/* ── Status Toast ─────────────────────────────────────── */
|
|
37
|
+
export function StatusToast({ message, title, variant = "info", onClose, }) {
|
|
38
|
+
const Icon = STATUS_ICON[variant];
|
|
39
|
+
return (_jsxs("div", { className: "casino-toast-status flex gap-2 rounded-xl border border-(--toast-border,rgba(255,255,255,0.04)) bg-(--toast-bg,#1F1F1F) p-3 shadow-(--toast-shadow,0px_6px_15px_-3px_rgba(0,0,0,0.15)) w-[354px] items-start", children: [_jsxs("div", { className: `flex gap-3 flex-1 min-w-0`, children: [_jsx(Icon, { className: "shrink-0" }), _jsxs("div", { className: "flex flex-col min-w-0", children: [title && (_jsx("p", { className: "text-base font-semibold text-(--toast-text-primary,#FFFFFF) leading-[19.2px] tracking-[-0.32px] overflow-hidden text-ellipsis", children: title })), _jsx("p", { className: "text-sm font-normal text-(--toast-text-secondary,#BFBFBF) leading-5 overflow-hidden text-ellipsis", children: message })] })] }), onClose && (_jsx("button", { type: "button", onClick: onClose, className: "shrink-0 cursor-pointer opacity-60 hover:opacity-100 transition-opacity", "aria-label": "Close", children: _jsx(CloseIcon, {}) }))] }));
|
|
40
|
+
}
|
|
41
|
+
/* ── Action Toast ─────────────────────────────────────── */
|
|
42
|
+
export function ActionToast({ message, title, actions, onClose, }) {
|
|
43
|
+
return (_jsxs("div", { className: "casino-toast-action flex gap-2 items-start rounded-xl border border-(--toast-border,rgba(255,255,255,0.04)) bg-(--toast-bg,#1F1F1F) p-3 shadow-(--toast-shadow,0px_6px_15px_-3px_rgba(0,0,0,0.15)) w-[354px]", children: [_jsxs("div", { className: "flex gap-3 items-start flex-1 min-w-0", children: [_jsx(WarningIcon, { className: "shrink-0 mt-px" }), _jsxs("div", { className: "flex flex-col gap-2 min-w-0", children: [_jsxs("div", { className: "flex flex-col", children: [title && (_jsx("p", { className: "text-base font-semibold text-(--toast-text-primary,#FFFFFF) leading-[19.2px] tracking-[-0.32px] overflow-hidden text-ellipsis", children: title })), _jsx("p", { className: "text-sm font-normal text-(--toast-text-secondary,#BFBFBF) leading-5 overflow-hidden text-ellipsis", children: message })] }), actions.length > 0 && (_jsx("div", { className: "flex gap-4 items-center", children: actions.map((action) => (_jsxs("button", { type: "button", onClick: action.onClick, className: "flex items-center gap-1 cursor-pointer", children: [action.icon && (_jsx("span", { className: "shrink-0 w-4 h-4 flex items-center justify-center", children: action.icon })), _jsx("span", { className: "text-sm font-semibold leading-[16.8px] whitespace-nowrap", style: {
|
|
44
|
+
color: action.highlight
|
|
45
|
+
? "var(--toast-action-highlight, #9FCC41)"
|
|
46
|
+
: "var(--toast-text-secondary, #BFBFBF)",
|
|
47
|
+
}, children: action.label })] }, action.label))) }))] })] }), onClose && (_jsx("button", { type: "button", onClick: onClose, className: "shrink-0 cursor-pointer opacity-60 hover:opacity-100 transition-opacity", "aria-label": "Close", children: _jsx(CloseIcon, {}) }))] }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/components/toast.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Dialog as DialogPrimitive } from "radix-ui";
|
|
3
|
+
declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DialogContent({ className, children, ...props }: React.ComponentProps<typeof DialogPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function DialogFooter({ className, children, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
14
|
+
//# sourceMappingURL=dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAIrD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAEtD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAErD;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,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;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,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAa7B;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Dialog as DialogPrimitive } from "radix-ui";
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
|
+
function Dialog({ ...props }) {
|
|
5
|
+
return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
6
|
+
}
|
|
7
|
+
function DialogTrigger({ ...props }) {
|
|
8
|
+
return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
9
|
+
}
|
|
10
|
+
function DialogPortal({ ...props }) {
|
|
11
|
+
return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
12
|
+
}
|
|
13
|
+
function DialogClose({ ...props }) {
|
|
14
|
+
return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
|
|
15
|
+
}
|
|
16
|
+
function DialogOverlay({ className, ...props }) {
|
|
17
|
+
return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0", className), ...props }));
|
|
18
|
+
}
|
|
19
|
+
function DialogContent({ className, children, ...props }) {
|
|
20
|
+
return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, {}), _jsx(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] bg-background shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg", className), ...props, children: children })] }));
|
|
21
|
+
}
|
|
22
|
+
function DialogHeader({ className, ...props }) {
|
|
23
|
+
return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex gap-2 text-center sm:text-left", className), ...props }));
|
|
24
|
+
}
|
|
25
|
+
function DialogFooter({ className, children, ...props }) {
|
|
26
|
+
return (_jsx("div", { "data-slot": "dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props, children: children }));
|
|
27
|
+
}
|
|
28
|
+
function DialogTitle({ className, ...props }) {
|
|
29
|
+
return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-lg leading-none font-semibold", className), ...props }));
|
|
30
|
+
}
|
|
31
|
+
function DialogDescription({ className, ...props }) {
|
|
32
|
+
return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
33
|
+
}
|
|
34
|
+
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
|
|
35
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,MAAM,CAAC,EACd,GAAG,KAAK,EAC0C;IAClD,OAAO,KAAC,eAAe,CAAC,IAAI,iBAAW,QAAQ,KAAK,KAAK,GAAI,CAAC;AAChE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EAC6C;IACrD,OAAO,KAAC,eAAe,CAAC,OAAO,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EAC4C;IACpD,OAAO,KAAC,eAAe,CAAC,MAAM,iBAAW,eAAe,KAAK,KAAK,GAAI,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC2C;IACnD,OAAO,KAAC,eAAe,CAAC,KAAK,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,eAAe,CAAC,OAAO,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,wJAAwJ,EACxJ,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,MAAC,YAAY,iBAAW,eAAe,aACrC,KAAC,aAAa,KAAG,EACjB,KAAC,eAAe,CAAC,OAAO,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,8VAA8V,EAC9V,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACe,IACb,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACxE,OAAO,CACL,2BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAC3D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACoB;IAC5B,OAAO,CACL,2BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C;IACnD,OAAO,CACL,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACiD;IACzD,OAAO,CACL,KAAC,eAAe,CAAC,WAAW,iBAChB,oBAAoB,EAC9B,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Drawer as DrawerPrimitive } from "vaul";
|
|
3
|
+
declare function Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function DrawerHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function DrawerFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
|
|
14
|
+
//# sourceMappingURL=drawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/components/ui/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAIjD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAEtD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAErD;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,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAoBtD;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
|