@simpleapps-com/augur-web 2.4.0 → 2026.11.1
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/EXPORTS.md +18 -189
- package/README.md +18 -364
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.d.ts +4 -5
- package/dist/accordion.d.ts.map +1 -0
- package/dist/add-to-cart-button.cjs.map +1 -1
- package/dist/add-to-cart-button.d.ts +5 -8
- package/dist/add-to-cart-button.d.ts.map +1 -0
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.d.ts +5 -7
- package/dist/breadcrumb.d.ts.map +1 -0
- package/dist/breadcrumbs.cjs.map +1 -1
- package/dist/breadcrumbs.d.ts +4 -4
- package/dist/breadcrumbs.d.ts.map +1 -0
- package/dist/button.cjs.map +1 -1
- package/dist/button.d.ts +7 -9
- package/dist/button.d.ts.map +1 -0
- package/dist/card.cjs.map +1 -1
- package/dist/card.d.ts +3 -4
- package/dist/card.d.ts.map +1 -0
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.d.ts +3 -4
- package/dist/checkbox.d.ts.map +1 -0
- package/dist/chunk-32XB3REY.cjs.map +1 -1
- package/dist/chunk-5VMEEKZ5.cjs.map +1 -1
- package/dist/chunk-5ZITWMV4.cjs.map +1 -1
- package/dist/chunk-76RSVRGB.cjs.map +1 -1
- package/dist/chunk-7EXXNELX.cjs.map +1 -1
- package/dist/chunk-BXMTQGKV.cjs.map +1 -1
- package/dist/chunk-EEJYDSXR.cjs +220 -0
- package/dist/chunk-EEJYDSXR.cjs.map +1 -0
- package/dist/chunk-GSR6SMQ2.cjs.map +1 -1
- package/dist/{chunk-OJ5G4BLS.js → chunk-JWTTXZDS.js} +15 -18
- package/dist/chunk-JWTTXZDS.js.map +1 -0
- package/dist/chunk-JXW4XE2P.cjs.map +1 -1
- package/dist/chunk-MAENILZP.cjs.map +1 -1
- package/dist/chunk-NEY26NNF.cjs.map +1 -1
- package/dist/{chunk-I5NVZORX.cjs → chunk-OQV27VC5.cjs} +15 -18
- package/dist/chunk-OQV27VC5.cjs.map +1 -0
- package/dist/{chunk-DCXYO3RB.js → chunk-PFEPE5UE.js} +7 -3
- package/dist/chunk-PFEPE5UE.js.map +1 -0
- package/dist/chunk-T52J3SHP.cjs.map +1 -1
- package/dist/chunk-UFL6PVLI.cjs.map +1 -1
- package/dist/chunk-VI2IE6RC.js +220 -0
- package/dist/chunk-VI2IE6RC.js.map +1 -0
- package/dist/chunk-VL6L4GDA.cjs.map +1 -1
- package/dist/chunk-WJUDOEVB.cjs.map +1 -1
- package/dist/chunk-XGKBDPGD.cjs.map +1 -1
- package/dist/{chunk-AE4GLYJE.cjs → chunk-YTBB63IE.cjs} +7 -3
- package/dist/chunk-YTBB63IE.cjs.map +1 -0
- package/dist/chunk-Z57QBVUC.cjs.map +1 -1
- package/dist/command.cjs +1 -0
- package/dist/command.cjs.map +1 -1
- package/dist/command.d.ts +13 -15
- package/dist/command.d.ts.map +1 -0
- package/dist/command.js +1 -0
- package/dist/command.js.map +1 -1
- package/dist/confirm-dialog.cjs.map +1 -1
- package/dist/confirm-dialog.d.ts +4 -6
- package/dist/confirm-dialog.d.ts.map +1 -0
- package/dist/data-table.cjs +35 -23
- package/dist/data-table.cjs.map +1 -1
- package/dist/data-table.d.ts +9 -11
- package/dist/data-table.d.ts.map +1 -0
- package/dist/data-table.js +34 -22
- package/dist/data-table.js.map +1 -1
- package/dist/detail-panel.cjs.map +1 -1
- package/dist/detail-panel.d.ts +6 -8
- package/dist/detail-panel.d.ts.map +1 -0
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.d.ts +6 -8
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dropdown-menu.cjs.map +1 -1
- package/dist/dropdown-menu.d.ts +5 -7
- package/dist/dropdown-menu.d.ts.map +1 -0
- package/dist/financing-widget.cjs +1 -3
- package/dist/financing-widget.cjs.map +1 -1
- package/dist/financing-widget.d.ts +5 -6
- package/dist/financing-widget.d.ts.map +1 -0
- package/dist/financing-widget.js +1 -3
- package/dist/financing-widget.js.map +1 -1
- package/dist/form-field.cjs.map +1 -1
- package/dist/form-field.d.ts +4 -5
- package/dist/form-field.d.ts.map +1 -0
- package/dist/form-input.cjs.map +1 -1
- package/dist/form-input.d.ts +4 -5
- package/dist/form-input.d.ts.map +1 -0
- package/dist/form-select.cjs.map +1 -1
- package/dist/form-select.d.ts +4 -5
- package/dist/form-select.d.ts.map +1 -0
- package/dist/form-textarea.cjs.map +1 -1
- package/dist/form-textarea.d.ts +4 -5
- package/dist/form-textarea.d.ts.map +1 -0
- package/dist/gtm.cjs +3 -2
- package/dist/gtm.cjs.map +1 -1
- package/dist/gtm.d.ts +12 -15
- package/dist/gtm.d.ts.map +1 -0
- package/dist/gtm.js +2 -1
- package/dist/input.cjs.map +1 -1
- package/dist/input.d.ts +4 -5
- package/dist/input.d.ts.map +1 -0
- package/dist/label.cjs.map +1 -1
- package/dist/label.d.ts +5 -7
- package/dist/label.d.ts.map +1 -0
- package/dist/list-view.cjs.map +1 -1
- package/dist/list-view.d.ts +5 -7
- package/dist/list-view.d.ts.map +1 -0
- package/dist/mdx-components.cjs +5 -2
- package/dist/mdx-components.cjs.map +1 -1
- package/dist/mdx-components.d.ts +11 -6
- package/dist/mdx-components.d.ts.map +1 -0
- package/dist/mdx-components.js +5 -2
- package/dist/mdx-components.js.map +1 -1
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.d.ts +5 -7
- package/dist/navigation-menu.d.ts.map +1 -0
- package/dist/pagination.cjs +3 -2
- package/dist/pagination.cjs.map +1 -1
- package/dist/pagination.d.ts +10 -14
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +2 -1
- package/dist/payment-modal.cjs +20 -19
- package/dist/payment-modal.cjs.map +1 -1
- package/dist/payment-modal.d.ts +5 -7
- package/dist/payment-modal.d.ts.map +1 -0
- package/dist/payment-modal.js +19 -18
- package/dist/payment-modal.js.map +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.d.ts +4 -5
- package/dist/popover.d.ts.map +1 -0
- package/dist/price-format.cjs.map +1 -1
- package/dist/price-format.d.ts +4 -5
- package/dist/price-format.d.ts.map +1 -0
- package/dist/price.cjs +4 -1
- package/dist/price.cjs.map +1 -1
- package/dist/price.d.ts +8 -22
- package/dist/price.d.ts.map +1 -0
- package/dist/price.js +4 -1
- package/dist/price.js.map +1 -1
- package/dist/provider.cjs +4 -2
- package/dist/provider.cjs.map +1 -1
- package/dist/provider.d.ts +7 -10
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +3 -1
- package/dist/provider.js.map +1 -1
- package/dist/quantity-input.cjs +27 -40
- package/dist/quantity-input.cjs.map +1 -1
- package/dist/quantity-input.d.ts +4 -5
- package/dist/quantity-input.d.ts.map +1 -0
- package/dist/quantity-input.js +27 -40
- package/dist/quantity-input.js.map +1 -1
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.d.ts +3 -4
- package/dist/radio-group.d.ts.map +1 -0
- package/dist/resource-tabs.cjs +1 -0
- package/dist/resource-tabs.cjs.map +1 -1
- package/dist/resource-tabs.d.ts +6 -8
- package/dist/resource-tabs.d.ts.map +1 -0
- package/dist/resource-tabs.js +1 -0
- package/dist/resource-tabs.js.map +1 -1
- package/dist/rules.d.ts +210 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/select.cjs.map +1 -1
- package/dist/select.d.ts +4 -5
- package/dist/select.d.ts.map +1 -0
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.d.ts +3 -4
- package/dist/separator.d.ts.map +1 -0
- package/dist/session-replay.cjs +4 -2
- package/dist/session-replay.cjs.map +1 -1
- package/dist/session-replay.d.ts +4 -5
- package/dist/session-replay.d.ts.map +1 -0
- package/dist/session-replay.js +4 -2
- package/dist/session-replay.js.map +1 -1
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.d.ts +2 -4
- package/dist/skeleton.d.ts.map +1 -0
- package/dist/spinner.cjs.map +1 -1
- package/dist/spinner.d.ts +2 -4
- package/dist/spinner.d.ts.map +1 -0
- package/dist/stock-label.cjs +14 -12
- package/dist/stock-label.cjs.map +1 -1
- package/dist/stock-label.d.ts +7 -7
- package/dist/stock-label.d.ts.map +1 -0
- package/dist/stock-label.js +14 -12
- package/dist/stock-label.js.map +1 -1
- package/dist/table.cjs.map +1 -1
- package/dist/table.d.ts +3 -4
- package/dist/table.d.ts.map +1 -0
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.d.ts +4 -5
- package/dist/tabs.d.ts.map +1 -0
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.d.ts +4 -5
- package/dist/textarea.d.ts.map +1 -0
- package/llms.txt +23 -38
- package/package.json +26 -17
- package/dist/accordion.d.cts +0 -9
- package/dist/add-to-cart-button.d.cts +0 -14
- package/dist/breadcrumb.d.cts +0 -22
- package/dist/breadcrumbs.d.cts +0 -31
- package/dist/button.d.cts +0 -27
- package/dist/card.d.cts +0 -10
- package/dist/checkbox.d.cts +0 -6
- package/dist/chunk-AE4GLYJE.cjs.map +0 -1
- package/dist/chunk-DCXYO3RB.js.map +0 -1
- package/dist/chunk-I5NVZORX.cjs.map +0 -1
- package/dist/chunk-OJ5G4BLS.js.map +0 -1
- package/dist/command.d.cts +0 -87
- package/dist/confirm-dialog.d.cts +0 -35
- package/dist/data-table.d.cts +0 -55
- package/dist/detail-panel.d.cts +0 -59
- package/dist/dialog.d.cts +0 -22
- package/dist/dropdown-menu.d.cts +0 -30
- package/dist/financing-widget.d.cts +0 -45
- package/dist/form-field.d.cts +0 -14
- package/dist/form-input.d.cts +0 -19
- package/dist/form-select.d.cts +0 -34
- package/dist/form-textarea.d.cts +0 -12
- package/dist/gtm.d.cts +0 -69
- package/dist/input.d.cts +0 -6
- package/dist/label.d.cts +0 -8
- package/dist/list-view.d.cts +0 -18
- package/dist/mdx-components.d.cts +0 -20
- package/dist/navigation-menu.d.cts +0 -15
- package/dist/pagination.d.cts +0 -50
- package/dist/payment-modal.d.cts +0 -30
- package/dist/popover.d.cts +0 -9
- package/dist/price-format.d.cts +0 -21
- package/dist/price.d.cts +0 -90
- package/dist/provider.d.cts +0 -47
- package/dist/quantity-input.d.cts +0 -33
- package/dist/radio-group.d.cts +0 -7
- package/dist/resource-tabs.d.cts +0 -33
- package/dist/select.d.cts +0 -15
- package/dist/separator.d.cts +0 -6
- package/dist/session-replay.d.cts +0 -44
- package/dist/skeleton.d.cts +0 -5
- package/dist/spinner.d.cts +0 -10
- package/dist/stock-label.d.cts +0 -47
- package/dist/table.d.cts +0 -12
- package/dist/tabs.d.cts +0 -9
- package/dist/textarea.d.cts +0 -6
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
isFirstPage,
|
|
4
|
+
isLastPage,
|
|
5
|
+
nextTarget,
|
|
6
|
+
pageNumbersOf,
|
|
7
|
+
prevTarget
|
|
8
|
+
} from "./chunk-VI2IE6RC.js";
|
|
2
9
|
import {
|
|
3
10
|
buttonVariants
|
|
4
11
|
} from "./chunk-QICSGVX3.js";
|
|
@@ -86,19 +93,9 @@ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsxs(
|
|
|
86
93
|
);
|
|
87
94
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
88
95
|
function getPageNumbers(current, total) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (total <= 5) {
|
|
93
|
-
return Array.from({ length: total }, (_, i) => i + 1);
|
|
94
|
-
}
|
|
95
|
-
if (page <= 3) {
|
|
96
|
-
return [1, 2, 3, 4, "ellipsis", total];
|
|
97
|
-
}
|
|
98
|
-
if (page >= total - 2) {
|
|
99
|
-
return [1, "ellipsis", total - 3, total - 2, total - 1, total];
|
|
100
|
-
}
|
|
101
|
-
return [1, "ellipsis", page - 1, page, page + 1, "ellipsis", total];
|
|
96
|
+
return pageNumbersOf(current, total).map(
|
|
97
|
+
(entry) => entry.kind === "page" ? entry.n : "ellipsis"
|
|
98
|
+
);
|
|
102
99
|
}
|
|
103
100
|
var ListPagination = ({
|
|
104
101
|
page,
|
|
@@ -109,8 +106,8 @@ var ListPagination = ({
|
|
|
109
106
|
}) => {
|
|
110
107
|
if (totalPages <= 1) return null;
|
|
111
108
|
const pages = getPageNumbers(page, totalPages);
|
|
112
|
-
const isFirst = page
|
|
113
|
-
const isLast = page
|
|
109
|
+
const isFirst = isFirstPage(page);
|
|
110
|
+
const isLast = isLastPage(page, totalPages);
|
|
114
111
|
const handleClick = (target) => (e) => {
|
|
115
112
|
if (onPageChange) {
|
|
116
113
|
e.preventDefault();
|
|
@@ -122,7 +119,7 @@ var ListPagination = ({
|
|
|
122
119
|
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
123
120
|
PaginationPrevious,
|
|
124
121
|
{
|
|
125
|
-
href:
|
|
122
|
+
href: getHref(prevTarget(page)),
|
|
126
123
|
"aria-disabled": isFirst || void 0,
|
|
127
124
|
className: isFirst ? "pointer-events-none opacity-50" : void 0,
|
|
128
125
|
onClick: isFirst ? preventDisabled : handleClick(page - 1)
|
|
@@ -142,7 +139,7 @@ var ListPagination = ({
|
|
|
142
139
|
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
143
140
|
PaginationNext,
|
|
144
141
|
{
|
|
145
|
-
href:
|
|
142
|
+
href: getHref(nextTarget(page, totalPages)),
|
|
146
143
|
"aria-disabled": isLast || void 0,
|
|
147
144
|
className: isLast ? "pointer-events-none opacity-50" : void 0,
|
|
148
145
|
onClick: isLast ? preventDisabled : handleClick(page + 1)
|
|
@@ -163,4 +160,4 @@ export {
|
|
|
163
160
|
getPageNumbers,
|
|
164
161
|
ListPagination
|
|
165
162
|
};
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-JWTTXZDS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/pagination.tsx"],"sourcesContent":["/** Pagination navigation components, styled with buttonVariants. */\n\"use client\";\n\nimport * as React from \"react\";\nimport { LuChevronLeft, LuChevronRight, LuEllipsis } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { type ButtonProps, buttonVariants } from \"./button\";\nimport { isFirstPage, isLastPage, nextTarget, pageNumbersOf, prevTarget } from \"./rules\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\n ({ className, ...props }, ref) => (\n <ul ref={ref} className={cn(\"flex flex-row items-center gap-1\", className)} {...props} />\n ),\n);\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\n ({ className, ...props }, ref) => <li ref={ref} className={cn(\"\", className)} {...props} />,\n);\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"a\">;\n\nconst PaginationLink = ({ className, isActive, size = \"icon\", ...props }: PaginationLinkProps) => (\n <a\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className,\n )}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 pl-2.5\", className)}\n {...props}\n >\n <LuChevronLeft className=\"h-4 w-4\" />\n <span>Prev</span>\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 pr-2.5\", className)}\n {...props}\n >\n <span>Next</span>\n <LuChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<\"span\">) => (\n <span\n aria-hidden\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <LuEllipsis className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n);\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\n/** Build an array of page numbers and ellipsis markers for pagination UI. */\nfunction getPageNumbers(current: number, total: number): (number | \"ellipsis\")[] {\n return pageNumbersOf(current, total).map((entry) =>\n entry.kind === \"page\" ? entry.n : \"ellipsis\",\n );\n}\n\ntype ListPaginationProps = {\n /** Current page number (1-indexed). */\n page: number;\n /** Total number of pages. */\n totalPages: number;\n /** Builds a crawlable href for each page link (required for SEO). */\n getHref: (page: number) => string;\n /** Optional client-side callback layered on top of href navigation. */\n onPageChange?: (page: number) => void;\n className?: string;\n};\n\nconst ListPagination = ({\n page,\n totalPages,\n getHref,\n onPageChange,\n className,\n}: ListPaginationProps) => {\n if (totalPages <= 1) return null;\n\n const pages = getPageNumbers(page, totalPages);\n const isFirst = isFirstPage(page);\n const isLast = isLastPage(page, totalPages);\n\n const handleClick = (target: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n e.preventDefault();\n onPageChange(target);\n }\n };\n\n // Disabled Prev/Next keep an href for layout, but MUST NOT navigate\n // (pointer-events-none blocks the mouse, not keyboard activation).\n const preventDisabled = (e: React.MouseEvent) => e.preventDefault();\n\n return (\n <Pagination className={className}>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n href={getHref(prevTarget(page))}\n aria-disabled={isFirst || undefined}\n className={isFirst ? \"pointer-events-none opacity-50\" : undefined}\n onClick={isFirst ? preventDisabled : handleClick(page - 1)}\n />\n </PaginationItem>\n\n {pages.map((entry, i) =>\n entry === \"ellipsis\" ? (\n <PaginationItem key={`ellipsis-${i}`}>\n <PaginationEllipsis />\n </PaginationItem>\n ) : (\n <PaginationItem key={entry}>\n <PaginationLink\n href={getHref(entry)}\n isActive={entry === page}\n onClick={handleClick(entry)}\n >\n {entry}\n </PaginationLink>\n </PaginationItem>\n ),\n )}\n\n <PaginationItem>\n <PaginationNext\n href={getHref(nextTarget(page, totalPages))}\n aria-disabled={isLast || undefined}\n className={isLast ? \"pointer-events-none opacity-50\" : undefined}\n onClick={isLast ? preventDisabled : handleClick(page + 1)}\n />\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n );\n};\nListPagination.displayName = \"ListPagination\";\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n getPageNumbers,\n ListPagination,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/chunk-JXW4XE2P.cjs","../src/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-web/dist/chunk-JXW4XE2P.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-dropdown-menu. See https://www.radix-ui.com/primitives/docs/components/dropdown-menu */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { LuCheck, LuChevronRight, LuCircle } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <LuChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"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 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"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 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCheck className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCircle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-JXW4XE2P.cjs","../src/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-JXW4XE2P.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-dropdown-menu. See https://www.radix-ui.com/primitives/docs/components/dropdown-menu */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { LuCheck, LuChevronRight, LuCircle } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <LuChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"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 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"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 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCheck className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <LuCircle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ComponentRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"bg-muted -mx-1 my-1 h-px\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-MAENILZP.cjs","../src/label.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACA;ACCA,2EAAuB;AACvB,8GAAgC;AAChC,kEAAuC;AACvC,sDAAmB;AAUjB,+CAAA;AARF,IAAM,cAAA,EAAgB,yCAAA;AAAA,EACpB;AACF,CAAA;AAEA,IAAM,MAAA,EAAc,KAAA,CAAA,UAAA,CAGlB,CAAC,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAG,GAAA,EAAA,mBAC1B,6BAAA,cAAgB,CAAA,IAAA,EAAf,EAAoB,GAAA,EAAU,SAAA,EAAW,qBAAA,aAAG,CAAc,CAAA,EAAG,SAAS,CAAA,EAAI,GAAG,MAAA,CAAO,CACtF,CAAA;AACD,KAAA,CAAM,YAAA,EAA6B,cAAA,CAAA,IAAA,CAAK,WAAA;ADLxC;AACA;AACE;AACF,sBAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-MAENILZP.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-label. See https://www.radix-ui.com/primitives/docs/components/label */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ComponentRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-NEY26NNF.cjs","../src/table.tsx"],"names":[],"mappings":"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","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-NEY26NNF.cjs","sourcesContent":[null,"/** Styled HTML table with responsive overflow wrapper. */\n\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(\n ({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table ref={ref} className={cn(\"w-full caption-bottom text-sm\", className)} {...props} />\n </div>\n ),\n);\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={cn(\"[&_tr:last-child]:border-0\", className)} {...props} />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\", className)}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n ),\n);\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"text-muted-foreground h-10 px-2 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption ref={ref} className={cn(\"text-muted-foreground mt-4 text-sm\", className)} {...props} />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"]}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkEEJYDSXRcjs = require('./chunk-EEJYDSXR.cjs');
|
|
9
|
+
|
|
10
|
+
|
|
4
11
|
var _chunkVL6L4GDAcjs = require('./chunk-VL6L4GDA.cjs');
|
|
5
12
|
|
|
6
13
|
// src/pagination.tsx
|
|
@@ -86,19 +93,9 @@ var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ _jsxruntim
|
|
|
86
93
|
);
|
|
87
94
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
88
95
|
function getPageNumbers(current, total) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (total <= 5) {
|
|
93
|
-
return Array.from({ length: total }, (_, i) => i + 1);
|
|
94
|
-
}
|
|
95
|
-
if (page <= 3) {
|
|
96
|
-
return [1, 2, 3, 4, "ellipsis", total];
|
|
97
|
-
}
|
|
98
|
-
if (page >= total - 2) {
|
|
99
|
-
return [1, "ellipsis", total - 3, total - 2, total - 1, total];
|
|
100
|
-
}
|
|
101
|
-
return [1, "ellipsis", page - 1, page, page + 1, "ellipsis", total];
|
|
96
|
+
return _chunkEEJYDSXRcjs.pageNumbersOf.call(void 0, current, total).map(
|
|
97
|
+
(entry) => entry.kind === "page" ? entry.n : "ellipsis"
|
|
98
|
+
);
|
|
102
99
|
}
|
|
103
100
|
var ListPagination = ({
|
|
104
101
|
page,
|
|
@@ -109,8 +106,8 @@ var ListPagination = ({
|
|
|
109
106
|
}) => {
|
|
110
107
|
if (totalPages <= 1) return null;
|
|
111
108
|
const pages = getPageNumbers(page, totalPages);
|
|
112
|
-
const isFirst =
|
|
113
|
-
const isLast = page
|
|
109
|
+
const isFirst = _chunkEEJYDSXRcjs.isFirstPage.call(void 0, page);
|
|
110
|
+
const isLast = _chunkEEJYDSXRcjs.isLastPage.call(void 0, page, totalPages);
|
|
114
111
|
const handleClick = (target) => (e) => {
|
|
115
112
|
if (onPageChange) {
|
|
116
113
|
e.preventDefault();
|
|
@@ -122,7 +119,7 @@ var ListPagination = ({
|
|
|
122
119
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaginationItem, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
123
120
|
PaginationPrevious,
|
|
124
121
|
{
|
|
125
|
-
href:
|
|
122
|
+
href: getHref(_chunkEEJYDSXRcjs.prevTarget.call(void 0, page)),
|
|
126
123
|
"aria-disabled": isFirst || void 0,
|
|
127
124
|
className: isFirst ? "pointer-events-none opacity-50" : void 0,
|
|
128
125
|
onClick: isFirst ? preventDisabled : handleClick(page - 1)
|
|
@@ -142,7 +139,7 @@ var ListPagination = ({
|
|
|
142
139
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaginationItem, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
143
140
|
PaginationNext,
|
|
144
141
|
{
|
|
145
|
-
href:
|
|
142
|
+
href: getHref(_chunkEEJYDSXRcjs.nextTarget.call(void 0, page, totalPages)),
|
|
146
143
|
"aria-disabled": isLast || void 0,
|
|
147
144
|
className: isLast ? "pointer-events-none opacity-50" : void 0,
|
|
148
145
|
onClick: isLast ? preventDisabled : handleClick(page + 1)
|
|
@@ -163,4 +160,4 @@ ListPagination.displayName = "ListPagination";
|
|
|
163
160
|
|
|
164
161
|
|
|
165
162
|
exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.PaginationEllipsis = PaginationEllipsis; exports.getPageNumbers = getPageNumbers; exports.ListPagination = ListPagination;
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-OQV27VC5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-OQV27VC5.cjs","../src/pagination.tsx"],"names":[],"mappings":"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","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-OQV27VC5.cjs","sourcesContent":[null,"/** Pagination navigation components, styled with buttonVariants. */\n\"use client\";\n\nimport * as React from \"react\";\nimport { LuChevronLeft, LuChevronRight, LuEllipsis } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\nimport { type ButtonProps, buttonVariants } from \"./button\";\nimport { isFirstPage, isLastPage, nextTarget, pageNumbersOf, prevTarget } from \"./rules\";\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n);\nPagination.displayName = \"Pagination\";\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\n ({ className, ...props }, ref) => (\n <ul ref={ref} className={cn(\"flex flex-row items-center gap-1\", className)} {...props} />\n ),\n);\nPaginationContent.displayName = \"PaginationContent\";\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\n ({ className, ...props }, ref) => <li ref={ref} className={cn(\"\", className)} {...props} />,\n);\nPaginationItem.displayName = \"PaginationItem\";\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"a\">;\n\nconst PaginationLink = ({ className, isActive, size = \"icon\", ...props }: PaginationLinkProps) => (\n <a\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className,\n )}\n {...props}\n />\n);\nPaginationLink.displayName = \"PaginationLink\";\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 pl-2.5\", className)}\n {...props}\n >\n <LuChevronLeft className=\"h-4 w-4\" />\n <span>Prev</span>\n </PaginationLink>\n);\nPaginationPrevious.displayName = \"PaginationPrevious\";\n\nconst PaginationNext = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 pr-2.5\", className)}\n {...props}\n >\n <span>Next</span>\n <LuChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n);\nPaginationNext.displayName = \"PaginationNext\";\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<\"span\">) => (\n <span\n aria-hidden\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <LuEllipsis className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n);\nPaginationEllipsis.displayName = \"PaginationEllipsis\";\n\n/** Build an array of page numbers and ellipsis markers for pagination UI. */\nfunction getPageNumbers(current: number, total: number): (number | \"ellipsis\")[] {\n return pageNumbersOf(current, total).map((entry) =>\n entry.kind === \"page\" ? entry.n : \"ellipsis\",\n );\n}\n\ntype ListPaginationProps = {\n /** Current page number (1-indexed). */\n page: number;\n /** Total number of pages. */\n totalPages: number;\n /** Builds a crawlable href for each page link (required for SEO). */\n getHref: (page: number) => string;\n /** Optional client-side callback layered on top of href navigation. */\n onPageChange?: (page: number) => void;\n className?: string;\n};\n\nconst ListPagination = ({\n page,\n totalPages,\n getHref,\n onPageChange,\n className,\n}: ListPaginationProps) => {\n if (totalPages <= 1) return null;\n\n const pages = getPageNumbers(page, totalPages);\n const isFirst = isFirstPage(page);\n const isLast = isLastPage(page, totalPages);\n\n const handleClick = (target: number) => (e: React.MouseEvent) => {\n if (onPageChange) {\n e.preventDefault();\n onPageChange(target);\n }\n };\n\n // Disabled Prev/Next keep an href for layout, but MUST NOT navigate\n // (pointer-events-none blocks the mouse, not keyboard activation).\n const preventDisabled = (e: React.MouseEvent) => e.preventDefault();\n\n return (\n <Pagination className={className}>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n href={getHref(prevTarget(page))}\n aria-disabled={isFirst || undefined}\n className={isFirst ? \"pointer-events-none opacity-50\" : undefined}\n onClick={isFirst ? preventDisabled : handleClick(page - 1)}\n />\n </PaginationItem>\n\n {pages.map((entry, i) =>\n entry === \"ellipsis\" ? (\n <PaginationItem key={`ellipsis-${i}`}>\n <PaginationEllipsis />\n </PaginationItem>\n ) : (\n <PaginationItem key={entry}>\n <PaginationLink\n href={getHref(entry)}\n isActive={entry === page}\n onClick={handleClick(entry)}\n >\n {entry}\n </PaginationLink>\n </PaginationItem>\n ),\n )}\n\n <PaginationItem>\n <PaginationNext\n href={getHref(nextTarget(page, totalPages))}\n aria-disabled={isLast || undefined}\n className={isLast ? \"pointer-events-none opacity-50\" : undefined}\n onClick={isLast ? preventDisabled : handleClick(page + 1)}\n />\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n );\n};\nListPagination.displayName = \"ListPagination\";\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n getPageNumbers,\n ListPagination,\n};\n"]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import {
|
|
3
|
+
gtmTiming
|
|
4
|
+
} from "./chunk-VI2IE6RC.js";
|
|
2
5
|
|
|
3
6
|
// src/gtm.tsx
|
|
4
7
|
import { createContext, useCallback, useContext, useMemo, useRef, useState } from "react";
|
|
@@ -38,12 +41,13 @@ function AnalyticsProvider({
|
|
|
38
41
|
const loadGtm = useCallback(() => {
|
|
39
42
|
if (injectedRef.current) return;
|
|
40
43
|
injectedRef.current = true;
|
|
41
|
-
|
|
44
|
+
const timing = gtmTiming(strategy, typeof requestIdleCallback === "function");
|
|
45
|
+
if (timing === "idle") {
|
|
42
46
|
requestIdleCallback(() => {
|
|
43
47
|
injectGtmScript(gtmId, strategy);
|
|
44
48
|
setIsLoaded(true);
|
|
45
49
|
});
|
|
46
|
-
} else if (
|
|
50
|
+
} else if (timing === "next-tick") {
|
|
47
51
|
setTimeout(() => {
|
|
48
52
|
injectGtmScript(gtmId, strategy);
|
|
49
53
|
setIsLoaded(true);
|
|
@@ -122,4 +126,4 @@ export {
|
|
|
122
126
|
useAnalytics,
|
|
123
127
|
AnalyticsNoscript
|
|
124
128
|
};
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-PFEPE5UE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gtm.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { gtmTiming } from \"./rules\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Script loading strategy. */\nexport type AnalyticsStrategy = \"default\" | \"afterInteractive\" | \"lazyOnload\";\n\n/** GA4 standard e-commerce event names. */\nexport type EcommerceEvent =\n | \"view_item\"\n | \"view_item_list\"\n | \"select_item\"\n | \"add_to_cart\"\n | \"remove_from_cart\"\n | \"view_cart\"\n | \"begin_checkout\"\n | \"add_shipping_info\"\n | \"add_payment_info\"\n | \"purchase\"\n | \"refund\";\n\n/** GA4 e-commerce item shape. */\nexport interface EcommerceItem {\n item_id: string;\n item_name?: string;\n item_brand?: string;\n item_category?: string;\n item_variant?: string;\n price?: number;\n quantity?: number;\n index?: number;\n [key: string]: unknown;\n}\n\n/** Parameters for e-commerce events. */\nexport interface EcommerceParams {\n currency?: string;\n value?: number;\n items?: EcommerceItem[];\n transaction_id?: string;\n shipping?: number;\n tax?: number;\n coupon?: string;\n [key: string]: unknown;\n}\n\nexport interface AnalyticsProviderProps {\n /** GTM container ID (e.g. \"GTM-XXXXX\"). */\n gtmId: string;\n /** Script loading strategy. Default: \"afterInteractive\". */\n strategy?: AnalyticsStrategy;\n /** Delay GTM loading until consent is granted. Default: false. */\n consentRequired?: boolean;\n /** Log dataLayer pushes to console. Default: false. */\n debug?: boolean;\n children: ReactNode;\n}\n\nexport interface AnalyticsContextValue {\n /** Push a custom event to the dataLayer. */\n trackEvent: (event: string, params?: Record<string, unknown>) => void;\n /** Push a GA4 e-commerce event to the dataLayer. */\n trackEcommerceEvent: (event: EcommerceEvent, params: EcommerceParams) => void;\n /** Grant consent — loads GTM if consentRequired was true. */\n grantConsent: () => void;\n /** Revoke consent. Does not unload GTM (scripts can't be unloaded). */\n revokeConsent: () => void;\n /** Whether consent has been granted. */\n hasConsent: boolean;\n /** Whether the GTM script has been injected. */\n isLoaded: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\nconst AnalyticsContext = createContext<AnalyticsContextValue | null>(null);\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\ndeclare global {\n interface Window {\n dataLayer?: Record<string, unknown>[];\n }\n}\n\n// Analytics calls can come from callbacks and timers after the page has gone.\nfunction getDataLayer(): Record<string, unknown>[] {\n if (typeof window === \"undefined\") return [];\n if (!window.dataLayer) window.dataLayer = [];\n return window.dataLayer;\n}\n\nfunction injectGtmScript(gtmId: string, strategy: AnalyticsStrategy): void {\n if (typeof document === \"undefined\") return;\n\n // Prevent double-injection\n if (document.getElementById(\"gtm-script\")) return;\n\n const dataLayer = getDataLayer();\n dataLayer.push({ \"gtm.start\": new Date().getTime(), event: \"gtm.js\" });\n\n const script = document.createElement(\"script\");\n script.id = \"gtm-script\";\n script.src = `https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(gtmId)}`;\n\n if (strategy === \"lazyOnload\") {\n script.async = true;\n script.defer = true;\n } else {\n // \"default\" and \"afterInteractive\"\n script.async = true;\n }\n\n document.head.appendChild(script);\n}\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\nexport function AnalyticsProvider({\n gtmId,\n strategy = \"afterInteractive\",\n consentRequired = false,\n debug = false,\n children,\n}: AnalyticsProviderProps) {\n const [hasConsent, setHasConsent] = useState(!consentRequired);\n const [isLoaded, setIsLoaded] = useState(false);\n const injectedRef = useRef(false);\n\n const loadGtm = useCallback(() => {\n if (injectedRef.current) return;\n injectedRef.current = true;\n\n const timing = gtmTiming(strategy, typeof requestIdleCallback === \"function\");\n if (timing === \"idle\") {\n requestIdleCallback(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n });\n } else if (timing === \"next-tick\") {\n // Defer to after hydration\n setTimeout(() => {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }, 0);\n } else {\n injectGtmScript(gtmId, strategy);\n setIsLoaded(true);\n }\n }, [gtmId, strategy]);\n\n // Auto-load when consent is not required or already granted (never while server-rendering)\n if (hasConsent && !injectedRef.current && typeof window !== \"undefined\") {\n loadGtm();\n }\n\n const trackEvent = useCallback(\n (event: string, params?: Record<string, unknown>) => {\n const entry = { event, ...params };\n if (debug) {\n console.log(\"[Analytics]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const trackEcommerceEvent = useCallback(\n (event: EcommerceEvent, params: EcommerceParams) => {\n // Clear previous ecommerce data per GA4 best practices\n getDataLayer().push({ ecommerce: null });\n const entry = { event, ecommerce: params };\n if (debug) {\n console.log(\"[Analytics ecommerce]\", entry);\n }\n getDataLayer().push(entry);\n },\n [debug],\n );\n\n const grantConsent = useCallback(() => {\n setHasConsent(true);\n loadGtm();\n }, [loadGtm]);\n\n const revokeConsent = useCallback(() => {\n setHasConsent(false);\n }, []);\n\n const value = useMemo<AnalyticsContextValue>(\n () => ({\n trackEvent,\n trackEcommerceEvent,\n grantConsent,\n revokeConsent,\n hasConsent,\n isLoaded,\n }),\n [trackEvent, trackEcommerceEvent, grantConsent, revokeConsent, hasConsent, isLoaded],\n );\n\n return <AnalyticsContext.Provider value={value}>{children}</AnalyticsContext.Provider>;\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\nexport function useAnalytics(): AnalyticsContextValue {\n const context = useContext(AnalyticsContext);\n if (!context) {\n throw new Error(\"useAnalytics must be used within an <AnalyticsProvider>\");\n }\n return context;\n}\n\n// ---------------------------------------------------------------------------\n// Noscript\n// ---------------------------------------------------------------------------\n\nexport interface AnalyticsNoscriptProps {\n /** GTM container ID (must match AnalyticsProvider). */\n gtmId: string;\n}\n\nexport function AnalyticsNoscript({ gtmId }: AnalyticsNoscriptProps) {\n return (\n <noscript>\n <iframe\n src={`https://www.googletagmanager.com/ns.html?id=${encodeURIComponent(gtmId)}`}\n height=\"0\"\n width=\"0\"\n style={{ display: \"none\", visibility: \"hidden\" }}\n title=\"Google Tag Manager\"\n />\n </noscript>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-T52J3SHP.cjs","../src/dialog.tsx"],"names":[],"mappings":"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","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-T52J3SHP.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-dialog. See https://www.radix-ui.com/primitives/docs/components/dialog */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { LuX } from \"react-icons/lu\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"bg-background 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none\">\n <LuX className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className)} {...props} />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ComponentRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-UFL6PVLI.cjs","../src/tabs.tsx"],"names":[],"mappings":"AAAA,uWAAY;AACZ;AACA;ACCA,2EAAuB;AACvB,0GAA+B;AAC/B,sDAAmB;AAQjB,+CAAA;AANF,IAAM,KAAA,EAAqB,aAAA,CAAA,IAAA;AAE3B,IAAM,SAAA,EAAiB,KAAA,CAAA,UAAA,CAGrB,CAAC,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAG,GAAA,EAAA,mBAC1B,6BAAA;AAAA,EAAe,aAAA,CAAA,IAAA;AAAA,EAAd;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,qBAAA;AAAA,MACT,2FAAA;AAAA,MACA;AAAA,IACF,CAAA;AAAA,IACC,GAAG;AAAA,EAAA;AACN,CACD,CAAA;AACD,QAAA,CAAS,YAAA,EAA4B,aAAA,CAAA,IAAA,CAAK,WAAA;AAE1C,IAAM,YAAA,EAAoB,KAAA,CAAA,UAAA,CAGxB,CAAC,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAG,GAAA,EAAA,mBAC1B,6BAAA;AAAA,EAAe,aAAA,CAAA,OAAA;AAAA,EAAd;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,qBAAA;AAAA,MACT,gYAAA;AAAA,MACA;AAAA,IACF,CAAA;AAAA,IACC,GAAG;AAAA,EAAA;AACN,CACD,CAAA;AACD,WAAA,CAAY,YAAA,EAA4B,aAAA,CAAA,OAAA,CAAQ,WAAA;AAEhD,IAAM,YAAA,EAAoB,KAAA,CAAA,UAAA,CAGxB,CAAC,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAG,GAAA,EAAA,mBAC1B,6BAAA;AAAA,EAAe,aAAA,CAAA,OAAA;AAAA,EAAd;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,qBAAA;AAAA,MACT,iIAAA;AAAA,MACA;AAAA,IACF,CAAA;AAAA,IACC,GAAG;AAAA,EAAA;AACN,CACD,CAAA;AACD,WAAA,CAAY,YAAA,EAA4B,aAAA,CAAA,OAAA,CAAQ,WAAA;ADRhD;AACA;AACE;AACA;AACA;AACA;AACF,uHAAC","file":"/Users/stuartjackson/Projects/simpleapps/atlas/repo/packages/augur-web/dist/chunk-UFL6PVLI.cjs","sourcesContent":[null,"/** Styled wrapper around @radix-ui/react-tabs. See https://www.radix-ui.com/primitives/docs/components/tabs */\n\"use client\";\n\nimport * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { cn } from \"@simpleapps-com/augur-utils/web\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1\",\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow\",\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ComponentRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// ../utils/src/strings.ts
|
|
4
|
+
function codeAt(s, i) {
|
|
5
|
+
return i >= 0 && i < s.length ? s.charCodeAt(i) : -1;
|
|
6
|
+
}
|
|
7
|
+
function indexOfCode(s, code, from) {
|
|
8
|
+
const c = codeAt(s, from);
|
|
9
|
+
if (c === code) return from;
|
|
10
|
+
if (c === -1) return -1;
|
|
11
|
+
return indexOfCode(s, code, from + 1);
|
|
12
|
+
}
|
|
13
|
+
function startsWithAt(s, x, pos) {
|
|
14
|
+
const at = Math.min(pos, s.length);
|
|
15
|
+
return s.slice(at, Math.min(at + x.length, s.length)) === x;
|
|
16
|
+
}
|
|
17
|
+
function untilCode(s, code) {
|
|
18
|
+
const k = indexOfCode(s, code, 0);
|
|
19
|
+
return k >= 0 ? s.slice(0, k) : s;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// ../utils/src/replace.ts
|
|
23
|
+
function codeIndex(codes, c, i) {
|
|
24
|
+
if (i === codes.length) return -1;
|
|
25
|
+
return codes[i] === c ? i : codeIndex(codes, c, i + 1);
|
|
26
|
+
}
|
|
27
|
+
function substitute(s, codes, texts) {
|
|
28
|
+
let out = "";
|
|
29
|
+
for (let i = 0; i !== s.length; i++) {
|
|
30
|
+
const k = codeIndex(codes, s.charCodeAt(i), 0);
|
|
31
|
+
out = k >= 0 && k < texts.length ? out + texts[k] : out + s.slice(i, i + 1);
|
|
32
|
+
}
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
function replaceCode(s, from, to) {
|
|
36
|
+
return substitute(s, [from], [to]);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// src/rules.ts
|
|
40
|
+
function pageRangeFrom(total, i) {
|
|
41
|
+
if (i >= total) return [];
|
|
42
|
+
return [{ kind: "page", n: i + 1 }, ...pageRangeFrom(total, i + 1)];
|
|
43
|
+
}
|
|
44
|
+
function pageNumbersOf(current, total) {
|
|
45
|
+
if (total <= 0) return [];
|
|
46
|
+
if (total === 1) return [{ kind: "page", n: 1 }];
|
|
47
|
+
const page = clampPage(current, total);
|
|
48
|
+
if (total <= 5) return pageRangeFrom(total, 0);
|
|
49
|
+
const first = { kind: "page", n: 1 };
|
|
50
|
+
const last = { kind: "page", n: total };
|
|
51
|
+
const gap = { kind: "ellipsis" };
|
|
52
|
+
if (page <= 3) {
|
|
53
|
+
return [
|
|
54
|
+
first,
|
|
55
|
+
{ kind: "page", n: 2 },
|
|
56
|
+
{ kind: "page", n: 3 },
|
|
57
|
+
{ kind: "page", n: 4 },
|
|
58
|
+
gap,
|
|
59
|
+
last
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
if (page >= total - 2) {
|
|
63
|
+
return [
|
|
64
|
+
first,
|
|
65
|
+
gap,
|
|
66
|
+
{ kind: "page", n: total - 3 },
|
|
67
|
+
{ kind: "page", n: total - 2 },
|
|
68
|
+
{ kind: "page", n: total - 1 },
|
|
69
|
+
last
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
return [
|
|
73
|
+
first,
|
|
74
|
+
gap,
|
|
75
|
+
{ kind: "page", n: page - 1 },
|
|
76
|
+
{ kind: "page", n: page },
|
|
77
|
+
{ kind: "page", n: page + 1 },
|
|
78
|
+
gap,
|
|
79
|
+
last
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
function clampPage(current, total) {
|
|
83
|
+
const capped = current > total ? total : current;
|
|
84
|
+
return capped < 1 ? 1 : capped;
|
|
85
|
+
}
|
|
86
|
+
function isFirstPage(page) {
|
|
87
|
+
return page <= 1;
|
|
88
|
+
}
|
|
89
|
+
function isLastPage(page, totalPages) {
|
|
90
|
+
return page >= totalPages;
|
|
91
|
+
}
|
|
92
|
+
function prevTarget(page) {
|
|
93
|
+
return isFirstPage(page) ? 1 : page - 1;
|
|
94
|
+
}
|
|
95
|
+
function nextTarget(page, totalPages) {
|
|
96
|
+
return isLastPage(page, totalPages) ? totalPages : page + 1;
|
|
97
|
+
}
|
|
98
|
+
function clampQuantity(value, min, max) {
|
|
99
|
+
const atLeast = value < min ? min : value;
|
|
100
|
+
if (max === void 0) return atLeast;
|
|
101
|
+
return atLeast > max ? max : atLeast;
|
|
102
|
+
}
|
|
103
|
+
function stepDown(value, step, min) {
|
|
104
|
+
return value - step > min ? value - step : min;
|
|
105
|
+
}
|
|
106
|
+
function stepUp(value, step, max) {
|
|
107
|
+
if (max === void 0) return value + step;
|
|
108
|
+
return value + step > max ? max : value + step;
|
|
109
|
+
}
|
|
110
|
+
function decreaseDisabled(disabled, value, min) {
|
|
111
|
+
return disabled || value <= min;
|
|
112
|
+
}
|
|
113
|
+
function increaseDisabled(disabled, value, max) {
|
|
114
|
+
if (max === void 0) return disabled;
|
|
115
|
+
return disabled || value >= max;
|
|
116
|
+
}
|
|
117
|
+
function digitKey(key) {
|
|
118
|
+
const c = codeAt(key, 0);
|
|
119
|
+
return c >= 48 && c <= 56 || key === "9";
|
|
120
|
+
}
|
|
121
|
+
function editingKey(key) {
|
|
122
|
+
return key === "Backspace" || key === "Delete" || key === "ArrowLeft" || key === "ArrowRight" || key === "Tab" || key === "Enter";
|
|
123
|
+
}
|
|
124
|
+
function keyAllowed(key, decimals, hasDot) {
|
|
125
|
+
return editingKey(key) || decimals > 0 && key === "." && !hasDot || digitKey(key);
|
|
126
|
+
}
|
|
127
|
+
function cleanQtyFrom(raw, allowDot, seenDot, i) {
|
|
128
|
+
if (i >= raw.length) return "";
|
|
129
|
+
const c = codeAt(raw, i);
|
|
130
|
+
if (c >= 48 && c <= 57) return raw.slice(i, i + 1) + cleanQtyFrom(raw, allowDot, seenDot, i + 1);
|
|
131
|
+
if (allowDot && c === 46 && !seenDot) return "." + cleanQtyFrom(raw, allowDot, true, i + 1);
|
|
132
|
+
return cleanQtyFrom(raw, allowDot, seenDot, i + 1);
|
|
133
|
+
}
|
|
134
|
+
function stockViewOf(loading, isInStock, isLowStock) {
|
|
135
|
+
if (loading) return "loading";
|
|
136
|
+
if (!isInStock) return "out-of-stock";
|
|
137
|
+
return isLowStock ? "low-stock" : "in-stock";
|
|
138
|
+
}
|
|
139
|
+
function showStockQuantity(view, hasQuantity) {
|
|
140
|
+
return hasQuantity && view !== "out-of-stock" && view !== "loading";
|
|
141
|
+
}
|
|
142
|
+
function priceViewOf(loading, valueIsZero, hasOriginal) {
|
|
143
|
+
if (loading) return "skeleton";
|
|
144
|
+
if (valueIsZero && !hasOriginal) return "zero-label";
|
|
145
|
+
return "amount";
|
|
146
|
+
}
|
|
147
|
+
function needsQuotes(s) {
|
|
148
|
+
return indexOfCode(s, 44, 0) >= 0 || indexOfCode(s, 34, 0) >= 0 || indexOfCode(s, 10, 0) >= 0;
|
|
149
|
+
}
|
|
150
|
+
function csvField(s) {
|
|
151
|
+
if (!needsQuotes(s)) return s;
|
|
152
|
+
return '"' + replaceCode(s, 34, '""') + '"';
|
|
153
|
+
}
|
|
154
|
+
function ariaSortOf(sortable, dir) {
|
|
155
|
+
if (!sortable) return void 0;
|
|
156
|
+
if (dir === "asc") return "ascending";
|
|
157
|
+
if (dir === "desc") return "descending";
|
|
158
|
+
return "none";
|
|
159
|
+
}
|
|
160
|
+
function alignClass(align) {
|
|
161
|
+
if (align === "left") return "text-left";
|
|
162
|
+
if (align === "center") return "text-center";
|
|
163
|
+
return align === "right" ? "text-right" : "";
|
|
164
|
+
}
|
|
165
|
+
function bodyViewOf(loading, rowCount) {
|
|
166
|
+
if (loading) return "loading";
|
|
167
|
+
return rowCount === 0 ? "empty" : "rows";
|
|
168
|
+
}
|
|
169
|
+
function gtmTiming(strategy, hasIdleCallback) {
|
|
170
|
+
if (strategy === "lazyOnload" && hasIdleCallback) return "idle";
|
|
171
|
+
return strategy === "afterInteractive" ? "next-tick" : "now";
|
|
172
|
+
}
|
|
173
|
+
function replaySampled(disabled, injected, rate, draw) {
|
|
174
|
+
return !disabled && !injected && !(rate < 1 && draw > rate);
|
|
175
|
+
}
|
|
176
|
+
function binMarkAt(s, k) {
|
|
177
|
+
const c = codeAt(s, k);
|
|
178
|
+
const v = codeAt(s, k + 5);
|
|
179
|
+
return (c === 63 || c === 38) && startsWithAt(s, "Bin=", k + 1) && v >= 0 && v !== 38;
|
|
180
|
+
}
|
|
181
|
+
function binAt(s, i) {
|
|
182
|
+
if (i + 6 > s.length) return -1;
|
|
183
|
+
if (binMarkAt(s, i)) return i;
|
|
184
|
+
return binAt(s, i + 1);
|
|
185
|
+
}
|
|
186
|
+
function binFromString(s) {
|
|
187
|
+
const k = binAt(s, 0);
|
|
188
|
+
if (k < 0) return void 0;
|
|
189
|
+
return untilCode(afterBinMark(s, k), 38);
|
|
190
|
+
}
|
|
191
|
+
function afterBinMark(s, k) {
|
|
192
|
+
if (k < 0 || k + 5 > s.length) return "";
|
|
193
|
+
return s.slice(k + 5);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export {
|
|
197
|
+
pageNumbersOf,
|
|
198
|
+
isFirstPage,
|
|
199
|
+
isLastPage,
|
|
200
|
+
prevTarget,
|
|
201
|
+
nextTarget,
|
|
202
|
+
clampQuantity,
|
|
203
|
+
stepDown,
|
|
204
|
+
stepUp,
|
|
205
|
+
decreaseDisabled,
|
|
206
|
+
increaseDisabled,
|
|
207
|
+
keyAllowed,
|
|
208
|
+
cleanQtyFrom,
|
|
209
|
+
stockViewOf,
|
|
210
|
+
showStockQuantity,
|
|
211
|
+
priceViewOf,
|
|
212
|
+
csvField,
|
|
213
|
+
ariaSortOf,
|
|
214
|
+
alignClass,
|
|
215
|
+
bodyViewOf,
|
|
216
|
+
gtmTiming,
|
|
217
|
+
replaySampled,
|
|
218
|
+
binFromString
|
|
219
|
+
};
|
|
220
|
+
//# sourceMappingURL=chunk-VI2IE6RC.js.map
|