@epicbagel/saas-kit 1.32.0 → 1.33.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/THIRD_PARTY_NOTICES.md +6 -5
- package/dist/chunk-2DCJ2SFU.js +20 -0
- package/dist/chunk-2FVFPGP5.js +489 -0
- package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
- package/dist/chunk-B54ZEKBG.cjs +63 -0
- package/dist/chunk-CXAFTEEP.cjs +20 -0
- package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
- package/dist/chunk-G3SF4RRA.cjs +489 -0
- package/dist/chunk-HTTRUJQU.cjs +60 -0
- package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
- package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
- package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
- package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
- package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
- package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
- package/dist/chunk-TUQVHPSI.js +60 -0
- package/dist/chunk-VWOWPNKT.js +73 -0
- package/dist/chunk-XH2I3YJ6.js +63 -0
- package/dist/chunk-Y6X6XDHE.cjs +73 -0
- package/dist/primitives/accent-theme.cjs +66 -0
- package/dist/primitives/accent-theme.d.cts +32 -0
- package/dist/primitives/accent-theme.d.ts +32 -0
- package/dist/primitives/accent-theme.js +66 -0
- package/dist/primitives/activity-feed.cjs +2 -2
- package/dist/primitives/activity-feed.js +2 -2
- package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
- package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
- package/dist/primitives/alert.d.cts +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/app-layout.cjs +114 -0
- package/dist/primitives/app-layout.d.cts +47 -0
- package/dist/primitives/app-layout.d.ts +47 -0
- package/dist/primitives/app-layout.js +114 -0
- package/dist/primitives/app-sidebar.cjs +52 -0
- package/dist/primitives/app-sidebar.d.cts +105 -0
- package/dist/primitives/app-sidebar.d.ts +105 -0
- package/dist/primitives/app-sidebar.js +52 -0
- package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
- package/dist/primitives/archive-confirmation-dialog.js +3 -3
- package/dist/primitives/back-bar.cjs +37 -0
- package/dist/primitives/back-bar.d.cts +31 -0
- package/dist/primitives/back-bar.d.ts +31 -0
- package/dist/primitives/back-bar.js +37 -0
- package/dist/primitives/badge.d.cts +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/batch-action-bar.cjs +134 -0
- package/dist/primitives/batch-action-bar.d.cts +27 -0
- package/dist/primitives/batch-action-bar.d.ts +27 -0
- package/dist/primitives/batch-action-bar.js +134 -0
- package/dist/primitives/board-view-internals.cjs +3 -3
- package/dist/primitives/board-view-internals.js +2 -2
- package/dist/primitives/board-view.cjs +8 -8
- package/dist/primitives/board-view.js +7 -7
- package/dist/primitives/brand-mark.cjs +26 -0
- package/dist/primitives/brand-mark.d.cts +10 -0
- package/dist/primitives/brand-mark.d.ts +10 -0
- package/dist/primitives/brand-mark.js +26 -0
- package/dist/primitives/bubble.d.cts +1 -1
- package/dist/primitives/bubble.d.ts +1 -1
- package/dist/primitives/button.d.cts +2 -2
- package/dist/primitives/button.d.ts +2 -2
- package/dist/primitives/chat.cjs +27 -27
- package/dist/primitives/chat.js +21 -21
- package/dist/primitives/code-block.cjs +4 -4
- package/dist/primitives/code-block.js +3 -3
- package/dist/primitives/command.cjs +129 -0
- package/dist/primitives/command.d.cts +60 -0
- package/dist/primitives/command.d.ts +60 -0
- package/dist/primitives/command.js +129 -0
- package/dist/primitives/compact-list.cjs +24 -0
- package/dist/primitives/compact-list.d.cts +18 -0
- package/dist/primitives/compact-list.d.ts +18 -0
- package/dist/primitives/compact-list.js +24 -0
- package/dist/primitives/connection.cjs +6 -6
- package/dist/primitives/connection.js +8 -8
- package/dist/primitives/context-bar.cjs +57 -0
- package/dist/primitives/context-bar.d.cts +50 -0
- package/dist/primitives/context-bar.d.ts +50 -0
- package/dist/primitives/context-bar.js +57 -0
- package/dist/primitives/copy-button.cjs +3 -3
- package/dist/primitives/copy-button.js +2 -2
- package/dist/primitives/cycling-prompt.cjs +102 -0
- package/dist/primitives/cycling-prompt.d.cts +24 -0
- package/dist/primitives/cycling-prompt.d.ts +24 -0
- package/dist/primitives/cycling-prompt.js +102 -0
- package/dist/primitives/dialog.d.cts +9 -9
- package/dist/primitives/dialog.d.ts +9 -9
- package/dist/primitives/dotted-list.cjs +41 -0
- package/dist/primitives/dotted-list.d.cts +28 -0
- package/dist/primitives/dotted-list.d.ts +28 -0
- package/dist/primitives/dotted-list.js +41 -0
- package/dist/primitives/drawer.d.cts +6 -6
- package/dist/primitives/drawer.d.ts +6 -6
- package/dist/primitives/field.cjs +3 -3
- package/dist/primitives/field.js +2 -2
- package/dist/primitives/file-dropzone.cjs +3 -3
- package/dist/primitives/file-dropzone.js +2 -2
- package/dist/primitives/file-preview.cjs +4 -4
- package/dist/primitives/file-preview.js +3 -3
- package/dist/primitives/filter-bar.cjs +4 -4
- package/dist/primitives/filter-bar.js +3 -3
- package/dist/primitives/fixed-action-bar.cjs +46 -0
- package/dist/primitives/fixed-action-bar.d.cts +15 -0
- package/dist/primitives/fixed-action-bar.d.ts +15 -0
- package/dist/primitives/fixed-action-bar.js +46 -0
- package/dist/primitives/floating-action-button.cjs +65 -0
- package/dist/primitives/floating-action-button.d.cts +52 -0
- package/dist/primitives/floating-action-button.d.ts +52 -0
- package/dist/primitives/floating-action-button.js +65 -0
- package/dist/primitives/form-section.cjs +38 -0
- package/dist/primitives/form-section.d.cts +43 -0
- package/dist/primitives/form-section.d.ts +43 -0
- package/dist/primitives/form-section.js +38 -0
- package/dist/primitives/key-value-grid.cjs +52 -0
- package/dist/primitives/key-value-grid.d.cts +20 -0
- package/dist/primitives/key-value-grid.d.ts +20 -0
- package/dist/primitives/key-value-grid.js +52 -0
- package/dist/primitives/marketing-footer.cjs +34 -0
- package/dist/primitives/marketing-footer.d.cts +29 -0
- package/dist/primitives/marketing-footer.d.ts +29 -0
- package/dist/primitives/marketing-footer.js +34 -0
- package/dist/primitives/marketing-header.cjs +41 -0
- package/dist/primitives/marketing-header.d.cts +31 -0
- package/dist/primitives/marketing-header.d.ts +31 -0
- package/dist/primitives/marketing-header.js +41 -0
- package/dist/primitives/marketing-section.cjs +8 -0
- package/dist/primitives/marketing-section.d.cts +35 -0
- package/dist/primitives/marketing-section.d.ts +35 -0
- package/dist/primitives/marketing-section.js +8 -0
- package/dist/primitives/marketing-shell.cjs +28 -0
- package/dist/primitives/marketing-shell.d.cts +14 -0
- package/dist/primitives/marketing-shell.d.ts +14 -0
- package/dist/primitives/marketing-shell.js +28 -0
- package/dist/primitives/notes.cjs +4 -4
- package/dist/primitives/notes.js +4 -4
- package/dist/primitives/page-header.cjs +3 -67
- package/dist/primitives/page-header.js +3 -67
- package/dist/primitives/page-tabs.cjs +4 -57
- package/dist/primitives/page-tabs.js +4 -57
- package/dist/primitives/pager.cjs +85 -0
- package/dist/primitives/pager.d.cts +39 -0
- package/dist/primitives/pager.d.ts +39 -0
- package/dist/primitives/pager.js +85 -0
- package/dist/primitives/pagination.cjs +119 -0
- package/dist/primitives/pagination.d.cts +41 -0
- package/dist/primitives/pagination.d.ts +41 -0
- package/dist/primitives/pagination.js +119 -0
- package/dist/primitives/poster.cjs +11 -1
- package/dist/primitives/poster.d.cts +12 -1
- package/dist/primitives/poster.d.ts +12 -1
- package/dist/primitives/poster.js +10 -0
- package/dist/primitives/resource-list.cjs +8 -8
- package/dist/primitives/resource-list.js +7 -7
- package/dist/primitives/responsive-embed.cjs +29 -0
- package/dist/primitives/responsive-embed.d.cts +14 -0
- package/dist/primitives/responsive-embed.d.ts +14 -0
- package/dist/primitives/responsive-embed.js +29 -0
- package/dist/primitives/save-bar.cjs +91 -0
- package/dist/primitives/save-bar.d.cts +55 -0
- package/dist/primitives/save-bar.d.ts +55 -0
- package/dist/primitives/save-bar.js +91 -0
- package/dist/primitives/settings-list.cjs +10 -0
- package/dist/primitives/settings-list.d.cts +31 -0
- package/dist/primitives/settings-list.d.ts +31 -0
- package/dist/primitives/settings-list.js +10 -0
- package/dist/primitives/settings-section.cjs +34 -0
- package/dist/primitives/settings-section.d.cts +44 -0
- package/dist/primitives/settings-section.d.ts +44 -0
- package/dist/primitives/settings-section.js +34 -0
- package/dist/primitives/sheet.d.cts +9 -9
- package/dist/primitives/sheet.d.ts +9 -9
- package/dist/primitives/short-video.cjs +110 -0
- package/dist/primitives/short-video.d.cts +30 -0
- package/dist/primitives/short-video.d.ts +30 -0
- package/dist/primitives/short-video.js +110 -0
- package/dist/primitives/stats-card.cjs +46 -0
- package/dist/primitives/stats-card.d.cts +19 -0
- package/dist/primitives/stats-card.d.ts +19 -0
- package/dist/primitives/stats-card.js +46 -0
- package/dist/primitives/stats-strip.cjs +38 -0
- package/dist/primitives/stats-strip.d.cts +24 -0
- package/dist/primitives/stats-strip.d.ts +24 -0
- package/dist/primitives/stats-strip.js +38 -0
- package/dist/primitives/step-list.cjs +32 -0
- package/dist/primitives/step-list.d.cts +19 -0
- package/dist/primitives/step-list.d.ts +19 -0
- package/dist/primitives/step-list.js +32 -0
- package/dist/primitives/steps.cjs +77 -0
- package/dist/primitives/steps.d.cts +35 -0
- package/dist/primitives/steps.d.ts +35 -0
- package/dist/primitives/steps.js +77 -0
- package/dist/primitives/tabbed-page-header.cjs +53 -0
- package/dist/primitives/tabbed-page-header.d.cts +26 -0
- package/dist/primitives/tabbed-page-header.d.ts +26 -0
- package/dist/primitives/tabbed-page-header.js +53 -0
- package/dist/primitives/theme-selector.cjs +17 -17
- package/dist/primitives/theme-selector.js +5 -5
- package/dist/primitives/voice-dictation-button.cjs +5 -5
- package/dist/primitives/voice-dictation-button.js +4 -4
- package/dist/primitives/voice-session-controls.cjs +4 -4
- package/dist/primitives/voice-session-controls.js +3 -3
- package/dist/primitives/workflow-assistant.cjs +5 -5
- package/dist/primitives/workflow-assistant.js +3 -3
- package/package.json +312 -1
- package/src/styles/components/poster.css +42 -1
- package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
- package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
- package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
- package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
- package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
- package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
- package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
- package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
- package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
- package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
- package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
- package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
|
@@ -2,62 +2,9 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
var _chunkB54ZEKBGcjs = require('../chunk-B54ZEKBG.cjs');
|
|
6
|
+
require('../chunk-DFB4ILN6.cjs');
|
|
7
|
+
require('../chunk-KWLSBTB2.cjs');
|
|
5
8
|
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
11
|
-
|
|
12
|
-
// src/primitives/page-tabs.tsx
|
|
13
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
14
|
-
function PageTabs({
|
|
15
|
-
value,
|
|
16
|
-
onValueChange,
|
|
17
|
-
items,
|
|
18
|
-
ariaLabel,
|
|
19
|
-
layout = "equal",
|
|
20
|
-
className
|
|
21
|
-
}) {
|
|
22
|
-
if (items.length === 0) return null;
|
|
23
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
24
|
-
_chunkDFB4ILN6cjs.Tabs,
|
|
25
|
-
{
|
|
26
|
-
value,
|
|
27
|
-
onValueChange: (next) => onValueChange(next),
|
|
28
|
-
className,
|
|
29
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
30
|
-
_chunkDFB4ILN6cjs.TabsList,
|
|
31
|
-
{
|
|
32
|
-
"aria-label": ariaLabel,
|
|
33
|
-
scrollable: layout === "scroll",
|
|
34
|
-
width: "full",
|
|
35
|
-
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
36
|
-
"w-full",
|
|
37
|
-
layout === "equal" ? "grid h-auto p-1.5" : "justify-start"
|
|
38
|
-
),
|
|
39
|
-
style: layout === "equal" ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : void 0,
|
|
40
|
-
children: items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
41
|
-
_chunkDFB4ILN6cjs.TabsTrigger,
|
|
42
|
-
{
|
|
43
|
-
value: item.value,
|
|
44
|
-
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
45
|
-
layout === "equal" && "min-h-11 gap-2 text-sm sm:text-base",
|
|
46
|
-
layout === "scroll" && "shrink-0 gap-2"
|
|
47
|
-
),
|
|
48
|
-
children: [
|
|
49
|
-
item.icon,
|
|
50
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: item.label }),
|
|
51
|
-
item.badge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: item.badge })
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
|
-
item.value
|
|
55
|
-
))
|
|
56
|
-
}
|
|
57
|
-
)
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
exports.PageTabs = PageTabs;
|
|
10
|
+
exports.PageTabs = _chunkB54ZEKBGcjs.PageTabs;
|
|
@@ -1,63 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use client";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
cn
|
|
10
|
-
} from "../chunk-G6SRSWXB.js";
|
|
11
|
-
|
|
12
|
-
// src/primitives/page-tabs.tsx
|
|
13
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
function PageTabs({
|
|
15
|
-
value,
|
|
16
|
-
onValueChange,
|
|
17
|
-
items,
|
|
18
|
-
ariaLabel,
|
|
19
|
-
layout = "equal",
|
|
20
|
-
className
|
|
21
|
-
}) {
|
|
22
|
-
if (items.length === 0) return null;
|
|
23
|
-
return /* @__PURE__ */ jsx(
|
|
24
|
-
Tabs,
|
|
25
|
-
{
|
|
26
|
-
value,
|
|
27
|
-
onValueChange: (next) => onValueChange(next),
|
|
28
|
-
className,
|
|
29
|
-
children: /* @__PURE__ */ jsx(
|
|
30
|
-
TabsList,
|
|
31
|
-
{
|
|
32
|
-
"aria-label": ariaLabel,
|
|
33
|
-
scrollable: layout === "scroll",
|
|
34
|
-
width: "full",
|
|
35
|
-
className: cn(
|
|
36
|
-
"w-full",
|
|
37
|
-
layout === "equal" ? "grid h-auto p-1.5" : "justify-start"
|
|
38
|
-
),
|
|
39
|
-
style: layout === "equal" ? { gridTemplateColumns: `repeat(${items.length}, minmax(0, 1fr))` } : void 0,
|
|
40
|
-
children: items.map((item) => /* @__PURE__ */ jsxs(
|
|
41
|
-
TabsTrigger,
|
|
42
|
-
{
|
|
43
|
-
value: item.value,
|
|
44
|
-
className: cn(
|
|
45
|
-
layout === "equal" && "min-h-11 gap-2 text-sm sm:text-base",
|
|
46
|
-
layout === "scroll" && "shrink-0 gap-2"
|
|
47
|
-
),
|
|
48
|
-
children: [
|
|
49
|
-
item.icon,
|
|
50
|
-
/* @__PURE__ */ jsx("span", { className: "truncate", children: item.label }),
|
|
51
|
-
item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: item.badge })
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
|
-
item.value
|
|
55
|
-
))
|
|
56
|
-
}
|
|
57
|
-
)
|
|
58
|
-
}
|
|
59
|
-
);
|
|
60
|
-
}
|
|
4
|
+
PageTabs
|
|
5
|
+
} from "../chunk-XH2I3YJ6.js";
|
|
6
|
+
import "../chunk-7CRDYV3C.js";
|
|
7
|
+
import "../chunk-G6SRSWXB.js";
|
|
61
8
|
export {
|
|
62
9
|
PageTabs
|
|
63
10
|
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
9
|
+
|
|
10
|
+
// src/primitives/pager.tsx
|
|
11
|
+
var _lucidereact = require('lucide-react');
|
|
12
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
13
|
+
function Pager({
|
|
14
|
+
offset,
|
|
15
|
+
limit,
|
|
16
|
+
total,
|
|
17
|
+
onOffsetChange,
|
|
18
|
+
noun = "results",
|
|
19
|
+
formatRange,
|
|
20
|
+
disabled = false,
|
|
21
|
+
size = "sm",
|
|
22
|
+
children,
|
|
23
|
+
hideWhenSinglePage = true,
|
|
24
|
+
className
|
|
25
|
+
}) {
|
|
26
|
+
if (hideWhenSinglePage && total <= limit) return null;
|
|
27
|
+
const from = total === 0 ? 0 : Math.min(offset, Math.max(total - 1, 0)) + 1;
|
|
28
|
+
const to = Math.min(offset + limit, total);
|
|
29
|
+
const canPrev = offset > 0 && !disabled;
|
|
30
|
+
const canNext = offset + limit < total && !disabled;
|
|
31
|
+
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
35
|
+
"flex items-center justify-between gap-3 pt-3 text-xs text-muted-foreground",
|
|
36
|
+
className
|
|
37
|
+
),
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "tabular-nums", children: formatRange ? formatRange(from, to, total) : total === 0 ? `No ${noun}` : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
40
|
+
from,
|
|
41
|
+
"\u2013",
|
|
42
|
+
to,
|
|
43
|
+
" of ",
|
|
44
|
+
total,
|
|
45
|
+
" ",
|
|
46
|
+
noun
|
|
47
|
+
] }) }),
|
|
48
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
|
|
49
|
+
children,
|
|
50
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
51
|
+
_chunkJDEXZGIYcjs.Button,
|
|
52
|
+
{
|
|
53
|
+
type: "button",
|
|
54
|
+
size,
|
|
55
|
+
variant: "outline",
|
|
56
|
+
disabled: !canPrev,
|
|
57
|
+
onClick: () => onOffsetChange(Math.max(offset - limit, 0)),
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
|
|
60
|
+
"Previous"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
65
|
+
_chunkJDEXZGIYcjs.Button,
|
|
66
|
+
{
|
|
67
|
+
type: "button",
|
|
68
|
+
size,
|
|
69
|
+
variant: "outline",
|
|
70
|
+
disabled: !canNext,
|
|
71
|
+
onClick: () => onOffsetChange(offset + limit),
|
|
72
|
+
children: [
|
|
73
|
+
"Next",
|
|
74
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" })
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
] })
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
exports.Pager = Pager;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface PagerProps {
|
|
5
|
+
/** Index of the first row on the current page. */
|
|
6
|
+
offset: number;
|
|
7
|
+
/** Rows per page. */
|
|
8
|
+
limit: number;
|
|
9
|
+
/** Total rows across all pages. */
|
|
10
|
+
total: number;
|
|
11
|
+
onOffsetChange: (offset: number) => void;
|
|
12
|
+
/** Noun in the default range label. Defaults to "results". */
|
|
13
|
+
noun?: string;
|
|
14
|
+
/** Replaces the whole range label — for counts that aren't row-shaped. */
|
|
15
|
+
formatRange?: (from: number, to: number, total: number) => ReactNode;
|
|
16
|
+
/** Blocks both buttons — use while the next page is in flight. */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
size?: "sm" | "default";
|
|
19
|
+
/** Extra content between the label and the buttons — a page-size select. */
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Renders nothing when everything fits on one page. Defaults to true.
|
|
23
|
+
* Set false to keep the row count visible at all times.
|
|
24
|
+
*/
|
|
25
|
+
hideWhenSinglePage?: boolean;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Offset/limit pager — "1–50 of 320" with prev/next.
|
|
30
|
+
*
|
|
31
|
+
* Distinct from `<Pagination>`, which is the ShadCN numbered-link strip
|
|
32
|
+
* for URL-driven navigation. This one is for server-paged lists that
|
|
33
|
+
* hold offset in state, which is most admin and dashboard tables.
|
|
34
|
+
*
|
|
35
|
+
* Purely presentational: it computes the next offset and hands it back.
|
|
36
|
+
*/
|
|
37
|
+
declare function Pager({ offset, limit, total, onOffsetChange, noun, formatRange, disabled, size, children, hideWhenSinglePage, className, }: PagerProps): react_jsx_runtime.JSX.Element | null;
|
|
38
|
+
|
|
39
|
+
export { Pager, type PagerProps };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface PagerProps {
|
|
5
|
+
/** Index of the first row on the current page. */
|
|
6
|
+
offset: number;
|
|
7
|
+
/** Rows per page. */
|
|
8
|
+
limit: number;
|
|
9
|
+
/** Total rows across all pages. */
|
|
10
|
+
total: number;
|
|
11
|
+
onOffsetChange: (offset: number) => void;
|
|
12
|
+
/** Noun in the default range label. Defaults to "results". */
|
|
13
|
+
noun?: string;
|
|
14
|
+
/** Replaces the whole range label — for counts that aren't row-shaped. */
|
|
15
|
+
formatRange?: (from: number, to: number, total: number) => ReactNode;
|
|
16
|
+
/** Blocks both buttons — use while the next page is in flight. */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
size?: "sm" | "default";
|
|
19
|
+
/** Extra content between the label and the buttons — a page-size select. */
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Renders nothing when everything fits on one page. Defaults to true.
|
|
23
|
+
* Set false to keep the row count visible at all times.
|
|
24
|
+
*/
|
|
25
|
+
hideWhenSinglePage?: boolean;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Offset/limit pager — "1–50 of 320" with prev/next.
|
|
30
|
+
*
|
|
31
|
+
* Distinct from `<Pagination>`, which is the ShadCN numbered-link strip
|
|
32
|
+
* for URL-driven navigation. This one is for server-paged lists that
|
|
33
|
+
* hold offset in state, which is most admin and dashboard tables.
|
|
34
|
+
*
|
|
35
|
+
* Purely presentational: it computes the next offset and hands it back.
|
|
36
|
+
*/
|
|
37
|
+
declare function Pager({ offset, limit, total, onOffsetChange, noun, formatRange, disabled, size, children, hideWhenSinglePage, className, }: PagerProps): react_jsx_runtime.JSX.Element | null;
|
|
38
|
+
|
|
39
|
+
export { Pager, type PagerProps };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
import {
|
|
4
|
+
Button
|
|
5
|
+
} from "../chunk-W326GKML.js";
|
|
6
|
+
import {
|
|
7
|
+
cn
|
|
8
|
+
} from "../chunk-G6SRSWXB.js";
|
|
9
|
+
|
|
10
|
+
// src/primitives/pager.tsx
|
|
11
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
12
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
function Pager({
|
|
14
|
+
offset,
|
|
15
|
+
limit,
|
|
16
|
+
total,
|
|
17
|
+
onOffsetChange,
|
|
18
|
+
noun = "results",
|
|
19
|
+
formatRange,
|
|
20
|
+
disabled = false,
|
|
21
|
+
size = "sm",
|
|
22
|
+
children,
|
|
23
|
+
hideWhenSinglePage = true,
|
|
24
|
+
className
|
|
25
|
+
}) {
|
|
26
|
+
if (hideWhenSinglePage && total <= limit) return null;
|
|
27
|
+
const from = total === 0 ? 0 : Math.min(offset, Math.max(total - 1, 0)) + 1;
|
|
28
|
+
const to = Math.min(offset + limit, total);
|
|
29
|
+
const canPrev = offset > 0 && !disabled;
|
|
30
|
+
const canNext = offset + limit < total && !disabled;
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
className: cn(
|
|
35
|
+
"flex items-center justify-between gap-3 pt-3 text-xs text-muted-foreground",
|
|
36
|
+
className
|
|
37
|
+
),
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsx("span", { className: "tabular-nums", children: formatRange ? formatRange(from, to, total) : total === 0 ? `No ${noun}` : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
40
|
+
from,
|
|
41
|
+
"\u2013",
|
|
42
|
+
to,
|
|
43
|
+
" of ",
|
|
44
|
+
total,
|
|
45
|
+
" ",
|
|
46
|
+
noun
|
|
47
|
+
] }) }),
|
|
48
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
49
|
+
children,
|
|
50
|
+
/* @__PURE__ */ jsxs(
|
|
51
|
+
Button,
|
|
52
|
+
{
|
|
53
|
+
type: "button",
|
|
54
|
+
size,
|
|
55
|
+
variant: "outline",
|
|
56
|
+
disabled: !canPrev,
|
|
57
|
+
onClick: () => onOffsetChange(Math.max(offset - limit, 0)),
|
|
58
|
+
children: [
|
|
59
|
+
/* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
|
|
60
|
+
"Previous"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ jsxs(
|
|
65
|
+
Button,
|
|
66
|
+
{
|
|
67
|
+
type: "button",
|
|
68
|
+
size,
|
|
69
|
+
variant: "outline",
|
|
70
|
+
disabled: !canNext,
|
|
71
|
+
onClick: () => onOffsetChange(offset + limit),
|
|
72
|
+
children: [
|
|
73
|
+
"Next",
|
|
74
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
] })
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
Pager
|
|
85
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
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
|
+
|
|
3
|
+
|
|
4
|
+
var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
|
|
8
|
+
|
|
9
|
+
// src/primitives/pagination.tsx
|
|
10
|
+
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _lia = require('react-icons/lia');
|
|
16
|
+
var _jsxruntime = require('react/jsx-runtime');
|
|
17
|
+
var Pagination = ({ className, marginTop = "none", ...props }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
18
|
+
"nav",
|
|
19
|
+
{
|
|
20
|
+
role: "navigation",
|
|
21
|
+
"aria-label": "pagination",
|
|
22
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "mx-auto flex w-full justify-center", marginTop === "md" && "mt-4", className),
|
|
23
|
+
...props
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
Pagination.displayName = "Pagination";
|
|
27
|
+
var PaginationContent = React.forwardRef(({ className, width = "auto", justify = "start", ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
28
|
+
"ul",
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex flex-row items-center gap-1", width === "full" && "w-full", justify === "between" && "justify-between", className),
|
|
32
|
+
...props
|
|
33
|
+
}
|
|
34
|
+
));
|
|
35
|
+
PaginationContent.displayName = "PaginationContent";
|
|
36
|
+
var PaginationItem = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ref, className: _chunkKWLSBTB2cjs.cn.call(void 0, "", className), ...props }));
|
|
37
|
+
PaginationItem.displayName = "PaginationItem";
|
|
38
|
+
var PaginationLink = ({
|
|
39
|
+
className,
|
|
40
|
+
isActive,
|
|
41
|
+
disabled = false,
|
|
42
|
+
size = "icon",
|
|
43
|
+
...props
|
|
44
|
+
}) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
45
|
+
"a",
|
|
46
|
+
{
|
|
47
|
+
"aria-current": isActive ? "page" : void 0,
|
|
48
|
+
"aria-disabled": disabled || void 0,
|
|
49
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0,
|
|
50
|
+
_chunkJDEXZGIYcjs.buttonVariants.call(void 0, {
|
|
51
|
+
variant: isActive ? "outline" : "ghost",
|
|
52
|
+
size
|
|
53
|
+
}),
|
|
54
|
+
disabled && "pointer-events-none opacity-50",
|
|
55
|
+
className
|
|
56
|
+
),
|
|
57
|
+
...props
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
PaginationLink.displayName = "PaginationLink";
|
|
61
|
+
var PaginationPrevious = ({
|
|
62
|
+
className,
|
|
63
|
+
...props
|
|
64
|
+
}) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
65
|
+
PaginationLink,
|
|
66
|
+
{
|
|
67
|
+
"aria-label": "Go to previous page",
|
|
68
|
+
size: "default",
|
|
69
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "gap-1 pl-2.5", className),
|
|
70
|
+
...props,
|
|
71
|
+
children: [
|
|
72
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lia.LiaChevronLeftSolid, { className: "h-4 w-4" }),
|
|
73
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Previous" })
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
PaginationPrevious.displayName = "PaginationPrevious";
|
|
78
|
+
var PaginationNext = ({
|
|
79
|
+
className,
|
|
80
|
+
...props
|
|
81
|
+
}) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
82
|
+
PaginationLink,
|
|
83
|
+
{
|
|
84
|
+
"aria-label": "Go to next page",
|
|
85
|
+
size: "default",
|
|
86
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "gap-1 pr-2.5", className),
|
|
87
|
+
...props,
|
|
88
|
+
children: [
|
|
89
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "Next" }),
|
|
90
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lia.LiaChevronRightSolid, { className: "h-4 w-4" })
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
PaginationNext.displayName = "PaginationNext";
|
|
95
|
+
var PaginationEllipsis = ({
|
|
96
|
+
className,
|
|
97
|
+
...props
|
|
98
|
+
}) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
99
|
+
"span",
|
|
100
|
+
{
|
|
101
|
+
"aria-hidden": true,
|
|
102
|
+
className: _chunkKWLSBTB2cjs.cn.call(void 0, "flex h-9 w-9 items-center justify-center", className),
|
|
103
|
+
...props,
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lia.LiaEllipsisHSolid, { className: "h-4 w-4" }),
|
|
106
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only", children: "More pages" })
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
);
|
|
110
|
+
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationNext = PaginationNext; exports.PaginationPrevious = PaginationPrevious;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ButtonProps } from './button.cjs';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface PaginationProps extends React.ComponentProps<"nav"> {
|
|
8
|
+
marginTop?: "none" | "md";
|
|
9
|
+
}
|
|
10
|
+
declare const Pagination: {
|
|
11
|
+
({ className, marginTop, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
interface PaginationContentProps extends React.ComponentProps<"ul"> {
|
|
15
|
+
width?: "auto" | "full";
|
|
16
|
+
justify?: "start" | "between";
|
|
17
|
+
}
|
|
18
|
+
declare const PaginationContent: React.ForwardRefExoticComponent<Omit<PaginationContentProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
19
|
+
declare const PaginationItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
20
|
+
type PaginationLinkProps = {
|
|
21
|
+
isActive?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
} & Pick<ButtonProps, "size"> & React.ComponentProps<"a">;
|
|
24
|
+
declare const PaginationLink: {
|
|
25
|
+
({ className, isActive, disabled, size, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
declare const PaginationPrevious: {
|
|
29
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
30
|
+
displayName: string;
|
|
31
|
+
};
|
|
32
|
+
declare const PaginationNext: {
|
|
33
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
declare const PaginationEllipsis: {
|
|
37
|
+
({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { Pagination, PaginationContent, type PaginationContentProps, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationProps };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ButtonProps } from './button.js';
|
|
4
|
+
import 'class-variance-authority/types';
|
|
5
|
+
import 'class-variance-authority';
|
|
6
|
+
|
|
7
|
+
interface PaginationProps extends React.ComponentProps<"nav"> {
|
|
8
|
+
marginTop?: "none" | "md";
|
|
9
|
+
}
|
|
10
|
+
declare const Pagination: {
|
|
11
|
+
({ className, marginTop, ...props }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
interface PaginationContentProps extends React.ComponentProps<"ul"> {
|
|
15
|
+
width?: "auto" | "full";
|
|
16
|
+
justify?: "start" | "between";
|
|
17
|
+
}
|
|
18
|
+
declare const PaginationContent: React.ForwardRefExoticComponent<Omit<PaginationContentProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
|
|
19
|
+
declare const PaginationItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
20
|
+
type PaginationLinkProps = {
|
|
21
|
+
isActive?: boolean;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
} & Pick<ButtonProps, "size"> & React.ComponentProps<"a">;
|
|
24
|
+
declare const PaginationLink: {
|
|
25
|
+
({ className, isActive, disabled, size, ...props }: PaginationLinkProps): react_jsx_runtime.JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
declare const PaginationPrevious: {
|
|
29
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
30
|
+
displayName: string;
|
|
31
|
+
};
|
|
32
|
+
declare const PaginationNext: {
|
|
33
|
+
({ className, ...props }: React.ComponentProps<typeof PaginationLink>): react_jsx_runtime.JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
declare const PaginationEllipsis: {
|
|
37
|
+
({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { Pagination, PaginationContent, type PaginationContentProps, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationProps };
|