@epicbagel/saas-kit 1.33.0 → 1.34.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 (114) hide show
  1. package/README.md +67 -0
  2. package/dist/chunk-2BNEE3U6.cjs +36 -0
  3. package/dist/{chunk-KOR2QR7I.cjs → chunk-2YW5VA2V.cjs} +5 -5
  4. package/dist/chunk-5PHOKJCT.cjs +42 -0
  5. package/dist/chunk-BB7PO2BW.js +67 -0
  6. package/dist/{chunk-PTMZTP3V.cjs → chunk-BGCNGYPL.cjs} +2 -2
  7. package/dist/chunk-BOMVE7QO.cjs +47 -0
  8. package/dist/{chunk-FPOJ2NGG.js → chunk-C3VZMTVB.js} +1 -1
  9. package/dist/chunk-EXHF3QUY.js +36 -0
  10. package/dist/chunk-FYNHRHVY.cjs +47 -0
  11. package/dist/{chunk-AWCXVYPL.js → chunk-HTPPNW74.js} +1 -1
  12. package/dist/{chunk-REGA2L5S.js → chunk-HTUYUMAH.js} +3 -3
  13. package/dist/chunk-I3GBXIFL.cjs +67 -0
  14. package/dist/{chunk-SL6ECEN6.cjs → chunk-JMNDFISN.cjs} +3 -3
  15. package/dist/{chunk-TS4MC3B3.js → chunk-NNEV5RHQ.js} +6 -6
  16. package/dist/chunk-O3G3TVPU.js +27 -0
  17. package/dist/{chunk-IZF4WCK6.js → chunk-ROUWBWEQ.js} +5 -5
  18. package/dist/chunk-TDCVZKMX.cjs +27 -0
  19. package/dist/{chunk-E2UVQXBO.cjs → chunk-TP74SBRH.cjs} +6 -6
  20. package/dist/{chunk-F3D5HA2F.cjs → chunk-VUMLLKWY.cjs} +8 -8
  21. package/dist/chunk-W5L6LQI3.js +42 -0
  22. package/dist/chunk-WMTCL463.js +47 -0
  23. package/dist/chunk-WTVL2FK7.js +47 -0
  24. package/dist/primitives/accent-theme.cjs +4 -63
  25. package/dist/primitives/accent-theme.js +3 -62
  26. package/dist/primitives/activity-feed.cjs +4 -4
  27. package/dist/primitives/activity-feed.js +5 -5
  28. package/dist/primitives/agent-audio-visualizer-bar.cjs +3 -3
  29. package/dist/primitives/agent-audio-visualizer-bar.js +2 -2
  30. package/dist/primitives/alert.d.cts +1 -1
  31. package/dist/primitives/alert.d.ts +1 -1
  32. package/dist/primitives/anchor.cjs +3 -30
  33. package/dist/primitives/anchor.js +3 -30
  34. package/dist/primitives/app-layout.cjs +5 -5
  35. package/dist/primitives/app-layout.js +2 -2
  36. package/dist/primitives/app-sidebar.cjs +3 -3
  37. package/dist/primitives/app-sidebar.js +2 -2
  38. package/dist/primitives/archive-confirmation-dialog.cjs +2 -2
  39. package/dist/primitives/archive-confirmation-dialog.js +3 -3
  40. package/dist/primitives/badge.d.cts +1 -1
  41. package/dist/primitives/badge.d.ts +1 -1
  42. package/dist/primitives/board-view-internals.cjs +3 -3
  43. package/dist/primitives/board-view-internals.js +2 -2
  44. package/dist/primitives/board-view.cjs +8 -8
  45. package/dist/primitives/board-view.js +7 -7
  46. package/dist/primitives/brand-mark.cjs +3 -21
  47. package/dist/primitives/brand-mark.js +3 -21
  48. package/dist/primitives/branded-page.cjs +201 -0
  49. package/dist/primitives/branded-page.d.cts +118 -0
  50. package/dist/primitives/branded-page.d.ts +118 -0
  51. package/dist/primitives/branded-page.js +201 -0
  52. package/dist/primitives/bubble.d.cts +1 -1
  53. package/dist/primitives/bubble.d.ts +1 -1
  54. package/dist/primitives/button.d.cts +2 -2
  55. package/dist/primitives/button.d.ts +2 -2
  56. package/dist/primitives/call-card.cjs +2 -2
  57. package/dist/primitives/call-card.js +3 -3
  58. package/dist/primitives/chat.cjs +25 -25
  59. package/dist/primitives/chat.js +22 -22
  60. package/dist/primitives/code-block.cjs +4 -4
  61. package/dist/primitives/code-block.js +3 -3
  62. package/dist/primitives/command.d.cts +1 -1
  63. package/dist/primitives/command.d.ts +1 -1
  64. package/dist/primitives/connection.cjs +5 -5
  65. package/dist/primitives/connection.js +7 -7
  66. package/dist/primitives/copy-button.cjs +3 -3
  67. package/dist/primitives/copy-button.js +2 -2
  68. package/dist/primitives/document-preview.cjs +5 -5
  69. package/dist/primitives/document-preview.js +3 -3
  70. package/dist/primitives/file-preview-internals.cjs +4 -4
  71. package/dist/primitives/file-preview-internals.js +3 -3
  72. package/dist/primitives/file-preview.cjs +16 -16
  73. package/dist/primitives/file-preview.js +6 -6
  74. package/dist/primitives/filter-bar.cjs +4 -4
  75. package/dist/primitives/filter-bar.js +3 -3
  76. package/dist/primitives/fixed-action-bar.cjs +4 -41
  77. package/dist/primitives/fixed-action-bar.js +4 -41
  78. package/dist/primitives/marketing-header.cjs +3 -36
  79. package/dist/primitives/marketing-header.js +3 -36
  80. package/dist/primitives/notes.cjs +7 -7
  81. package/dist/primitives/notes.js +7 -7
  82. package/dist/primitives/page-shell.cjs +3 -41
  83. package/dist/primitives/page-shell.js +3 -41
  84. package/dist/primitives/resource-list.cjs +8 -8
  85. package/dist/primitives/resource-list.js +7 -7
  86. package/dist/primitives/responsive-dialog.cjs +3 -3
  87. package/dist/primitives/responsive-dialog.js +2 -2
  88. package/dist/primitives/section.cjs +2 -2
  89. package/dist/primitives/section.js +3 -3
  90. package/dist/primitives/switch-field.cjs +3 -3
  91. package/dist/primitives/switch-field.js +3 -3
  92. package/dist/primitives/tabbed-page-header.cjs +3 -3
  93. package/dist/primitives/tabbed-page-header.js +3 -3
  94. package/dist/primitives/theme-selector.cjs +3 -3
  95. package/dist/primitives/theme-selector.js +4 -4
  96. package/dist/primitives/voice-dictation-button.cjs +5 -5
  97. package/dist/primitives/voice-dictation-button.js +4 -4
  98. package/dist/primitives/voice-session-controls.cjs +4 -4
  99. package/dist/primitives/voice-session-controls.js +3 -3
  100. package/dist/primitives/workflow-assistant.cjs +5 -5
  101. package/dist/primitives/workflow-assistant.js +3 -3
  102. package/package.json +11 -1
  103. package/dist/{chunk-2FVFPGP5.js → chunk-5GFMSK27.js} +3 -3
  104. package/dist/{chunk-4TJBXXUE.js → chunk-5OF6D3GH.js} +3 -3
  105. package/dist/{chunk-ULZB4A2I.js → chunk-62UTAG2C.js} +3 -3
  106. package/dist/{chunk-SW4T3O7M.js → chunk-6LB37JWO.js} +6 -6
  107. package/dist/{chunk-AO56ET4F.cjs → chunk-BTHYGHOH.cjs} +2 -2
  108. package/dist/{chunk-7ZRFXJVN.js → chunk-DILYV4FI.js} +3 -3
  109. package/dist/{chunk-HHF5DEKM.cjs → chunk-FARCLWLU.cjs} +3 -3
  110. package/dist/{chunk-CRZ4INEJ.js → chunk-JTI4244T.js} +10 -10
  111. package/dist/{chunk-FB3VY2PL.cjs → chunk-NKWHDI4C.cjs} +2 -2
  112. package/dist/{chunk-GUVQAWUW.cjs → chunk-S2IMM37Q.cjs} +5 -5
  113. package/dist/{chunk-G3SF4RRA.cjs → chunk-UKYUWSF2.cjs} +3 -3
  114. package/dist/{chunk-D46FNEZ5.cjs → chunk-YYFVG5A6.cjs} +2 -2
