@iblai/iblai-js 2.3.12 → 2.3.13

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.
@@ -60597,7 +60597,6 @@ var analyticsAnalyticsAuditLogStats$3 = {
60597
60597
  };
60598
60598
  var analyticsAnalyticsCourseDetail$3 = {
60599
60599
  goBackAriaLabel: "Go back to courses list",
60600
- backToCourses: "Back to Courses",
60601
60600
  activeEnrollments: "Active Enrollments",
60602
60601
  completedEnrollments: "Completed Enrollments",
60603
60602
  timeSpent: "Time Spent",
@@ -60760,7 +60759,6 @@ var analyticsAnalyticsOverview$3 = {
60760
60759
  };
60761
60760
  var analyticsAnalyticsProgramDetail$3 = {
60762
60761
  backAriaLabel: "Go back to programs list",
60763
- backButton: "Back to Programs",
60764
60762
  statActiveUsers: "Active Users",
60765
60763
  statEnrollments: "Enrollments",
60766
60764
  statTimeSpent: "Time Spent",
@@ -66918,7 +66916,6 @@ var analyticsAnalyticsAuditLogStats$2 = {
66918
66916
  };
66919
66917
  var analyticsAnalyticsCourseDetail$2 = {
66920
66918
  goBackAriaLabel: "Retour à la liste des cours",
66921
- backToCourses: "Retour aux cours",
66922
66919
  activeEnrollments: "Inscriptions actives",
66923
66920
  completedEnrollments: "Inscriptions terminées",
66924
66921
  timeSpent: "Temps passé",
@@ -67081,7 +67078,6 @@ var analyticsAnalyticsOverview$2 = {
67081
67078
  };
67082
67079
  var analyticsAnalyticsProgramDetail$2 = {
67083
67080
  backAriaLabel: "Retour à la liste des programmes",
67084
- backButton: "Retour aux programmes",
67085
67081
  statActiveUsers: "Utilisateurs actifs",
67086
67082
  statEnrollments: "Inscriptions",
67087
67083
  statTimeSpent: "Temps passé",
@@ -73239,7 +73235,6 @@ var analyticsAnalyticsAuditLogStats$1 = {
73239
73235
  };
73240
73236
  var analyticsAnalyticsCourseDetail$1 = {
73241
73237
  goBackAriaLabel: "Volver a la lista de cursos",
73242
- backToCourses: "Volver a los cursos",
73243
73238
  activeEnrollments: "Inscripciones activas",
73244
73239
  completedEnrollments: "Inscripciones completadas",
73245
73240
  timeSpent: "Tiempo invertido",
@@ -73402,7 +73397,6 @@ var analyticsAnalyticsOverview$1 = {
73402
73397
  };
73403
73398
  var analyticsAnalyticsProgramDetail$1 = {
73404
73399
  backAriaLabel: "Volver a la lista de programas",
73405
- backButton: "Volver a programas",
73406
73400
  statActiveUsers: "Usuarios activos",
73407
73401
  statEnrollments: "Inscripciones",
73408
73402
  statTimeSpent: "Tiempo empleado",
@@ -79560,7 +79554,6 @@ var analyticsAnalyticsAuditLogStats = {
79560
79554
  };
79561
79555
  var analyticsAnalyticsCourseDetail = {
79562
79556
  goBackAriaLabel: "返回课程列表",
79563
- backToCourses: "返回课程",
79564
79557
  activeEnrollments: "活跃注册",
79565
79558
  completedEnrollments: "已完成注册",
79566
79559
  timeSpent: "学习时长",
@@ -79723,7 +79716,6 @@ var analyticsAnalyticsOverview = {
79723
79716
  };
79724
79717
  var analyticsAnalyticsProgramDetail = {
79725
79718
  backAriaLabel: "返回项目列表",
79726
- backButton: "返回项目",
79727
79719
  statActiveUsers: "活跃用户",
79728
79720
  statEnrollments: "注册人数",
79729
79721
  statTimeSpent: "花费时间",
@@ -114565,7 +114557,7 @@ function SubscriptionDetail({ subscription: initialSubscription, platformKey, on
114565
114557
  }
114566
114558
  return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsxs(Button$1, { variant: "ghost", size: "sm", onClick: onBack, className: "cursor-pointer", children: [jsx(ChevronLeft, { className: "h-4 w-4 mr-1" }), t('purchasesPurchasesTab.back')] }), jsxs("div", { children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: subscription.item_name || subscription.item_id }), jsx("span", { className: "text-xs text-gray-400 capitalize", children: subscription.item_type })] })] }), jsx(Card, { className: "shadow-sm border", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-6 space-y-5", children: [jsxs("div", { className: "flex items-center justify-between", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelStatus') }), jsx(Badge, { className: statusBadgeStyle$1(subscription.status), children: subscription.status })] }), jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelPlan') }), jsxs("div", { className: "text-right", children: [jsx("span", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: (_b = subscription.price) === null || _b === void 0 ? void 0 : _b.name }), jsxs("span", { className: "text-sm text-gray-500 ml-2", children: [formatCurrency((_c = subscription.price) === null || _c === void 0 ? void 0 : _c.amount, (_d = subscription.price) === null || _d === void 0 ? void 0 : _d.currency), formatInterval((_e = subscription.price) === null || _e === void 0 ? void 0 : _e.interval)] })] })] }), jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelType') }), jsx(Badge, { variant: "secondary", className: "capitalize", children: subscription.item_type })] }), subscription.current_period_end && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: subscription.cancel_at_period_end
114567
114559
  ? t('purchasesPurchasesTab.labelAccessUntil')
114568
- : t('purchasesPurchasesTab.labelRenewsOn') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Calendar$1, { className: "h-3.5 w-3.5" }), new Date(subscription.current_period_end).toLocaleDateString()] })] })), subscription.created_at && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelSubscribedSince') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Clock, { className: "h-3.5 w-3.5" }), new Date(subscription.created_at).toLocaleDateString()] })] })), subscription.is_grandfathered && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelLegacyAccess') }), jsxs(Badge, { className: "bg-amber-100 text-amber-700 border-amber-200 text-xs", children: [jsx(Shield, { className: "h-3 w-3 mr-1" }), t('purchasesPurchasesTab.badgeGrandfathered')] })] })), subscription.cancel_at_period_end && (jsxs("div", { className: "flex items-center gap-2 border-t pt-3 text-yellow-600", children: [jsx(TriangleAlert, { className: "h-4 w-4 flex-shrink-0" }), jsx("span", { className: "text-sm", children: t('purchasesPurchasesTab.warningWillNotRenew') })] }))] }) }), canCancel && !cancelResult && (jsx(Card, { className: "shadow-sm border border-blue-100", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 space-y-3", children: [jsx("h4", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.cancelSectionHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.cancelSectionDescription') }), jsxs("div", { className: "flex gap-2 items-end", children: [jsxs("div", { className: "flex-1", children: [jsxs("label", { className: "text-xs text-gray-500 mb-1 block", children: [t('purchasesPurchasesTab.cancelConfirmLabelPrefix'), ' ', jsx("span", { className: "font-mono font-bold", children: "cancel" }), ' ', t('purchasesPurchasesTab.cancelConfirmLabelSuffix')] }), jsx(Input, { value: confirmText, onChange: (e) => setConfirmText(e.target.value), placeholder: t('purchasesPurchasesTab.cancelConfirmPlaceholder') })] }), jsxs(Button$1, { onClick: handleCancel, disabled: confirmText !== 'cancel' || isCanceling, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [isCanceling ? (jsx(LoaderCircle, { className: "h-4 w-4 mr-2 animate-spin" })) : (jsx(CircleX, { className: "h-4 w-4 mr-2" })), t('purchasesPurchasesTab.cancelButton')] })] })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.canceled) && (jsx(Card, { className: "shadow-sm border border-green-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(CircleX, { className: "h-8 w-8 text-gray-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.canceledHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.canceledDescription') }), jsx(Button$1, { variant: "outline", onClick: onBack, className: "mt-3 cursor-pointer", children: t('purchasesPurchasesTab.backToPurchases') })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.portalUrl) && (jsx(Card, { className: "shadow-sm border border-blue-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(ExternalLink, { className: "h-8 w-8 text-blue-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.stripePortalHeading') }), jsx("p", { className: "text-xs text-gray-500 mb-3", children: t('purchasesPurchasesTab.stripePortalDescription') }), jsxs(Button$1, { onClick: () => window.open(cancelResult.portalUrl, '_blank'), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [jsx(ExternalLink, { className: "h-4 w-4 mr-2" }), t('purchasesPurchasesTab.openStripePortal')] })] }) }))] }));
114560
+ : t('purchasesPurchasesTab.labelRenewsOn') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Calendar$1, { className: "h-3.5 w-3.5" }), new Date(subscription.current_period_end).toLocaleDateString()] })] })), subscription.created_at && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelSubscribedSince') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Clock, { className: "h-3.5 w-3.5" }), new Date(subscription.created_at).toLocaleDateString()] })] })), subscription.is_grandfathered && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelLegacyAccess') }), jsxs(Badge, { className: "bg-amber-100 text-amber-700 border-amber-200 text-xs", children: [jsx(Shield, { className: "h-3 w-3 mr-1" }), t('purchasesPurchasesTab.badgeGrandfathered')] })] })), subscription.cancel_at_period_end && (jsxs("div", { className: "flex items-center gap-2 border-t pt-3 text-yellow-600", children: [jsx(TriangleAlert, { className: "h-4 w-4 flex-shrink-0" }), jsx("span", { className: "text-sm", children: t('purchasesPurchasesTab.warningWillNotRenew') })] }))] }) }), canCancel && !cancelResult && (jsx(Card, { className: "shadow-sm border border-blue-100", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 space-y-3", children: [jsx("h4", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.cancelSectionHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.cancelSectionDescription') }), jsxs("div", { className: "flex gap-2 items-end", children: [jsxs("div", { className: "flex-1", children: [jsxs("label", { className: "text-xs text-gray-500 mb-1 block", children: [t('purchasesPurchasesTab.cancelConfirmLabelPrefix'), ' ', jsx("span", { className: "font-mono font-bold", children: "cancel" }), ' ', t('purchasesPurchasesTab.cancelConfirmLabelSuffix')] }), jsx(Input, { value: confirmText, onChange: (e) => setConfirmText(e.target.value), placeholder: t('purchasesPurchasesTab.cancelConfirmPlaceholder') })] }), jsxs(Button$1, { onClick: handleCancel, disabled: confirmText !== 'cancel' || isCanceling, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [isCanceling ? (jsx(LoaderCircle, { className: "h-4 w-4 mr-2 animate-spin" })) : (jsx(CircleX, { className: "h-4 w-4 mr-2" })), t('purchasesPurchasesTab.cancelButton')] })] })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.canceled) && (jsx(Card, { className: "shadow-sm border border-green-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(CircleX, { className: "h-8 w-8 text-gray-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.canceledHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.canceledDescription') }), jsx(Button$1, { variant: "outline", size: "icon", onClick: onBack, "aria-label": t('purchasesPurchasesTab.backToPurchases'), className: "mt-3 h-8 w-8 cursor-pointer rounded-full border-0 bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.portalUrl) && (jsx(Card, { className: "shadow-sm border border-blue-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(ExternalLink, { className: "h-8 w-8 text-blue-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.stripePortalHeading') }), jsx("p", { className: "text-xs text-gray-500 mb-3", children: t('purchasesPurchasesTab.stripePortalDescription') }), jsxs(Button$1, { onClick: () => window.open(cancelResult.portalUrl, '_blank'), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [jsx(ExternalLink, { className: "h-4 w-4 mr-2" }), t('purchasesPurchasesTab.openStripePortal')] })] }) }))] }));
114569
114561
  }
114570
114562
  // ── Subscription Card (List Item) ──
114571
114563
  function SubscriptionCard({ sub, onClick }) {
@@ -146688,7 +146680,7 @@ function QuestionsEditor({ platformKey, onBack, initialFormId = null, startNew =
146688
146680
  }
146689
146681
  function BackButton$1({ onBack }) {
146690
146682
  const t = useT();
146691
- return (jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsQuestionsEditor.backToApplications')] }));
146683
+ return (jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsQuestionsEditor.backToApplications'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }));
146692
146684
  }
146693
146685
  function SectionCard({ section, expanded, autoFocusTitle = false, onToggle, onChange, onRemove, onMove, onMakeCandidate, onEditField, onAddField, }) {
146694
146686
  var _a;
@@ -147006,7 +146998,7 @@ function SubmissionDetail({ platformKey, submissionId, onBack, }) {
147006
146998
  }
147007
146999
  function BackButton({ onBack }) {
147008
147000
  const t = useT();
147009
- return (jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToSubmissions')] }));
147001
+ return (jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToSubmissions'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }));
147010
147002
  }
147011
147003
  function MaskedNotice({ title }) {
147012
147004
  const t = useT();
@@ -147507,7 +147499,7 @@ function BlocksView({ platformKey, onBack, }) {
147507
147499
  toast.error(t('profileApplicationsTab.actionFailed'));
147508
147500
  }
147509
147501
  };
147510
- return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToForms')] }), jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400", children: jsx(Ban, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: t('profileApplicationsTab.blockedUsers') }), jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t('profileApplicationsTab.blockedUsersDescription') })] })] }), jsx("div", { className: "overflow-x-auto rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900", children: jsxs("table", { className: "w-full text-sm", children: [jsx("thead", { children: jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-gray-700 dark:bg-gray-800/50", children: [jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colUser') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colReason') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colBlockedBy') }), jsx("th", { className: "px-4 py-2.5 text-right font-medium", children: t('profileApplicationsTab.colActions') })] }) }), jsx("tbody", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: isLoading ? ([0, 1].map((i) => (jsx("tr", { children: [0, 1, 2, 3].map((j) => (jsx("td", { className: "px-4 py-3", children: jsx(Skeleton, { className: "h-4 w-full max-w-32" }) }, j))) }, i)))) : error ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-red-600", children: t('profileApplicationsTab.loadError') }) })) : blocks.length === 0 ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-gray-400", children: t('profileApplicationsTab.noBlockedUsers') }) })) : (blocks.map((block) => {
147502
+ return (jsxs("div", { className: "space-y-5 pt-4", children: [jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToForms'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400", children: jsx(Ban, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: t('profileApplicationsTab.blockedUsers') }), jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t('profileApplicationsTab.blockedUsersDescription') })] })] }), jsx("div", { className: "overflow-x-auto rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900", children: jsxs("table", { className: "w-full text-sm", children: [jsx("thead", { children: jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-gray-700 dark:bg-gray-800/50", children: [jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colUser') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colReason') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colBlockedBy') }), jsx("th", { className: "px-4 py-2.5 text-right font-medium", children: t('profileApplicationsTab.colActions') })] }) }), jsx("tbody", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: isLoading ? ([0, 1].map((i) => (jsx("tr", { children: [0, 1, 2, 3].map((j) => (jsx("td", { className: "px-4 py-3", children: jsx(Skeleton, { className: "h-4 w-full max-w-32" }) }, j))) }, i)))) : error ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-red-600", children: t('profileApplicationsTab.loadError') }) })) : blocks.length === 0 ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-gray-400", children: t('profileApplicationsTab.noBlockedUsers') }) })) : (blocks.map((block) => {
147511
147503
  var _a, _b;
147512
147504
  return (jsxs("tr", { className: "hover:bg-blue-50/40 dark:hover:bg-gray-800/40", children: [jsx("td", { className: "whitespace-nowrap px-4 py-3 font-medium text-gray-900 dark:text-gray-100", children: ((_a = block.user) === null || _a === void 0 ? void 0 : _a.username) || ((_b = block.user) === null || _b === void 0 ? void 0 : _b.email) || '—' }), jsx("td", { className: "px-4 py-3 text-gray-500", children: block.reason || '—' }), jsx("td", { className: "whitespace-nowrap px-4 py-3 text-gray-500", children: block.created_by || '—' }), jsx("td", { className: "whitespace-nowrap px-4 py-3 text-right", children: jsx(Button$1, { variant: "outline", className: "h-8 px-3 text-xs", disabled: deleting, onClick: () => handleUnblock(block.id), children: t('profileApplicationsTab.unblock') }) })] }, block.id));
147513
147505
  })) })] }) })] }));
