@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.
Files changed (217) hide show
  1. package/THIRD_PARTY_NOTICES.md +6 -5
  2. package/dist/chunk-2DCJ2SFU.js +20 -0
  3. package/dist/chunk-2FVFPGP5.js +489 -0
  4. package/dist/{chunk-HTPPNW74.js → chunk-AWCXVYPL.js} +1 -1
  5. package/dist/chunk-B54ZEKBG.cjs +63 -0
  6. package/dist/chunk-CXAFTEEP.cjs +20 -0
  7. package/dist/{chunk-MOJHETNO.cjs → chunk-F3D5HA2F.cjs} +10 -10
  8. package/dist/chunk-G3SF4RRA.cjs +489 -0
  9. package/dist/chunk-HTTRUJQU.cjs +60 -0
  10. package/dist/{chunk-JS6BLIWL.js → chunk-IZF4WCK6.js} +11 -11
  11. package/dist/{chunk-PH2TV7XI.cjs → chunk-KOR2QR7I.cjs} +5 -5
  12. package/dist/{chunk-BGCNGYPL.cjs → chunk-PTMZTP3V.cjs} +2 -2
  13. package/dist/{chunk-6O3DUMF7.js → chunk-REGA2L5S.js} +1 -1
  14. package/dist/{chunk-PNI354BY.cjs → chunk-SL6ECEN6.cjs} +2 -2
  15. package/dist/{chunk-ZGTPNSR7.js → chunk-TS4MC3B3.js} +4 -4
  16. package/dist/chunk-TUQVHPSI.js +60 -0
  17. package/dist/chunk-VWOWPNKT.js +73 -0
  18. package/dist/chunk-XH2I3YJ6.js +63 -0
  19. package/dist/chunk-Y6X6XDHE.cjs +73 -0
  20. package/dist/primitives/accent-theme.cjs +66 -0
  21. package/dist/primitives/accent-theme.d.cts +32 -0
  22. package/dist/primitives/accent-theme.d.ts +32 -0
  23. package/dist/primitives/accent-theme.js +66 -0
  24. package/dist/primitives/activity-feed.cjs +2 -2
  25. package/dist/primitives/activity-feed.js +2 -2
  26. package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
  27. package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
  28. package/dist/primitives/alert.d.cts +1 -1
  29. package/dist/primitives/alert.d.ts +1 -1
  30. package/dist/primitives/app-layout.cjs +114 -0
  31. package/dist/primitives/app-layout.d.cts +47 -0
  32. package/dist/primitives/app-layout.d.ts +47 -0
  33. package/dist/primitives/app-layout.js +114 -0
  34. package/dist/primitives/app-sidebar.cjs +52 -0
  35. package/dist/primitives/app-sidebar.d.cts +105 -0
  36. package/dist/primitives/app-sidebar.d.ts +105 -0
  37. package/dist/primitives/app-sidebar.js +52 -0
  38. package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
  39. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  40. package/dist/primitives/back-bar.cjs +37 -0
  41. package/dist/primitives/back-bar.d.cts +31 -0
  42. package/dist/primitives/back-bar.d.ts +31 -0
  43. package/dist/primitives/back-bar.js +37 -0
  44. package/dist/primitives/badge.d.cts +1 -1
  45. package/dist/primitives/badge.d.ts +1 -1
  46. package/dist/primitives/batch-action-bar.cjs +134 -0
  47. package/dist/primitives/batch-action-bar.d.cts +27 -0
  48. package/dist/primitives/batch-action-bar.d.ts +27 -0
  49. package/dist/primitives/batch-action-bar.js +134 -0
  50. package/dist/primitives/board-view-internals.cjs +3 -3
  51. package/dist/primitives/board-view-internals.js +2 -2
  52. package/dist/primitives/board-view.cjs +8 -8
  53. package/dist/primitives/board-view.js +7 -7
  54. package/dist/primitives/brand-mark.cjs +26 -0
  55. package/dist/primitives/brand-mark.d.cts +10 -0
  56. package/dist/primitives/brand-mark.d.ts +10 -0
  57. package/dist/primitives/brand-mark.js +26 -0
  58. package/dist/primitives/bubble.d.cts +1 -1
  59. package/dist/primitives/bubble.d.ts +1 -1
  60. package/dist/primitives/button.d.cts +2 -2
  61. package/dist/primitives/button.d.ts +2 -2
  62. package/dist/primitives/chat.cjs +27 -27
  63. package/dist/primitives/chat.js +21 -21
  64. package/dist/primitives/code-block.cjs +4 -4
  65. package/dist/primitives/code-block.js +3 -3
  66. package/dist/primitives/command.cjs +129 -0
  67. package/dist/primitives/command.d.cts +60 -0
  68. package/dist/primitives/command.d.ts +60 -0
  69. package/dist/primitives/command.js +129 -0
  70. package/dist/primitives/compact-list.cjs +24 -0
  71. package/dist/primitives/compact-list.d.cts +18 -0
  72. package/dist/primitives/compact-list.d.ts +18 -0
  73. package/dist/primitives/compact-list.js +24 -0
  74. package/dist/primitives/connection.cjs +6 -6
  75. package/dist/primitives/connection.js +8 -8
  76. package/dist/primitives/context-bar.cjs +57 -0
  77. package/dist/primitives/context-bar.d.cts +50 -0
  78. package/dist/primitives/context-bar.d.ts +50 -0
  79. package/dist/primitives/context-bar.js +57 -0
  80. package/dist/primitives/copy-button.cjs +3 -3
  81. package/dist/primitives/copy-button.js +2 -2
  82. package/dist/primitives/cycling-prompt.cjs +102 -0
  83. package/dist/primitives/cycling-prompt.d.cts +24 -0
  84. package/dist/primitives/cycling-prompt.d.ts +24 -0
  85. package/dist/primitives/cycling-prompt.js +102 -0
  86. package/dist/primitives/dialog.d.cts +9 -9
  87. package/dist/primitives/dialog.d.ts +9 -9
  88. package/dist/primitives/dotted-list.cjs +41 -0
  89. package/dist/primitives/dotted-list.d.cts +28 -0
  90. package/dist/primitives/dotted-list.d.ts +28 -0
  91. package/dist/primitives/dotted-list.js +41 -0
  92. package/dist/primitives/drawer.d.cts +6 -6
  93. package/dist/primitives/drawer.d.ts +6 -6
  94. package/dist/primitives/field.cjs +3 -3
  95. package/dist/primitives/field.js +2 -2
  96. package/dist/primitives/file-dropzone.cjs +3 -3
  97. package/dist/primitives/file-dropzone.js +2 -2
  98. package/dist/primitives/file-preview.cjs +4 -4
  99. package/dist/primitives/file-preview.js +3 -3
  100. package/dist/primitives/filter-bar.cjs +4 -4
  101. package/dist/primitives/filter-bar.js +3 -3
  102. package/dist/primitives/fixed-action-bar.cjs +46 -0
  103. package/dist/primitives/fixed-action-bar.d.cts +15 -0
  104. package/dist/primitives/fixed-action-bar.d.ts +15 -0
  105. package/dist/primitives/fixed-action-bar.js +46 -0
  106. package/dist/primitives/floating-action-button.cjs +65 -0
  107. package/dist/primitives/floating-action-button.d.cts +52 -0
  108. package/dist/primitives/floating-action-button.d.ts +52 -0
  109. package/dist/primitives/floating-action-button.js +65 -0
  110. package/dist/primitives/form-section.cjs +38 -0
  111. package/dist/primitives/form-section.d.cts +43 -0
  112. package/dist/primitives/form-section.d.ts +43 -0
  113. package/dist/primitives/form-section.js +38 -0
  114. package/dist/primitives/key-value-grid.cjs +52 -0
  115. package/dist/primitives/key-value-grid.d.cts +20 -0
  116. package/dist/primitives/key-value-grid.d.ts +20 -0
  117. package/dist/primitives/key-value-grid.js +52 -0
  118. package/dist/primitives/marketing-footer.cjs +34 -0
  119. package/dist/primitives/marketing-footer.d.cts +29 -0
  120. package/dist/primitives/marketing-footer.d.ts +29 -0
  121. package/dist/primitives/marketing-footer.js +34 -0
  122. package/dist/primitives/marketing-header.cjs +41 -0
  123. package/dist/primitives/marketing-header.d.cts +31 -0
  124. package/dist/primitives/marketing-header.d.ts +31 -0
  125. package/dist/primitives/marketing-header.js +41 -0
  126. package/dist/primitives/marketing-section.cjs +8 -0
  127. package/dist/primitives/marketing-section.d.cts +35 -0
  128. package/dist/primitives/marketing-section.d.ts +35 -0
  129. package/dist/primitives/marketing-section.js +8 -0
  130. package/dist/primitives/marketing-shell.cjs +28 -0
  131. package/dist/primitives/marketing-shell.d.cts +14 -0
  132. package/dist/primitives/marketing-shell.d.ts +14 -0
  133. package/dist/primitives/marketing-shell.js +28 -0
  134. package/dist/primitives/notes.cjs +4 -4
  135. package/dist/primitives/notes.js +4 -4
  136. package/dist/primitives/page-header.cjs +3 -67
  137. package/dist/primitives/page-header.js +3 -67
  138. package/dist/primitives/page-tabs.cjs +4 -57
  139. package/dist/primitives/page-tabs.js +4 -57
  140. package/dist/primitives/pager.cjs +85 -0
  141. package/dist/primitives/pager.d.cts +39 -0
  142. package/dist/primitives/pager.d.ts +39 -0
  143. package/dist/primitives/pager.js +85 -0
  144. package/dist/primitives/pagination.cjs +119 -0
  145. package/dist/primitives/pagination.d.cts +41 -0
  146. package/dist/primitives/pagination.d.ts +41 -0
  147. package/dist/primitives/pagination.js +119 -0
  148. package/dist/primitives/poster.cjs +11 -1
  149. package/dist/primitives/poster.d.cts +12 -1
  150. package/dist/primitives/poster.d.ts +12 -1
  151. package/dist/primitives/poster.js +10 -0
  152. package/dist/primitives/resource-list.cjs +8 -8
  153. package/dist/primitives/resource-list.js +7 -7
  154. package/dist/primitives/responsive-embed.cjs +29 -0
  155. package/dist/primitives/responsive-embed.d.cts +14 -0
  156. package/dist/primitives/responsive-embed.d.ts +14 -0
  157. package/dist/primitives/responsive-embed.js +29 -0
  158. package/dist/primitives/save-bar.cjs +91 -0
  159. package/dist/primitives/save-bar.d.cts +55 -0
  160. package/dist/primitives/save-bar.d.ts +55 -0
  161. package/dist/primitives/save-bar.js +91 -0
  162. package/dist/primitives/settings-list.cjs +10 -0
  163. package/dist/primitives/settings-list.d.cts +31 -0
  164. package/dist/primitives/settings-list.d.ts +31 -0
  165. package/dist/primitives/settings-list.js +10 -0
  166. package/dist/primitives/settings-section.cjs +34 -0
  167. package/dist/primitives/settings-section.d.cts +44 -0
  168. package/dist/primitives/settings-section.d.ts +44 -0
  169. package/dist/primitives/settings-section.js +34 -0
  170. package/dist/primitives/sheet.d.cts +9 -9
  171. package/dist/primitives/sheet.d.ts +9 -9
  172. package/dist/primitives/short-video.cjs +110 -0
  173. package/dist/primitives/short-video.d.cts +30 -0
  174. package/dist/primitives/short-video.d.ts +30 -0
  175. package/dist/primitives/short-video.js +110 -0
  176. package/dist/primitives/stats-card.cjs +46 -0
  177. package/dist/primitives/stats-card.d.cts +19 -0
  178. package/dist/primitives/stats-card.d.ts +19 -0
  179. package/dist/primitives/stats-card.js +46 -0
  180. package/dist/primitives/stats-strip.cjs +38 -0
  181. package/dist/primitives/stats-strip.d.cts +24 -0
  182. package/dist/primitives/stats-strip.d.ts +24 -0
  183. package/dist/primitives/stats-strip.js +38 -0
  184. package/dist/primitives/step-list.cjs +32 -0
  185. package/dist/primitives/step-list.d.cts +19 -0
  186. package/dist/primitives/step-list.d.ts +19 -0
  187. package/dist/primitives/step-list.js +32 -0
  188. package/dist/primitives/steps.cjs +77 -0
  189. package/dist/primitives/steps.d.cts +35 -0
  190. package/dist/primitives/steps.d.ts +35 -0
  191. package/dist/primitives/steps.js +77 -0
  192. package/dist/primitives/tabbed-page-header.cjs +53 -0
  193. package/dist/primitives/tabbed-page-header.d.cts +26 -0
  194. package/dist/primitives/tabbed-page-header.d.ts +26 -0
  195. package/dist/primitives/tabbed-page-header.js +53 -0
  196. package/dist/primitives/theme-selector.cjs +17 -17
  197. package/dist/primitives/theme-selector.js +5 -5
  198. package/dist/primitives/voice-dictation-button.cjs +5 -5
  199. package/dist/primitives/voice-dictation-button.js +4 -4
  200. package/dist/primitives/voice-session-controls.cjs +4 -4
  201. package/dist/primitives/voice-session-controls.js +3 -3
  202. package/dist/primitives/workflow-assistant.cjs +5 -5
  203. package/dist/primitives/workflow-assistant.js +3 -3
  204. package/package.json +312 -1
  205. package/src/styles/components/poster.css +42 -1
  206. package/dist/{chunk-5OF6D3GH.js → chunk-4TJBXXUE.js} +3 -3
  207. package/dist/{chunk-DILYV4FI.js → chunk-7ZRFXJVN.js} +3 -3
  208. package/dist/{chunk-YYFVG5A6.cjs → chunk-D46FNEZ5.cjs} +2 -2
  209. package/dist/{chunk-NKWHDI4C.cjs → chunk-FB3VY2PL.cjs} +2 -2
  210. package/dist/{chunk-MW67PHAQ.cjs → chunk-GUVQAWUW.cjs} +9 -9
  211. package/dist/{chunk-WHDHUYS6.js → chunk-HBRVOGLA.js} +3 -3
  212. package/dist/{chunk-FARCLWLU.cjs → chunk-HHF5DEKM.cjs} +3 -3
  213. package/dist/{chunk-TWCJMFST.js → chunk-O42YC6ZQ.js} +3 -3
  214. package/dist/{chunk-ZJFYOXSM.cjs → chunk-SRVRNHCX.cjs} +2 -2
  215. package/dist/{chunk-UFFHGKI7.js → chunk-SW4T3O7M.js} +9 -9
  216. package/dist/{chunk-62UTAG2C.js → chunk-ULZB4A2I.js} +3 -3
  217. package/dist/{chunk-ZLEM2SAU.cjs → chunk-Z3JJSNR5.cjs} +2 -2