@@ -20,15 +20,15 @@
20
20
 
21
21
 
22
22
 
23
- var _chunkG3SF4RRAcjs = require('../chunk-G3SF4RRA.cjs');
23
+ var _chunkUKYUWSF2cjs = require('../chunk-UKYUWSF2.cjs');
24
24
  require('../chunk-NQK5ZWC7.cjs');
25
25
  require('../chunk-PPX2VPGI.cjs');
26
- require('../chunk-R35FT53G.cjs');
27
26
  require('../chunk-U2NES7VR.cjs');
28
27
  require('../chunk-VGTINL5Q.cjs');
29
28
  require('../chunk-I6GUOEBO.cjs');
30
29
  require('../chunk-JDEXZGIY.cjs');
31
30
  require('../chunk-KWLSBTB2.cjs');
31
+ require('../chunk-R35FT53G.cjs');
32
32
 
33
33
 
34
34
 
@@ -49,4 +49,4 @@ require('../chunk-KWLSBTB2.cjs');
49
49
 
50
50
 
51
51
 
52
- exports.Sidebar = _chunkG3SF4RRAcjs.Sidebar; exports.SidebarBrand = _chunkG3SF4RRAcjs.SidebarBrand; exports.SidebarContent = _chunkG3SF4RRAcjs.SidebarContent; exports.SidebarFooter = _chunkG3SF4RRAcjs.SidebarFooter; exports.SidebarFooterActions = _chunkG3SF4RRAcjs.SidebarFooterActions; exports.SidebarGroup = _chunkG3SF4RRAcjs.SidebarGroup; exports.SidebarGroupContent = _chunkG3SF4RRAcjs.SidebarGroupContent; exports.SidebarGroupLabel = _chunkG3SF4RRAcjs.SidebarGroupLabel; exports.SidebarHeader = _chunkG3SF4RRAcjs.SidebarHeader; exports.SidebarInset = _chunkG3SF4RRAcjs.SidebarInset; exports.SidebarMenu = _chunkG3SF4RRAcjs.SidebarMenu; exports.SidebarMenuBadge = _chunkG3SF4RRAcjs.SidebarMenuBadge; exports.SidebarMenuButton = _chunkG3SF4RRAcjs.SidebarMenuButton; exports.SidebarMenuItem = _chunkG3SF4RRAcjs.SidebarMenuItem; exports.SidebarProvider = _chunkG3SF4RRAcjs.SidebarProvider; exports.SidebarRail = _chunkG3SF4RRAcjs.SidebarRail; exports.SidebarSeparator = _chunkG3SF4RRAcjs.SidebarSeparator; exports.SidebarTrigger = _chunkG3SF4RRAcjs.SidebarTrigger; exports.useSidebar = _chunkG3SF4RRAcjs.useSidebar;
52
+ exports.Sidebar = _chunkUKYUWSF2cjs.Sidebar; exports.SidebarBrand = _chunkUKYUWSF2cjs.SidebarBrand; exports.SidebarContent = _chunkUKYUWSF2cjs.SidebarContent; exports.SidebarFooter = _chunkUKYUWSF2cjs.SidebarFooter; exports.SidebarFooterActions = _chunkUKYUWSF2cjs.SidebarFooterActions; exports.SidebarGroup = _chunkUKYUWSF2cjs.SidebarGroup; exports.SidebarGroupContent = _chunkUKYUWSF2cjs.SidebarGroupContent; exports.SidebarGroupLabel = _chunkUKYUWSF2cjs.SidebarGroupLabel; exports.SidebarHeader = _chunkUKYUWSF2cjs.SidebarHeader; exports.SidebarInset = _chunkUKYUWSF2cjs.SidebarInset; exports.SidebarMenu = _chunkUKYUWSF2cjs.SidebarMenu; exports.SidebarMenuBadge = _chunkUKYUWSF2cjs.SidebarMenuBadge; exports.SidebarMenuButton = _chunkUKYUWSF2cjs.SidebarMenuButton; exports.SidebarMenuItem = _chunkUKYUWSF2cjs.SidebarMenuItem; exports.SidebarProvider = _chunkUKYUWSF2cjs.SidebarProvider; exports.SidebarRail = _chunkUKYUWSF2cjs.SidebarRail; exports.SidebarSeparator = _chunkUKYUWSF2cjs.SidebarSeparator; exports.SidebarTrigger = _chunkUKYUWSF2cjs.SidebarTrigger; exports.useSidebar = _chunkUKYUWSF2cjs.useSidebar;
@@ -20,15 +20,15 @@ import {
20
20
  SidebarSeparator,
21
21
  SidebarTrigger,
22
22
  useSidebar
23
- } from "../chunk-2FVFPGP5.js";
23
+ } from "../chunk-5GFMSK27.js";
24
24
  import "../chunk-HYTILYE5.js";
