@carlonicora/nextjs-jsonapi 3.26.1 → 3.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BlockNoteEditor-VET2JD72.mjs → BlockNoteEditor-5MF2AH2U.mjs} +2 -2
- package/dist/{BlockNoteEditor-WUC2NRGI.js → BlockNoteEditor-LP65KUXI.js} +9 -9
- package/dist/{BlockNoteEditor-WUC2NRGI.js.map → BlockNoteEditor-LP65KUXI.js.map} +1 -1
- package/dist/billing/index.js +335 -335
- package/dist/billing/index.mjs +1 -1
- package/dist/{chunk-7SJ4HKDR.mjs → chunk-SVJ6UZPA.mjs} +50 -47
- package/dist/chunk-SVJ6UZPA.mjs.map +1 -0
- package/dist/{chunk-425GLYXN.js → chunk-ZEEOY45J.js} +11 -8
- package/dist/chunk-ZEEOY45J.js.map +1 -0
- package/dist/client/index.d.mts +2 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.js +2 -2
- package/dist/client/index.mjs +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/index.mjs +1 -1
- package/dist/contexts/index.js +2 -2
- package/dist/contexts/index.mjs +1 -1
- package/dist/features/analytics/index.js +88 -88
- package/dist/features/analytics/index.mjs +1 -1
- package/dist/features/help/index.js +31 -31
- package/dist/features/help/index.mjs +1 -1
- package/dist/features/tokenusage/index.js +75 -75
- package/dist/features/tokenusage/index.mjs +1 -1
- package/package.json +2 -2
- package/scripts/dev-watch.mjs +150 -0
- package/src/components/containers/RoundPageContainer.tsx +10 -2
- package/src/hooks/url.rewriter.ts +5 -1
- package/src/shadcnui/ui/table.tsx +1 -4
- package/dist/chunk-425GLYXN.js.map +0 -1
- package/dist/chunk-7SJ4HKDR.mjs.map +0 -1
- /package/dist/{BlockNoteEditor-VET2JD72.mjs.map → BlockNoteEditor-5MF2AH2U.mjs.map} +0 -0
package/dist/billing/index.mjs
CHANGED
|
@@ -4539,10 +4539,7 @@ function TableCell({ className, ...props }) {
|
|
|
4539
4539
|
"td",
|
|
4540
4540
|
{
|
|
4541
4541
|
"data-slot": "table-cell",
|
|
4542
|
-
className: cn(
|
|
4543
|
-
"p-2 align-middle whitespace-nowrap max-md:whitespace-normal [&:has([role=checkbox])]:pe-0",
|
|
4544
|
-
className
|
|
4545
|
-
),
|
|
4542
|
+
className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0", className),
|
|
4546
4543
|
...props
|
|
4547
4544
|
}
|
|
4548
4545
|
);
|
|
@@ -6649,7 +6646,9 @@ function useUrlRewriter() {
|
|
|
6649
6646
|
const generateUrl = usePageUrlGenerator();
|
|
6650
6647
|
return useCallback7(
|
|
6651
6648
|
(params) => {
|
|
6652
|
-
window.history.replaceState
|
|
6649
|
+
const write = params.mode === "push" ? window.history.pushState : window.history.replaceState;
|
|
6650
|
+
write.call(
|
|
6651
|
+
window.history,
|
|
6653
6652
|
null,
|
|
6654
6653
|
"",
|
|
6655
6654
|
generateUrl({
|
|
@@ -10438,7 +10437,7 @@ import { useRef as useRef17 } from "react";
|
|
|
10438
10437
|
import dynamic from "next/dynamic";
|
|
10439
10438
|
import React18 from "react";
|
|
10440
10439
|
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
10441
|
-
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-
|
|
10440
|
+
var BlockNoteEditor = dynamic(() => import("./BlockNoteEditor-5MF2AH2U.mjs"), {
|
|
10442
10441
|
ssr: false
|
|
10443
10442
|
});
|
|
10444
10443
|
var BlockNoteEditorContainer = React18.memo(/* @__PURE__ */ __name(function EditorContainer(props) {
|
|
@@ -15812,7 +15811,7 @@ __name(RoundPageContainerTitle, "RoundPageContainerTitle");
|
|
|
15812
15811
|
|
|
15813
15812
|
// src/components/containers/RoundPageContainer.tsx
|
|
15814
15813
|
import { useSearchParams } from "next/navigation";
|
|
15815
|
-
import { Fragment as Fragment25, useCallback as useCallback27, useEffect as useEffect42, useMemo as useMemo22, useState as useState52 } from "react";
|
|
15814
|
+
import { Fragment as Fragment25, useCallback as useCallback27, useEffect as useEffect42, useMemo as useMemo22, useRef as useRef28, useState as useState52 } from "react";
|
|
15816
15815
|
import { Fragment as Fragment26, jsx as jsx170, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
15817
15816
|
var DETAILS_COOKIE_NAME = "round_page_details_state";
|
|
15818
15817
|
var DETAILS_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
@@ -15888,13 +15887,17 @@ function RoundPageContainer({
|
|
|
15888
15887
|
const rewriteUrl = useUrlRewriter();
|
|
15889
15888
|
const initialValue = tabs ? (section && tabs.find((i) => tabValue(i) === section) ? section : null) || tabValue(tabs[0]) : void 0;
|
|
15890
15889
|
const [activeTab, setActiveTab] = useState52(initialValue);
|
|
15890
|
+
const previousSection = useRef28(section);
|
|
15891
15891
|
useEffect42(() => {
|
|
15892
15892
|
if (tabs && section) {
|
|
15893
15893
|
const tab = tabs.find((i) => tabValue(i) === section);
|
|
15894
15894
|
if (tab) {
|
|
15895
15895
|
setActiveTab(section);
|
|
15896
15896
|
}
|
|
15897
|
+
} else if (tabs && !section && previousSection.current) {
|
|
15898
|
+
setActiveTab(tabValue(tabs[0]));
|
|
15897
15899
|
}
|
|
15900
|
+
previousSection.current = section;
|
|
15898
15901
|
}, [section, tabs]);
|
|
15899
15902
|
const handleTabChange = useCallback27(
|
|
15900
15903
|
(key) => {
|
|
@@ -15902,7 +15905,7 @@ function RoundPageContainer({
|
|
|
15902
15905
|
if (module && id) {
|
|
15903
15906
|
rewriteUrl({ page: module, id, additionalParameters: { section: key } });
|
|
15904
15907
|
} else {
|
|
15905
|
-
rewriteUrl({ page: window.location.pathname, additionalParameters: { section: key } });
|
|
15908
|
+
rewriteUrl({ page: window.location.pathname, additionalParameters: { section: key }, mode: "push" });
|
|
15906
15909
|
}
|
|
15907
15910
|
onSectionChange?.(key);
|
|
15908
15911
|
},
|
|
@@ -16292,7 +16295,7 @@ function AllowedUsersDetails({ showTitle, content }) {
|
|
|
16292
16295
|
__name(AllowedUsersDetails, "AllowedUsersDetails");
|
|
16293
16296
|
|
|
16294
16297
|
// src/components/editors/BlockNoteEditorMentionHoverCard.tsx
|
|
16295
|
-
import { useCallback as useCallback28, useEffect as useEffect43, useRef as
|
|
16298
|
+
import { useCallback as useCallback28, useEffect as useEffect43, useRef as useRef29, useState as useState53 } from "react";
|
|
16296
16299
|
import { createPortal as createPortal3 } from "react-dom";
|
|
16297
16300
|
import { jsx as jsx173 } from "react/jsx-runtime";
|
|
16298
16301
|
function BlockNoteEditorMentionHoverCard({
|
|
@@ -16300,7 +16303,7 @@ function BlockNoteEditorMentionHoverCard({
|
|
|
16300
16303
|
mentionResolveFn
|
|
16301
16304
|
}) {
|
|
16302
16305
|
const [hovered, setHovered] = useState53(null);
|
|
16303
|
-
const closeTimeoutRef =
|
|
16306
|
+
const closeTimeoutRef = useRef29(null);
|
|
16304
16307
|
const scheduleClose = useCallback28(() => {
|
|
16305
16308
|
closeTimeoutRef.current = setTimeout(() => setHovered(null), 200);
|
|
16306
16309
|
}, []);
|
|
@@ -16560,12 +16563,12 @@ var BlockNoteViewerContainer = React29.memo(/* @__PURE__ */ __name(function View
|
|
|
16560
16563
|
}, "ViewerContainer"));
|
|
16561
16564
|
|
|
16562
16565
|
// src/components/pages/PageContainerContentDetails.tsx
|
|
16563
|
-
import { useEffect as useEffect44, useRef as
|
|
16566
|
+
import { useEffect as useEffect44, useRef as useRef30, useState as useState54 } from "react";
|
|
16564
16567
|
import { jsx as jsx177, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
16565
16568
|
function PageContainerContentDetails({ items, section, module, id }) {
|
|
16566
16569
|
const rewriteUrl = useUrlRewriter();
|
|
16567
16570
|
const [isScrolled, setIsScrolled] = useState54(false);
|
|
16568
|
-
const sentinelRef =
|
|
16571
|
+
const sentinelRef = useRef30(null);
|
|
16569
16572
|
useEffect44(() => {
|
|
16570
16573
|
const sentinel = sentinelRef.current;
|
|
16571
16574
|
if (!sentinel) return;
|
|
@@ -16773,13 +16776,13 @@ function JsonApiProvider({ config, children }) {
|
|
|
16773
16776
|
__name(JsonApiProvider, "JsonApiProvider");
|
|
16774
16777
|
|
|
16775
16778
|
// src/client/hooks/useJsonApiGet.ts
|
|
16776
|
-
import { useState as useState56, useEffect as useEffect47, useCallback as useCallback30, useRef as
|
|
16779
|
+
import { useState as useState56, useEffect as useEffect47, useCallback as useCallback30, useRef as useRef31 } from "react";
|
|
16777
16780
|
function useJsonApiGet(params) {
|
|
16778
16781
|
const [data, setData] = useState56(null);
|
|
16779
16782
|
const [loading, setLoading] = useState56(false);
|
|
16780
16783
|
const [error, setError] = useState56(null);
|
|
16781
16784
|
const [response, setResponse] = useState56(null);
|
|
16782
|
-
const isMounted =
|
|
16785
|
+
const isMounted = useRef31(true);
|
|
16783
16786
|
const fetchData = useCallback30(async () => {
|
|
16784
16787
|
if (params.options?.enabled === false) return;
|
|
16785
16788
|
setLoading(true);
|
|
@@ -17936,12 +17939,12 @@ import React31, { memo, useMemo as useMemo33, useState as useState61 } from "rea
|
|
|
17936
17939
|
// src/components/tables/ContentTableSearch.tsx
|
|
17937
17940
|
import { RefreshCw, Search, X as X3 } from "lucide-react";
|
|
17938
17941
|
import { useTranslations as useTranslations61 } from "next-intl";
|
|
17939
|
-
import { useCallback as useCallback35, useEffect as useEffect51, useRef as
|
|
17942
|
+
import { useCallback as useCallback35, useEffect as useEffect51, useRef as useRef32, useState as useState60 } from "react";
|
|
17940
17943
|
import { jsx as jsx191, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
17941
17944
|
function ContentTableSearch({ data }) {
|
|
17942
17945
|
const t = useTranslations61();
|
|
17943
|
-
const searchTermRef =
|
|
17944
|
-
const inputRef =
|
|
17946
|
+
const searchTermRef = useRef32("");
|
|
17947
|
+
const inputRef = useRef32(null);
|
|
17945
17948
|
const [searchTerm, setSearchTerm] = useState60("");
|
|
17946
17949
|
const [isFocused, setIsFocused] = useState60(false);
|
|
17947
17950
|
const [isSearching, setIsSearching] = useState60(false);
|
|
@@ -18265,12 +18268,12 @@ var ContentListTable = memo(/* @__PURE__ */ __name(function ContentListTable2(pr
|
|
|
18265
18268
|
}, "ContentListTable"));
|
|
18266
18269
|
|
|
18267
18270
|
// src/components/grids/ContentListGrid.tsx
|
|
18268
|
-
import { useEffect as useEffect52, useRef as
|
|
18271
|
+
import { useEffect as useEffect52, useRef as useRef33 } from "react";
|
|
18269
18272
|
import { Fragment as Fragment31, jsx as jsx193, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
18270
18273
|
var DEFAULT_GRID_CLASSES = "grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5";
|
|
18271
18274
|
function ContentListGrid(props) {
|
|
18272
18275
|
const { data, ItemComponent, allowSearch, fullWidth, gridClassName } = props;
|
|
18273
|
-
const sentinelRef =
|
|
18276
|
+
const sentinelRef = useRef33(null);
|
|
18274
18277
|
useEffect52(() => {
|
|
18275
18278
|
if (!data.next || !sentinelRef.current) return;
|
|
18276
18279
|
const observer = new IntersectionObserver(
|
|
@@ -18314,14 +18317,14 @@ __name(ContentListGrid, "ContentListGrid");
|
|
|
18314
18317
|
|
|
18315
18318
|
// src/components/fiscal/ItalianFiscalData.tsx
|
|
18316
18319
|
import { useTranslations as useTranslations63 } from "next-intl";
|
|
18317
|
-
import { forwardRef as forwardRef8, useCallback as useCallback36, useImperativeHandle as useImperativeHandle2, useRef as
|
|
18320
|
+
import { forwardRef as forwardRef8, useCallback as useCallback36, useImperativeHandle as useImperativeHandle2, useRef as useRef34, useState as useState62 } from "react";
|
|
18318
18321
|
import { z as z4 } from "zod";
|
|
18319
18322
|
import { jsx as jsx194, jsxs as jsxs107 } from "react/jsx-runtime";
|
|
18320
18323
|
var ItalianFiscalData = forwardRef8(/* @__PURE__ */ __name(function ItalianFiscalData2({ initialData }, ref) {
|
|
18321
18324
|
const t = useTranslations63();
|
|
18322
|
-
const initialRef =
|
|
18325
|
+
const initialRef = useRef34(initialData);
|
|
18323
18326
|
const [fiscalData, setFiscalData] = useState62(initialData);
|
|
18324
|
-
const fiscalDataRef =
|
|
18327
|
+
const fiscalDataRef = useRef34(initialData);
|
|
18325
18328
|
const [fiscalErrors, setFiscalErrors] = useState62({});
|
|
18326
18329
|
const updateFiscalField = useCallback36((key, value) => {
|
|
18327
18330
|
setFiscalData((prev) => {
|
|
@@ -19046,11 +19049,11 @@ import { useTranslations as useTranslations67 } from "next-intl";
|
|
|
19046
19049
|
import { useState as useState67 } from "react";
|
|
19047
19050
|
|
|
19048
19051
|
// src/features/auth/components/two-factor/TotpInput.tsx
|
|
19049
|
-
import { useEffect as useEffect54, useRef as
|
|
19052
|
+
import { useEffect as useEffect54, useRef as useRef35, useState as useState66 } from "react";
|
|
19050
19053
|
import { jsx as jsx205, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
19051
19054
|
function TotpInput({ onComplete, disabled = false, autoFocus = true, error }) {
|
|
19052
19055
|
const [digits, setDigits] = useState66(["", "", "", "", "", ""]);
|
|
19053
|
-
const inputRefs =
|
|
19056
|
+
const inputRefs = useRef35([]);
|
|
19054
19057
|
useEffect54(() => {
|
|
19055
19058
|
if (autoFocus && inputRefs.current[0]) {
|
|
19056
19059
|
inputRefs.current[0].focus();
|
|
@@ -21302,7 +21305,7 @@ __name(RelevantContentsList, "RelevantContentsList");
|
|
|
21302
21305
|
// src/features/how-to/components/containers/HowToCommand.tsx
|
|
21303
21306
|
import { ArrowRight, LifeBuoyIcon } from "lucide-react";
|
|
21304
21307
|
import { useTranslations as useTranslations91 } from "next-intl";
|
|
21305
|
-
import { useCallback as useCallback40, useEffect as useEffect66, useMemo as useMemo40, useRef as
|
|
21308
|
+
import { useCallback as useCallback40, useEffect as useEffect66, useMemo as useMemo40, useRef as useRef36, useState as useState84 } from "react";
|
|
21306
21309
|
|
|
21307
21310
|
// src/features/how-to/components/containers/HowToCommandViewer.tsx
|
|
21308
21311
|
import { ArrowLeft, BookOpen, MessageSquare } from "lucide-react";
|
|
@@ -21430,7 +21433,7 @@ function HowToCommand({ pathname, contextKeys, extraGroups, onStartChat }) {
|
|
|
21430
21433
|
const t = useTranslations91();
|
|
21431
21434
|
const [dialogOpen, setDialogOpen] = useState84(false);
|
|
21432
21435
|
const [selectedHowTo, setSelectedHowTo] = useState84(null);
|
|
21433
|
-
const searchTermRef =
|
|
21436
|
+
const searchTermRef = useRef36("");
|
|
21434
21437
|
const [searchTerm, setSearchTerm] = useState84("");
|
|
21435
21438
|
const data = useDataListRetriever({
|
|
21436
21439
|
retriever: /* @__PURE__ */ __name((params) => {
|
|
@@ -21766,7 +21769,7 @@ __name(HowToListContainer, "HowToListContainer");
|
|
|
21766
21769
|
// src/features/how-to/components/forms/HowToSelector.tsx
|
|
21767
21770
|
import { CircleX as CircleX3, RefreshCwIcon as RefreshCwIcon4, SearchIcon as SearchIcon7, XIcon as XIcon11 } from "lucide-react";
|
|
21768
21771
|
import { useTranslations as useTranslations96 } from "next-intl";
|
|
21769
|
-
import { useCallback as useCallback41, useEffect as useEffect67, useRef as
|
|
21772
|
+
import { useCallback as useCallback41, useEffect as useEffect67, useRef as useRef37, useState as useState86 } from "react";
|
|
21770
21773
|
import { Fragment as Fragment48, jsx as jsx241, jsxs as jsxs138 } from "react/jsx-runtime";
|
|
21771
21774
|
function HowToSelector({
|
|
21772
21775
|
id,
|
|
@@ -21778,7 +21781,7 @@ function HowToSelector({
|
|
|
21778
21781
|
}) {
|
|
21779
21782
|
const t = useTranslations96();
|
|
21780
21783
|
const [open, setOpen] = useState86(false);
|
|
21781
|
-
const searchTermRef =
|
|
21784
|
+
const searchTermRef = useRef37("");
|
|
21782
21785
|
const [searchTerm, setSearchTerm] = useState86("");
|
|
21783
21786
|
const [isSearching, setIsSearching] = useState86(false);
|
|
21784
21787
|
const data = useDataListRetriever({
|
|
@@ -21992,7 +21995,7 @@ function AssistantComposer({
|
|
|
21992
21995
|
__name(AssistantComposer, "AssistantComposer");
|
|
21993
21996
|
|
|
21994
21997
|
// src/features/assistant/components/parts/AssistantThread.tsx
|
|
21995
|
-
import { useEffect as useEffect69, useRef as
|
|
21998
|
+
import { useEffect as useEffect69, useRef as useRef38 } from "react";
|
|
21996
21999
|
|
|
21997
22000
|
// src/features/assistant-message/components/MessageItem.tsx
|
|
21998
22001
|
import { useTranslations as useTranslations105 } from "next-intl";
|
|
@@ -22646,7 +22649,7 @@ function AssistantThread({
|
|
|
22646
22649
|
renderApprovalAction,
|
|
22647
22650
|
renderMention
|
|
22648
22651
|
}) {
|
|
22649
|
-
const lastMessageRef =
|
|
22652
|
+
const lastMessageRef = useRef38(null);
|
|
22650
22653
|
useEffect69(() => {
|
|
22651
22654
|
lastMessageRef.current?.scrollIntoView({ block: "start", behavior: "smooth" });
|
|
22652
22655
|
}, [messages.length, sending]);
|
|
@@ -23235,7 +23238,7 @@ __name(HandbookPageToc, "HandbookPageToc");
|
|
|
23235
23238
|
// src/features/handbook/components/parts/HandbookPageNavigator.tsx
|
|
23236
23239
|
import { BookOpenIcon } from "lucide-react";
|
|
23237
23240
|
import { useTranslations as useTranslations114 } from "next-intl";
|
|
23238
|
-
import { useEffect as useEffect73, useMemo as useMemo49, useRef as
|
|
23241
|
+
import { useEffect as useEffect73, useMemo as useMemo49, useRef as useRef39 } from "react";
|
|
23239
23242
|
import { jsx as jsx265, jsxs as jsxs155 } from "react/jsx-runtime";
|
|
23240
23243
|
function HandbookPageNavigator({ pages, sections, currentId }) {
|
|
23241
23244
|
const t = useTranslations114();
|
|
@@ -23266,7 +23269,7 @@ function HandbookPageNavigator({ pages, sections, currentId }) {
|
|
|
23266
23269
|
});
|
|
23267
23270
|
return ordered;
|
|
23268
23271
|
}, [pages, sections, t]);
|
|
23269
|
-
const currentRef =
|
|
23272
|
+
const currentRef = useRef39(null);
|
|
23270
23273
|
useEffect73(() => {
|
|
23271
23274
|
const link = currentRef.current;
|
|
23272
23275
|
if (!link) return;
|
|
@@ -24289,7 +24292,7 @@ __name(NotificationViewSwitcher, "NotificationViewSwitcher");
|
|
|
24289
24292
|
|
|
24290
24293
|
// src/features/notification/components/lists/NotificationsList.tsx
|
|
24291
24294
|
import { useTranslations as useTranslations126 } from "next-intl";
|
|
24292
|
-
import { useEffect as useEffect76, useRef as
|
|
24295
|
+
import { useEffect as useEffect76, useRef as useRef40 } from "react";
|
|
24293
24296
|
|
|
24294
24297
|
// src/features/notification/hooks/useNotificationTableStructure.tsx
|
|
24295
24298
|
import { ArchiveIcon } from "lucide-react";
|
|
@@ -24416,7 +24419,7 @@ function NotificationsList({ archived, headerControl, fullWidth }) {
|
|
|
24416
24419
|
retriever: /* @__PURE__ */ __name((params) => NotificationService.findMany(params), "retriever"),
|
|
24417
24420
|
retrieverParams: { isArchived: archived }
|
|
24418
24421
|
});
|
|
24419
|
-
const markedRef =
|
|
24422
|
+
const markedRef = useRef40(/* @__PURE__ */ new Set());
|
|
24420
24423
|
useEffect76(() => {
|
|
24421
24424
|
if (!data.isLoaded || !data.data) return;
|
|
24422
24425
|
const unreadIds = data.data.filter((notification) => !notification.isRead && !markedRef.current.has(notification.id)).map((notification) => notification.id);
|
|
@@ -24497,10 +24500,10 @@ __name(NotificationsListContainer, "NotificationsListContainer");
|
|
|
24497
24500
|
// src/features/notification/components/modals/NotificationModal.tsx
|
|
24498
24501
|
import { BellIcon as BellIcon2, ExternalLinkIcon } from "lucide-react";
|
|
24499
24502
|
import { useTranslations as useTranslations127 } from "next-intl";
|
|
24500
|
-
import { Fragment as Fragment58, useCallback as useCallback48, useEffect as useEffect77, useMemo as useMemo55, useRef as
|
|
24503
|
+
import { Fragment as Fragment58, useCallback as useCallback48, useEffect as useEffect77, useMemo as useMemo55, useRef as useRef41, useState as useState102 } from "react";
|
|
24501
24504
|
import { jsx as jsx282, jsxs as jsxs168 } from "react/jsx-runtime";
|
|
24502
24505
|
function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
24503
|
-
const _instanceId =
|
|
24506
|
+
const _instanceId = useRef41(Math.random().toString(36).substr(2, 9));
|
|
24504
24507
|
const {
|
|
24505
24508
|
notifications,
|
|
24506
24509
|
addNotification,
|
|
@@ -24520,8 +24523,8 @@ function NotificationModalContent({ isOpen, setIsOpen }) {
|
|
|
24520
24523
|
const t = useTranslations127();
|
|
24521
24524
|
const generateUrl = usePageUrlGenerator();
|
|
24522
24525
|
const [newNotifications, setNewNotifications] = useState102(false);
|
|
24523
|
-
const preventAutoClose =
|
|
24524
|
-
const circuitBreakerRef =
|
|
24526
|
+
const preventAutoClose = useRef41(false);
|
|
24527
|
+
const circuitBreakerRef = useRef41({
|
|
24525
24528
|
count: 0,
|
|
24526
24529
|
resetTime: 0,
|
|
24527
24530
|
isOpen: false
|
|
@@ -24750,7 +24753,7 @@ __name(ReferralCodeCapture, "ReferralCodeCapture");
|
|
|
24750
24753
|
|
|
24751
24754
|
// src/features/referral/components/ReferralWidget.tsx
|
|
24752
24755
|
import { Copy as Copy2, Loader2 as Loader26, Mail, Users } from "lucide-react";
|
|
24753
|
-
import { useCallback as useCallback49, useRef as
|
|
24756
|
+
import { useCallback as useCallback49, useRef as useRef42, useState as useState105 } from "react";
|
|
24754
24757
|
|
|
24755
24758
|
// src/features/referral/hooks/useReferralInvite.ts
|
|
24756
24759
|
import { useState as useState103 } from "react";
|
|
@@ -24856,7 +24859,7 @@ function ReferralWidget({
|
|
|
24856
24859
|
const { sendInvite, sending } = useReferralInvite();
|
|
24857
24860
|
const [email, setEmail] = useState105("");
|
|
24858
24861
|
const [copied, setCopied] = useState105(false);
|
|
24859
|
-
const linkInputRef =
|
|
24862
|
+
const linkInputRef = useRef42(null);
|
|
24860
24863
|
const config = getReferralConfig();
|
|
24861
24864
|
const baseUrl = config.referralUrlBase || (typeof window !== "undefined" ? window.location.origin : "");
|
|
24862
24865
|
const referralUrl = stats?.referralCode ? `${baseUrl}${config.referralPath}?${config.urlParamName}=${stats.referralCode}` : "";
|
|
@@ -25144,11 +25147,11 @@ __name(RemoveUserFromRole, "RemoveUserFromRole");
|
|
|
25144
25147
|
// src/features/role/components/forms/UserRoleAdd.tsx
|
|
25145
25148
|
import { PlusCircle as PlusCircle2 } from "lucide-react";
|
|
25146
25149
|
import { useTranslations as useTranslations131 } from "next-intl";
|
|
25147
|
-
import { useCallback as useCallback50, useEffect as useEffect81, useRef as
|
|
25150
|
+
import { useCallback as useCallback50, useEffect as useEffect81, useRef as useRef43, useState as useState107 } from "react";
|
|
25148
25151
|
import { Fragment as Fragment62, jsx as jsx290, jsxs as jsxs174 } from "react/jsx-runtime";
|
|
25149
25152
|
function UserRoleAdd({ user, refresh }) {
|
|
25150
25153
|
const [open, setOpen] = useState107(false);
|
|
25151
|
-
const inputRef =
|
|
25154
|
+
const inputRef = useRef43(null);
|
|
25152
25155
|
const [searchTerm, setSearchTerm] = useState107("");
|
|
25153
25156
|
const [roles, setRoles] = useState107([]);
|
|
25154
25157
|
const t = useTranslations131();
|
|
@@ -26520,7 +26523,7 @@ __name(WaitlistList, "WaitlistList");
|
|
|
26520
26523
|
// src/features/rbac/components/RbacContainer.tsx
|
|
26521
26524
|
import { Loader2Icon as Loader2Icon4 } from "lucide-react";
|
|
26522
26525
|
import { useTranslations as useTranslations144 } from "next-intl";
|
|
26523
|
-
import { memo as memo2, useCallback as useCallback57, useEffect as useEffect84, useMemo as useMemo58, useRef as
|
|
26526
|
+
import { memo as memo2, useCallback as useCallback57, useEffect as useEffect84, useMemo as useMemo58, useRef as useRef44, useState as useState115 } from "react";
|
|
26524
26527
|
|
|
26525
26528
|
// src/features/rbac/components/RbacPermissionCell.tsx
|
|
26526
26529
|
import { CheckIcon as CheckIcon9, MinusIcon as MinusIcon2, XIcon as XIcon12 } from "lucide-react";
|
|
@@ -26789,7 +26792,7 @@ var CellButton = memo2(/* @__PURE__ */ __name(function CellButton2({
|
|
|
26789
26792
|
isRoleColumn,
|
|
26790
26793
|
onOpen
|
|
26791
26794
|
}) {
|
|
26792
|
-
const ref =
|
|
26795
|
+
const ref = useRef44(null);
|
|
26793
26796
|
const value = cellValue(tokens, action);
|
|
26794
26797
|
const handleClick = useCallback57(() => {
|
|
26795
26798
|
if (!ref.current) return;
|
|
@@ -26975,7 +26978,7 @@ __name(RbacContainer, "RbacContainer");
|
|
|
26975
26978
|
// src/features/rbac/components/RbacByRoleContainer.tsx
|
|
26976
26979
|
import { Loader2Icon as Loader2Icon5 } from "lucide-react";
|
|
26977
26980
|
import { useTranslations as useTranslations145 } from "next-intl";
|
|
26978
|
-
import { Fragment as Fragment67, memo as memo3, useCallback as useCallback58, useEffect as useEffect85, useMemo as useMemo59, useRef as
|
|
26981
|
+
import { Fragment as Fragment67, memo as memo3, useCallback as useCallback58, useEffect as useEffect85, useMemo as useMemo59, useRef as useRef45, useState as useState116 } from "react";
|
|
26979
26982
|
import { jsx as jsx314, jsxs as jsxs196 } from "react/jsx-runtime";
|
|
26980
26983
|
function findToken2(tokens, action) {
|
|
26981
26984
|
if (!tokens) return void 0;
|
|
@@ -26996,7 +26999,7 @@ var CellButton3 = memo3(/* @__PURE__ */ __name(function CellButton4({
|
|
|
26996
26999
|
isRoleColumn,
|
|
26997
27000
|
onOpen
|
|
26998
27001
|
}) {
|
|
26999
|
-
const ref =
|
|
27002
|
+
const ref = useRef45(null);
|
|
27000
27003
|
const value = cellValue2(tokens, action);
|
|
27001
27004
|
const handleClick = useCallback58(() => {
|
|
27002
27005
|
if (!ref.current) return;
|
|
@@ -27751,4 +27754,4 @@ export {
|
|
|
27751
27754
|
useOAuthClients,
|
|
27752
27755
|
useOAuthClient
|
|
27753
27756
|
};
|
|
27754
|
-
//# sourceMappingURL=chunk-
|
|
27757
|
+
//# sourceMappingURL=chunk-SVJ6UZPA.mjs.map
|