@@ -0,0 +1,37 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/back-bar.tsx
7
+ var _lucidereact = require('lucide-react');
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ function BackBar({
10
+ label,
11
+ href,
12
+ renderLink,
13
+ visibility = "always",
14
+ className
15
+ }) {
16
+ const linkClass = "inline-flex items-center gap-1.5 h-11 text-sm text-muted-foreground hover:text-foreground transition-colors";
17
+ const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
19
+ label
20
+ ] });
21
+ const link = renderLink ? renderLink({ href, className: linkClass, children: content }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, className: linkClass, children: content });
22
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23
+ "div",
24
+ {
25
+ "data-slot": "back-bar",
26
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
27
+ "-mt-6 md:-mt-8 -mx-4 md:-mx-6 lg:-mx-10 mb-5 px-4 md:px-6 lg:px-10 border-b border-border",
28
+ visibility === "mobile" && "md:hidden",
29
+ className
30
+ ),
31
+ children: link
32
+ }
33
+ );
34
+ }
35
+
36
+
37
+ exports.BackBar = BackBar;
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface BackBarProps {
5
+ /** The back link destination label, e.g. "Dashboard", "Network". */
6
+ label: ReactNode;
7
+ /** href for plain <a>, or pass children via renderLink for Next.js <Link>. */
8
+ href: string;
9
+ /**
10
+ * Render function for the link — use for Next.js <Link> so navigation
11
+ * stays client-side. Receives href, className, and children.
12
+ */
13
+ renderLink?: (props: {
14
+ href: string;
15
+ className: string;
16
+ children: ReactNode;
17
+ }) => ReactNode;
18
+ /** Controls whether the contextual back link is always visible or mobile-only. */
19
+ visibility?: "always" | "mobile";
20
+ className?: string;
21
+ }
22
+ /**
23
+ * Sub-navigation bar pinned under the global navbar. Bleeds to the
24
+ * edges of the parent PageShell (negative margin cancels the shell's
25
+ * padding) so it reads as a full-width bar, not an inline link.
26
+ *
27
+ * Use on any detail/sub-page that needs a back link to its parent list.
28
+ */
29
+ declare function BackBar({ label, href, renderLink, visibility, className, }: BackBarProps): react_jsx_runtime.JSX.Element;
30
+
31
+ export { BackBar, type BackBarProps };
@@ -0,0 +1,31 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface BackBarProps {
5
+ /** The back link destination label, e.g. "Dashboard", "Network". */
6
+ label: ReactNode;
7
+ /** href for plain <a>, or pass children via renderLink for Next.js <Link>. */
8
+ href: string;
9
+ /**
10
+ * Render function for the link — use for Next.js <Link> so navigation
11
+ * stays client-side. Receives href, className, and children.
12
+ */
13
+ renderLink?: (props: {
14
+ href: string;
15
+ className: string;
16
+ children: ReactNode;
17
+ }) => ReactNode;
18
+ /** Controls whether the contextual back link is always visible or mobile-only. */
19
+ visibility?: "always" | "mobile";
20
+ className?: string;
21
+ }
22
+ /**
23
+ * Sub-navigation bar pinned under the global navbar. Bleeds to the
24
+ * edges of the parent PageShell (negative margin cancels the shell's
25
+ * padding) so it reads as a full-width bar, not an inline link.
26
+ *
27
+ * Use on any detail/sub-page that needs a back link to its parent list.
28
+ */
29
+ declare function BackBar({ label, href, renderLink, visibility, className, }: BackBarProps): react_jsx_runtime.JSX.Element;
30
+
31
+ export { BackBar, type BackBarProps };
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import {
3
+ cn
4
+ } from "../chunk-G6SRSWXB.js";
5
+
6
+ // src/primitives/back-bar.tsx
7
+ import { ChevronLeft } from "lucide-react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ function BackBar({
10
+ label,
11
+ href,
12
+ renderLink,
13
+ visibility = "always",
14
+ className
15
+ }) {
16
+ const linkClass = "inline-flex items-center gap-1.5 h-11 text-sm text-muted-foreground hover:text-foreground transition-colors";
17
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
18
+ /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
19
+ label
20
+ ] });
21
+ const link = renderLink ? renderLink({ href, className: linkClass, children: content }) : /* @__PURE__ */ jsx("a", { href, className: linkClass, children: content });
22
+ return /* @__PURE__ */ jsx(
23
+ "div",
24
+ {
25
+ "data-slot": "back-bar",
26
+ className: cn(
27
+ "-mt-6 md:-mt-8 -mx-4 md:-mx-6 lg:-mx-10 mb-5 px-4 md:px-6 lg:px-10 border-b border-border",
28
+ visibility === "mobile" && "md:hidden",
29
+ className
30
+ ),
31
+ children: link
32
+ }
33
+ );
34
+ }
35
+ export {
36
+ BackBar
37
+ };
@@ -4,7 +4,7 @@ import { VariantProps } from 'class-variance-authority';
4
4
  import { ElementType } from 'react';