25
25
  import "../chunk-G76JANB4.js";
26
- import "../chunk-PIU5SSUV.js";
27
26
  import "../chunk-ZRLUUZHK.js";
28
27
  import "../chunk-H7TETFLB.js";
29
28
  import "../chunk-D4ZL2OEQ.js";
30
29
  import "../chunk-W326GKML.js";
31
30
  import "../chunk-G6SRSWXB.js";
31
+ import "../chunk-PIU5SSUV.js";
32
32
  export {
33
33
  Sidebar,
34
34
  SidebarBrand,
@@ -2,10 +2,10 @@
2
2
  "use client";
3
3
 
4
4
 
5
- var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
5
+ var _chunkKM5FHCXUcjs = require('../chunk-KM5FHCXU.cjs');
6
6
 
7
7
 
8
- var _chunkKM5FHCXUcjs = require('../chunk-KM5FHCXU.cjs');
8
+ var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
9
9
  require('../chunk-LIUYHYFN.cjs');
10
10
  require('../chunk-JDEXZGIY.cjs');
11
11
  require('../chunk-KWLSBTB2.cjs');
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  "use client";
3
- import {
4
- Icon
5
- } from "../chunk-KN4RPX35.js";
6
3
  import {
7
4
  DeleteConfirmationDialog
8
5
  } from "../chunk-WL73DFE3.js";
6
+ import {
7
+ Icon
8
+ } from "../chunk-KN4RPX35.js";
9
9
  import "../chunk-ZLU32SRP.js";
10
10
  import "../chunk-W326GKML.js";
11
11
  import "../chunk-G6SRSWXB.js";
@@ -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?: "neutral" | "error" | "success" | "default" | "secondary" | "destructive" | "outline" | "warning" | "info" | null | undefined;
7
+ variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "neutral" | 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?: "neutral" | "error" | "success" | "default" | "secondary" | "destructive" | "outline" | "warning" | "info" | null | undefined;
7
+ variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "neutral" | 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";
@@ -3,14 +3,14 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkD46FNEZ5cjs = require('../chunk-D46FNEZ5.cjs');
6
+ var _chunkYYFVG5A6cjs = require('../chunk-YYFVG5A6.cjs');
7
7
  require('../chunk-XLIAY56V.cjs');
8
8
  require('../chunk-V5SPFLKW.cjs');
9
- require('../chunk-VBPPFC7X.cjs');
10
9
  require('../chunk-VGTINL5Q.cjs');
11
10
  require('../chunk-I6GUOEBO.cjs');
11
+ require('../chunk-VBPPFC7X.cjs');
12
12
  require('../chunk-KWLSBTB2.cjs');
13
13
 
14
14
 
15
15
 
16
- exports.BoardColumnComponent = _chunkD46FNEZ5cjs.BoardColumnComponent; exports.MobileBoardView = _chunkD46FNEZ5cjs.MobileBoardView;
16
+ exports.BoardColumnComponent = _chunkYYFVG5A6cjs.BoardColumnComponent; exports.MobileBoardView = _chunkYYFVG5A6cjs.MobileBoardView;
@@ -3,12 +3,12 @@
3
3
  import {
4
4
  BoardColumnComponent,
5
5
  MobileBoardView
6
- } from "../chunk-ULZB4A2I.js";
6
+ } from "../chunk-62UTAG2C.js";
7
7
  import "../chunk-LELFPLTE.js";
