@nswds/app 1.61.0 → 1.61.2
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/dist/index.cjs +236 -449
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +114 -126
- package/dist/index.d.ts +114 -126
- package/dist/index.js +237 -443
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -12,19 +12,11 @@ var Link12 = require('next/link');
|
|
|
12
12
|
var react = require('@remixicon/react');
|
|
13
13
|
var RechartsPrimitive = require('recharts');
|
|
14
14
|
var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
|
|
15
|
-
var client$1 = require('@libsql/client');
|
|
16
|
-
var libsql = require('drizzle-orm/libsql');
|
|
17
|
-
var sqliteCore = require('drizzle-orm/sqlite-core');
|
|
18
|
-
var drizzleAdapter = require('@auth/drizzle-adapter');
|
|
19
|
-
var drizzleOrm = require('drizzle-orm');
|
|
20
|
-
var NextAuth = require('next-auth');
|
|
21
|
-
var MicrosoftEntraID = require('next-auth/providers/microsoft-entra-id');
|
|
22
15
|
var AvatarPrimitive = require('@radix-ui/react-avatar');
|
|
23
|
-
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
24
|
-
var react$1 = require('next-auth/react');
|
|
25
16
|
var culori = require('culori');
|
|
26
17
|
var reactSlot = require('@radix-ui/react-slot');
|
|
27
18
|
var navigation = require('next/navigation');
|
|
19
|
+
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
28
20
|
var reactDayPicker = require('react-day-picker');
|
|
29
21
|
var useEmblaCarousel = require('embla-carousel-react');
|
|
30
22
|
var lucideReact = require('lucide-react');
|
|
@@ -97,11 +89,9 @@ var Headless4__namespace = /*#__PURE__*/_interopNamespace(Headless4);
|
|
|
97
89
|
var Link12__default = /*#__PURE__*/_interopDefault(Link12);
|
|
98
90
|
var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
|
|
99
91
|
var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
|
|
100
|
-
var NextAuth__default = /*#__PURE__*/_interopDefault(NextAuth);
|
|
101
|
-
var MicrosoftEntraID__default = /*#__PURE__*/_interopDefault(MicrosoftEntraID);
|
|
102
92
|
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
103
|
-
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
104
93
|
var culori__namespace = /*#__PURE__*/_interopNamespace(culori);
|
|
94
|
+
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
105
95
|
var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
|
|
106
96
|
var TooltipPrimitives__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitives);
|
|
107
97
|
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
@@ -125,17 +115,12 @@ var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimit
|
|
|
125
115
|
var ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
|
|
126
116
|
var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
|
|
127
117
|
|
|
128
|
-
var __defProp = Object.defineProperty;
|
|
129
118
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
130
119
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
131
120
|
}) : x)(function(x) {
|
|
132
121
|
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
133
122
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
134
123
|
});
|
|
135
|
-
var __export = (target, all) => {
|
|
136
|
-
for (var name in all)
|
|
137
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
138
|
-
};
|
|
139
124
|
var Icons = {
|
|
140
125
|
account_circle: (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { fill: "currentColor", "data-slot": "icon", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z" }) }),
|
|
141
126
|
add_circle: (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { fill: "currentColor", "data-slot": "icon", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M440-440v120q0 17 11.5 28.5T480-280q17 0 28.5-11.5T520-320v-120h120q17 0 28.5-11.5T680-480q0-17-11.5-28.5T640-520H520v-120q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v120H320q-17 0-28.5 11.5T280-480q0 17 11.5 28.5T320-440h120Zm40 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" }) }),
|
|
@@ -261,11 +246,11 @@ var Icons = {
|
|
|
261
246
|
function cn(...inputs) {
|
|
262
247
|
return tailwindMerge.twMerge(clsx12.clsx(inputs));
|
|
263
248
|
}
|
|
264
|
-
function truncate(
|
|
265
|
-
if (
|
|
266
|
-
return
|
|
249
|
+
function truncate(text, maxLength) {
|
|
250
|
+
if (text.length <= maxLength) {
|
|
251
|
+
return text;
|
|
267
252
|
}
|
|
268
|
-
return
|
|
253
|
+
return text.slice(0, maxLength) + "...";
|
|
269
254
|
}
|
|
270
255
|
function kebabCase(str) {
|
|
271
256
|
return str.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
|
|
@@ -1676,162 +1661,8 @@ AreaChart.displayName = "AreaChart";
|
|
|
1676
1661
|
function AspectRatio({ ...props }) {
|
|
1677
1662
|
return /* @__PURE__ */ jsxRuntime.jsx(AspectRatioPrimitive__namespace.Root, { "data-slot": "aspect-ratio", ...props });
|
|
1678
1663
|
}
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
var accounts_exports = {};
|
|
1682
|
-
__export(accounts_exports, {
|
|
1683
|
-
accounts: () => accounts
|
|
1684
|
-
});
|
|
1685
|
-
|
|
1686
|
-
// src/db/schema/users.ts
|
|
1687
|
-
var users_exports = {};
|
|
1688
|
-
__export(users_exports, {
|
|
1689
|
-
users: () => users
|
|
1690
|
-
});
|
|
1691
|
-
var users = sqliteCore.sqliteTable("user", {
|
|
1692
|
-
id: sqliteCore.text("id").primaryKey().$defaultFn(() => crypto.randomUUID()),
|
|
1693
|
-
name: sqliteCore.text("name"),
|
|
1694
|
-
email: sqliteCore.text("email").unique(),
|
|
1695
|
-
emailVerified: sqliteCore.integer("emailVerified", { mode: "timestamp_ms" }),
|
|
1696
|
-
image: sqliteCore.text("image"),
|
|
1697
|
-
role: sqliteCore.text("role", { enum: ["ADMIN", "USER"] }).default("USER")
|
|
1698
|
-
});
|
|
1699
|
-
|
|
1700
|
-
// src/db/schema/accounts.ts
|
|
1701
|
-
var accounts = sqliteCore.sqliteTable(
|
|
1702
|
-
"account",
|
|
1703
|
-
{
|
|
1704
|
-
userId: sqliteCore.text("userId").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
1705
|
-
type: sqliteCore.text("type").$type().notNull(),
|
|
1706
|
-
provider: sqliteCore.text("provider").notNull(),
|
|
1707
|
-
providerAccountId: sqliteCore.text("providerAccountId").notNull(),
|
|
1708
|
-
refresh_token: sqliteCore.text("refresh_token"),
|
|
1709
|
-
access_token: sqliteCore.text("access_token"),
|
|
1710
|
-
expires_at: sqliteCore.integer("expires_at"),
|
|
1711
|
-
token_type: sqliteCore.text("token_type"),
|
|
1712
|
-
scope: sqliteCore.text("scope"),
|
|
1713
|
-
id_token: sqliteCore.text("id_token"),
|
|
1714
|
-
session_state: sqliteCore.text("session_state")
|
|
1715
|
-
},
|
|
1716
|
-
(table) => [
|
|
1717
|
-
sqliteCore.primaryKey({
|
|
1718
|
-
columns: [table.provider, table.providerAccountId],
|
|
1719
|
-
name: "accounts_pk"
|
|
1720
|
-
})
|
|
1721
|
-
]
|
|
1722
|
-
);
|
|
1723
|
-
|
|
1724
|
-
// src/db/schema/sessions.ts
|
|
1725
|
-
var sessions_exports = {};
|
|
1726
|
-
__export(sessions_exports, {
|
|
1727
|
-
sessions: () => sessions
|
|
1728
|
-
});
|
|
1729
|
-
var sessions = sqliteCore.sqliteTable("session", {
|
|
1730
|
-
sessionToken: sqliteCore.text("sessionToken").primaryKey(),
|
|
1731
|
-
userId: sqliteCore.text("userId").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
1732
|
-
expires: sqliteCore.integer("expires", { mode: "timestamp_ms" }).notNull()
|
|
1733
|
-
});
|
|
1734
|
-
|
|
1735
|
-
// src/db/index.ts
|
|
1736
|
-
var client = client$1.createClient({
|
|
1737
|
-
url: process.env.TURSO_DATABASE_URL,
|
|
1738
|
-
authToken: process.env.TURSO_AUTH_TOKEN
|
|
1739
|
-
});
|
|
1740
|
-
var db = libsql.drizzle(client, {
|
|
1741
|
-
schema: {
|
|
1742
|
-
...users_exports,
|
|
1743
|
-
...accounts_exports,
|
|
1744
|
-
...sessions_exports
|
|
1745
|
-
}
|
|
1746
|
-
});
|
|
1747
|
-
var { handlers, signIn, signOut, auth } = NextAuth__default.default({
|
|
1748
|
-
adapter: drizzleAdapter.DrizzleAdapter(db),
|
|
1749
|
-
pages: {
|
|
1750
|
-
signIn: "/api/auth/signin-microsoft"
|
|
1751
|
-
},
|
|
1752
|
-
providers: [
|
|
1753
|
-
MicrosoftEntraID__default.default({
|
|
1754
|
-
clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
|
1755
|
-
clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
|
1756
|
-
issuer: process.env.AUTH_MICROSOFT_ENTRA_ID_ISSUER,
|
|
1757
|
-
authorization: {
|
|
1758
|
-
params: {
|
|
1759
|
-
scope: "openid profile email User.Read offline_access",
|
|
1760
|
-
tenant: process.env.AUTH_MICROSOFT_ENTRA_ID_TENANT_ID
|
|
1761
|
-
}
|
|
1762
|
-
}
|
|
1763
|
-
})
|
|
1764
|
-
],
|
|
1765
|
-
callbacks: {
|
|
1766
|
-
authorized: async ({ auth: auth2, request }) => {
|
|
1767
|
-
const nonPublicPaths = ["/tests", "/dashboard"];
|
|
1768
|
-
const path = request.nextUrl.pathname;
|
|
1769
|
-
const isNonPublic = nonPublicPaths.some((prefix) => path.startsWith(prefix));
|
|
1770
|
-
if (isNonPublic) {
|
|
1771
|
-
return !!auth2;
|
|
1772
|
-
}
|
|
1773
|
-
return true;
|
|
1774
|
-
},
|
|
1775
|
-
jwt({ token, user }) {
|
|
1776
|
-
if (user) {
|
|
1777
|
-
token.id = user.id;
|
|
1778
|
-
}
|
|
1779
|
-
return token;
|
|
1780
|
-
},
|
|
1781
|
-
async session({ session, user }) {
|
|
1782
|
-
session.user.id = user.id;
|
|
1783
|
-
const [microsoftAccount] = await db.select().from(accounts).where(drizzleOrm.and(drizzleOrm.eq(accounts.userId, user.id), drizzleOrm.eq(accounts.provider, "microsoft-entra-id"))).limit(1);
|
|
1784
|
-
if (microsoftAccount && microsoftAccount.expires_at && microsoftAccount.expires_at * 1e3 < Date.now()) {
|
|
1785
|
-
try {
|
|
1786
|
-
const tokenEndpoint = `https://login.microsoftonline.com/${process.env.AUTH_MICROSOFT_ENTRA_ID_TENANT_ID}/oauth2/v2.0/token`;
|
|
1787
|
-
const response = await fetch(tokenEndpoint, {
|
|
1788
|
-
method: "POST",
|
|
1789
|
-
headers: {
|
|
1790
|
-
"Content-Type": "application/x-www-form-urlencoded"
|
|
1791
|
-
},
|
|
1792
|
-
body: new URLSearchParams({
|
|
1793
|
-
client_id: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
|
1794
|
-
client_secret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
|
1795
|
-
grant_type: "refresh_token",
|
|
1796
|
-
refresh_token: microsoftAccount.refresh_token,
|
|
1797
|
-
scope: "openid profile email offline_access"
|
|
1798
|
-
})
|
|
1799
|
-
});
|
|
1800
|
-
const tokensOrError = await response.json();
|
|
1801
|
-
if (!response.ok) throw tokensOrError;
|
|
1802
|
-
const newTokens = tokensOrError;
|
|
1803
|
-
await db.update(accounts).set({
|
|
1804
|
-
access_token: newTokens.access_token,
|
|
1805
|
-
expires_at: Math.floor(Date.now() / 1e3 + newTokens.expires_in),
|
|
1806
|
-
refresh_token: newTokens.refresh_token ?? microsoftAccount.refresh_token,
|
|
1807
|
-
id_token: newTokens.id_token ?? microsoftAccount.id_token
|
|
1808
|
-
}).where(
|
|
1809
|
-
drizzleOrm.and(
|
|
1810
|
-
drizzleOrm.eq(accounts.provider, "microsoft-entra-id"),
|
|
1811
|
-
drizzleOrm.eq(accounts.providerAccountId, microsoftAccount.providerAccountId)
|
|
1812
|
-
)
|
|
1813
|
-
);
|
|
1814
|
-
} catch (error) {
|
|
1815
|
-
console.error("Error refreshing access_token", error);
|
|
1816
|
-
session.error = "RefreshTokenError";
|
|
1817
|
-
}
|
|
1818
|
-
}
|
|
1819
|
-
return session;
|
|
1820
|
-
}
|
|
1821
|
-
}
|
|
1822
|
-
});
|
|
1823
|
-
|
|
1824
|
-
// src/actions/auth-actions.ts
|
|
1825
|
-
async function signInWithEntra(formData) {
|
|
1826
|
-
const redirect = formData.get("redirect")?.toString() || "/dashboard";
|
|
1827
|
-
await signIn("microsoft-entra-id", { redirectTo: redirect });
|
|
1828
|
-
}
|
|
1829
|
-
async function signInGeneric(formData) {
|
|
1830
|
-
const redirect = formData.get("redirect")?.toString() || "/dashboard";
|
|
1831
|
-
await signIn(void 0, { redirectTo: redirect });
|
|
1832
|
-
}
|
|
1833
|
-
async function signOutAction() {
|
|
1834
|
-
await signOut();
|
|
1664
|
+
function AuthLayout({ children }) {
|
|
1665
|
+
return /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-dvh flex-col p-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex grow items-center justify-center p-6 lg:rounded-sm lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-grey-950/5 dark:lg:bg-grey-900 dark:lg:ring-white/10", children }) });
|
|
1835
1666
|
}
|
|
1836
1667
|
function Avatar({ className, ...props }) {
|
|
1837
1668
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1866,254 +1697,6 @@ function AvatarFallback({
|
|
|
1866
1697
|
}
|
|
1867
1698
|
);
|
|
1868
1699
|
}
|
|
1869
|
-
function DropdownMenu({ ...props }) {
|
|
1870
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Root, { "data-slot": "dropdown-menu", ...props });
|
|
1871
|
-
}
|
|
1872
|
-
function DropdownMenuPortal({
|
|
1873
|
-
...props
|
|
1874
|
-
}) {
|
|
1875
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
1876
|
-
}
|
|
1877
|
-
function DropdownMenuTrigger({
|
|
1878
|
-
...props
|
|
1879
|
-
}) {
|
|
1880
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
1881
|
-
}
|
|
1882
|
-
function DropdownMenuContent({
|
|
1883
|
-
className,
|
|
1884
|
-
sideOffset = 4,
|
|
1885
|
-
...props
|
|
1886
|
-
}) {
|
|
1887
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1888
|
-
DropdownMenuPrimitive__namespace.Content,
|
|
1889
|
-
{
|
|
1890
|
-
"data-slot": "dropdown-menu-content",
|
|
1891
|
-
sideOffset,
|
|
1892
|
-
className: cn(
|
|
1893
|
-
[
|
|
1894
|
-
// Base
|
|
1895
|
-
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border bg-background p-1 text-foreground shadow-md",
|
|
1896
|
-
// Open
|
|
1897
|
-
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
1898
|
-
// Closed
|
|
1899
|
-
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
1900
|
-
// Side
|
|
1901
|
-
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
1902
|
-
// Hover
|
|
1903
|
-
"",
|
|
1904
|
-
// Focus
|
|
1905
|
-
"",
|
|
1906
|
-
// Active
|
|
1907
|
-
""
|
|
1908
|
-
],
|
|
1909
|
-
className
|
|
1910
|
-
),
|
|
1911
|
-
...props
|
|
1912
|
-
}
|
|
1913
|
-
) });
|
|
1914
|
-
}
|
|
1915
|
-
function DropdownMenuGroup({ ...props }) {
|
|
1916
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
1917
|
-
}
|
|
1918
|
-
function DropdownMenuItem({
|
|
1919
|
-
className,
|
|
1920
|
-
inset,
|
|
1921
|
-
variant = "default",
|
|
1922
|
-
...props
|
|
1923
|
-
}) {
|
|
1924
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1925
|
-
DropdownMenuPrimitive__namespace.Item,
|
|
1926
|
-
{
|
|
1927
|
-
"data-slot": "dropdown-menu-item",
|
|
1928
|
-
"data-inset": inset,
|
|
1929
|
-
"data-variant": variant,
|
|
1930
|
-
className: cn(
|
|
1931
|
-
[
|
|
1932
|
-
// Base
|
|
1933
|
-
""
|
|
1934
|
-
],
|
|
1935
|
-
"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive",
|
|
1936
|
-
className
|
|
1937
|
-
),
|
|
1938
|
-
...props
|
|
1939
|
-
}
|
|
1940
|
-
);
|
|
1941
|
-
}
|
|
1942
|
-
function DropdownMenuCheckboxItem({
|
|
1943
|
-
className,
|
|
1944
|
-
children,
|
|
1945
|
-
checked,
|
|
1946
|
-
...props
|
|
1947
|
-
}) {
|
|
1948
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1949
|
-
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
1950
|
-
{
|
|
1951
|
-
"data-slot": "dropdown-menu-checkbox-item",
|
|
1952
|
-
className: cn(
|
|
1953
|
-
[
|
|
1954
|
-
// Base
|
|
1955
|
-
""
|
|
1956
|
-
],
|
|
1957
|
-
"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1958
|
-
className
|
|
1959
|
-
),
|
|
1960
|
-
checked,
|
|
1961
|
-
...props,
|
|
1962
|
-
children: [
|
|
1963
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(Icons.check, { className: "size-4" }) }) }),
|
|
1964
|
-
children
|
|
1965
|
-
]
|
|
1966
|
-
}
|
|
1967
|
-
);
|
|
1968
|
-
}
|
|
1969
|
-
function DropdownMenuRadioGroup({
|
|
1970
|
-
...props
|
|
1971
|
-
}) {
|
|
1972
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
|
|
1973
|
-
}
|
|
1974
|
-
function DropdownMenuRadioItem({
|
|
1975
|
-
className,
|
|
1976
|
-
children,
|
|
1977
|
-
...props
|
|
1978
|
-
}) {
|
|
1979
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1980
|
-
DropdownMenuPrimitive__namespace.RadioItem,
|
|
1981
|
-
{
|
|
1982
|
-
"data-slot": "dropdown-menu-radio-item",
|
|
1983
|
-
className: cn(
|
|
1984
|
-
[
|
|
1985
|
-
// Base
|
|
1986
|
-
""
|
|
1987
|
-
],
|
|
1988
|
-
"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1989
|
-
className
|
|
1990
|
-
),
|
|
1991
|
-
...props,
|
|
1992
|
-
children: [
|
|
1993
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(Icons.circle, { className: "size-2 fill-current" }) }) }),
|
|
1994
|
-
children
|
|
1995
|
-
]
|
|
1996
|
-
}
|
|
1997
|
-
);
|
|
1998
|
-
}
|
|
1999
|
-
function DropdownMenuLabel({
|
|
2000
|
-
className,
|
|
2001
|
-
inset,
|
|
2002
|
-
...props
|
|
2003
|
-
}) {
|
|
2004
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2005
|
-
DropdownMenuPrimitive__namespace.Label,
|
|
2006
|
-
{
|
|
2007
|
-
"data-slot": "dropdown-menu-label",
|
|
2008
|
-
"data-inset": inset,
|
|
2009
|
-
className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
|
|
2010
|
-
...props
|
|
2011
|
-
}
|
|
2012
|
-
);
|
|
2013
|
-
}
|
|
2014
|
-
function DropdownMenuSeparator({
|
|
2015
|
-
className,
|
|
2016
|
-
...props
|
|
2017
|
-
}) {
|
|
2018
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2019
|
-
DropdownMenuPrimitive__namespace.Separator,
|
|
2020
|
-
{
|
|
2021
|
-
"data-slot": "dropdown-menu-separator",
|
|
2022
|
-
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
2023
|
-
...props
|
|
2024
|
-
}
|
|
2025
|
-
);
|
|
2026
|
-
}
|
|
2027
|
-
function DropdownMenuShortcut({ className, ...props }) {
|
|
2028
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2029
|
-
"span",
|
|
2030
|
-
{
|
|
2031
|
-
"data-slot": "dropdown-menu-shortcut",
|
|
2032
|
-
className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
|
|
2033
|
-
...props
|
|
2034
|
-
}
|
|
2035
|
-
);
|
|
2036
|
-
}
|
|
2037
|
-
function DropdownMenuSub({ ...props }) {
|
|
2038
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2039
|
-
}
|
|
2040
|
-
function DropdownMenuSubTrigger({
|
|
2041
|
-
className,
|
|
2042
|
-
inset,
|
|
2043
|
-
children,
|
|
2044
|
-
...props
|
|
2045
|
-
}) {
|
|
2046
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2047
|
-
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
2048
|
-
{
|
|
2049
|
-
"data-slot": "dropdown-menu-sub-trigger",
|
|
2050
|
-
"data-inset": inset,
|
|
2051
|
-
className: cn(
|
|
2052
|
-
[
|
|
2053
|
-
// Base
|
|
2054
|
-
""
|
|
2055
|
-
],
|
|
2056
|
-
"flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground",
|
|
2057
|
-
className
|
|
2058
|
-
),
|
|
2059
|
-
...props,
|
|
2060
|
-
children: [
|
|
2061
|
-
children,
|
|
2062
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icons.chevron_right, { className: "ml-auto size-4" })
|
|
2063
|
-
]
|
|
2064
|
-
}
|
|
2065
|
-
);
|
|
2066
|
-
}
|
|
2067
|
-
function DropdownMenuSubContent({
|
|
2068
|
-
className,
|
|
2069
|
-
...props
|
|
2070
|
-
}) {
|
|
2071
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2072
|
-
DropdownMenuPrimitive__namespace.SubContent,
|
|
2073
|
-
{
|
|
2074
|
-
"data-slot": "dropdown-menu-sub-content",
|
|
2075
|
-
className: cn(
|
|
2076
|
-
[
|
|
2077
|
-
// Base
|
|
2078
|
-
""
|
|
2079
|
-
],
|
|
2080
|
-
"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
2081
|
-
className
|
|
2082
|
-
),
|
|
2083
|
-
...props
|
|
2084
|
-
}
|
|
2085
|
-
);
|
|
2086
|
-
}
|
|
2087
|
-
function AuthButton({ user, children }) {
|
|
2088
|
-
if (!user) {
|
|
2089
|
-
return /* @__PURE__ */ jsxRuntime.jsx("form", { action: signInWithEntra, children: /* @__PURE__ */ jsxRuntime.jsx(Button2, { type: "submit", variant: "surface", color: "light", children: "Sign In" }) });
|
|
2090
|
-
}
|
|
2091
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
2092
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(Button2, { variant: "surface", color: "light", className: "flex items-center gap-2", children: [
|
|
2093
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "h-5 w-5", children: [
|
|
2094
|
-
user.image && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.image, alt: user.name || "User" }),
|
|
2095
|
-
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-xs", children: user.name?.split(" ").map((n) => n[0]).join("") || "U" })
|
|
2096
|
-
] }),
|
|
2097
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: user.name }) }),
|
|
2098
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icons.chevron_down, { className: "h-4 w-4 opacity-70" })
|
|
2099
|
-
] }) }),
|
|
2100
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuContent, { className: "w-56", align: "start", children: [
|
|
2101
|
-
children,
|
|
2102
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
|
|
2103
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { asChild: true, className: "cursor-pointer", children: /* @__PURE__ */ jsxRuntime.jsx("form", { action: signOutAction, className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "submit", className: "flex w-full cursor-pointer items-center", children: [
|
|
2104
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icons.logout, { className: "mr-2 h-4 w-4" }),
|
|
2105
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sign out" })
|
|
2106
|
-
] }) }) })
|
|
2107
|
-
] })
|
|
2108
|
-
] });
|
|
2109
|
-
}
|
|
2110
|
-
function AuthButtonWrapper() {
|
|
2111
|
-
const { data: session } = react$1.useSession();
|
|
2112
|
-
return /* @__PURE__ */ jsxRuntime.jsx(AuthButton, { user: session?.user });
|
|
2113
|
-
}
|
|
2114
|
-
function AuthLayout({ children }) {
|
|
2115
|
-
return /* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-dvh flex-col p-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex grow items-center justify-center p-6 lg:rounded-sm lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 lg:ring-grey-950/5 dark:lg:bg-grey-900 dark:lg:ring-white/10", children }) });
|
|
2116
|
-
}
|
|
2117
1700
|
var focusOutline = {
|
|
2118
1701
|
"primary/grey": [
|
|
2119
1702
|
// Base
|
|
@@ -3770,6 +3353,224 @@ function BreadcrumbEllipsis({ className, ...props }) {
|
|
|
3770
3353
|
}
|
|
3771
3354
|
);
|
|
3772
3355
|
}
|
|
3356
|
+
function DropdownMenu({ ...props }) {
|
|
3357
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Root, { "data-slot": "dropdown-menu", ...props });
|
|
3358
|
+
}
|
|
3359
|
+
function DropdownMenuPortal({
|
|
3360
|
+
...props
|
|
3361
|
+
}) {
|
|
3362
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
3363
|
+
}
|
|
3364
|
+
function DropdownMenuTrigger({
|
|
3365
|
+
...props
|
|
3366
|
+
}) {
|
|
3367
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
3368
|
+
}
|
|
3369
|
+
function DropdownMenuContent({
|
|
3370
|
+
className,
|
|
3371
|
+
sideOffset = 4,
|
|
3372
|
+
...props
|
|
3373
|
+
}) {
|
|
3374
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3375
|
+
DropdownMenuPrimitive__namespace.Content,
|
|
3376
|
+
{
|
|
3377
|
+
"data-slot": "dropdown-menu-content",
|
|
3378
|
+
sideOffset,
|
|
3379
|
+
className: cn(
|
|
3380
|
+
[
|
|
3381
|
+
// Base
|
|
3382
|
+
"z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border bg-background p-1 text-foreground shadow-md",
|
|
3383
|
+
// Open
|
|
3384
|
+
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
3385
|
+
// Closed
|
|
3386
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
3387
|
+
// Side
|
|
3388
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
3389
|
+
// Hover
|
|
3390
|
+
"",
|
|
3391
|
+
// Focus
|
|
3392
|
+
"",
|
|
3393
|
+
// Active
|
|
3394
|
+
""
|
|
3395
|
+
],
|
|
3396
|
+
className
|
|
3397
|
+
),
|
|
3398
|
+
...props
|
|
3399
|
+
}
|
|
3400
|
+
) });
|
|
3401
|
+
}
|
|
3402
|
+
function DropdownMenuGroup({ ...props }) {
|
|
3403
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
3404
|
+
}
|
|
3405
|
+
function DropdownMenuItem({
|
|
3406
|
+
className,
|
|
3407
|
+
inset,
|
|
3408
|
+
variant = "default",
|
|
3409
|
+
...props
|
|
3410
|
+
}) {
|
|
3411
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3412
|
+
DropdownMenuPrimitive__namespace.Item,
|
|
3413
|
+
{
|
|
3414
|
+
"data-slot": "dropdown-menu-item",
|
|
3415
|
+
"data-inset": inset,
|
|
3416
|
+
"data-variant": variant,
|
|
3417
|
+
className: cn(
|
|
3418
|
+
[
|
|
3419
|
+
// Base
|
|
3420
|
+
""
|
|
3421
|
+
],
|
|
3422
|
+
"relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:!text-destructive",
|
|
3423
|
+
className
|
|
3424
|
+
),
|
|
3425
|
+
...props
|
|
3426
|
+
}
|
|
3427
|
+
);
|
|
3428
|
+
}
|
|
3429
|
+
function DropdownMenuCheckboxItem({
|
|
3430
|
+
className,
|
|
3431
|
+
children,
|
|
3432
|
+
checked,
|
|
3433
|
+
...props
|
|
3434
|
+
}) {
|
|
3435
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3436
|
+
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
3437
|
+
{
|
|
3438
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
3439
|
+
className: cn(
|
|
3440
|
+
[
|
|
3441
|
+
// Base
|
|
3442
|
+
""
|
|
3443
|
+
],
|
|
3444
|
+
"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3445
|
+
className
|
|
3446
|
+
),
|
|
3447
|
+
checked,
|
|
3448
|
+
...props,
|
|
3449
|
+
children: [
|
|
3450
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(Icons.check, { className: "size-4" }) }) }),
|
|
3451
|
+
children
|
|
3452
|
+
]
|
|
3453
|
+
}
|
|
3454
|
+
);
|
|
3455
|
+
}
|
|
3456
|
+
function DropdownMenuRadioGroup({
|
|
3457
|
+
...props
|
|
3458
|
+
}) {
|
|
3459
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
|
|
3460
|
+
}
|
|
3461
|
+
function DropdownMenuRadioItem({
|
|
3462
|
+
className,
|
|
3463
|
+
children,
|
|
3464
|
+
...props
|
|
3465
|
+
}) {
|
|
3466
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3467
|
+
DropdownMenuPrimitive__namespace.RadioItem,
|
|
3468
|
+
{
|
|
3469
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
3470
|
+
className: cn(
|
|
3471
|
+
[
|
|
3472
|
+
// Base
|
|
3473
|
+
""
|
|
3474
|
+
],
|
|
3475
|
+
"relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
3476
|
+
className
|
|
3477
|
+
),
|
|
3478
|
+
...props,
|
|
3479
|
+
children: [
|
|
3480
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(Icons.circle, { className: "size-2 fill-current" }) }) }),
|
|
3481
|
+
children
|
|
3482
|
+
]
|
|
3483
|
+
}
|
|
3484
|
+
);
|
|
3485
|
+
}
|
|
3486
|
+
function DropdownMenuLabel({
|
|
3487
|
+
className,
|
|
3488
|
+
inset,
|
|
3489
|
+
...props
|
|
3490
|
+
}) {
|
|
3491
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3492
|
+
DropdownMenuPrimitive__namespace.Label,
|
|
3493
|
+
{
|
|
3494
|
+
"data-slot": "dropdown-menu-label",
|
|
3495
|
+
"data-inset": inset,
|
|
3496
|
+
className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
|
|
3497
|
+
...props
|
|
3498
|
+
}
|
|
3499
|
+
);
|
|
3500
|
+
}
|
|
3501
|
+
function DropdownMenuSeparator({
|
|
3502
|
+
className,
|
|
3503
|
+
...props
|
|
3504
|
+
}) {
|
|
3505
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3506
|
+
DropdownMenuPrimitive__namespace.Separator,
|
|
3507
|
+
{
|
|
3508
|
+
"data-slot": "dropdown-menu-separator",
|
|
3509
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
3510
|
+
...props
|
|
3511
|
+
}
|
|
3512
|
+
);
|
|
3513
|
+
}
|
|
3514
|
+
function DropdownMenuShortcut({ className, ...props }) {
|
|
3515
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3516
|
+
"span",
|
|
3517
|
+
{
|
|
3518
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
3519
|
+
className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className),
|
|
3520
|
+
...props
|
|
3521
|
+
}
|
|
3522
|
+
);
|
|
3523
|
+
}
|
|
3524
|
+
function DropdownMenuSub({ ...props }) {
|
|
3525
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
3526
|
+
}
|
|
3527
|
+
function DropdownMenuSubTrigger({
|
|
3528
|
+
className,
|
|
3529
|
+
inset,
|
|
3530
|
+
children,
|
|
3531
|
+
...props
|
|
3532
|
+
}) {
|
|
3533
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3534
|
+
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
3535
|
+
{
|
|
3536
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
3537
|
+
"data-inset": inset,
|
|
3538
|
+
className: cn(
|
|
3539
|
+
[
|
|
3540
|
+
// Base
|
|
3541
|
+
""
|
|
3542
|
+
],
|
|
3543
|
+
"flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-primary-800/10 focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground",
|
|
3544
|
+
className
|
|
3545
|
+
),
|
|
3546
|
+
...props,
|
|
3547
|
+
children: [
|
|
3548
|
+
children,
|
|
3549
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icons.chevron_right, { className: "ml-auto size-4" })
|
|
3550
|
+
]
|
|
3551
|
+
}
|
|
3552
|
+
);
|
|
3553
|
+
}
|
|
3554
|
+
function DropdownMenuSubContent({
|
|
3555
|
+
className,
|
|
3556
|
+
...props
|
|
3557
|
+
}) {
|
|
3558
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3559
|
+
DropdownMenuPrimitive__namespace.SubContent,
|
|
3560
|
+
{
|
|
3561
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
3562
|
+
className: cn(
|
|
3563
|
+
[
|
|
3564
|
+
// Base
|
|
3565
|
+
""
|
|
3566
|
+
],
|
|
3567
|
+
"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
3568
|
+
className
|
|
3569
|
+
),
|
|
3570
|
+
...props
|
|
3571
|
+
}
|
|
3572
|
+
);
|
|
3573
|
+
}
|
|
3773
3574
|
function Breadcrumbs({
|
|
3774
3575
|
homeLabel = "Home",
|
|
3775
3576
|
pathLabels = {},
|
|
@@ -12179,7 +11980,7 @@ function FormatToggle({ format, setFormat }) {
|
|
|
12179
11980
|
|
|
12180
11981
|
// package.json
|
|
12181
11982
|
var package_default = {
|
|
12182
|
-
version: "1.
|
|
11983
|
+
version: "1.61.0"};
|
|
12183
11984
|
function Heading({
|
|
12184
11985
|
className,
|
|
12185
11986
|
trim = "normal",
|
|
@@ -18927,7 +18728,7 @@ function distance2D(a, b) {
|
|
|
18927
18728
|
|
|
18928
18729
|
// node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
|
|
18929
18730
|
var PanSession = class {
|
|
18930
|
-
constructor(event,
|
|
18731
|
+
constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3 } = {}) {
|
|
18931
18732
|
this.startEvent = null;
|
|
18932
18733
|
this.lastMoveEvent = null;
|
|
18933
18734
|
this.lastMoveEventInfo = null;
|
|
@@ -18972,7 +18773,7 @@ var PanSession = class {
|
|
|
18972
18773
|
if (!isPrimaryPointer(event))
|
|
18973
18774
|
return;
|
|
18974
18775
|
this.dragSnapToOrigin = dragSnapToOrigin;
|
|
18975
|
-
this.handlers =
|
|
18776
|
+
this.handlers = handlers;
|
|
18976
18777
|
this.transformPagePoint = transformPagePoint;
|
|
18977
18778
|
this.distanceThreshold = distanceThreshold;
|
|
18978
18779
|
this.contextWindow = contextWindow || window;
|
|
@@ -18981,12 +18782,12 @@ var PanSession = class {
|
|
|
18981
18782
|
const { point } = initialInfo;
|
|
18982
18783
|
const { timestamp } = frameData;
|
|
18983
18784
|
this.history = [{ ...point, timestamp }];
|
|
18984
|
-
const { onSessionStart } =
|
|
18785
|
+
const { onSessionStart } = handlers;
|
|
18985
18786
|
onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
|
|
18986
18787
|
this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
|
|
18987
18788
|
}
|
|
18988
|
-
updateHandlers(
|
|
18989
|
-
this.handlers =
|
|
18789
|
+
updateHandlers(handlers) {
|
|
18790
|
+
this.handlers = handlers;
|
|
18990
18791
|
}
|
|
18991
18792
|
end() {
|
|
18992
18793
|
this.removeListeners && this.removeListeners();
|
|
@@ -24852,15 +24653,6 @@ var Tracker = React5__namespace.default.forwardRef(
|
|
|
24852
24653
|
}
|
|
24853
24654
|
);
|
|
24854
24655
|
Tracker.displayName = "Tracker";
|
|
24855
|
-
function SignInButton() {
|
|
24856
|
-
return /* @__PURE__ */ jsxRuntime.jsx("form", { action: signInGeneric, children: /* @__PURE__ */ jsxRuntime.jsx(Button2, { type: "submit", variant: "outline", children: "Sign in" }) });
|
|
24857
|
-
}
|
|
24858
|
-
function SignInWithEntraButton() {
|
|
24859
|
-
return /* @__PURE__ */ jsxRuntime.jsx("form", { action: signInWithEntra, children: /* @__PURE__ */ jsxRuntime.jsx(Button2, { type: "submit", children: "Sign in with Entra" }) });
|
|
24860
|
-
}
|
|
24861
|
-
function SignOutButton() {
|
|
24862
|
-
return /* @__PURE__ */ jsxRuntime.jsx("form", { action: signOutAction, children: /* @__PURE__ */ jsxRuntime.jsx(Button2, { type: "submit", color: "danger", children: "Sign Out" }) });
|
|
24863
|
-
}
|
|
24864
24656
|
var useIsomorphicLayoutEffect2 = typeof window !== "undefined" ? React5.useLayoutEffect : React5.useEffect;
|
|
24865
24657
|
function useDisableToc() {
|
|
24866
24658
|
const { setToc } = useToc();
|
|
@@ -24877,15 +24669,15 @@ function useDisableToc() {
|
|
|
24877
24669
|
}, [setToc]);
|
|
24878
24670
|
}
|
|
24879
24671
|
function getNodeText(node) {
|
|
24880
|
-
let
|
|
24672
|
+
let text = "";
|
|
24881
24673
|
for (const child of node.children ?? []) {
|
|
24882
24674
|
if ("type" in child && child.type === "text") {
|
|
24883
|
-
|
|
24675
|
+
text += child.attributes?.content ?? "";
|
|
24884
24676
|
} else if (child instanceof HTMLElement) {
|
|
24885
|
-
|
|
24677
|
+
text += getNodeText(child);
|
|
24886
24678
|
}
|
|
24887
24679
|
}
|
|
24888
|
-
return
|
|
24680
|
+
return text;
|
|
24889
24681
|
}
|
|
24890
24682
|
function domToSimple(node) {
|
|
24891
24683
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
@@ -25020,8 +24812,6 @@ exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
|
25020
24812
|
exports.AlertTitle = AlertTitle;
|
|
25021
24813
|
exports.AreaChart = AreaChart;
|
|
25022
24814
|
exports.AspectRatio = AspectRatio;
|
|
25023
|
-
exports.AuthButton = AuthButton;
|
|
25024
|
-
exports.AuthButtonWrapper = AuthButtonWrapper;
|
|
25025
24815
|
exports.AuthLayout = AuthLayout;
|
|
25026
24816
|
exports.AvailableChartColors = AvailableChartColors;
|
|
25027
24817
|
exports.Avatar = Avatar;
|
|
@@ -25294,9 +25084,6 @@ exports.SidebarProvider = SidebarProvider;
|
|
|
25294
25084
|
exports.SidebarRail = SidebarRail;
|
|
25295
25085
|
exports.SidebarSeparator = SidebarSeparator;
|
|
25296
25086
|
exports.SidebarTrigger = SidebarTrigger;
|
|
25297
|
-
exports.SignInButton = SignInButton;
|
|
25298
|
-
exports.SignInWithEntraButton = SignInWithEntraButton;
|
|
25299
|
-
exports.SignOutButton = SignOutButton;
|
|
25300
25087
|
exports.SiteSearch = SiteSearch;
|
|
25301
25088
|
exports.Skeleton = Skeleton;
|
|
25302
25089
|
exports.Slider = Slider;
|