5
5
 
6
6
  declare const badgeVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "neutral" | null | undefined;
7
+ variant?: "neutral" | "error" | "success" | "default" | "secondary" | "destructive" | "outline" | "warning" | "info" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
10
10
  weight?: "normal" | "semibold" | "bold";
@@ -4,7 +4,7 @@ import { VariantProps } from 'class-variance-authority';
4
4
  import { ElementType } from 'react';
5
5
 
6
6
  declare const badgeVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "neutral" | null | undefined;
7
+ variant?: "neutral" | "error" | "success" | "default" | "secondary" | "destructive" | "outline" | "warning" | "info" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
10
10
  weight?: "normal" | "semibold" | "bold";
@@ -0,0 +1,134 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+ "use client";
3
+
4
+
5
+ var _chunkI6GUOEBOcjs = require('../chunk-I6GUOEBO.cjs');
6
+
7
+
8
+ var _chunkJDEXZGIYcjs = require('../chunk-JDEXZGIY.cjs');
9
+ require('../chunk-KWLSBTB2.cjs');
10
+
11
+ // src/primitives/batch-action-bar.tsx
12
+ var _react = require('react');
13
+ var _jsxruntime = require('react/jsx-runtime');
14
+ function BatchActionBar({
15
+ selectedIds,
16
+ processing = false,
17
+ onClearSelection,
18
+ onSelectAll,
19
+ totalItems,
20
+ clearSelectionLabel = "Clear Selection",
21
+ showClearSelection = true,
22
+ badgeText,
23
+ children,
24
+ placement = "fixed"
25
+ }) {
26
+ const [showMobileActions, setShowMobileActions] = _react.useState.call(void 0, false);
27
+ if (selectedIds.length === 0) {
28
+ return null;
29
+ }
30
+ const displayBadgeText = badgeText || `${selectedIds.length} selected`;
31
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: placement === "fixed" ? "fixed bottom-4 left-1/2 -translate-x-1/2 z-50" : "sticky bottom-4 z-20 flex justify-center", children: [
32
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: !showMobileActions ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95", children: [
33
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34
+ _chunkI6GUOEBOcjs.Badge,
35
+ {
36
+ variant: "default",
37
+ className: "whitespace-nowrap flex-shrink-0",
38
+ children: displayBadgeText
39
+ }
40
+ ),
41
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42
+ _chunkJDEXZGIYcjs.Button,
43
+ {
44
+ size: "sm",
45
+ onClick: () => setShowMobileActions(true),
46
+ className: "ml-2",
47
+ disabled: processing,
48
+ children: "Batch Actions"
49
+ }
50
+ )
51
+ ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95 max-w-[90vw]", children: [
52
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
53
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
54
+ _chunkI6GUOEBOcjs.Badge,
55
+ {
56
+ variant: "default",
57
+ className: "whitespace-nowrap flex-shrink-0",
58
+ children: displayBadgeText
59
+ }
60
+ ),
61
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
62
+ _chunkJDEXZGIYcjs.Button,
63
+ {
64
+ size: "sm",
65
+ variant: "outline",
66
+ onClick: () => setShowMobileActions(false),
67
+ children: "Close"
68
+ }
69
+ )
70
+ ] }),
71
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
72
+ children,
73
+ (showClearSelection || onSelectAll) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
74
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:block h-6 border-l border-border mx-2" }),
75
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-2 w-full", children: [
76
+ onSelectAll && totalItems && selectedIds.length < totalItems && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
77
+ _chunkJDEXZGIYcjs.Button,
78
+ {
79
+ size: "sm",
80
+ variant: "outline",
81
+ onClick: onSelectAll,
82
+ className: "flex-1",
83
+ disabled: processing,
84
+ children: "Select All"
85
+ }
86
+ ),
87
+ showClearSelection && onClearSelection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
88
+ _chunkJDEXZGIYcjs.Button,
89
+ {
90
+ size: "sm",
91
+ variant: "outline",
92
+ onClick: onClearSelection,
93
+ className: "flex-1",
94
+ disabled: processing,
95
+ children: clearSelectionLabel
96
+ }
97
+ )
98
+ ] })
99
+ ] })
100
+ ] })
101
+ ] }) }),
102
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex items-center gap-3 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95 max-w-[90vw]", children: [
103
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkI6GUOEBOcjs.Badge, { variant: "default", className: "whitespace-nowrap flex-shrink-0", children: displayBadgeText }),
104
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 border-l border-border mx-2" }),
105
+ children,
106
+ (showClearSelection || onSelectAll) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
107
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 border-l border-border mx-2" }),
108
+ onSelectAll && totalItems && selectedIds.length < totalItems && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
109
+ _chunkJDEXZGIYcjs.Button,
110
+ {
111
+ size: "sm",
112
+ variant: "outline",
113
+ onClick: onSelectAll,
114
+ disabled: processing,
115
+ children: "Select All"
116
+ }
117
+ ),
118
+ showClearSelection && onClearSelection && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
119
+ _chunkJDEXZGIYcjs.Button,
120
+ {
121
+ size: "sm",
122
+ variant: "outline",
123
+ onClick: onClearSelection,
124
+ disabled: processing,
125
+ children: clearSelectionLabel
126
+ }
127
+ )
128
+ ] })
129
+ ] })
130
+ ] });
131
+ }
132
+
133
+
134
+ exports.BatchActionBar = BatchActionBar;
@@ -0,0 +1,27 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface BatchActionBarProps {
5
+ /** Array of selected IDs */
6
+ selectedIds: (string | number)[];
7
+ /** Whether any batch processing is currently happening */
8
+ processing?: boolean;
9
+ /** Callback to clear selection */
10
+ onClearSelection?: () => void;
11
+ /** Callback to select all items */
12
+ onSelectAll?: () => void;
13
+ /** Total number of items available for selection */
14
+ totalItems?: number;
15
+ /** Custom clear selection button label */
16
+ clearSelectionLabel?: string;
17
+ /** Whether to show the clear selection button */
18
+ showClearSelection?: boolean;
19
+ /** Custom badge text (defaults to "X selected") */
20
+ badgeText?: string;
21
+ /** Batch action buttons rendered as children */
22
+ children?: ReactNode;
23
+ placement?: "fixed" | "sticky";
24
+ }
25
+ declare function BatchActionBar({ selectedIds, processing, onClearSelection, onSelectAll, totalItems, clearSelectionLabel, showClearSelection, badgeText, children, placement, }: BatchActionBarProps): react_jsx_runtime.JSX.Element | null;
26
+
27
+ export { BatchActionBar, type BatchActionBarProps };
@@ -0,0 +1,27 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface BatchActionBarProps {
5
+ /** Array of selected IDs */
6
+ selectedIds: (string | number)[];
7
+ /** Whether any batch processing is currently happening */
8
+ processing?: boolean;
9
+ /** Callback to clear selection */
10
+ onClearSelection?: () => void;
11
+ /** Callback to select all items */
12
+ onSelectAll?: () => void;
13
+ /** Total number of items available for selection */
14
+ totalItems?: number;
15
+ /** Custom clear selection button label */
16
+ clearSelectionLabel?: string;
17
+ /** Whether to show the clear selection button */
18
+ showClearSelection?: boolean;
19
+ /** Custom badge text (defaults to "X selected") */
20
+ badgeText?: string;
21
+ /** Batch action buttons rendered as children */
22
+ children?: ReactNode;
23
+ placement?: "fixed" | "sticky";
24
+ }
25
+ declare function BatchActionBar({ selectedIds, processing, onClearSelection, onSelectAll, totalItems, clearSelectionLabel, showClearSelection, badgeText, children, placement, }: BatchActionBarProps): react_jsx_runtime.JSX.Element | null;
26
+
27
+ export { BatchActionBar, type BatchActionBarProps };
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Badge
5
+ } from "../chunk-D4ZL2OEQ.js";
6
+ import {
7
+ Button
8
+ } from "../chunk-W326GKML.js";
9
+ import "../chunk-G6SRSWXB.js";
10
+
11
+ // src/primitives/batch-action-bar.tsx
12
+ import { useState } from "react";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ function BatchActionBar({
15
+ selectedIds,
16
+ processing = false,
17
+ onClearSelection,
18
+ onSelectAll,
19
+ totalItems,
20
+ clearSelectionLabel = "Clear Selection",
21
+ showClearSelection = true,
22
+ badgeText,
23
+ children,
24
+ placement = "fixed"
25
+ }) {
26
+ const [showMobileActions, setShowMobileActions] = useState(false);
27
+ if (selectedIds.length === 0) {
28
+ return null;
29
+ }
30
+ const displayBadgeText = badgeText || `${selectedIds.length} selected`;
31
+ return /* @__PURE__ */ jsxs("div", { className: placement === "fixed" ? "fixed bottom-4 left-1/2 -translate-x-1/2 z-50" : "sticky bottom-4 z-20 flex justify-center", children: [
32
+ /* @__PURE__ */ jsx("div", { className: "md:hidden", children: !showMobileActions ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95", children: [
33
+ /* @__PURE__ */ jsx(
34
+ Badge,
35
+ {
36
+ variant: "default",
37
+ className: "whitespace-nowrap flex-shrink-0",
38
+ children: displayBadgeText
39
+ }
40
+ ),
41
+ /* @__PURE__ */ jsx(
42
+ Button,
43
+ {
44
+ size: "sm",
45
+ onClick: () => setShowMobileActions(true),
46
+ className: "ml-2",
47
+ disabled: processing,
48
+ children: "Batch Actions"
49
+ }
50
+ )
51
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95 max-w-[90vw]", children: [
52
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
53
+ /* @__PURE__ */ jsx(
54
+ Badge,
55
+ {
56
+ variant: "default",
57
+ className: "whitespace-nowrap flex-shrink-0",
58
+ children: displayBadgeText
59
+ }
60
+ ),
61
+ /* @__PURE__ */ jsx(
62
+ Button,
63
+ {
64
+ size: "sm",
65
+ variant: "outline",
66
+ onClick: () => setShowMobileActions(false),
67
+ children: "Close"
68
+ }
69
+ )
70
+ ] }),
71
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
72
+ children,
73
+ (showClearSelection || onSelectAll) && /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ /* @__PURE__ */ jsx("div", { className: "hidden md:block h-6 border-l border-border mx-2" }),
75
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-2 w-full", children: [
76
+ onSelectAll && totalItems && selectedIds.length < totalItems && /* @__PURE__ */ jsx(
77
+ Button,
78
+ {
79
+ size: "sm",
80
+ variant: "outline",
81
+ onClick: onSelectAll,
82
+ className: "flex-1",
83
+ disabled: processing,
84
+ children: "Select All"
85
+ }
86
+ ),
87
+ showClearSelection && onClearSelection && /* @__PURE__ */ jsx(
88
+ Button,
89
+ {
90
+ size: "sm",
91
+ variant: "outline",
92
+ onClick: onClearSelection,
93
+ className: "flex-1",
94
+ disabled: processing,
95
+ children: clearSelectionLabel
96
+ }
97
+ )
98
+ ] })
99
+ ] })
100
+ ] })
101
+ ] }) }),
102
+ /* @__PURE__ */ jsxs("div", { className: "hidden md:flex items-center gap-3 p-4 bg-background border-2 rounded-lg shadow-lg backdrop-blur-sm bg-opacity-95 max-w-[90vw]", children: [
103
+ /* @__PURE__ */ jsx(Badge, { variant: "default", className: "whitespace-nowrap flex-shrink-0", children: displayBadgeText }),
104
+ /* @__PURE__ */ jsx("div", { className: "h-6 border-l border-border mx-2" }),
105
+ children,
106
+ (showClearSelection || onSelectAll) && /* @__PURE__ */ jsxs(Fragment, { children: [
107
+ /* @__PURE__ */ jsx("div", { className: "h-6 border-l border-border mx-2" }),
108
+ onSelectAll && totalItems && selectedIds.length < totalItems && /* @__PURE__ */ jsx(
109
+ Button,
110
+ {
111
+ size: "sm",
112
+ variant: "outline",
113
+ onClick: onSelectAll,
114
+ disabled: processing,
115
+ children: "Select All"
116
+ }
117
+ ),
118
+ showClearSelection && onClearSelection && /* @__PURE__ */ jsx(
119
+ Button,
120
+ {
121
+ size: "sm",
122
+ variant: "outline",
123
+ onClick: onClearSelection,
124
+ disabled: processing,
125
+ children: clearSelectionLabel
126
+ }
127
+ )
128
+ ] })
129
+ ] })
130
+ ] });
131
+ }
132
+ export {
133
+ BatchActionBar
134
+ };
@@ -3,14 +3,14 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkYYFVG5A6cjs = require('../chunk-YYFVG5A6.cjs');
6
+ var _chunkD46FNEZ5cjs = require('../chunk-D46FNEZ5.cjs');
7
7
  require('../chunk-XLIAY56V.cjs');
