@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,151 @@
1
+ import { ResolveConfig } from '@oneclick.dev/cms-kit';
2
+ export declare const config: {
3
+ readonly project: {
4
+ readonly label: "Firebase integration";
5
+ readonly description: "Firebase project whose Authentication users this module manages.";
6
+ readonly type: "resource";
7
+ readonly accept: ["FIREBASE"];
8
+ readonly required: true;
9
+ };
10
+ readonly pageSize: {
11
+ readonly label: "Users per page";
12
+ readonly description: "Firebase Authentication is loaded with cursor pagination. Values are limited to 10–100 users per page.";
13
+ readonly type: "number";
14
+ readonly default: 50;
15
+ };
16
+ readonly linkFirestoreProfiles: {
17
+ readonly label: "Link Firestore profiles";
18
+ readonly description: "Join each Authentication user to a Firestore profile document using the Firebase UID.";
19
+ readonly type: "checkbox";
20
+ readonly default: true;
21
+ };
22
+ readonly firestoreProfileSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
23
+ readonly profileCollection: {
24
+ readonly label: "Profile collection";
25
+ readonly description: "Collection containing one profile document per Firebase UID.";
26
+ readonly type: "input";
27
+ readonly default: "users";
28
+ readonly required: true;
29
+ };
30
+ readonly profileUidField: {
31
+ readonly label: "UID field";
32
+ readonly type: "input";
33
+ readonly default: "uid";
34
+ };
35
+ readonly profileNameField: {
36
+ readonly label: "Name field";
37
+ readonly type: "input";
38
+ readonly default: "displayName";
39
+ };
40
+ readonly profileEmailField: {
41
+ readonly label: "Email field";
42
+ readonly type: "input";
43
+ readonly default: "email";
44
+ };
45
+ readonly profileRoleField: {
46
+ readonly label: "Role field";
47
+ readonly type: "input";
48
+ readonly default: "role";
49
+ };
50
+ readonly profileStatusField: {
51
+ readonly label: "Status field";
52
+ readonly type: "input";
53
+ readonly default: "status";
54
+ };
55
+ }>;
56
+ readonly manageRoleClaim: {
57
+ readonly label: "Manage a role claim";
58
+ readonly description: "Allow permitted operators to assign one configured Firebase custom claim without overwriting other claims.";
59
+ readonly type: "checkbox";
60
+ readonly default: false;
61
+ };
62
+ readonly roleClaimSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
63
+ readonly roleClaimKey: {
64
+ readonly label: "Claim key";
65
+ readonly type: "input";
66
+ readonly default: "role";
67
+ readonly required: true;
68
+ };
69
+ readonly roleOptions: {
70
+ readonly label: "Allowed roles";
71
+ readonly description: "Comma-separated values, for example: admin, editor, member.";
72
+ readonly type: "input";
73
+ readonly default: "";
74
+ };
75
+ }>;
76
+ } & {
77
+ readonly project: {
78
+ readonly label: "Firebase integration";
79
+ readonly description: "Firebase project whose Authentication users this module manages.";
80
+ readonly type: "resource";
81
+ readonly accept: ["FIREBASE"];
82
+ readonly required: true;
83
+ };
84
+ readonly pageSize: {
85
+ readonly label: "Users per page";
86
+ readonly description: "Firebase Authentication is loaded with cursor pagination. Values are limited to 10–100 users per page.";
87
+ readonly type: "number";
88
+ readonly default: 50;
89
+ };
90
+ readonly linkFirestoreProfiles: {
91
+ readonly label: "Link Firestore profiles";
92
+ readonly description: "Join each Authentication user to a Firestore profile document using the Firebase UID.";
93
+ readonly type: "checkbox";
94
+ readonly default: true;
95
+ };
96
+ readonly firestoreProfileSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
97
+ readonly profileCollection: {
98
+ readonly label: "Profile collection";
99
+ readonly description: "Collection containing one profile document per Firebase UID.";
100
+ readonly type: "input";
101
+ readonly default: "users";
102
+ readonly required: true;
103
+ };
104
+ readonly profileUidField: {
105
+ readonly label: "UID field";
106
+ readonly type: "input";
107
+ readonly default: "uid";
108
+ };
109
+ readonly profileNameField: {
110
+ readonly label: "Name field";
111
+ readonly type: "input";
112
+ readonly default: "displayName";
113
+ };
114
+ readonly profileEmailField: {
115
+ readonly label: "Email field";
116
+ readonly type: "input";
117
+ readonly default: "email";
118
+ };
119
+ readonly profileRoleField: {
120
+ readonly label: "Role field";
121
+ readonly type: "input";
122
+ readonly default: "role";
123
+ };
124
+ readonly profileStatusField: {
125
+ readonly label: "Status field";
126
+ readonly type: "input";
127
+ readonly default: "status";
128
+ };
129
+ }>;
130
+ readonly manageRoleClaim: {
131
+ readonly label: "Manage a role claim";
132
+ readonly description: "Allow permitted operators to assign one configured Firebase custom claim without overwriting other claims.";
133
+ readonly type: "checkbox";
134
+ readonly default: false;
135
+ };
136
+ readonly roleClaimSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
137
+ readonly roleClaimKey: {
138
+ readonly label: "Claim key";
139
+ readonly type: "input";
140
+ readonly default: "role";
141
+ readonly required: true;
142
+ };
143
+ readonly roleOptions: {
144
+ readonly label: "Allowed roles";
145
+ readonly description: "Comma-separated values, for example: admin, editor, member.";
146
+ readonly type: "input";
147
+ readonly default: "";
148
+ };
149
+ }>;
150
+ };
151
+ export type ConfigValues = ResolveConfig<typeof config>;
@@ -0,0 +1,163 @@
1
+ declare const _default: {
2
+ component: () => Promise<typeof import("./index.vue")>;
3
+ metadata: import('@oneclick.dev/cms-kit').ModuleMetadata;
4
+ config: {
5
+ readonly project: {
6
+ readonly label: "Firebase integration";
7
+ readonly description: "Firebase project whose Authentication users this module manages.";
8
+ readonly type: "resource";
9
+ readonly accept: ["FIREBASE"];
10
+ readonly required: true;
11
+ };
12
+ readonly pageSize: {
13
+ readonly label: "Users per page";
14
+ readonly description: "Firebase Authentication is loaded with cursor pagination. Values are limited to 10–100 users per page.";
15
+ readonly type: "number";
16
+ readonly default: 50;
17
+ };
18
+ readonly linkFirestoreProfiles: {
19
+ readonly label: "Link Firestore profiles";
20
+ readonly description: "Join each Authentication user to a Firestore profile document using the Firebase UID.";
21
+ readonly type: "checkbox";
22
+ readonly default: true;
23
+ };
24
+ readonly firestoreProfileSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
25
+ readonly profileCollection: {
26
+ readonly label: "Profile collection";
27
+ readonly description: "Collection containing one profile document per Firebase UID.";
28
+ readonly type: "input";
29
+ readonly default: "users";
30
+ readonly required: true;
31
+ };
32
+ readonly profileUidField: {
33
+ readonly label: "UID field";
34
+ readonly type: "input";
35
+ readonly default: "uid";
36
+ };
37
+ readonly profileNameField: {
38
+ readonly label: "Name field";
39
+ readonly type: "input";
40
+ readonly default: "displayName";
41
+ };
42
+ readonly profileEmailField: {
43
+ readonly label: "Email field";
44
+ readonly type: "input";
45
+ readonly default: "email";
46
+ };
47
+ readonly profileRoleField: {
48
+ readonly label: "Role field";
49
+ readonly type: "input";
50
+ readonly default: "role";
51
+ };
52
+ readonly profileStatusField: {
53
+ readonly label: "Status field";
54
+ readonly type: "input";
55
+ readonly default: "status";
56
+ };
57
+ }>;
58
+ readonly manageRoleClaim: {
59
+ readonly label: "Manage a role claim";
60
+ readonly description: "Allow permitted operators to assign one configured Firebase custom claim without overwriting other claims.";
61
+ readonly type: "checkbox";
62
+ readonly default: false;
63
+ };
64
+ readonly roleClaimSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
65
+ readonly roleClaimKey: {
66
+ readonly label: "Claim key";
67
+ readonly type: "input";
68
+ readonly default: "role";
69
+ readonly required: true;
70
+ };
71
+ readonly roleOptions: {
72
+ readonly label: "Allowed roles";
73
+ readonly description: "Comma-separated values, for example: admin, editor, member.";
74
+ readonly type: "input";
75
+ readonly default: "";
76
+ };
77
+ }>;
78
+ } & {
79
+ readonly project: {
80
+ readonly label: "Firebase integration";
81
+ readonly description: "Firebase project whose Authentication users this module manages.";
82
+ readonly type: "resource";
83
+ readonly accept: ["FIREBASE"];
84
+ readonly required: true;
85
+ };
86
+ readonly pageSize: {
87
+ readonly label: "Users per page";
88
+ readonly description: "Firebase Authentication is loaded with cursor pagination. Values are limited to 10–100 users per page.";
89
+ readonly type: "number";
90
+ readonly default: 50;
91
+ };
92
+ readonly linkFirestoreProfiles: {
93
+ readonly label: "Link Firestore profiles";
94
+ readonly description: "Join each Authentication user to a Firestore profile document using the Firebase UID.";
95
+ readonly type: "checkbox";
96
+ readonly default: true;
97
+ };
98
+ readonly firestoreProfileSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
99
+ readonly profileCollection: {
100
+ readonly label: "Profile collection";
101
+ readonly description: "Collection containing one profile document per Firebase UID.";
102
+ readonly type: "input";
103
+ readonly default: "users";
104
+ readonly required: true;
105
+ };
106
+ readonly profileUidField: {
107
+ readonly label: "UID field";
108
+ readonly type: "input";
109
+ readonly default: "uid";
110
+ };
111
+ readonly profileNameField: {
112
+ readonly label: "Name field";
113
+ readonly type: "input";
114
+ readonly default: "displayName";
115
+ };
116
+ readonly profileEmailField: {
117
+ readonly label: "Email field";
118
+ readonly type: "input";
119
+ readonly default: "email";
120
+ };
121
+ readonly profileRoleField: {
122
+ readonly label: "Role field";
123
+ readonly type: "input";
124
+ readonly default: "role";
125
+ };
126
+ readonly profileStatusField: {
127
+ readonly label: "Status field";
128
+ readonly type: "input";
129
+ readonly default: "status";
130
+ };
131
+ }>;
132
+ readonly manageRoleClaim: {
133
+ readonly label: "Manage a role claim";
134
+ readonly description: "Allow permitted operators to assign one configured Firebase custom claim without overwriting other claims.";
135
+ readonly type: "checkbox";
136
+ readonly default: false;
137
+ };
138
+ readonly roleClaimSettings: import('@oneclick.dev/cms-kit').SettingGroup<{
139
+ readonly roleClaimKey: {
140
+ readonly label: "Claim key";
141
+ readonly type: "input";
142
+ readonly default: "role";
143
+ readonly required: true;
144
+ };
145
+ readonly roleOptions: {
146
+ readonly label: "Allowed roles";
147
+ readonly description: "Comma-separated values, for example: admin, editor, member.";
148
+ readonly type: "input";
149
+ readonly default: "";
150
+ };
151
+ }>;
152
+ };
153
+ routes: {
154
+ path: string;
155
+ component: () => Promise<typeof import("./pages/Overview.vue")>;
156
+ }[];
157
+ permissions: {
158
+ key: string;
159
+ name: string;
160
+ description: string;
161
+ }[];
162
+ };
163
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { PropType } from 'vue';
2
+ import { FirebaseAuthManagerConfig } from './types';
3
+ declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
4
+ config: {
5
+ type: PropType<FirebaseAuthManagerConfig>;
6
+ required: true;
7
+ };
8
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
9
+ config: {
10
+ type: PropType<FirebaseAuthManagerConfig>;
11
+ required: true;
12
+ };
13
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { ModuleMetadata } from '@oneclick.dev/cms-kit';
2
+ export declare const metadata: ModuleMetadata;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export declare const permissions: {
2
+ key: string;
3
+ name: string;
4
+ description: string;
5
+ }[];
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ path: string;
3
+ component: () => Promise<typeof import("./pages/Overview.vue")>;
4
+ }[];
5
+ export default _default;
@@ -0,0 +1,162 @@
1
+ import { z } from 'zod';
2
+ import { FirebaseAuthManagerConfig, FirebaseAuthUser } from './types';
3
+ export declare const MODULE_KEY: "firebaseAuthManager";
4
+ export declare const AUTH_MANAGER_PERMISSIONS: {
5
+ readonly viewUsers: "view-auth-users";
6
+ readonly viewPii: "view-auth-user-pii";
7
+ readonly createUsers: "create-auth-users";
8
+ readonly editUsers: "edit-auth-users";
9
+ readonly manageStatus: "manage-auth-status";
10
+ readonly manageSessions: "manage-auth-sessions";
11
+ readonly manageMfa: "manage-auth-mfa";
12
+ readonly manageRoles: "manage-auth-roles";
13
+ readonly manageProfiles: "manage-auth-profiles";
14
+ readonly deleteUsers: "delete-auth-users";
15
+ };
16
+ export type AuthManagerPermission = typeof AUTH_MANAGER_PERMISSIONS[keyof typeof AUTH_MANAGER_PERMISSIONS];
17
+ export interface ModuleHandlerDeps {
18
+ initFirebase: (event: any, integrationId: string) => Promise<any>;
19
+ normalizeTimestamps: (data: any) => any;
20
+ }
21
+ export interface FirebaseAuthManagerModuleContext {
22
+ supabase: any;
23
+ instanceId: string;
24
+ projectId: string;
25
+ userId: string;
26
+ isAdmin: boolean;
27
+ permissions: string[];
28
+ }
29
+ export interface NormalizedFirebaseAuthManagerConfig extends FirebaseAuthManagerConfig {
30
+ roleOptions: string[];
31
+ }
32
+ export interface ParsedUsersQuery {
33
+ limit: number;
34
+ pageToken?: string;
35
+ search?: {
36
+ kind: 'uid' | 'email' | 'phone';
37
+ value: string;
38
+ };
39
+ }
40
+ interface SerializeUserOptions {
41
+ canViewPii: boolean;
42
+ config: NormalizedFirebaseAuthManagerConfig;
43
+ profile?: Record<string, unknown> | null;
44
+ profileAvailable?: boolean;
45
+ }
46
+ export declare const createAuthUserBodySchema: z.ZodObject<{
47
+ email: z.ZodString;
48
+ password: z.ZodString;
49
+ uid: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
50
+ displayName: z.ZodOptional<z.ZodString>;
51
+ phoneNumber: z.ZodOptional<z.ZodString>;
52
+ emailVerified: z.ZodOptional<z.ZodBoolean>;
53
+ disabled: z.ZodOptional<z.ZodBoolean>;
54
+ createProfile: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
55
+ }, "strict", z.ZodTypeAny, {
56
+ email: string;
57
+ password: string;
58
+ createProfile: boolean;
59
+ disabled?: boolean | undefined;
60
+ displayName?: string | undefined;
61
+ uid?: string | undefined;
62
+ phoneNumber?: string | undefined;
63
+ emailVerified?: boolean | undefined;
64
+ }, {
65
+ email: string;
66
+ password: string;
67
+ disabled?: boolean | undefined;
68
+ displayName?: string | undefined;
69
+ uid?: string | undefined;
70
+ phoneNumber?: string | undefined;
71
+ emailVerified?: boolean | undefined;
72
+ createProfile?: boolean | undefined;
73
+ }>;
74
+ export declare const updateAuthUserBodySchema: z.ZodEffects<z.ZodObject<{
75
+ reason: z.ZodString;
76
+ displayName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ email: z.ZodOptional<z.ZodString>;
78
+ phoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
79
+ emailVerified: z.ZodOptional<z.ZodBoolean>;
80
+ }, "strict", z.ZodTypeAny, {
81
+ reason: string;
82
+ email?: string | undefined;
83
+ displayName?: string | null | undefined;
84
+ phoneNumber?: string | null | undefined;
85
+ emailVerified?: boolean | undefined;
86
+ }, {
87
+ reason: string;
88
+ email?: string | undefined;
89
+ displayName?: string | null | undefined;
90
+ phoneNumber?: string | null | undefined;
91
+ emailVerified?: boolean | undefined;
92
+ }>, {
93
+ reason: string;
94
+ email?: string | undefined;
95
+ displayName?: string | null | undefined;
96
+ phoneNumber?: string | null | undefined;
97
+ emailVerified?: boolean | undefined;
98
+ }, {
99
+ reason: string;
100
+ email?: string | undefined;
101
+ displayName?: string | null | undefined;
102
+ phoneNumber?: string | null | undefined;
103
+ emailVerified?: boolean | undefined;
104
+ }>;
105
+ export declare const statusBodySchema: z.ZodObject<{
106
+ disabled: z.ZodBoolean;
107
+ reason: z.ZodString;
108
+ }, "strict", z.ZodTypeAny, {
109
+ disabled: boolean;
110
+ reason: string;
111
+ }, {
112
+ disabled: boolean;
113
+ reason: string;
114
+ }>;
115
+ export declare const reasonBodySchema: z.ZodObject<{
116
+ reason: z.ZodString;
117
+ }, "strict", z.ZodTypeAny, {
118
+ reason: string;
119
+ }, {
120
+ reason: string;
121
+ }>;
122
+ export declare const roleBodySchema: z.ZodObject<{
123
+ role: z.ZodNullable<z.ZodString>;
124
+ reason: z.ZodString;
125
+ }, "strict", z.ZodTypeAny, {
126
+ role: string | null;
127
+ reason: string;
128
+ }, {
129
+ role: string | null;
130
+ reason: string;
131
+ }>;
132
+ export declare const deleteAuthUserBodySchema: z.ZodObject<{
133
+ reason: z.ZodString;
134
+ confirmation: z.ZodString;
135
+ }, "strict", z.ZodTypeAny, {
136
+ reason: string;
137
+ confirmation: string;
138
+ }, {
139
+ reason: string;
140
+ confirmation: string;
141
+ }>;
142
+ export declare function normalizeModuleConfig(input: Record<string, unknown>): NormalizedFirebaseAuthManagerConfig;
143
+ export declare function parseUsersQuery(query: Record<string, unknown>, configuredPageSize?: number): ParsedUsersQuery;
144
+ export declare function encodeUidToken(uid: string): string;
145
+ export declare function decodeUidToken(token: string): string;
146
+ export declare function hasPermission(context: Pick<FirebaseAuthManagerModuleContext, 'isAdmin' | 'permissions'>, permission: AuthManagerPermission): boolean;
147
+ export declare function canUseExactSearch(context: Pick<FirebaseAuthManagerModuleContext, 'isAdmin' | 'permissions'>, search: NonNullable<ParsedUsersQuery['search']>): boolean;
148
+ export declare function deletionConfirmationMatches(uid: string, confirmation: string): boolean;
149
+ export declare function maskEmail(value: string | null | undefined): string | null;
150
+ export declare function maskPhone(value: string | null | undefined): string | null;
151
+ export declare function redactAuditText(value: string): string;
152
+ export declare function serializeAuthUser(record: any, options: SerializeUserOptions): FirebaseAuthUser;
153
+ export declare function toAuditSnapshot(record: any | null, config: NormalizedFirebaseAuthManagerConfig): Record<string, unknown> | null;
154
+ export declare function buildMergedRoleClaims(existingClaims: Record<string, unknown> | undefined, roleClaimKey: string, role: string | null): Record<string, unknown>;
155
+ export declare function buildProfileDocument(record: any, config: NormalizedFirebaseAuthManagerConfig): Record<string, unknown>;
156
+ export declare function translateFirebaseError(error: unknown, fallback?: string): {
157
+ statusCode: number;
158
+ statusMessage: string;
159
+ };
160
+ export declare function canUseUidAsProfileDocumentId(uid: string): boolean;
161
+ export declare function createServerHandler(deps: ModuleHandlerDeps): import('h3').EventHandler<import('h3').EventHandlerRequest, any>;
162
+ export {};
@@ -0,0 +1,84 @@
1
+ export interface FirebaseAuthProfile {
2
+ enabled: boolean;
3
+ exists: boolean;
4
+ name: string | null;
5
+ email: string | null;
6
+ role: string | null;
7
+ status: string | null;
8
+ }
9
+ export interface FirebaseAuthUser {
10
+ uid: string;
11
+ displayName: string | null;
12
+ email: string | null;
13
+ phoneNumber: string | null;
14
+ photoURL: string | null;
15
+ emailVerified: boolean;
16
+ disabled: boolean;
17
+ providers: string[];
18
+ createdAt: string | null;
19
+ lastSignInAt: string | null;
20
+ lastRefreshAt: string | null;
21
+ mfaFactorCount: number;
22
+ role: string | null;
23
+ profile: FirebaseAuthProfile | null;
24
+ }
25
+ export interface FirebaseAuthManagerConfig {
26
+ project: string;
27
+ pageSize: number;
28
+ linkFirestoreProfiles: boolean;
29
+ profileCollection: string;
30
+ profileUidField: string;
31
+ profileNameField: string;
32
+ profileEmailField: string;
33
+ profileRoleField: string;
34
+ profileStatusField: string;
35
+ manageRoleClaim: boolean;
36
+ roleClaimKey: string;
37
+ roleOptions: string | string[];
38
+ }
39
+ export interface FirebaseAuthUserEnvelope {
40
+ user: FirebaseAuthUser;
41
+ auditRecorded?: boolean;
42
+ profileCreated?: boolean;
43
+ profileError?: string | null;
44
+ }
45
+ export interface FirebaseAuthUserListResponse {
46
+ users: FirebaseAuthUser[];
47
+ nextPageToken: string | null;
48
+ }
49
+ export type FirebaseAuthUserSearchKind = 'uid' | 'email' | 'phone';
50
+ export interface CreateFirebaseAuthUserInput {
51
+ email: string;
52
+ password: string;
53
+ uid?: string;
54
+ displayName?: string;
55
+ phoneNumber?: string;
56
+ emailVerified?: boolean;
57
+ disabled?: boolean;
58
+ createProfile?: boolean;
59
+ }
60
+ export interface UpdateFirebaseAuthUserInput {
61
+ reason: string;
62
+ displayName?: string | null;
63
+ email?: string;
64
+ phoneNumber?: string | null;
65
+ emailVerified?: boolean;
66
+ }
67
+ export type UserActionKind = 'status' | 'sessions' | 'mfa' | 'role' | 'profile';
68
+ export interface UserActionPresentation {
69
+ kind: UserActionKind;
70
+ title: string;
71
+ description: string;
72
+ confirmLabel: string;
73
+ destructive?: boolean;
74
+ }
75
+ export declare function getReadableError(error: unknown, fallback: string): string;
76
+ export declare function unwrapFirebaseAuthUser(response: FirebaseAuthUserEnvelope | FirebaseAuthUser): FirebaseAuthUser;
77
+ export declare function mutationAuditWasNotRecorded(response: unknown): boolean;
78
+ export declare function encodeFirebaseUid(uid: string): string;
79
+ export declare function decodeFirebaseUid(token: string): string;
80
+ export declare function firebaseAuthUserPath(uid: string): string;
81
+ export declare function parseRoleOptions(value: string | string[] | null | undefined): string[];
82
+ export declare function formatFirebaseDate(value: string | null | undefined): string;
83
+ export declare function formatProvider(provider: string): string;
84
+ export declare function getUserInitials(user: FirebaseAuthUser): string;
@@ -0,0 +1,12 @@
1
+ import { FormDefinition } from '../types';
2
+ type __VLS_Props = {
3
+ open: boolean;
4
+ name: string;
5
+ definition: FormDefinition;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
8
+ "update:open": (value: boolean) => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { FormStatus } from '../types';
2
+ type __VLS_Props = {
3
+ status: FormStatus;
4
+ hasUnpublishedChanges?: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ hasUnpublishedChanges: boolean;
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
9
+ export default _default;
@@ -0,0 +1,31 @@
1
+ import { ResolveConfig } from '@oneclick.dev/cms-kit';
2
+ export declare const config: {
3
+ readonly databaseIntegration: {
4
+ readonly label: "Firebase database";
5
+ readonly type: "resource";
6
+ readonly accept: ["FIREBASE"];
7
+ readonly required: true;
8
+ };
9
+ readonly formsCollection: {
10
+ readonly label: "Forms root collection";
11
+ readonly description: "Each Form Builder module gets an isolated namespace inside this Firestore collection.";
12
+ readonly type: "input";
13
+ readonly default: "studio_forms";
14
+ readonly required: true;
15
+ };
16
+ } & {
17
+ readonly databaseIntegration: {
18
+ readonly label: "Firebase database";
19
+ readonly type: "resource";
20
+ readonly accept: ["FIREBASE"];
21
+ readonly required: true;
22
+ };
23
+ readonly formsCollection: {
24
+ readonly label: "Forms root collection";
25
+ readonly description: "Each Form Builder module gets an isolated namespace inside this Firestore collection.";
26
+ readonly type: "input";
27
+ readonly default: "studio_forms";
28
+ readonly required: true;
29
+ };
30
+ };
31
+ export type ConfigValues = ResolveConfig<typeof config>;