@oneclick.dev/cms-core-modules 0.0.123 → 0.0.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/AppointmentListTable-CWzbwqR-.js +1 -0
  2. package/dist/AppointmentListTable-DoZuBstk.mjs +270 -0
  3. package/dist/ContentEditor-BlNbqkAz.js +324 -0
  4. package/dist/{ContentEditor-MDGolnIP.mjs → ContentEditor-D754iLJS.mjs} +7985 -26820
  5. package/dist/{Detail-Dk8E6_uF.mjs → Detail-BOxWQ1QQ.mjs} +15 -14
  6. package/dist/{Detail-Cn9Bk0u0.mjs → Detail-BfKW0uZE.mjs} +26 -25
  7. package/dist/Detail-DFVu2F38.mjs +11 -0
  8. package/dist/Detail-DJea_fCd.js +1 -0
  9. package/dist/Detail-DPJacXfm.js +1 -0
  10. package/dist/Detail-DSLZ7_bM.js +1 -0
  11. package/dist/Detail-DUGThL9Y.js +1 -0
  12. package/dist/{Detail-B_scnidb.mjs → Detail-D_LlEeHu.mjs} +35 -34
  13. package/dist/Editor-D4evcdhv.mjs +768 -0
  14. package/dist/Editor-gLLtuJbY.js +1 -0
  15. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-BjKpsqT9.js +1 -0
  16. package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-D5v5AhLe.mjs +76 -0
  17. package/dist/Knowledge-B66vxz--.js +1 -0
  18. package/dist/Knowledge-BnMTTuJ7.mjs +742 -0
  19. package/dist/Overview-0hFXiuYo.js +1 -0
  20. package/dist/Overview-BE4uYPx0.mjs +745 -0
  21. package/dist/Overview-BTx5LF4J.js +1 -0
  22. package/dist/Overview-CCu2PHai.mjs +289 -0
  23. package/dist/Overview-CQRpFhbJ.mjs +286 -0
  24. package/dist/Overview-CTs7sX4d.js +1 -0
  25. package/dist/Overview-Cj89XXKN.js +1 -0
  26. package/dist/Overview-D2u-leeO.js +1 -0
  27. package/dist/Overview-D_2wozCG.mjs +1733 -0
  28. package/dist/Overview-D_c18mbR.mjs +248 -0
  29. package/dist/Overview-Dffo-zH4.mjs +11 -0
  30. package/dist/Overview-g4Rcj245.js +1 -0
  31. package/dist/{TableCalculationWidget-CrqcLGfU.mjs → TableCalculationWidget-B_LFoOYm.mjs} +3 -3
  32. package/dist/{TableCalculationWidget-CkQPrVUd.js → TableCalculationWidget-CahOIcbk.js} +1 -1
  33. package/dist/TableDataWidget-BwqWFH4A.js +1 -0
  34. package/dist/TableDataWidget-RsVxcDsL.mjs +112 -0
  35. package/dist/TableOverviewCard-BPWCqo56.js +1 -0
  36. package/dist/{TableOverviewCard-Ci0d4o4w.mjs → TableOverviewCard-D667DDag.mjs} +113 -127
  37. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C3XiOXgb.js +1 -0
  38. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-sp0TLio0.mjs +547 -0
  39. package/dist/{TableRowActionCard-BhdnnPaq.mjs → TableRowActionCard-BPYJ-Kjy.mjs} +95 -101
  40. package/dist/TableRowActionCard-Bnqj1YIe.js +1 -0
  41. package/dist/TableView-CwhZ9YN2.js +4 -0
  42. package/dist/TableView-DX9PKS8N.mjs +9673 -0
  43. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-BgDdzbLe.js +1 -0
  44. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-D85V4nrQ.mjs +2886 -0
  45. package/dist/Test-CzmOmi53.mjs +447 -0
  46. package/dist/Test-USDtNFY1.js +1 -0
  47. package/dist/UserDetail-DpUL3mhk.mjs +1483 -0
  48. package/dist/UserDetail-KRIfxaYd.js +1 -0
  49. package/dist/cms-core-modules.css +1 -1
  50. package/dist/dateRangePresets-CaPVagHY.mjs +453 -0
  51. package/dist/dateRangePresets-gxQCiZ6c.js +1 -0
  52. package/dist/index-6hZ6MYY6.js +1 -0
  53. package/dist/index-BVmmicu3.mjs +14 -0
  54. package/dist/index-CQuN5rKx.js +1 -0
  55. package/dist/index-ChHD_1Cf.js +144 -0
  56. package/dist/index-CnDGeInm.js +1 -0
  57. package/dist/index-CqDTc5Ig.mjs +20 -0
  58. package/dist/index-CvV4nVWI.js +1 -0
  59. package/dist/index-CyvvAdt4.js +1 -0
  60. package/dist/index-DH2z0W_w.mjs +19012 -0
  61. package/dist/index-DIRD7t5_.mjs +20 -0
  62. package/dist/index-DZKzj48V.mjs +17 -0
  63. package/dist/index-OJuBYR60.mjs +57 -0
  64. package/dist/index.cjs.js +1 -1
  65. package/dist/index.mjs +480 -103
  66. package/dist/orders-C_sz8J9b.js +1 -0
  67. package/dist/{orders-BfTLIm7U.mjs → orders-Cgdggzvx.mjs} +84 -84
  68. package/dist/server-handlers.cjs.js +1 -1
  69. package/dist/server-handlers.mjs +2696 -605
  70. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +3 -0
  71. package/dist/src/appointments/index.d.ts +93 -3
  72. package/dist/src/appointments/reservation-summary.d.ts +48 -0
  73. package/dist/src/appointments/server.d.ts +1 -0
  74. package/dist/src/appointments/tools.d.ts +93 -3
  75. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.d.ts +1 -1
  76. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.d.ts +7 -0
  77. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.d.ts +7 -0
  78. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/resizeHistory.d.ts +9 -0
  79. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +3 -1
  80. package/dist/src/filezone/config.d.ts +31 -0
  81. package/dist/src/filezone/index.d.ts +43 -0
  82. package/dist/src/filezone/index.vue.d.ts +2 -0
  83. package/dist/src/filezone/metadata.d.ts +2 -0
  84. package/dist/src/filezone/pages/Overview.vue.d.ts +4 -0
  85. package/dist/src/filezone/permissions.d.ts +5 -0
  86. package/dist/src/filezone/routes.d.ts +5 -0
  87. package/dist/src/filezone/server.d.ts +36 -0
  88. package/dist/src/firebaseAuthManager/components/DeleteUserDialog.vue.d.ts +25 -0
  89. package/dist/src/firebaseAuthManager/components/ReasonActionDialog.vue.d.ts +23 -0
  90. package/dist/src/firebaseAuthManager/components/UserStatusBadge.vue.d.ts +5 -0
  91. package/dist/src/firebaseAuthManager/config.d.ts +151 -0
  92. package/dist/src/firebaseAuthManager/index.d.ts +163 -0
  93. package/dist/src/firebaseAuthManager/index.vue.d.ts +14 -0
  94. package/dist/src/firebaseAuthManager/metadata.d.ts +2 -0
  95. package/dist/src/firebaseAuthManager/pages/Overview.vue.d.ts +2 -0
  96. package/dist/src/firebaseAuthManager/pages/UserDetail.vue.d.ts +2 -0
  97. package/dist/src/firebaseAuthManager/permissions.d.ts +5 -0
  98. package/dist/src/firebaseAuthManager/routes.d.ts +5 -0
  99. package/dist/src/firebaseAuthManager/server.d.ts +162 -0
  100. package/dist/src/firebaseAuthManager/types.d.ts +84 -0
  101. package/dist/src/formBuilder/components/FormPreviewDialog.vue.d.ts +12 -0
  102. package/dist/src/formBuilder/components/FormStatusBadge.vue.d.ts +9 -0
  103. package/dist/src/formBuilder/config.d.ts +31 -0
  104. package/dist/src/formBuilder/index.d.ts +44 -0
  105. package/dist/src/formBuilder/index.vue.d.ts +14 -0
  106. package/dist/src/formBuilder/lib/forms.d.ts +11 -0
  107. package/dist/src/formBuilder/metadata.d.ts +2 -0
  108. package/dist/src/formBuilder/pages/Editor.vue.d.ts +2 -0
  109. package/dist/src/formBuilder/pages/Overview.vue.d.ts +2 -0
  110. package/dist/src/formBuilder/permissions.d.ts +5 -0
  111. package/dist/src/formBuilder/routes.d.ts +5 -0
  112. package/dist/src/formBuilder/server.d.ts +87 -0
  113. package/dist/src/formBuilder/tools.d.ts +1 -0
  114. package/dist/src/formBuilder/types.d.ts +46 -0
  115. package/dist/src/helpbot/composables/useHelpbotApi.d.ts +18 -0
  116. package/dist/src/helpbot/config.d.ts +17 -0
  117. package/dist/src/helpbot/index.d.ts +29 -0
  118. package/dist/src/helpbot/index.vue.d.ts +2 -0
  119. package/dist/src/helpbot/metadata.d.ts +2 -0
  120. package/dist/src/helpbot/pages/Knowledge.vue.d.ts +4 -0
  121. package/dist/src/helpbot/pages/Overview.vue.d.ts +2 -0
  122. package/dist/src/helpbot/pages/Test.vue.d.ts +4 -0
  123. package/dist/src/helpbot/permissions.d.ts +5 -0
  124. package/dist/src/helpbot/routes.d.ts +5 -0
  125. package/dist/src/helpbot/types.d.ts +42 -0
  126. package/dist/src/index.d.ts +5 -0
  127. package/dist/src/mailTemplates/builder-types.d.ts +40 -0
  128. package/dist/src/mailTemplates/components/BlockRenderer.vue.d.ts +24 -0
  129. package/dist/src/mailTemplates/components/DesignPanel.vue.d.ts +13 -0
  130. package/dist/src/mailTemplates/components/EmailCanvas.vue.d.ts +44 -0
  131. package/dist/src/mailTemplates/components/RichTextEditor.vue.d.ts +10 -0
  132. package/dist/src/mailTemplates/components/RightSidebar.vue.d.ts +18 -0
  133. package/dist/src/mailTemplates/components/SettingsPanel.vue.d.ts +15 -0
  134. package/dist/src/mailTemplates/components/TemplateBuilder.vue.d.ts +2 -0
  135. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +19 -1
  136. package/dist/src/mailTemplates/components/rich-text.d.ts +6 -0
  137. package/dist/src/mailTemplates/config.d.ts +10 -4
  138. package/dist/src/mailTemplates/defaults.d.ts +10 -0
  139. package/dist/src/mailTemplates/editor-state.d.ts +21 -0
  140. package/dist/src/mailTemplates/index.d.ts +11 -5
  141. package/dist/src/mailTemplates/index.vue.d.ts +2 -4
  142. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  143. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +1 -13
  144. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +1 -13
  145. package/dist/src/mailTemplates/server.d.ts +23 -0
  146. package/dist/src/server-handlers.d.ts +6 -0
  147. package/dist/src/table/badge-filter-utils.d.ts +8 -0
  148. package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +2 -7
  149. package/dist/src/table/chat-components/TableResultView.vue.d.ts +3 -7
  150. package/dist/src/table/components/TableDisplayCell.vue.d.ts +8 -0
  151. package/dist/src/table/components/columns/BadgeColumnSettings.vue.d.ts +9 -0
  152. package/dist/src/table/components/columns/ColumnColorSelect.vue.d.ts +11 -0
  153. package/dist/src/table/components/columns/ColumnDisplaySettings.vue.d.ts +9 -0
  154. package/dist/src/table/components/columns/ColumnTypeSelect.vue.d.ts +11 -0
  155. package/dist/src/table/components/columns/ColumnValueSourceInput.vue.d.ts +15 -0
  156. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +8 -11
  157. package/dist/src/table/components/columns/ProgressColumnSettings.vue.d.ts +8 -0
  158. package/dist/src/table/components/stats/StatDialog.vue.d.ts +6 -10
  159. package/dist/src/table/components/stats/Stats.vue.d.ts +9 -15
  160. package/dist/src/table/composables/useTableClock.d.ts +4 -0
  161. package/dist/src/table/display-utils.d.ts +35 -0
  162. package/dist/src/table/row-value.d.ts +1 -0
  163. package/dist/src/table/stat-utils.d.ts +9 -0
  164. package/dist/src/table/tool-utils.d.ts +1 -1
  165. package/dist/src/table/types.d.ts +54 -1
  166. package/dist/src/whatsappBusiness/analytics.d.ts +4 -0
  167. package/dist/src/whatsappBusiness/components/AccountPanel.vue.d.ts +2 -0
  168. package/dist/src/whatsappBusiness/components/InsightsPanel.vue.d.ts +5 -0
  169. package/dist/src/whatsappBusiness/components/TemplateDialog.vue.d.ts +14 -0
  170. package/dist/src/whatsappBusiness/components/TemplatesPanel.vue.d.ts +5 -0
  171. package/dist/src/whatsappBusiness/components/presentation.d.ts +4 -0
  172. package/dist/src/whatsappBusiness/config.d.ts +51 -0
  173. package/dist/src/whatsappBusiness/connection.d.ts +77 -0
  174. package/dist/src/whatsappBusiness/index.d.ts +63 -0
  175. package/dist/src/whatsappBusiness/index.vue.d.ts +5 -0
  176. package/dist/src/whatsappBusiness/metadata.d.ts +2 -0
  177. package/dist/src/whatsappBusiness/pages/Overview.vue.d.ts +2 -0
  178. package/dist/src/whatsappBusiness/permissions.d.ts +5 -0
  179. package/dist/src/whatsappBusiness/provider.d.ts +21 -0
  180. package/dist/src/whatsappBusiness/routes.d.ts +5 -0
  181. package/dist/src/whatsappBusiness/server.d.ts +14 -0
  182. package/dist/src/whatsappBusiness/templates.d.ts +94 -0
  183. package/dist/src/whatsappBusiness/types.d.ts +162 -0
  184. package/dist/{tool-sandbox-DoF1PsyS.js → tool-sandbox-BSkKdH7V.js} +1 -1
  185. package/dist/{tool-sandbox-DdkMLkDK.mjs → tool-sandbox-DU9b1B7v.mjs} +1 -1
  186. package/dist/types-9N-DKxNj.mjs +250 -0
  187. package/dist/types-B5MifmeF.mjs +2696 -0
  188. package/dist/types-Cem0vPo_.js +1 -0
  189. package/dist/types-D5dgTskW.js +1 -0
  190. package/dist/useHelpbotApi-BIIungOh.js +1 -0
  191. package/dist/useHelpbotApi-HC9JSiSn.mjs +229 -0
  192. package/dist/{useTableAgentTools-D5mzGf3A.js → useTableAgentTools-BrUot49I.js} +1 -1
  193. package/dist/{useTableAgentTools-DcN3kYRL.mjs → useTableAgentTools-r5InEI4p.mjs} +8 -8
  194. package/dist/vee-validate-zod-CWZwNTWE.js +1 -0
  195. package/dist/vee-validate-zod-D0WaDgDZ.mjs +1780 -0
  196. package/package.json +2 -2
  197. package/src/appointments/tools.ts +52 -2
  198. package/src/formBuilder/tools.ts +1 -0
  199. package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
  200. package/dist/AppointmentListTable-Dieu9US_.js +0 -1
  201. package/dist/ContentEditor-C-Wm48ai.js +0 -467
  202. package/dist/Detail-BCUUNWvp.js +0 -1
  203. package/dist/Detail-Byk781b4.mjs +0 -26
  204. package/dist/Detail-DGg_xXZc.js +0 -1
  205. package/dist/Detail-Sc2qZdxj.js +0 -1
  206. package/dist/Detail-mvSGbnFU.js +0 -1
  207. package/dist/Overview-BDlBCUI_.js +0 -1
  208. package/dist/Overview-Su8ZUbMs.mjs +0 -26
  209. package/dist/TableDataWidget-7qvC3Egd.js +0 -1
  210. package/dist/TableDataWidget-DMTSoGRO.mjs +0 -121
  211. package/dist/TableOverviewCard-AFq-puJs.js +0 -1
  212. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +0 -534
  213. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +0 -1
  214. package/dist/TableRowActionCard-IzB6tNN-.js +0 -1
  215. package/dist/TableView-BkwoKREo.js +0 -4
  216. package/dist/TableView-C4Zyp8d7.mjs +0 -8228
  217. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
  218. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
  219. package/dist/dateRangePresets-B-l5b_wR.mjs +0 -48
  220. package/dist/dateRangePresets-CPWqst_x.js +0 -1
  221. package/dist/orders-DUa2PVoa.js +0 -1
  222. package/dist/vee-validate-zod-SjDT8X35.mjs +0 -4404
  223. package/dist/vee-validate-zod-VCmLnrtQ.js +0 -1