8
8
  import "../chunk-J6NXDZR5.js";
9
- import "../chunk-YEW65ASC.js";
10
9
  import "../chunk-H7TETFLB.js";
11
10
  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 _chunkF3D5HA2Fcjs = require('../chunk-F3D5HA2F.cjs');
5
+ var _chunkVUMLLKWYcjs = require('../chunk-VUMLLKWY.cjs');
6
6
  require('../chunk-EUFV25KL.cjs');
7
7
  require('../chunk-7YCKII7G.cjs');
8
- require('../chunk-GUVQAWUW.cjs');
8
+ require('../chunk-S2IMM37Q.cjs');
9
9
  require('../chunk-WNXVGUBF.cjs');
10
10
  require('../chunk-IQZLUT2Y.cjs');
11
- require('../chunk-LELBCBDT.cjs');
12
11
  require('../chunk-JH4GAGOQ.cjs');
13
- require('../chunk-D46FNEZ5.cjs');
12
+ require('../chunk-LELBCBDT.cjs');
13
+ require('../chunk-VOTCYG3F.cjs');
14
+ require('../chunk-YYFVG5A6.cjs');
14
15
  require('../chunk-XLIAY56V.cjs');
15
16
  require('../chunk-V5SPFLKW.cjs');
16
- require('../chunk-VOTCYG3F.cjs');
17
17
  require('../chunk-PPX2VPGI.cjs');