@@ -147674,7 +147666,7 @@ function SubmissionsPipeline({ platformKey, form, onBack, onOpen, }) {
147674
147666
  const date = new Date(raw);
147675
147667
  return Number.isNaN(date.getTime()) ? '—' : date.toLocaleDateString();
147676
147668
  };
147677
- return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToForms')] }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: form
147669
+ return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToForms'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: form
147678
147670
  ? t('profileApplicationsTab.submissionsFor', {
147679
147671
  form: ((_a = form.schema) === null || _a === void 0 ? void 0 : _a.title) || form.name || t('profileApplicationsTab.untitledForm'),
147680
147672
  })
@@ -156233,7 +156225,7 @@ function PaywallDetail({ platformKey, authURL, itemType, itemId, itemName, isCus
156233
156225
  if (!isCustom && isLoading) {
156234
156226
  return (jsxs("div", { className: "space-y-4", children: [jsx(Skeleton, { className: "h-8 w-48" }), jsx(Skeleton, { className: "h-64 w-full" })] }));
156235
156227
  }
156236
- return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsxs(Button$1, { variant: "ghost", size: "sm", onClick: onBack, className: "cursor-pointer", children: [jsx(ChevronLeft, { className: "h-4 w-4 mr-1" }), t('monetizationPaywallDetail.back')] }), jsxs("div", { children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: displayName }), paywallUniqueId && (jsx("button", { type: "button", onClick: handleCopyUrl, className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer", title: t('monetizationPaywallDetail.copyPaywallUrl'), children: copied ? (jsx(Check, { className: "h-4 w-4 text-green-500" })) : (jsx(Copy, { className: "h-4 w-4 text-gray-400" })) }))] }), !isCustom && (jsx("span", { className: "text-xs text-gray-400 capitalize", children: displayItemType(itemType) }))] })] }), jsx(WizardStepIndicator, { steps: wizardSteps, currentStep: currentStep, onStepClick: !isCustom
156228
+ return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx(Button$1, { variant: "ghost", size: "icon", onClick: onBack, "aria-label": t('monetizationPaywallDetail.back'), className: "h-8 w-8 cursor-pointer rounded-full bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: displayName }), paywallUniqueId && (jsx("button", { type: "button", onClick: handleCopyUrl, className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer", title: t('monetizationPaywallDetail.copyPaywallUrl'), children: copied ? (jsx(Check, { className: "h-4 w-4 text-green-500" })) : (jsx(Copy, { className: "h-4 w-4 text-gray-400" })) }))] }), !isCustom && (jsx("span", { className: "text-xs text-gray-400 capitalize", children: displayItemType(itemType) }))] })] }), jsx(WizardStepIndicator, { steps: wizardSteps, currentStep: currentStep, onStepClick: !isCustom
156237
156229
  ? setCurrentStep
156238
156230
  : (step) => {
156239
156231
  // During creation, only allow navigating back to already-completed steps
@@ -224071,7 +224063,7 @@ function AnalyticsCourseDetail({ tenantKey, mentorId, selectedMentorId, courseId
224071
224063
  const [selectedEnrollment, setSelectedEnrollment] = useState(null);
224072
224064
  const resolvedCourseName = courseName || (courseInfo === null || courseInfo === void 0 ? void 0 : courseInfo.name);
224073
224065
  const showTitle = showCourseTitle && !!resolvedCourseName;
224074
- return (jsxs("div", { className: "space-y-8", children: [(onBack || showTitle) && (jsxs("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4", children: [jsx("div", { className: "flex flex-1 justify-start", children: onBack && (jsxs(Button$1, { variant: "ghost", onClick: onBack, "aria-label": t('analyticsAnalyticsCourseDetail.goBackAriaLabel'), children: [jsx(ArrowLeft, { className: "mr-2 h-4 w-4" }), t('analyticsAnalyticsCourseDetail.backToCourses')] })) }), showTitle && (jsx("h2", { className: "flex-1 text-left text-2xl font-medium text-gray-700 sm:text-center", children: resolvedCourseName })), jsx("div", { className: "hidden flex-1 sm:block" })] })), jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4 mb-6", children: [jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsCourseDetail.activeEnrollments'), value: courseDetailStats.active_enrollments, percentage: courseDetailStats.active_enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsCourseDetail.completedEnrollments'), value: courseDetailStats.completed_enrollments, percentage: courseDetailStats.completed_enrollments_percentage })] }), jsx("div", { className: "grid grid-cols-1 gap-6", children: jsx(Card, { className: "w-full bg-white shadow-xs", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-4", "aria-label": t('analyticsAnalyticsCourseDetail.courseEnrollmentsTableAriaLabel'), children: [jsx("h3", { className: "text-base font-medium text-gray-700 mb-4", children: t('analyticsAnalyticsCourseDetail.enrolledUsers') }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "relative flex-1 w-full", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), jsx(Input, { id: "search-enrolled-user", type: "text", placeholder: t('analyticsAnalyticsCourseDetail.searchPlaceholder'), value: courseEnrollmentsSearch, onChange: handleCourseEnrollmentsSearchInputChange, className: "pl-9 border-gray-300 focus:bg-transparent focus:color-transparent h-11", "aria-label": t('analyticsAnalyticsCourseDetail.searchAriaLabel') })] }), isLoading ? (jsx("div", { className: "flex items-center justify-center py-8", children: jsx("div", { className: "text-sm text-gray-500", children: t('analyticsAnalyticsCourseDetail.loadingLabel') }) })) : ((_a = courseEnrollments === null || courseEnrollments === void 0 ? void 0 : courseEnrollments.enrollments) === null || _a === void 0 ? void 0 : _a.length) &&
224066
+ return (jsxs("div", { className: "space-y-8", children: [(onBack || showTitle) && (jsxs("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4", children: [jsx("div", { className: "flex flex-1 justify-start", children: onBack && (jsx(Button$1, { variant: "ghost", size: "icon", onClick: onBack, "aria-label": t('analyticsAnalyticsCourseDetail.goBackAriaLabel'), className: "h-8 w-8 rounded-full bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) })) }), showTitle && (jsx("h2", { className: "flex-1 text-left text-2xl font-medium text-gray-700 sm:text-center", children: resolvedCourseName })), jsx("div", { className: "hidden flex-1 sm:block" })] })), jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4 mb-6", children: [jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsCourseDetail.activeEnrollments'), value: courseDetailStats.active_enrollments, percentage: courseDetailStats.active_enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsCourseDetail.completedEnrollments'), value: courseDetailStats.completed_enrollments, percentage: courseDetailStats.completed_enrollments_percentage })] }), jsx("div", { className: "grid grid-cols-1 gap-6", children: jsx(Card, { className: "w-full bg-white shadow-xs", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-4", "aria-label": t('analyticsAnalyticsCourseDetail.courseEnrollmentsTableAriaLabel'), children: [jsx("h3", { className: "text-base font-medium text-gray-700 mb-4", children: t('analyticsAnalyticsCourseDetail.enrolledUsers') }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "relative flex-1 w-full", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), jsx(Input, { id: "search-enrolled-user", type: "text", placeholder: t('analyticsAnalyticsCourseDetail.searchPlaceholder'), value: courseEnrollmentsSearch, onChange: handleCourseEnrollmentsSearchInputChange, className: "pl-9 border-gray-300 focus:bg-transparent focus:color-transparent h-11", "aria-label": t('analyticsAnalyticsCourseDetail.searchAriaLabel') })] }), isLoading ? (jsx("div", { className: "flex items-center justify-center py-8", children: jsx("div", { className: "text-sm text-gray-500", children: t('analyticsAnalyticsCourseDetail.loadingLabel') }) })) : ((_a = courseEnrollments === null || courseEnrollments === void 0 ? void 0 : courseEnrollments.enrollments) === null || _a === void 0 ? void 0 : _a.length) &&
224075
224067
  courseEnrollments.enrollments.length > 0 ? (jsxs(Fragment$1, { children: [jsx("div", { className: "rounded-md overflow-x-auto", style: { borderColor: 'oklch(.922 0 0)', borderWidth: '1px' }, children: jsxs(Table, { children: [jsx(TableHeader, { children: jsxs(TableRow, { className: "h-[48px]", style: { borderColor: 'oklch(.922 0 0)' }, children: [jsx(TableHead, { className: "text-left", children: t('analyticsAnalyticsCourseDetail.columnName') }), jsx(TableHead, { className: "text-left", children: t('analyticsAnalyticsCourseDetail.columnEmail') }), jsx(TableHead, { className: "text-right", children: t('analyticsAnalyticsCourseDetail.columnEnrollmentDate') }), jsx(TableHead, { className: "text-right", children: t('analyticsAnalyticsCourseDetail.columnLastActiveOn') })] }) }), jsx(TableBody, { children: courseEnrollments.enrollments.map((enrollment, index) => (jsxs(TableRow, { className: `cursor-pointer hover:bg-muted/50 h-[48px] ${index % 2 === 0 ? 'bg-gray-50' : ''}`, onClick: () => setSelectedEnrollment(enrollment), role: "button", tabIndex: 0, onKeyDown: (e) => {
224076
224068
  if (e.key === 'Enter' || e.key === ' ') {
224077
224069
  e.preventDefault();
@@ -224427,7 +224419,7 @@ function AnalyticsProgramDetail({ tenantKey, mentorId, selectedMentorId, program
224427
224419
  });
224428
224420
  const [selectedEnrollment, setSelectedEnrollment] = useState(null);
224429
224421
  const resolvedProgramName = programName || (programInfo === null || programInfo === void 0 ? void 0 : programInfo.name);
224430
- return (jsxs("div", { className: "space-y-8", children: [(onBack || resolvedProgramName) && (jsxs("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4", children: [jsx("div", { className: "flex flex-1 justify-start", children: onBack && (jsxs(Button$1, { variant: "ghost", onClick: onBack, "aria-label": "Go back to programs list", children: [jsx(ArrowLeft, { className: "mr-2 h-4 w-4" }), "Back to Programs"] })) }), resolvedProgramName && (jsx("h2", { className: "flex-1 truncate text-left text-2xl font-medium text-gray-700 sm:text-center", children: resolvedProgramName })), jsx("div", { className: "hidden flex-1 sm:block" })] })), jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-4 mb-6", children: [jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statTotalEnrollments'), value: programDetailStats.enrollments, percentage: programDetailStats.enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statActiveEnrollments'), value: programDetailStats.active_enrollments, percentage: programDetailStats.active_enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statCompletedEnrollments'), value: programDetailStats.completed_enrollments, percentage: programDetailStats.completed_enrollments_percentage })] }), jsx("div", { className: "grid grid-cols-1 gap-6", children: jsx(Card, { className: "w-full bg-white shadow-xs", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-4", "aria-label": t('analyticsAnalyticsProgramDetail.tableAriaLabel'), children: [jsx("h3", { className: "text-base font-medium text-gray-700 mb-4", children: t('analyticsAnalyticsProgramDetail.enrolledUsersHeading') }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "relative flex-1 w-full", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), jsx(Input, { id: "search-enrolled-user", type: "text", placeholder: t('analyticsAnalyticsProgramDetail.searchPlaceholder'), value: programEnrollmentsSearch, onChange: handleProgramEnrollmentsSearchInputChange, className: "pl-9 border-gray-300 focus:bg-transparent focus:color-transparent h-11", "aria-label": t('analyticsAnalyticsProgramDetail.searchAriaLabel') })] }), isLoading ? (jsx("div", { className: "flex items-center justify-center py-8", children: jsx("div", { className: "text-sm text-gray-500", children: t('analyticsAnalyticsProgramDetail.loadingLabel') }) })) : ((_a = programEnrollments === null || programEnrollments === void 0 ? void 0 : programEnrollments.enrollments) === null || _a === void 0 ? void 0 : _a.length) &&
224422
+ return (jsxs("div", { className: "space-y-8", children: [(onBack || resolvedProgramName) && (jsxs("div", { className: "mb-4 flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-4", children: [jsx("div", { className: "flex flex-1 justify-start", children: onBack && (jsx(Button$1, { variant: "ghost", size: "icon", onClick: onBack, "aria-label": t('analyticsAnalyticsProgramDetail.backAriaLabel'), className: "h-8 w-8 rounded-full bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) })) }), resolvedProgramName && (jsx("h2", { className: "flex-1 truncate text-left text-2xl font-medium text-gray-700 sm:text-center", children: resolvedProgramName })), jsx("div", { className: "hidden flex-1 sm:block" })] })), jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-4 mb-6", children: [jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statTotalEnrollments'), value: programDetailStats.enrollments, percentage: programDetailStats.enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statActiveEnrollments'), value: programDetailStats.active_enrollments, percentage: programDetailStats.active_enrollments_percentage }), jsx(StatCard, { loading: isLoading, title: t('analyticsAnalyticsProgramDetail.statCompletedEnrollments'), value: programDetailStats.completed_enrollments, percentage: programDetailStats.completed_enrollments_percentage })] }), jsx("div", { className: "grid grid-cols-1 gap-6", children: jsx(Card, { className: "w-full bg-white shadow-xs", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-4", "aria-label": t('analyticsAnalyticsProgramDetail.tableAriaLabel'), children: [jsx("h3", { className: "text-base font-medium text-gray-700 mb-4", children: t('analyticsAnalyticsProgramDetail.enrolledUsersHeading') }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "relative flex-1 w-full", children: [jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }), jsx(Input, { id: "search-enrolled-user", type: "text", placeholder: t('analyticsAnalyticsProgramDetail.searchPlaceholder'), value: programEnrollmentsSearch, onChange: handleProgramEnrollmentsSearchInputChange, className: "pl-9 border-gray-300 focus:bg-transparent focus:color-transparent h-11", "aria-label": t('analyticsAnalyticsProgramDetail.searchAriaLabel') })] }), isLoading ? (jsx("div", { className: "flex items-center justify-center py-8", children: jsx("div", { className: "text-sm text-gray-500", children: t('analyticsAnalyticsProgramDetail.loadingLabel') }) })) : ((_a = programEnrollments === null || programEnrollments === void 0 ? void 0 : programEnrollments.enrollments) === null || _a === void 0 ? void 0 : _a.length) &&
224431
224423
  programEnrollments.enrollments.length > 0 ? (jsxs(Fragment$1, { children: [jsx("div", { className: "rounded-md overflow-x-auto", style: { borderColor: 'oklch(.922 0 0)', borderWidth: '1px' }, children: jsxs(Table, { children: [jsx(TableHeader, { children: jsxs(TableRow, { className: "h-[48px]", style: { borderColor: 'oklch(.922 0 0)' }, children: [jsx(TableHead, { className: "text-left", children: t('analyticsAnalyticsProgramDetail.colName') }), jsx(TableHead, { className: "text-left", children: t('analyticsAnalyticsProgramDetail.colEmail') }), jsx(TableHead, { className: "text-right", children: t('analyticsAnalyticsProgramDetail.colEnrollmentDate') }), jsx(TableHead, { className: "text-right", children: t('analyticsAnalyticsProgramDetail.colLastActiveOn') })] }) }), jsx(TableBody, { children: programEnrollments.enrollments.map((enrollment, index) => (jsxs(TableRow, { className: `cursor-pointer hover:bg-muted/50 h-[48px] ${index % 2 === 0 ? 'bg-gray-50' : ''}`, onClick: () => setSelectedEnrollment(enrollment), role: "button", tabIndex: 0, onKeyDown: (e) => {
224432
224424
  if (e.key === 'Enter' || e.key === ' ') {
224433
224425
  e.preventDefault();
@@ -97460,7 +97460,6 @@ var analyticsAnalyticsAuditLogStats$3 = {
97460
97460
  };
97461
97461
  var analyticsAnalyticsCourseDetail$3 = {
97462
97462
  goBackAriaLabel: "Go back to courses list",
97463
- backToCourses: "Back to Courses",
97464
97463
  activeEnrollments: "Active Enrollments",
97465
97464
  completedEnrollments: "Completed Enrollments",
97466
97465
  timeSpent: "Time Spent",
@@ -97623,7 +97622,6 @@ var analyticsAnalyticsOverview$3 = {
97623
97622
  };
97624
97623
  var analyticsAnalyticsProgramDetail$3 = {
97625
97624
  backAriaLabel: "Go back to programs list",
97626
- backButton: "Back to Programs",
97627
97625
  statActiveUsers: "Active Users",
97628
97626
  statEnrollments: "Enrollments",
97629
97627
  statTimeSpent: "Time Spent",
@@ -103781,7 +103779,6 @@ var analyticsAnalyticsAuditLogStats$2 = {
103781
103779
  };
103782
103780
  var analyticsAnalyticsCourseDetail$2 = {
103783
103781
  goBackAriaLabel: "Retour à la liste des cours",
103784
- backToCourses: "Retour aux cours",
103785
103782
  activeEnrollments: "Inscriptions actives",
103786
103783
  completedEnrollments: "Inscriptions terminées",
103787
103784
  timeSpent: "Temps passé",
@@ -103944,7 +103941,6 @@ var analyticsAnalyticsOverview$2 = {
103944
103941
  };
103945
103942
  var analyticsAnalyticsProgramDetail$2 = {
103946
103943
  backAriaLabel: "Retour à la liste des programmes",
103947
- backButton: "Retour aux programmes",
103948
103944
  statActiveUsers: "Utilisateurs actifs",
103949
103945
  statEnrollments: "Inscriptions",
103950
103946
  statTimeSpent: "Temps passé",
@@ -110102,7 +110098,6 @@ var analyticsAnalyticsAuditLogStats$1 = {
110102
110098
  };
110103
110099
  var analyticsAnalyticsCourseDetail$1 = {
110104
110100
  goBackAriaLabel: "Volver a la lista de cursos",
110105
- backToCourses: "Volver a los cursos",
110106
110101
  activeEnrollments: "Inscripciones activas",
110107
110102
  completedEnrollments: "Inscripciones completadas",
110108
110103
  timeSpent: "Tiempo invertido",
@@ -110265,7 +110260,6 @@ var analyticsAnalyticsOverview$1 = {
110265
110260
  };
110266
110261
  var analyticsAnalyticsProgramDetail$1 = {
110267
110262
  backAriaLabel: "Volver a la lista de programas",
110268
- backButton: "Volver a programas",
110269
110263
  statActiveUsers: "Usuarios activos",
110270
110264
  statEnrollments: "Inscripciones",
110271
110265
  statTimeSpent: "Tiempo empleado",
@@ -116423,7 +116417,6 @@ var analyticsAnalyticsAuditLogStats = {
116423
116417
  };
116424
116418
  var analyticsAnalyticsCourseDetail = {
116425
116419
  goBackAriaLabel: "返回课程列表",
116426
- backToCourses: "返回课程",
116427
116420
  activeEnrollments: "活跃注册",
116428
116421
  completedEnrollments: "已完成注册",
116429
116422
  timeSpent: "学习时长",
@@ -116586,7 +116579,6 @@ var analyticsAnalyticsOverview = {
116586
116579
  };
116587
116580
  var analyticsAnalyticsProgramDetail = {
116588
116581
  backAriaLabel: "返回项目列表",
116589
- backButton: "返回项目",
116590
116582
  statActiveUsers: "活跃用户",
116591
116583
  statEnrollments: "注册人数",
116592
116584
  statTimeSpent: "花费时间",
@@ -151380,7 +151372,7 @@ function SubscriptionDetail({ subscription: initialSubscription, platformKey, on
151380
151372
  }
151381
151373
  return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsxs(Button$1, { variant: "ghost", size: "sm", onClick: onBack, className: "cursor-pointer", children: [jsx(ChevronLeft, { className: "h-4 w-4 mr-1" }), t('purchasesPurchasesTab.back')] }), jsxs("div", { children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: subscription.item_name || subscription.item_id }), jsx("span", { className: "text-xs text-gray-400 capitalize", children: subscription.item_type })] })] }), jsx(Card, { className: "shadow-sm border", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-6 space-y-5", children: [jsxs("div", { className: "flex items-center justify-between", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelStatus') }), jsx(Badge, { className: statusBadgeStyle(subscription.status), children: subscription.status })] }), jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelPlan') }), jsxs("div", { className: "text-right", children: [jsx("span", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: (_b = subscription.price) === null || _b === void 0 ? void 0 : _b.name }), jsxs("span", { className: "text-sm text-gray-500 ml-2", children: [formatCurrency((_c = subscription.price) === null || _c === void 0 ? void 0 : _c.amount, (_d = subscription.price) === null || _d === void 0 ? void 0 : _d.currency), formatInterval((_e = subscription.price) === null || _e === void 0 ? void 0 : _e.interval)] })] })] }), jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelType') }), jsx(Badge, { variant: "secondary", className: "capitalize", children: subscription.item_type })] }), subscription.current_period_end && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: subscription.cancel_at_period_end
151382
151374
  ? t('purchasesPurchasesTab.labelAccessUntil')
151383
- : t('purchasesPurchasesTab.labelRenewsOn') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Calendar$1, { className: "h-3.5 w-3.5" }), new Date(subscription.current_period_end).toLocaleDateString()] })] })), subscription.created_at && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelSubscribedSince') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Clock, { className: "h-3.5 w-3.5" }), new Date(subscription.created_at).toLocaleDateString()] })] })), subscription.is_grandfathered && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelLegacyAccess') }), jsxs(Badge, { className: "bg-amber-100 text-amber-700 border-amber-200 text-xs", children: [jsx(Shield, { className: "h-3 w-3 mr-1" }), t('purchasesPurchasesTab.badgeGrandfathered')] })] })), subscription.cancel_at_period_end && (jsxs("div", { className: "flex items-center gap-2 border-t pt-3 text-yellow-600", children: [jsx(TriangleAlert, { className: "h-4 w-4 flex-shrink-0" }), jsx("span", { className: "text-sm", children: t('purchasesPurchasesTab.warningWillNotRenew') })] }))] }) }), canCancel && !cancelResult && (jsx(Card, { className: "shadow-sm border border-blue-100", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 space-y-3", children: [jsx("h4", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.cancelSectionHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.cancelSectionDescription') }), jsxs("div", { className: "flex gap-2 items-end", children: [jsxs("div", { className: "flex-1", children: [jsxs("label", { className: "text-xs text-gray-500 mb-1 block", children: [t('purchasesPurchasesTab.cancelConfirmLabelPrefix'), ' ', jsx("span", { className: "font-mono font-bold", children: "cancel" }), ' ', t('purchasesPurchasesTab.cancelConfirmLabelSuffix')] }), jsx(Input, { value: confirmText, onChange: (e) => setConfirmText(e.target.value), placeholder: t('purchasesPurchasesTab.cancelConfirmPlaceholder') })] }), jsxs(Button$1, { onClick: handleCancel, disabled: confirmText !== 'cancel' || isCanceling, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [isCanceling ? (jsx(LoaderCircle, { className: "h-4 w-4 mr-2 animate-spin" })) : (jsx(CircleX, { className: "h-4 w-4 mr-2" })), t('purchasesPurchasesTab.cancelButton')] })] })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.canceled) && (jsx(Card, { className: "shadow-sm border border-green-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(CircleX, { className: "h-8 w-8 text-gray-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.canceledHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.canceledDescription') }), jsx(Button$1, { variant: "outline", onClick: onBack, className: "mt-3 cursor-pointer", children: t('purchasesPurchasesTab.backToPurchases') })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.portalUrl) && (jsx(Card, { className: "shadow-sm border border-blue-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(ExternalLink, { className: "h-8 w-8 text-blue-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.stripePortalHeading') }), jsx("p", { className: "text-xs text-gray-500 mb-3", children: t('purchasesPurchasesTab.stripePortalDescription') }), jsxs(Button$1, { onClick: () => window.open(cancelResult.portalUrl, '_blank'), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [jsx(ExternalLink, { className: "h-4 w-4 mr-2" }), t('purchasesPurchasesTab.openStripePortal')] })] }) }))] }));
151375
+ : t('purchasesPurchasesTab.labelRenewsOn') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Calendar$1, { className: "h-3.5 w-3.5" }), new Date(subscription.current_period_end).toLocaleDateString()] })] })), subscription.created_at && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelSubscribedSince') }), jsxs("span", { className: "text-sm text-gray-600 dark:text-gray-400 flex items-center gap-1.5", children: [jsx(Clock, { className: "h-3.5 w-3.5" }), new Date(subscription.created_at).toLocaleDateString()] })] })), subscription.is_grandfathered && (jsxs("div", { className: "flex items-center justify-between border-t pt-3", children: [jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.labelLegacyAccess') }), jsxs(Badge, { className: "bg-amber-100 text-amber-700 border-amber-200 text-xs", children: [jsx(Shield, { className: "h-3 w-3 mr-1" }), t('purchasesPurchasesTab.badgeGrandfathered')] })] })), subscription.cancel_at_period_end && (jsxs("div", { className: "flex items-center gap-2 border-t pt-3 text-yellow-600", children: [jsx(TriangleAlert, { className: "h-4 w-4 flex-shrink-0" }), jsx("span", { className: "text-sm", children: t('purchasesPurchasesTab.warningWillNotRenew') })] }))] }) }), canCancel && !cancelResult && (jsx(Card, { className: "shadow-sm border border-blue-100", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 space-y-3", children: [jsx("h4", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t('purchasesPurchasesTab.cancelSectionHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.cancelSectionDescription') }), jsxs("div", { className: "flex gap-2 items-end", children: [jsxs("div", { className: "flex-1", children: [jsxs("label", { className: "text-xs text-gray-500 mb-1 block", children: [t('purchasesPurchasesTab.cancelConfirmLabelPrefix'), ' ', jsx("span", { className: "font-mono font-bold", children: "cancel" }), ' ', t('purchasesPurchasesTab.cancelConfirmLabelSuffix')] }), jsx(Input, { value: confirmText, onChange: (e) => setConfirmText(e.target.value), placeholder: t('purchasesPurchasesTab.cancelConfirmPlaceholder') })] }), jsxs(Button$1, { onClick: handleCancel, disabled: confirmText !== 'cancel' || isCanceling, className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [isCanceling ? (jsx(LoaderCircle, { className: "h-4 w-4 mr-2 animate-spin" })) : (jsx(CircleX, { className: "h-4 w-4 mr-2" })), t('purchasesPurchasesTab.cancelButton')] })] })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.canceled) && (jsx(Card, { className: "shadow-sm border border-green-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(CircleX, { className: "h-8 w-8 text-gray-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.canceledHeading') }), jsx("p", { className: "text-xs text-gray-500", children: t('purchasesPurchasesTab.canceledDescription') }), jsx(Button$1, { variant: "outline", size: "icon", onClick: onBack, "aria-label": t('purchasesPurchasesTab.backToPurchases'), className: "mt-3 h-8 w-8 cursor-pointer rounded-full border-0 bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) })] }) })), (cancelResult === null || cancelResult === void 0 ? void 0 : cancelResult.portalUrl) && (jsx(Card, { className: "shadow-sm border border-blue-200", style: { borderColor: 'oklch(.922 0 0)' }, children: jsxs(CardContent, { className: "p-5 text-center", children: [jsx(ExternalLink, { className: "h-8 w-8 text-blue-400 mx-auto mb-2" }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100 mb-1", children: t('purchasesPurchasesTab.stripePortalHeading') }), jsx("p", { className: "text-xs text-gray-500 mb-3", children: t('purchasesPurchasesTab.stripePortalDescription') }), jsxs(Button$1, { onClick: () => window.open(cancelResult.portalUrl, '_blank'), className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] hover:opacity-90 text-white cursor-pointer", children: [jsx(ExternalLink, { className: "h-4 w-4 mr-2" }), t('purchasesPurchasesTab.openStripePortal')] })] }) }))] }));
151384
151376
  }
151385
151377
  // ── Subscription Card (List Item) ──
151386
151378
  function SubscriptionCard({ sub, onClick }) {
@@ -180945,7 +180937,7 @@ function QuestionsEditor({ platformKey, onBack, initialFormId = null, startNew =
180945
180937
  }
180946
180938
  function BackButton$1({ onBack }) {
180947
180939
  const t = useT();
180948
- return (jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsQuestionsEditor.backToApplications')] }));
180940
+ return (jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsQuestionsEditor.backToApplications'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }));
180949
180941
  }
180950
180942
  function SectionCard({ section, expanded, autoFocusTitle = false, onToggle, onChange, onRemove, onMove, onMakeCandidate, onEditField, onAddField, }) {
180951
180943
  var _a;
@@ -181263,7 +181255,7 @@ function SubmissionDetail({ platformKey, submissionId, onBack, }) {
181263
181255
  }
181264
181256
  function BackButton({ onBack }) {
181265
181257
  const t = useT();
181266
- return (jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToSubmissions')] }));
181258
+ return (jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToSubmissions'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }));
181267
181259
  }
181268
181260
  function MaskedNotice({ title }) {
181269
181261
  const t = useT();
@@ -181764,7 +181756,7 @@ function BlocksView({ platformKey, onBack, }) {
181764
181756
  toast.error(t('profileApplicationsTab.actionFailed'));
181765
181757
  }
181766
181758
  };
181767
- return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToForms')] }), jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400", children: jsx(Ban, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: t('profileApplicationsTab.blockedUsers') }), jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t('profileApplicationsTab.blockedUsersDescription') })] })] }), jsx("div", { className: "overflow-x-auto rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900", children: jsxs("table", { className: "w-full text-sm", children: [jsx("thead", { children: jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-gray-700 dark:bg-gray-800/50", children: [jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colUser') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colReason') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colBlockedBy') }), jsx("th", { className: "px-4 py-2.5 text-right font-medium", children: t('profileApplicationsTab.colActions') })] }) }), jsx("tbody", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: isLoading ? ([0, 1].map((i) => (jsx("tr", { children: [0, 1, 2, 3].map((j) => (jsx("td", { className: "px-4 py-3", children: jsx(Skeleton, { className: "h-4 w-full max-w-32" }) }, j))) }, i)))) : error ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-red-600", children: t('profileApplicationsTab.loadError') }) })) : blocks.length === 0 ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-gray-400", children: t('profileApplicationsTab.noBlockedUsers') }) })) : (blocks.map((block) => {
181759
+ return (jsxs("div", { className: "space-y-5 pt-4", children: [jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToForms'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsxs("div", { className: "flex items-start gap-3", children: [jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400", children: jsx(Ban, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: t('profileApplicationsTab.blockedUsers') }), jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t('profileApplicationsTab.blockedUsersDescription') })] })] }), jsx("div", { className: "overflow-x-auto rounded-xl border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900", children: jsxs("table", { className: "w-full text-sm", children: [jsx("thead", { children: jsxs("tr", { className: "border-b border-gray-200 bg-gray-50 text-left text-xs uppercase tracking-wide text-gray-500 dark:border-gray-700 dark:bg-gray-800/50", children: [jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colUser') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colReason') }), jsx("th", { className: "px-4 py-2.5 font-medium", children: t('profileApplicationsTab.colBlockedBy') }), jsx("th", { className: "px-4 py-2.5 text-right font-medium", children: t('profileApplicationsTab.colActions') })] }) }), jsx("tbody", { className: "divide-y divide-gray-100 dark:divide-gray-800", children: isLoading ? ([0, 1].map((i) => (jsx("tr", { children: [0, 1, 2, 3].map((j) => (jsx("td", { className: "px-4 py-3", children: jsx(Skeleton, { className: "h-4 w-full max-w-32" }) }, j))) }, i)))) : error ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-red-600", children: t('profileApplicationsTab.loadError') }) })) : blocks.length === 0 ? (jsx("tr", { children: jsx("td", { colSpan: 4, className: "px-4 py-10 text-center text-gray-400", children: t('profileApplicationsTab.noBlockedUsers') }) })) : (blocks.map((block) => {
181768
181760
  var _a, _b;
181769
181761
  return (jsxs("tr", { className: "hover:bg-blue-50/40 dark:hover:bg-gray-800/40", children: [jsx("td", { className: "whitespace-nowrap px-4 py-3 font-medium text-gray-900 dark:text-gray-100", children: ((_a = block.user) === null || _a === void 0 ? void 0 : _a.username) || ((_b = block.user) === null || _b === void 0 ? void 0 : _b.email) || '—' }), jsx("td", { className: "px-4 py-3 text-gray-500", children: block.reason || '—' }), jsx("td", { className: "whitespace-nowrap px-4 py-3 text-gray-500", children: block.created_by || '—' }), jsx("td", { className: "whitespace-nowrap px-4 py-3 text-right", children: jsx(Button$1, { variant: "outline", className: "h-8 px-3 text-xs", disabled: deleting, onClick: () => handleUnblock(block.id), children: t('profileApplicationsTab.unblock') }) })] }, block.id));
181770
181762
  })) })] }) })] }));
@@ -181931,7 +181923,7 @@ function SubmissionsPipeline({ platformKey, form, onBack, onOpen, }) {
181931
181923
  const date = new Date(raw);
181932
181924
  return Number.isNaN(date.getTime()) ? '—' : date.toLocaleDateString();
181933
181925
  };
181934
- return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [jsxs("button", { type: "button", onClick: onBack, className: "inline-flex items-center gap-1.5 text-sm text-gray-600 hover:text-gray-900 dark:text-gray-300", children: [jsx(ArrowLeft, { className: "h-4 w-4" }), t('profileApplicationsTab.backToForms')] }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: form
181926
+ return (jsxs("div", { className: "space-y-5 pt-4", children: [jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [jsx("button", { type: "button", onClick: onBack, "aria-label": t('profileApplicationsTab.backToForms'), className: "inline-flex h-8 w-8 items-center justify-center rounded-full bg-gray-100 text-gray-700 ring-offset-background transition-colors hover:bg-gray-200 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsx("h4", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: form
181935
181927
  ? t('profileApplicationsTab.submissionsFor', {
181936
181928
  form: ((_a = form.schema) === null || _a === void 0 ? void 0 : _a.title) || form.name || t('profileApplicationsTab.untitledForm'),
181937
181929
  })
@@ -190490,7 +190482,7 @@ function PaywallDetail({ platformKey, authURL, itemType, itemId, itemName, isCus
190490
190482
  if (!isCustom && isLoading) {
190491
190483
  return (jsxs("div", { className: "space-y-4", children: [jsx(Skeleton, { className: "h-8 w-48" }), jsx(Skeleton, { className: "h-64 w-full" })] }));
190492
190484
  }
190493
- return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsxs(Button$1, { variant: "ghost", size: "sm", onClick: onBack, className: "cursor-pointer", children: [jsx(ChevronLeft, { className: "h-4 w-4 mr-1" }), t('monetizationPaywallDetail.back')] }), jsxs("div", { children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: displayName }), paywallUniqueId && (jsx("button", { type: "button", onClick: handleCopyUrl, className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer", title: t('monetizationPaywallDetail.copyPaywallUrl'), children: copied ? (jsx(Check, { className: "h-4 w-4 text-green-500" })) : (jsx(Copy, { className: "h-4 w-4 text-gray-400" })) }))] }), !isCustom && (jsx("span", { className: "text-xs text-gray-400 capitalize", children: displayItemType(itemType) }))] })] }), jsx(WizardStepIndicator, { steps: wizardSteps, currentStep: currentStep, onStepClick: !isCustom
190485
+ return (jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex items-center gap-3", children: [jsx(Button$1, { variant: "ghost", size: "icon", onClick: onBack, "aria-label": t('monetizationPaywallDetail.back'), className: "h-8 w-8 cursor-pointer rounded-full bg-gray-100 text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:bg-gray-800 dark:text-gray-200 dark:hover:bg-gray-700 dark:hover:text-white", children: jsx(ArrowLeft, { className: "h-4 w-4" }) }), jsxs("div", { children: [jsxs("div", { className: "flex items-center gap-2", children: [jsx("h4", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: displayName }), paywallUniqueId && (jsx("button", { type: "button", onClick: handleCopyUrl, className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer", title: t('monetizationPaywallDetail.copyPaywallUrl'), children: copied ? (jsx(Check, { className: "h-4 w-4 text-green-500" })) : (jsx(Copy, { className: "h-4 w-4 text-gray-400" })) }))] }), !isCustom && (jsx("span", { className: "text-xs text-gray-400 capitalize", children: displayItemType(itemType) }))] })] }), jsx(WizardStepIndicator, { steps: wizardSteps, currentStep: currentStep, onStepClick: !isCustom
190494
190486
  ? setCurrentStep
190495
190487
  : (step) => {
190496
190488
  // During creation, only allow navigating back to already-completed steps
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/iblai-js",
3
- "version": "2.3.12",
3
+ "version": "2.3.13",
4
4
  "description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
5
5
  "type": "module",
6
6
  "engines": {
@@ -77,8 +77,8 @@
77
77
  "dotenv": "16.6.1",
78
78
  "winston": "3.19.0",
79
79
  "@iblai/data-layer": "1.12.4",
80
+ "@iblai/web-containers": "1.16.9",
80
81
  "@iblai/mcp": "1.8.12",
81
- "@iblai/web-containers": "1.16.8",
82
82
  "@iblai/web-utils": "2.1.12"
83
83
  },
84
84
  "peerDependencies": {