8
8
  require('../chunk-V5SPFLKW.cjs');
9
+ require('../chunk-VBPPFC7X.cjs');
9
10
  require('../chunk-VGTINL5Q.cjs');
10
11
  require('../chunk-I6GUOEBO.cjs');
11
- require('../chunk-VBPPFC7X.cjs');
12
12
  require('../chunk-KWLSBTB2.cjs');
13
13
 
14
14
 
15
15
 
16
- exports.BoardColumnComponent = _chunkYYFVG5A6cjs.BoardColumnComponent; exports.MobileBoardView = _chunkYYFVG5A6cjs.MobileBoardView;
16
+ exports.BoardColumnComponent = _chunkD46FNEZ5cjs.BoardColumnComponent; exports.MobileBoardView = _chunkD46FNEZ5cjs.MobileBoardView;
@@ -3,12 +3,12 @@
3
3
  import {
4
4
  BoardColumnComponent,
5
5
  MobileBoardView
6
- } from "../chunk-62UTAG2C.js";
6
+ } from "../chunk-ULZB4A2I.js";
7
7
  import "../chunk-LELFPLTE.js";
8
8
  import "../chunk-J6NXDZR5.js";
9
+ import "../chunk-YEW65ASC.js";
9
10
  import "../chunk-H7TETFLB.js";