18
- require('../chunk-R35FT53G.cjs');
19
18
  require('../chunk-U2NES7VR.cjs');
20
19
  require('../chunk-PQUSJEXL.cjs');
21
- require('../chunk-VBPPFC7X.cjs');
22
20
  require('../chunk-VGTINL5Q.cjs');
23
21
  require('../chunk-I6GUOEBO.cjs');
22
+ require('../chunk-VBPPFC7X.cjs');
24
23
  require('../chunk-JDEXZGIY.cjs');
25
24
  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
- _chunkF3D5HA2Fcjs.ResourceList,
60
+ _chunkVUMLLKWYcjs.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-IZF4WCK6.js";
5
+ } from "../chunk-ROUWBWEQ.js";
6
6
  import "../chunk-43UMPZWD.js";
7
7
  import "../chunk-EEHIMPD7.js";
8
- import "../chunk-SW4T3O7M.js";
8
+ import "../chunk-6LB37JWO.js";
9
9
  import "../chunk-YG7FBJRM.js";
10
10
  import "../chunk-E2TQMDO7.js";
11
- import "../chunk-H2O6NMLZ.js";
12
11
  import "../chunk-OICAYRVH.js";
13
- import "../chunk-ULZB4A2I.js";
12
+ import "../chunk-H2O6NMLZ.js";
13
+ import "../chunk-H2CCBRVG.js";
14
+ import "../chunk-62UTAG2C.js";
14
15
  import "../chunk-LELFPLTE.js";
15
16
  import "../chunk-J6NXDZR5.js";
16
- import "../chunk-H2CCBRVG.js";
17
17
  import "../chunk-G76JANB4.js";
18
- import "../chunk-PIU5SSUV.js";
19
18
  import "../chunk-ZRLUUZHK.js";
20
19
  import "../chunk-QMA3WVB7.js";
21
- import "../chunk-YEW65ASC.js";
22
20
  import "../chunk-H7TETFLB.js";
23
21
  import "../chunk-D4ZL2OEQ.js";
22
+ import "../chunk-YEW65ASC.js";
24
23
  import "../chunk-W326GKML.js";
25
24
  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";
@@ -1,26 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
4
+ var _chunkTDCVZKMXcjs = require('../chunk-TDCVZKMX.cjs');
5
+ require('../chunk-KWLSBTB2.cjs');
5
6
 
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
7
 
25
-
26
- exports.BrandMark = BrandMark;
8
+ exports.BrandMark = _chunkTDCVZKMXcjs.BrandMark;
@@ -1,26 +1,8 @@
1
1
  "use client";
2
2
  import {
3
- cn
4
- } from "../chunk-G6SRSWXB.js";
5
-
6
- // src/primitives/brand-mark.tsx
7
- import { forwardRef } from "react";
8
- import { jsx } from "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 = forwardRef(function BrandMark2({ size = "md", className, ...props }, ref) {
15
- return /* @__PURE__ */ jsx(
16
- "img",
17
- {
18
- ref,
19
- className: cn("w-auto object-contain", sizeStyles[size], className),
20
- ...props
21
- }
22
- );
23
- });
3
+ BrandMark
4
+ } from "../chunk-O3G3TVPU.js";
5
+ import "../chunk-G6SRSWXB.js";
24
6
  export {
25
7
  BrandMark
26
8
  };