@@ -0,0 +1,745 @@
1
+ import { defineComponent as Ze, ref as v, computed as y, onMounted as et, resolveComponent as s, openBlock as o, createElementBlock as x, createElementVNode as u, createVNode as t, withCtx as l, createTextVNode as n, createBlock as d, unref as i, createCommentVNode as f, Fragment as R, withModifiers as de, normalizeClass as J, toDisplayString as m, renderList as Q } from "vue";
2
+ import { t as ce } from "./index-RLz1QPrf.mjs";
3
+ import { Plus as me, ShieldAlert as fe, Search as pe, X as tt, RefreshCw as ve, AlertCircle as lt, Users as at, ShieldCheck as be, ShieldX as xe, Ellipsis as st, UserRound as _e, KeyRound as nt, ChevronLeft as ot, ChevronRight as it } from "lucide-vue-next";
4
+ import { useModule as rt, useModuleApi as ut, useModuleRoute as dt, useModulePermissions as ct, useModuleBreadcrumbs as mt } from "@oneclick.dev/cms-kit";
5
+ import { f as Z, g as ft, _ as ge, a as pt, b as vt, c as bt, d as ye, e as xt, u as _t, m as gt } from "./types-9N-DKxNj.mjs";
6
+ const yt = { class: "mx-auto flex w-full max-w-7xl flex-1 flex-col px-4 py-6 sm:px-6 sm:py-10 lg:px-8" }, kt = { class: "flex flex-col gap-5 sm:flex-row sm:items-start sm:justify-between" }, wt = { class: "max-w-2xl" }, ht = { class: "flex flex-wrap items-center gap-2" }, Ct = {
7
+ key: 0,
8
+ class: "mt-10 flex flex-1 items-center justify-center rounded-xl border border-dashed p-8"
9
+ }, St = { class: "max-w-md text-center" }, Tt = { class: "mx-auto flex size-11 items-center justify-center rounded-full bg-muted" }, At = { class: "mt-8 border-b pb-5" }, zt = { class: "w-full max-w-2xl space-y-2" }, Mt = { class: "grid gap-2 sm:grid-cols-[8rem_minmax(0,1fr)_auto]" }, Dt = { class: "relative min-w-0 flex-1" }, Et = {
10
+ key: 1,
11
+ class: "mt-6 overflow-hidden rounded-xl border",
12
+ "aria-label": "Loading Firebase users"
13
+ }, Ut = { class: "min-w-0 flex-1 space-y-2" }, Pt = { class: "flex min-w-0 items-center gap-3" }, Bt = { class: "min-w-0" }, Ft = { class: "truncate font-medium" }, Nt = ["title"], Rt = { class: "mt-2 flex flex-wrap gap-1 @2xl:hidden" }, Vt = {
14
+ key: 2,
15
+ class: "text-sm text-muted-foreground"
16
+ }, It = { class: "flex max-w-64 flex-wrap gap-1" }, Lt = {
17
+ key: 0,
18
+ class: "text-sm text-muted-foreground"
19
+ }, $t = { class: "mt-5 flex flex-col gap-3 text-sm text-muted-foreground sm:flex-row sm:items-center sm:justify-between" }, jt = { key: 0 }, Kt = /* @__PURE__ */ Ze({
20
+ __name: "Overview",
21
+ setup(Ht) {
22
+ const { config: ee } = rt(), j = ut(), { navigateTo: D } = dt(), { hasPermission: E } = ct();
23
+ mt(() => []);
24
+ const k = v([]), _ = v(!1), V = v(""), H = v(""), z = v(""), w = v(""), U = v("uid"), I = v("uid"), P = v(null), B = v(null), g = v([]), b = v(null), L = v(!1), M = v(""), G = y(() => E("view-auth-users")), h = y(() => E("view-auth-user-pii")), te = y(() => E("create-auth-users")), le = y(() => E("manage-auth-status")), ae = y(() => E("manage-auth-sessions")), ke = y(() => le.value || ae.value), O = y(() => !!ee.linkFirestoreProfiles), we = y(() => {
25
+ const r = Number(ee.pageSize) || 50;
26
+ return Math.min(100, Math.max(10, r));
27
+ }), he = y(() => g.value.length + 1);
28
+ function W(r) {
29
+ return h.value ? r.displayName || r.email || r.phoneNumber || "Unnamed user" : `User ${r.uid.slice(0, 8)}`;
30
+ }
31
+ function X(r) {
32
+ return h.value && (r.email || r.phoneNumber) || r.uid;
33
+ }
34
+ async function C(r = P.value) {
35
+ if (!G.value) return !1;
36
+ _.value = !0, V.value = "";
37
+ const e = {
38
+ limit: we.value
39
+ };
40
+ r && (e.pageToken = r), w.value && (e.search = w.value, e.searchBy = I.value);
41
+ try {
42
+ const c = await j.get("/users", { query: e });
43
+ return k.value = Array.isArray(c.users) ? c.users : [], B.value = c.nextPageToken || null, P.value = r, !0;
44
+ } catch (c) {
45
+ return k.value = [], B.value = null, V.value = ye(c, "Firebase Authentication users could not be loaded."), !1;
46
+ } finally {
47
+ _.value = !1;
48
+ }
49
+ }
50
+ async function Ce() {
51
+ w.value = z.value, I.value = U.value, g.value = [], P.value = null, await C(null);
52
+ }
53
+ async function se() {
54
+ z.value = "", w.value = "", g.value = [], P.value = null, await C(null);
55
+ }
56
+ async function Se() {
57
+ if (!B.value || _.value) return;
58
+ const r = P.value;
59
+ await C(B.value) && g.value.push(r);
60
+ }
61
+ async function Te() {
62
+ if (g.value.length === 0 || _.value) return;
63
+ const r = g.value[g.value.length - 1] || null;
64
+ await C(r) && g.value.pop();
65
+ }
66
+ function Ae(r) {
67
+ const e = r.disabled;
68
+ b.value = {
69
+ user: r,
70
+ kind: "status",
71
+ disabled: !e,
72
+ title: e ? "Restore sign-in" : "Suspend sign-in",
73
+ description: e ? "This user will be allowed to authenticate with the connected Firebase project again." : "This user will no longer be able to sign in or refresh their Firebase session.",
74
+ confirmLabel: e ? "Restore sign-in" : "Suspend sign-in",
75
+ destructive: !e
76
+ }, M.value = "";
77
+ }
78
+ function ze(r) {
79
+ b.value = {
80
+ user: r,
81
+ kind: "sessions",
82
+ title: "Revoke all sessions",
83
+ description: "All Firebase refresh tokens for this user will be revoked. Existing ID tokens can remain valid until they expire unless the connected app checks revocation.",
84
+ confirmLabel: "Revoke sessions",
85
+ destructive: !0
86
+ }, M.value = "";
87
+ }
88
+ function ne(r) {
89
+ r || (b.value = null, M.value = "");
90
+ }
91
+ async function Me(r) {
92
+ const e = b.value;
93
+ if (!(!e || L.value)) {
94
+ L.value = !0, M.value = "";
95
+ try {
96
+ let c;
97
+ const p = xt(e.user.uid);
98
+ e.kind === "status" ? c = await j.post(`/users/${p}/status`, {
99
+ body: { disabled: !!e.disabled, reason: r }
100
+ }) : c = await j.post(`/users/${p}/revoke-sessions`, {
101
+ body: { reason: r }
102
+ });
103
+ const F = _t(c), $ = k.value.findIndex((q) => q.uid === F.uid);
104
+ $ >= 0 && (k.value[$] = F), ce.success(e.kind === "status" ? F.disabled ? "Sign-in suspended" : "Sign-in restored" : "Sessions revoked"), gt(c) && (H.value = "The account action completed, but Studio could not confirm that its activity entry was recorded.", ce.warning("Action completed without a confirmed activity entry")), ne(!1);
105
+ } catch (c) {
106
+ M.value = ye(c, "The account action could not be completed.");
107
+ } finally {
108
+ L.value = !1;
109
+ }
110
+ }
111
+ }
112
+ return et(() => {
113
+ G.value && C(null);
114
+ }), (r, e) => {
115
+ const c = s("Badge"), p = s("Button"), F = s("Label"), $ = s("SelectValue"), q = s("SelectTrigger"), K = s("SelectItem"), De = s("SelectContent"), Ee = s("Select"), Ue = s("Input"), oe = s("AlertTitle"), ie = s("AlertDescription"), re = s("Alert"), N = s("Skeleton"), Pe = s("EmptyMedia"), Be = s("EmptyTitle"), Fe = s("EmptyDescription"), Ne = s("EmptyHeader"), Re = s("EmptyContent"), Ve = s("Empty"), S = s("TableHead"), ue = s("TableRow"), Ie = s("TableHeader"), Le = s("AvatarImage"), $e = s("AvatarFallback"), je = s("Avatar"), T = s("TableCell"), He = s("DropdownMenuTrigger"), Ge = s("DropdownMenuLabel"), Oe = s("DropdownMenuSeparator"), Y = s("DropdownMenuItem"), We = s("DropdownMenuContent"), Xe = s("DropdownMenu"), qe = s("TableBody"), Ke = s("Table"), Ye = s("Card"), Je = s("ButtonGroupText"), Qe = s("ButtonGroup");
116
+ return o(), x("main", yt, [
117
+ u("header", kt, [
118
+ u("div", wt, [
119
+ u("div", ht, [
120
+ e[8] || (e[8] = u("h1", { class: "text-2xl font-semibold tracking-tight sm:text-3xl" }, "Firebase users", -1)),
121
+ t(c, {
122
+ variant: "outline",
123
+ class: "gap-1.5"
124
+ }, {
125
+ default: l(() => [...e[7] || (e[7] = [
126
+ u("span", { class: "size-1.5 rounded-full bg-emerald-500" }, null, -1),
127
+ n(" Firebase integration configured ", -1)
128
+ ])]),
129
+ _: 1
130
+ })
131
+ ]),
132
+ e[9] || (e[9] = u("p", { class: "mt-2 text-sm leading-6 text-muted-foreground sm:text-base" }, " Find an exact identity, review access state, and perform accountable account actions. ", -1))
133
+ ]),
134
+ te.value ? (o(), d(p, {
135
+ key: 0,
136
+ class: "w-full shrink-0 sm:w-auto",
137
+ onClick: e[0] || (e[0] = (a) => i(D)("new"))
138
+ }, {
139
+ default: l(() => [
140
+ t(i(me), { class: "size-4" }),
141
+ e[10] || (e[10] = n(" New user ", -1))
142
+ ]),
143
+ _: 1
144
+ })) : f("", !0)
145
+ ]),
146
+ G.value ? (o(), x(R, { key: 1 }, [
147
+ u("section", At, [
148
+ u("form", {
149
+ class: "flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",
150
+ onSubmit: de(Ce, ["prevent"])
151
+ }, [
152
+ u("div", zt, [
153
+ t(F, { for: "firebase-auth-user-search" }, {
154
+ default: l(() => [...e[13] || (e[13] = [
155
+ n("Exact user search", -1)
156
+ ])]),
157
+ _: 1
158
+ }),
159
+ u("div", Mt, [
160
+ t(Ee, {
161
+ modelValue: U.value,
162
+ "onUpdate:modelValue": e[1] || (e[1] = (a) => U.value = a)
163
+ }, {
164
+ default: l(() => [
165
+ t(q, { "aria-label": "Search Firebase users by" }, {
166
+ default: l(() => [
167
+ t($)
168
+ ]),
169
+ _: 1
170
+ }),
171
+ t(De, null, {
172
+ default: l(() => [
173
+ t(K, { value: "uid" }, {
174
+ default: l(() => [...e[14] || (e[14] = [
175
+ n("UID", -1)
176
+ ])]),
177
+ _: 1
178
+ }),
179
+ t(K, {
180
+ value: "email",
181
+ disabled: !h.value
182
+ }, {
183
+ default: l(() => [...e[15] || (e[15] = [
184
+ n("Email", -1)
185
+ ])]),
186
+ _: 1
187
+ }, 8, ["disabled"]),
188
+ t(K, {
189
+ value: "phone",
190
+ disabled: !h.value
191
+ }, {
192
+ default: l(() => [...e[16] || (e[16] = [
193
+ n("Phone", -1)
194
+ ])]),
195
+ _: 1
196
+ }, 8, ["disabled"])
197
+ ]),
198
+ _: 1
199
+ })
200
+ ]),
201
+ _: 1
202
+ }, 8, ["modelValue"]),
203
+ u("div", Dt, [
204
+ t(i(pe), { class: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }),
205
+ t(Ue, {
206
+ id: "firebase-auth-user-search",
207
+ modelValue: z.value,
208
+ "onUpdate:modelValue": e[2] || (e[2] = (a) => z.value = a),
209
+ type: "search",
210
+ placeholder: U.value === "uid" ? "Exact Firebase UID" : U.value === "email" ? "user@example.com" : "+32470000000",
211
+ class: "pl-9 pr-9",
212
+ autocomplete: "off"
213
+ }, null, 8, ["modelValue", "placeholder"]),
214
+ z.value ? (o(), d(p, {
215
+ key: 0,
216
+ type: "button",
217
+ variant: "ghost",
218
+ size: "icon",
219
+ class: "absolute right-0 top-0",
220
+ "aria-label": "Clear search",
221
+ onClick: se
222
+ }, {
223
+ default: l(() => [
224
+ t(i(tt), { class: "size-4" })
225
+ ]),
226
+ _: 1
227
+ })) : f("", !0)
228
+ ]),
229
+ t(p, {
230
+ type: "submit",
231
+ variant: "outline",
232
+ class: "w-full sm:w-auto",
233
+ disabled: _.value || !z.value
234
+ }, {
235
+ default: l(() => [
236
+ t(i(pe), { class: "size-4" }),
237
+ e[17] || (e[17] = n(" Search ", -1))
238
+ ]),
239
+ _: 1
240
+ }, 8, ["disabled"])
241
+ ]),
242
+ e[18] || (e[18] = u("p", { class: "text-xs text-muted-foreground" }, " Choose the identifier type explicitly. Matching is exact; browse the directory with Previous and Next below. ", -1))
243
+ ]),
244
+ t(p, {
245
+ type: "button",
246
+ variant: "ghost",
247
+ disabled: _.value,
248
+ onClick: e[3] || (e[3] = (a) => C())
249
+ }, {
250
+ default: l(() => [
251
+ t(i(ve), {
252
+ class: J(["size-4", { "animate-spin": _.value }])
253
+ }, null, 8, ["class"]),
254
+ e[19] || (e[19] = n(" Refresh ", -1))
255
+ ]),
256
+ _: 1
257
+ }, 8, ["disabled"])
258
+ ], 32)
259
+ ]),
260
+ H.value ? (o(), d(re, {
261
+ key: 0,
262
+ class: "mt-6 border-amber-400/60 bg-amber-50 dark:border-amber-800/70 dark:bg-amber-950/30"
263
+ }, {
264
+ default: l(() => [
265
+ t(i(fe)),
266
+ t(oe, null, {
267
+ default: l(() => [...e[20] || (e[20] = [
268
+ n("Activity entry confirmation missing", -1)
269
+ ])]),
270
+ _: 1
271
+ }),
272
+ t(ie, null, {
273
+ default: l(() => [
274
+ n(m(H.value), 1)
275
+ ]),
276
+ _: 1
277
+ })
278
+ ]),
279
+ _: 1
280
+ })) : f("", !0),
281
+ _.value ? (o(), x("section", Et, [
282
+ (o(), x(R, null, Q(6, (a) => u("div", {
283
+ key: a,
284
+ class: "flex items-center gap-4 border-b p-4 last:border-b-0"
285
+ }, [
286
+ t(N, { class: "size-10 shrink-0 rounded-full" }),
287
+ u("div", Ut, [
288
+ t(N, { class: "h-4 w-48 max-w-full" }),
289
+ t(N, { class: "h-3 w-72 max-w-full" })
290
+ ]),
291
+ t(N, { class: "hidden h-6 w-24 rounded-full sm:block" }),
292
+ t(N, { class: "size-8 rounded-md" })
293
+ ])), 64))
294
+ ])) : V.value ? (o(), d(re, {
295
+ key: 2,
296
+ variant: "destructive",
297
+ class: "mt-6"
298
+ }, {
299
+ default: l(() => [
300
+ t(i(lt)),
301
+ t(oe, null, {
302
+ default: l(() => [...e[21] || (e[21] = [
303
+ n("Could not load Firebase users", -1)
304
+ ])]),
305
+ _: 1
306
+ }),
307
+ t(ie, { class: "flex flex-col items-start gap-3 sm:flex-row sm:items-center sm:justify-between" }, {
308
+ default: l(() => [
309
+ u("span", null, m(V.value), 1),
310
+ t(p, {
311
+ variant: "outline",
312
+ size: "sm",
313
+ onClick: e[4] || (e[4] = (a) => C())
314
+ }, {
315
+ default: l(() => [
316
+ t(i(ve), { class: "size-4" }),
317
+ e[22] || (e[22] = n(" Try again ", -1))
318
+ ]),
319
+ _: 1
320
+ })
321
+ ]),
322
+ _: 1
323
+ })
324
+ ]),
325
+ _: 1
326
+ })) : k.value.length === 0 ? (o(), d(Ve, {
327
+ key: 3,
328
+ class: "mt-6 min-h-80 rounded-xl border border-dashed"
329
+ }, {
330
+ default: l(() => [
331
+ t(Ne, null, {
332
+ default: l(() => [
333
+ t(Pe, { variant: "icon" }, {
334
+ default: l(() => [
335
+ t(i(at))
336
+ ]),
337
+ _: 1
338
+ }),
339
+ t(Be, null, {
340
+ default: l(() => [
341
+ n(m(w.value ? "No exact user match" : "No users on this page"), 1)
342
+ ]),
343
+ _: 1
344
+ }),
345
+ t(Fe, null, {
346
+ default: l(() => [
347
+ n(m(w.value ? I.value === "uid" ? "Check the complete Firebase UID and try again." : I.value === "email" ? "Check the complete email address and try again." : "Check the complete E.164 phone number and try again." : "Create the first Authentication user or refresh this directory."), 1)
348
+ ]),
349
+ _: 1
350
+ })
351
+ ]),
352
+ _: 1
353
+ }),
354
+ t(Re, null, {
355
+ default: l(() => [
356
+ w.value ? (o(), d(p, {
357
+ key: 0,
358
+ variant: "outline",
359
+ onClick: se
360
+ }, {
361
+ default: l(() => [...e[23] || (e[23] = [
362
+ n("Clear search", -1)
363
+ ])]),
364
+ _: 1
365
+ })) : te.value ? (o(), d(p, {
366
+ key: 1,
367
+ onClick: e[5] || (e[5] = (a) => i(D)("new"))
368
+ }, {
369
+ default: l(() => [
370
+ t(i(me), { class: "size-4" }),
371
+ e[24] || (e[24] = n(" New user ", -1))
372
+ ]),
373
+ _: 1
374
+ })) : f("", !0)
375
+ ]),
376
+ _: 1
377
+ })
378
+ ]),
379
+ _: 1
380
+ })) : (o(), x(R, { key: 4 }, [
381
+ t(Ye, { class: "mt-6 gap-0 overflow-hidden py-0" }, {
382
+ default: l(() => [
383
+ t(Ke, { class: "table-fixed @2xl:table-auto" }, {
384
+ default: l(() => [
385
+ t(Ie, null, {
386
+ default: l(() => [
387
+ t(ue, null, {
388
+ default: l(() => [
389
+ t(S, null, {
390
+ default: l(() => [...e[25] || (e[25] = [
391
+ n("User", -1)
392
+ ])]),
393
+ _: 1
394
+ }),
395
+ t(S, { class: "hidden @2xl:table-cell" }, {
396
+ default: l(() => [...e[26] || (e[26] = [
397
+ n("Access", -1)
398
+ ])]),
399
+ _: 1
400
+ }),
401
+ h.value ? (o(), d(S, {
402
+ key: 0,
403
+ class: "hidden @4xl:table-cell"
404
+ }, {
405
+ default: l(() => [...e[27] || (e[27] = [
406
+ n("Verification", -1)
407
+ ])]),
408
+ _: 1
409
+ })) : f("", !0),
410
+ t(S, { class: "hidden @5xl:table-cell" }, {
411
+ default: l(() => [...e[28] || (e[28] = [
412
+ n("Providers", -1)
413
+ ])]),
414
+ _: 1
415
+ }),
416
+ t(S, { class: "hidden @6xl:table-cell" }, {
417
+ default: l(() => [...e[29] || (e[29] = [
418
+ n("Last sign-in", -1)
419
+ ])]),
420
+ _: 1
421
+ }),
422
+ O.value ? (o(), d(S, {
423
+ key: 1,
424
+ class: "hidden @3xl:table-cell"
425
+ }, {
426
+ default: l(() => [...e[30] || (e[30] = [
427
+ n("Profile", -1)
428
+ ])]),
429
+ _: 1
430
+ })) : f("", !0),
431
+ t(S, { class: "w-16 text-right" }, {
432
+ default: l(() => [...e[31] || (e[31] = [
433
+ u("span", { class: "sr-only" }, "Actions", -1)
434
+ ])]),
435
+ _: 1
436
+ })
437
+ ]),
438
+ _: 1
439
+ })
440
+ ]),
441
+ _: 1
442
+ }),
443
+ t(qe, null, {
444
+ default: l(() => [
445
+ (o(!0), x(R, null, Q(k.value, (a) => (o(), d(ue, {
446
+ key: a.uid,
447
+ class: "cursor-pointer",
448
+ onClick: (A) => i(D)(i(Z)(a.uid))
449
+ }, {
450
+ default: l(() => [
451
+ t(T, null, {
452
+ default: l(() => [
453
+ u("div", Pt, [
454
+ t(je, { class: "size-10 shrink-0" }, {
455
+ default: l(() => [
456
+ h.value && a.photoURL ? (o(), d(Le, {
457
+ key: 0,
458
+ src: a.photoURL,
459
+ alt: W(a)
460
+ }, null, 8, ["src", "alt"])) : f("", !0),
461
+ t($e, null, {
462
+ default: l(() => [
463
+ n(m(h.value ? i(ft)(a) : "U"), 1)
464
+ ]),
465
+ _: 2
466
+ }, 1024)
467
+ ]),
468
+ _: 2
469
+ }, 1024),
470
+ u("div", Bt, [
471
+ u("p", Ft, m(W(a)), 1),
472
+ u("p", {
473
+ class: "truncate text-xs text-muted-foreground",
474
+ title: X(a)
475
+ }, m(X(a)), 9, Nt),
476
+ u("div", Rt, [
477
+ t(ge, {
478
+ disabled: a.disabled
479
+ }, null, 8, ["disabled"]),
480
+ O.value ? (o(), d(c, {
481
+ key: 0,
482
+ variant: "outline",
483
+ class: J(a.profile?.enabled && a.profile.exists ? "border-emerald-400/60 text-emerald-700 dark:text-emerald-300" : a.profile?.enabled ? "border-amber-400/60 text-amber-700 dark:text-amber-300" : "text-muted-foreground")
484
+ }, {
485
+ default: l(() => [
486
+ n(m(a.profile?.enabled ? a.profile.exists ? "Profile linked" : "Profile missing" : "Profile unavailable"), 1)
487
+ ]),
488
+ _: 2
489
+ }, 1032, ["class"])) : f("", !0)
490
+ ])
491
+ ])
492
+ ])
493
+ ]),
494
+ _: 2
495
+ }, 1024),
496
+ t(T, { class: "hidden @2xl:table-cell" }, {
497
+ default: l(() => [
498
+ t(ge, {
499
+ disabled: a.disabled
500
+ }, null, 8, ["disabled"])
501
+ ]),
502
+ _: 2
503
+ }, 1024),
504
+ h.value ? (o(), d(T, {
505
+ key: 0,
506
+ class: "hidden @4xl:table-cell"
507
+ }, {
508
+ default: l(() => [
509
+ a.email && a.emailVerified ? (o(), d(c, {
510
+ key: 0,
511
+ variant: "outline",
512
+ class: "gap-1 text-emerald-700 dark:text-emerald-300"
513
+ }, {
514
+ default: l(() => [
515
+ t(i(be), { class: "size-3" }),
516
+ e[32] || (e[32] = n(" Verified ", -1))
517
+ ]),
518
+ _: 1
519
+ })) : a.email ? (o(), d(c, {
520
+ key: 1,
521
+ variant: "outline",
522
+ class: "gap-1 text-amber-700 dark:text-amber-300"
523
+ }, {
524
+ default: l(() => [
525
+ t(i(xe), { class: "size-3" }),
526
+ e[33] || (e[33] = n(" Unverified ", -1))
527
+ ]),
528
+ _: 1
529
+ })) : (o(), x("span", Vt, "No email"))
530
+ ]),
531
+ _: 2
532
+ }, 1024)) : f("", !0),
533
+ t(T, { class: "hidden @5xl:table-cell" }, {
534
+ default: l(() => [
535
+ u("div", It, [
536
+ (o(!0), x(R, null, Q(a.providers, (A) => (o(), d(c, {
537
+ key: A,
538
+ variant: "secondary"
539
+ }, {
540
+ default: l(() => [
541
+ n(m(i(pt)(A)), 1)
542
+ ]),
543
+ _: 2
544
+ }, 1024))), 128)),
545
+ a.providers.length === 0 ? (o(), x("span", Lt, "None")) : f("", !0)
546
+ ])
547
+ ]),
548
+ _: 2
549
+ }, 1024),
550
+ t(T, { class: "hidden whitespace-nowrap @6xl:table-cell" }, {
551
+ default: l(() => [
552
+ n(m(i(vt)(a.lastSignInAt)), 1)
553
+ ]),
554
+ _: 2
555
+ }, 1024),
556
+ O.value ? (o(), d(T, {
557
+ key: 1,
558
+ class: "hidden @3xl:table-cell"
559
+ }, {
560
+ default: l(() => [
561
+ t(c, {
562
+ variant: "outline",
563
+ class: J(a.profile?.enabled && a.profile.exists ? "border-emerald-400/60 text-emerald-700 dark:text-emerald-300" : a.profile?.enabled ? "border-amber-400/60 text-amber-700 dark:text-amber-300" : "text-muted-foreground")
564
+ }, {
565
+ default: l(() => [
566
+ n(m(a.profile?.enabled ? a.profile.exists ? "Linked" : "Missing" : "Unavailable"), 1)
567
+ ]),
568
+ _: 2
569
+ }, 1032, ["class"])
570
+ ]),
571
+ _: 2
572
+ }, 1024)) : f("", !0),
573
+ t(T, {
574
+ class: "text-right",
575
+ onClick: e[6] || (e[6] = de(() => {
576
+ }, ["stop"]))
577
+ }, {
578
+ default: l(() => [
579
+ ke.value ? (o(), d(Xe, { key: 0 }, {
580
+ default: l(() => [
581
+ t(He, { "as-child": "" }, {
582
+ default: l(() => [
583
+ t(p, {
584
+ variant: "ghost",
585
+ size: "icon",
586
+ "aria-label": "User actions"
587
+ }, {
588
+ default: l(() => [
589
+ t(i(st), { class: "size-4" })
590
+ ]),
591
+ _: 1
592
+ })
593
+ ]),
594
+ _: 1
595
+ }),
596
+ t(We, {
597
+ align: "end",
598
+ class: "w-56"
599
+ }, {
600
+ default: l(() => [
601
+ t(Ge, { class: "truncate" }, {
602
+ default: l(() => [
603
+ n(m(W(a)), 1)
604
+ ]),
605
+ _: 2
606
+ }, 1024),
607
+ t(Oe),
608
+ t(Y, {
609
+ onClick: (A) => i(D)(i(Z)(a.uid))
610
+ }, {
611
+ default: l(() => [
612
+ t(i(_e), { class: "size-4" }),
613
+ e[34] || (e[34] = n(" Open user ", -1))
614
+ ]),
615
+ _: 1
616
+ }, 8, ["onClick"]),
617
+ le.value ? (o(), d(Y, {
618
+ key: 0,
619
+ onClick: (A) => Ae(a)
620
+ }, {
621
+ default: l(() => [
622
+ a.disabled ? (o(), d(i(be), {
623
+ key: 0,
624
+ class: "size-4"
625
+ })) : (o(), d(i(xe), {
626
+ key: 1,
627
+ class: "size-4"
628
+ })),
629
+ n(" " + m(a.disabled ? "Restore sign-in" : "Suspend sign-in"), 1)
630
+ ]),
631
+ _: 2
632
+ }, 1032, ["onClick"])) : f("", !0),
633
+ ae.value ? (o(), d(Y, {
634
+ key: 1,
635
+ onClick: (A) => ze(a)
636
+ }, {
637
+ default: l(() => [
638
+ t(i(nt), { class: "size-4" }),
639
+ e[35] || (e[35] = n(" Revoke sessions ", -1))
640
+ ]),
641
+ _: 1
642
+ }, 8, ["onClick"])) : f("", !0)
643
+ ]),
644
+ _: 2
645
+ }, 1024)
646
+ ]),
647
+ _: 2
648
+ }, 1024)) : (o(), d(p, {
649
+ key: 1,
650
+ variant: "ghost",
651
+ size: "icon",
652
+ "aria-label": "Open user",
653
+ onClick: (A) => i(D)(i(Z)(a.uid))
654
+ }, {
655
+ default: l(() => [
656
+ t(i(_e), { class: "size-4" })
657
+ ]),
658
+ _: 1
659
+ }, 8, ["onClick"]))
660
+ ]),
661
+ _: 2
662
+ }, 1024)
663
+ ]),
664
+ _: 2
665
+ }, 1032, ["onClick"]))), 128))
666
+ ]),
667
+ _: 1
668
+ })
669
+ ]),
670
+ _: 1
671
+ })
672
+ ]),
673
+ _: 1
674
+ }),
675
+ u("footer", $t, [
676
+ u("p", null, [
677
+ n(" Showing " + m(k.value.length) + " " + m(k.value.length === 1 ? "user" : "users") + " ", 1),
678
+ w.value ? (o(), x("span", jt, " for the exact search")) : f("", !0)
679
+ ]),
680
+ t(Qe, null, {
681
+ default: l(() => [
682
+ t(p, {
683
+ variant: "outline",
684
+ size: "sm",
685
+ disabled: g.value.length === 0 || _.value,
686
+ onClick: Te
687
+ }, {
688
+ default: l(() => [
689
+ t(i(ot), { class: "size-4" }),
690
+ e[36] || (e[36] = n(" Previous ", -1))
691
+ ]),
692
+ _: 1
693
+ }, 8, ["disabled"]),
694
+ t(Je, { class: "min-w-20 justify-center" }, {
695
+ default: l(() => [
696
+ n("Page " + m(he.value), 1)
697
+ ]),
698
+ _: 1
699
+ }),
700
+ t(p, {
701
+ variant: "outline",
702
+ size: "sm",
703
+ disabled: !B.value || _.value,
704
+ onClick: Se
705
+ }, {
706
+ default: l(() => [
707
+ e[37] || (e[37] = n(" Next ", -1)),
708
+ t(i(it), { class: "size-4" })
709
+ ]),
710
+ _: 1
711
+ }, 8, ["disabled"])
712
+ ]),
713
+ _: 1
714
+ })
715
+ ])
716
+ ], 64))
717
+ ], 64)) : (o(), x("section", Ct, [
718
+ u("div", St, [
719
+ u("div", Tt, [
720
+ t(i(fe), { class: "size-5 text-muted-foreground" })
721
+ ]),
722
+ e[11] || (e[11] = u("h2", { class: "mt-4 font-semibold" }, "You cannot view Firebase users", -1)),
723
+ e[12] || (e[12] = u("p", { class: "mt-1 text-sm leading-6 text-muted-foreground" }, " Ask a project administrator for the View Firebase users permission. ", -1))
724
+ ])
725
+ ])),
726
+ b.value ? (o(), d(bt, {
727
+ key: 2,
728
+ open: !!b.value,
729
+ title: b.value.title,
730
+ description: b.value.description,
731
+ "confirm-label": b.value.confirmLabel,
732
+ subject: X(b.value.user),
733
+ destructive: b.value.destructive,
734
+ busy: L.value,
735
+ error: M.value,
736
+ "onUpdate:open": ne,
737
+ onConfirm: Me
738
+ }, null, 8, ["open", "title", "description", "confirm-label", "subject", "destructive", "busy", "error"])) : f("", !0)
739
+ ]);
740
+ };
741
+ }
742
+ });
743
+ export {
744
+ Kt as default
745
+ };