10
11
  import "../chunk-D4ZL2OEQ.js";
11
- import "../chunk-YEW65ASC.js";
12
12
  import "../chunk-G6SRSWXB.js";
13
13
  export {
14
14
  BoardColumnComponent,
@@ -2,27 +2,27 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkMOJHETNOcjs = require('../chunk-MOJHETNO.cjs');
5
+ var _chunkF3D5HA2Fcjs = require('../chunk-F3D5HA2F.cjs');
6
6
  require('../chunk-EUFV25KL.cjs');
7
7
  require('../chunk-7YCKII7G.cjs');
8
- require('../chunk-MW67PHAQ.cjs');
9
- require('../chunk-PPX2VPGI.cjs');
8
+ require('../chunk-GUVQAWUW.cjs');
10
9
  require('../chunk-WNXVGUBF.cjs');
11
10
  require('../chunk-IQZLUT2Y.cjs');
12
11
  require('../chunk-LELBCBDT.cjs');
13
- require('../chunk-U2NES7VR.cjs');
14
12
  require('../chunk-JH4GAGOQ.cjs');
15
- require('../chunk-YYFVG5A6.cjs');
13
+ require('../chunk-D46FNEZ5.cjs');
16
14
  require('../chunk-XLIAY56V.cjs');
17
15
  require('../chunk-V5SPFLKW.cjs');
18
16
  require('../chunk-VOTCYG3F.cjs');
17
+ require('../chunk-PPX2VPGI.cjs');
18
+ require('../chunk-R35FT53G.cjs');
19
+ require('../chunk-U2NES7VR.cjs');
19
20
  require('../chunk-PQUSJEXL.cjs');
21
+ require('../chunk-VBPPFC7X.cjs');
20
22
  require('../chunk-VGTINL5Q.cjs');
21
23
  require('../chunk-I6GUOEBO.cjs');
22
- require('../chunk-VBPPFC7X.cjs');
23
24
  require('../chunk-JDEXZGIY.cjs');
24
25
  require('../chunk-KWLSBTB2.cjs');
25
- require('../chunk-R35FT53G.cjs');
26
26
 
27
27
  // src/primitives/board-view.tsx
28
28
  var _jsxruntime = require('react/jsx-runtime');
@@ -57,7 +57,7 @@ function BoardView({
57
57
  onSortChange
58
58
  }) {
59
59
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
60
- _chunkMOJHETNOcjs.ResourceList,
60
+ _chunkF3D5HA2Fcjs.ResourceList,
61
61
  {
62
62
  data,
63
63
  loading,
@@ -2,27 +2,27 @@
2
2
  "use client";
3
3
  import {
4
4
  ResourceList
5
- } from "../chunk-JS6BLIWL.js";
5
+ } from "../chunk-IZF4WCK6.js";
6
6
  import "../chunk-43UMPZWD.js";
7
7
  import "../chunk-EEHIMPD7.js";
8
- import "../chunk-UFFHGKI7.js";
9
- import "../chunk-G76JANB4.js";
8
+ import "../chunk-SW4T3O7M.js";
10
9
  import "../chunk-YG7FBJRM.js";
11
10
  import "../chunk-E2TQMDO7.js";
12
11
  import "../chunk-H2O6NMLZ.js";
13
- import "../chunk-ZRLUUZHK.js";
14
12
  import "../chunk-OICAYRVH.js";
15
- import "../chunk-62UTAG2C.js";
13
+ import "../chunk-ULZB4A2I.js";
16
14
  import "../chunk-LELFPLTE.js";
17
15
  import "../chunk-J6NXDZR5.js";
18
16
  import "../chunk-H2CCBRVG.js";
17
+ import "../chunk-G76JANB4.js";
18
+ import "../chunk-PIU5SSUV.js";
19
+ import "../chunk-ZRLUUZHK.js";
19
20
  import "../chunk-QMA3WVB7.js";
21
+ import "../chunk-YEW65ASC.js";
20
22
  import "../chunk-H7TETFLB.js";
21
23
  import "../chunk-D4ZL2OEQ.js";
22
- import "../chunk-YEW65ASC.js";
23
24
  import "../chunk-W326GKML.js";
24
25
  import "../chunk-G6SRSWXB.js";
25
- import "../chunk-PIU5SSUV.js";
26
26
 
27
27
  // src/primitives/board-view.tsx
28
28
  import { jsx } from "react/jsx-runtime";
@@ -0,0 +1,26 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+
4
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
5
+
6
+ // src/primitives/brand-mark.tsx
7
+ var _react = require('react');
8
+ var _jsxruntime = require('react/jsx-runtime');
9
+ var sizeStyles = {
10
+ sm: "h-6 max-w-36",
11
+ md: "h-7 max-w-44",
12
+ lg: "h-9 max-w-52"
13
+ };
14
+ var BrandMark = _react.forwardRef.call(void 0, function BrandMark2({ size = "md", className, ...props }, ref) {
15
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16
+ "img",
17
+ {
18
+ ref,
19
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, "w-auto object-contain", sizeStyles[size], className),
20
+ ...props
21
+ }
22
+ );
23
+ });
24
+
25
+
26
+ exports.BrandMark = BrandMark;
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ImgHTMLAttributes } from 'react';
3
+
4
+ interface BrandMarkProps extends ImgHTMLAttributes<HTMLImageElement> {
5
+ size?: "sm" | "md" | "lg";
6
+ }
7
+ /** A contained, intrinsic-ratio image for a company or product logo. */
8
+ declare const BrandMark: React.ForwardRefExoticComponent<BrandMarkProps & React.RefAttributes<HTMLImageElement>>;
9
+
10
+ export { BrandMark, type BrandMarkProps };
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ImgHTMLAttributes } from 'react';
3
+
4
+ interface BrandMarkProps extends ImgHTMLAttributes<HTMLImageElement> {
5
+ size?: "sm" | "md" | "lg";
6
+ }
7
+ /** A contained, intrinsic-ratio image for a company or product logo. */
8
+ declare const BrandMark: React.ForwardRefExoticComponent<BrandMarkProps & React.RefAttributes<HTMLImageElement>>;
9
+
10
+ export { BrandMark, type BrandMarkProps };