@@ -0,0 +1,201 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
+
3
+
4
+ var _chunkFYNHRHVYcjs = require('../chunk-FYNHRHVY.cjs');
5
+
6
+
7
+ var _chunk5PHOKJCTcjs = require('../chunk-5PHOKJCT.cjs');
8
+
9
+
10
+ var _chunkBOMVE7QOcjs = require('../chunk-BOMVE7QO.cjs');
11
+
12
+
13
+ var _chunk373W6VADcjs = require('../chunk-373W6VAD.cjs');
14
+
15
+
16
+ var _chunkLELBCBDTcjs = require('../chunk-LELBCBDT.cjs');
17
+
18
+
19
+ var _chunkTDCVZKMXcjs = require('../chunk-TDCVZKMX.cjs');
20
+
21
+
22
+ var _chunk2BNEE3U6cjs = require('../chunk-2BNEE3U6.cjs');
23
+
24
+
25
+ var _chunkT2ZFSPE4cjs = require('../chunk-T2ZFSPE4.cjs');
26
+
27
+
28
+ var _chunkI3GBXIFLcjs = require('../chunk-I3GBXIFL.cjs');
29
+
30
+
31
+ var _chunkCLYAASFNcjs = require('../chunk-CLYAASFN.cjs');
32
+ require('../chunk-JDEXZGIY.cjs');
33
+
34
+
35
+ var _chunkKWLSBTB2cjs = require('../chunk-KWLSBTB2.cjs');
36
+
37
+ // src/primitives/branded-page.tsx
38
+ var _lucidereact = require('lucide-react');
39
+ var _jsxruntime = require('react/jsx-runtime');
40
+ var UNAVAILABLE = {
41
+ "not-found": {
42
+ icon: _lucidereact.Link2Off,
43
+ title: "This link isn't available",
44
+ description: "It may have expired or been withdrawn. Ask whoever shared it for a new one."
45
+ },
46
+ expired: {
47
+ icon: _lucidereact.Clock,
48
+ title: "This link has expired",
49
+ description: "Ask whoever shared it for a new one."
50
+ },
51
+ archived: {
52
+ icon: _lucidereact.Archive,
53
+ title: "This page has been archived",
54
+ description: "It is no longer shared. Ask whoever shared it if you still need it."
55
+ },
56
+ revoked: {
57
+ icon: _lucidereact.EyeOff,
58
+ title: "This link is no longer active",
59
+ description: "Whoever shared it has stopped sharing it. Ask them for a new one if you still need it."
60
+ }
61
+ };
62
+ function StateIcon({ icon, spin }) {
63
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT2ZFSPE4cjs.Icon, { icon, tone: "muted", strokeWidth: 1.5, spin, className: "size-12" });
64
+ }
65
+ function BrandedPageUnavailable({
66
+ reason = "not-found",
67
+ icon,
68
+ title,
69
+ description,
70
+ action,
71
+ className
72
+ }) {
73
+ const words = UNAVAILABLE[reason];
74
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
75
+ _chunkCLYAASFNcjs.EmptyState,
76
+ {
77
+ variant: "error",
78
+ size: "lg",
79
+ surface: "plain",
80
+ icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StateIcon, { icon: words.icon }))),
81
+ title: title || words.title,
82
+ description: _nullishCoalesce(description, () => ( words.description)),
83
+ className,
84
+ children: action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "branded-page-unavailable-action", className: "flex flex-wrap justify-center gap-2 pt-1", children: action }) : null
85
+ }
86
+ );
87
+ }
88
+ function BrandedPageLoading({ label, className }) {
89
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "status", "data-slot": "branded-page-loading", className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
90
+ _chunkCLYAASFNcjs.EmptyState,
91
+ {
92
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, StateIcon, { icon: _lucidereact.LoaderCircle, spin: true }),
93
+ size: "lg",
94
+ surface: "plain",
95
+ title: label || "Loading\u2026"
96
+ }
97
+ ) });
98
+ }
99
+ function isBrandData(brand) {
100
+ return typeof brand === "object" && brand !== null && !("$$typeof" in brand);
101
+ }
102
+ function brandMark({ name, logoUrl, logoAlt, href }) {
103
+ const mark = logoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTDCVZKMXcjs.BrandMark, { src: logoUrl, alt: _nullishCoalesce(logoAlt, () => ( (name || "Logo"))) }) : name ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLELBCBDTcjs.Heading, { level: 3, as: "span", children: name }) : null;
104
+ if (!mark || !href) return mark;
105
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
106
+ _chunk2BNEE3U6cjs.Anchor,
107
+ {
108
+ href,
109
+ "data-slot": "branded-page-brand-link",
110
+ className: "rounded-sm ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-4",
111
+ children: mark
112
+ }
113
+ );
114
+ }
115
+ function BrandedPage({
116
+ brand,
117
+ accent,
118
+ palette,
119
+ headerTrailing,
120
+ width = "narrow",
121
+ padding = "base",
122
+ surface = "muted",
123
+ children,
124
+ credit,
125
+ creditPrintVisibility = "visible",
126
+ actionBar,
127
+ loading = false,
128
+ unavailable = false,
129
+ className
130
+ }) {
131
+ const mark = isBrandData(brand) ? brandMark(brand) : _nullishCoalesce(brand, () => ( null));
132
+ const state = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BrandedPageLoading, { ...loading === true ? null : loading }) : unavailable ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BrandedPageUnavailable, { ...unavailable === true ? null : unavailable }) : null;
133
+ const bar = state ? null : actionBar;
134
+ return (
135
+ // The palette is pinned out here, and the canvas painted opaque in it:
136
+ // the muted surface is translucent, and would otherwise be tinted by
137
+ // the visitor's own palette on the document behind it.
138
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "branded-page", "data-theme": palette, className: _chunkKWLSBTB2cjs.cn.call(void 0, "bg-background text-foreground", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkI3GBXIFLcjs.AccentTheme, { colours: accent, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
139
+ "div",
140
+ {
141
+ "data-slot": "branded-page-surface",
142
+ className: _chunkKWLSBTB2cjs.cn.call(void 0,
143
+ "flex min-h-screen flex-col print:min-h-0",
144
+ surface === "muted" && "bg-muted/40 print:bg-background"
145
+ ),
146
+ children: [
147
+ mark || headerTrailing ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
148
+ _chunk5PHOKJCTcjs.MarketingHeader,
149
+ {
150
+ brand: mark,
151
+ trailing: headerTrailing ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "contents print:hidden", children: headerTrailing }) : void 0
152
+ }
153
+ ) : null,
154
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
155
+ _chunkFYNHRHVYcjs.PageShell,
156
+ {
157
+ width,
158
+ padding,
159
+ printMode: "compact",
160
+ bottomInset: bar ? "action" : "default",
161
+ className: bar ? "print:pb-0" : void 0,
162
+ children: state ? (
163
+ // Both states start at the same height, a little way down the
164
+ // screen, so nothing jumps when loading turns out to be a dead link.
165
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "branded-page-state", className: "pt-[12vh]", children: state })
166
+ ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
167
+ children,
168
+ credit ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
169
+ _chunk373W6VADcjs.Text,
170
+ {
171
+ variant: "caption",
172
+ align: "center",
173
+ "data-slot": "branded-page-credit",
174
+ className: _chunkKWLSBTB2cjs.cn.call(void 0, creditPrintVisibility === "hidden" && "print:hidden"),
175
+ children: credit
176
+ }
177
+ ) : null
178
+ ] })
179
+ }
180
+ ),
181
+ bar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
182
+ _chunkBOMVE7QOcjs.FixedActionBar,
183
+ {
184
+ title: bar.title,
185
+ description: bar.description,
186
+ width,
187
+ actionsWidth: bar.actionsWidth,
188
+ className: "print:hidden",
189
+ children: bar.actions
190
+ }
191
+ ) : null
192
+ ]
193
+ }
194
+ ) }) })
195
+ );
196
+ }
197
+
198
+
199
+
200
+
201
+ exports.BrandedPage = BrandedPage; exports.BrandedPageLoading = BrandedPageLoading; exports.BrandedPageUnavailable = BrandedPageUnavailable;
@@ -0,0 +1,118 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { LucideIcon } from 'lucide-react';
3
+ import { ReactElement, ReactNode } from 'react';
4
+ import { AccentThemeColours } from './accent-theme.cjs';
5
+
6
+ /** Whose page it is: the company that shares it, not the product that hosts it. */
7
+ interface BrandedPageBrand {
8
+ /** The brand's name. Drawn as text when there is no logo, and the logo's text alternative when there is. */
9
+ name?: string | null;
10
+ /** The brand's logo, an image URL, drawn in place of the name. */
11
+ logoUrl?: string | null;
12
+ /** The logo's text alternative. Defaults to the brand's `name`, else "Logo". */
13
+ logoAlt?: string;
14
+ /** Where the brand leads, such as its own site. Left out, the brand is not a link. */
15
+ href?: string | null;
16
+ }
17
+ /** The fixed bar at the foot of the page, for its one or two actions. */
18
+ interface BrandedPageActionBar {
19
+ /** What the actions are about, beside them. */
20
+ title?: ReactNode;
21
+ /** One muted line under the title. */
22
+ description?: ReactNode;
23
+ /** The page's one or two actions. */
24
+ actions: ReactNode;
25
+ /** `full` gives the actions the bar's whole width, for a host that lays out both ends of it. Defaults to `auto`. */
26
+ actionsWidth?: "auto" | "full";
27
+ }
28
+ /** Why a link leads nowhere. */
29
+ type BrandedPageUnavailableReason = "not-found" | "expired" | "archived" | "revoked";
30
+ interface BrandedPageUnavailableProps {
31
+ /**
32
+ * Why the link is dead: it picks the icon and the words. Defaults to
33
+ * `not-found`, which is worded for a link whose fate the host can't tell.
34
+ */
35
+ reason?: BrandedPageUnavailableReason;
36
+ /**
37
+ * In place of the reason's icon, and decorative like it: a Lucide
38
+ * component, or an element. Pass an element from a server component.
39
+ */
40
+ icon?: LucideIcon | ReactNode;
41
+ /** In place of the reason's title. It is the state's heading. */
42
+ title?: string;
43
+ /** In place of the reason's description. `""` leaves it out. */
44
+ description?: string;
45
+ /** What the visitor can do next: the host's own button or link. */
46
+ action?: ReactNode;
47
+ className?: string;
48
+ }
49
+ interface BrandedPageLoadingProps {
50
+ /** What is happening, under the spinner. Defaults to "Loading…". */
51
+ label?: string;
52
+ className?: string;
53
+ }
54
+ interface BrandedPageProps {
55
+ /**
56
+ * Whose page it is: the brand's `name`, `logoUrl` and `href`, or the
57
+ * host's own element (its wordmark, or its router's link around one).
58
+ * Nothing is drawn for a brand with neither a logo nor a name.
59
+ */
60
+ brand?: BrandedPageBrand | ReactElement | null;
61
+ /** The brand's accent as six-digit hex, for light and dark mode. It replaces the primary colour inside the page only. */
62
+ accent?: AccentThemeColours | null;
63
+ /**
64
+ * Pins the page to one palette (its `data-theme` value), so it looks the
65
+ * same to every visitor whatever palette their own browser has stored.
66
+ * Left out, the page follows the document.
67
+ */
68
+ palette?: string;
69
+ /** The host's own controls at the end of the header, such as a theme switch or Sign in. Left off paper. */
70
+ headerTrailing?: ReactNode;
71
+ /** How wide the content column is. Defaults to `narrow`. */
72
+ width?: "narrow" | "wide" | "full";
73
+ /** The content's side padding. Defaults to `base`, which lines up with the header. */
74
+ padding?: "none" | "base" | "relaxed" | "spacious";
75
+ /** The canvas behind the content: `muted` (the default) sets cards apart, `default` is the plain background. Paper is always plain. */
76
+ surface?: "default" | "muted";
77
+ /** The page's content. Not drawn while `loading` or `unavailable` stands in for it. */
78
+ children?: ReactNode;
79
+ /** A closing line under the content, such as "Shared by Example Agency". */
80
+ credit?: ReactNode;
81
+ /** Whether the credit prints. Defaults to `visible`. */
82
+ creditPrintVisibility?: "visible" | "hidden";
83
+ /** A fixed bar at the foot of the page. Left off paper, and not drawn while `loading` or `unavailable`. */
84
+ actionBar?: BrandedPageActionBar | null;
85
+ /** Stands in for the content while it loads: `true`, or the loading state's props. It wins over `unavailable`. */
86
+ loading?: boolean | BrandedPageLoadingProps;
87
+ /** Stands in for the content when the link is dead: `true`, or the unavailable state's props. */
88
+ unavailable?: boolean | BrandedPageUnavailableProps;
89
+ className?: string;
90
+ }
91
+ /**
92
+ * A dead link, in place of a page's content: an icon, a heading, a line on
93
+ * what to do and an optional action. It is announced when it appears, since
94
+ * it often replaces a loading state. Use it as `BrandedPage`'s `unavailable`,
95
+ * or alone inside a frame of your own.
96
+ */
97
+ declare function BrandedPageUnavailable({ reason, icon, title, description, action, className, }: BrandedPageUnavailableProps): react_jsx_runtime.JSX.Element;
98
+ /**
99
+ * A page that is still loading, in place of its content: a spinner over one
100
+ * line, announced politely. Use it as `BrandedPage`'s `loading`, or alone
101
+ * inside a frame of your own.
102
+ */
103
+ declare function BrandedPageLoading({ label, className }: BrandedPageLoadingProps): react_jsx_runtime.JSX.Element;
104
+ /**
105
+ * The whole of a public page one company shows to another's people: a shared
106
+ * profile, a list sent for review, an invitation, a client's portal. The
107
+ * brand in a header (a banner), the content in one `main`, and optionally a
108
+ * closing credit and a fixed action bar, in the brand's accent and, when
109
+ * pinned, in one palette for every visitor. `loading` and `unavailable`
110
+ * stand in for the content, so the frame holds still while a link resolves.
111
+ *
112
+ * Presentation only: the host fetches, routes and decides which state shows.
113
+ * On paper the canvas is plain, the spacing compact, and the header's
114
+ * controls and the action bar are left off.
115
+ */
116
+ declare function BrandedPage({ brand, accent, palette, headerTrailing, width, padding, surface, children, credit, creditPrintVisibility, actionBar, loading, unavailable, className, }: BrandedPageProps): react_jsx_runtime.JSX.Element;
117
+
118
+ export { BrandedPage, type BrandedPageActionBar, type BrandedPageBrand, BrandedPageLoading, type BrandedPageLoadingProps, type BrandedPageProps, BrandedPageUnavailable, type BrandedPageUnavailableProps, type BrandedPageUnavailableReason };