@firecms/core 3.3.0-canary.7e3431b → 3.3.0-canary.9452021

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -826,8 +826,13 @@
826
826
  ...a,
827
827
  ...b
828
828
  }), {});
829
+ const {
830
+ properties: overrideProps,
831
+ ...restOverrides
832
+ } = collectionOverride ?? {};
829
833
  return {
830
834
  ...collection,
835
+ ...restOverrides,
831
836
  properties: cleanedProperties,
832
837
  originalCollection: collection
833
838
  };
@@ -20892,7 +20897,7 @@
20892
20897
  return t5;
20893
20898
  }
20894
20899
  function NavigationCardBinding(t0) {
20895
- const $ = reactCompilerRuntime.c(35);
20900
+ const $ = reactCompilerRuntime.c(38);
20896
20901
  const {
20897
20902
  path,
20898
20903
  collection,
@@ -20905,6 +20910,9 @@
20905
20910
  shrink
20906
20911
  } = t0;
20907
20912
  const userConfigurationPersistence = useUserConfigurationPersistence();
20913
+ const {
20914
+ t
20915
+ } = useTranslation();
20908
20916
  const t1 = collection ?? view;
20909
20917
  let t2;
20910
20918
  if ($[0] !== t1) {
@@ -20977,51 +20985,61 @@
20977
20985
  t5 = $[13];
20978
20986
  }
20979
20987
  const actions = t5;
20988
+ let t6;
20989
+ if ($[18] !== name || $[19] !== t) {
20990
+ t6 = t(name);
20991
+ $[18] = name;
20992
+ $[19] = t;
20993
+ $[20] = t6;
20994
+ } else {
20995
+ t6 = $[20];
20996
+ }
20997
+ const translatedName = t6;
20980
20998
  if (type === "admin") {
20981
- let t62;
20982
- if ($[18] !== collectionIcon || $[19] !== name || $[20] !== url) {
20983
- t62 = /* @__PURE__ */ jsxRuntime.jsx(SmallNavigationCard, { icon: collectionIcon, name, url });
20984
- $[18] = collectionIcon;
20985
- $[19] = name;
20986
- $[20] = url;
20987
- $[21] = t62;
20999
+ let t72;
21000
+ if ($[21] !== collectionIcon || $[22] !== translatedName || $[23] !== url) {
21001
+ t72 = /* @__PURE__ */ jsxRuntime.jsx(SmallNavigationCard, { icon: collectionIcon, name: translatedName, url });
21002
+ $[21] = collectionIcon;
21003
+ $[22] = translatedName;
21004
+ $[23] = url;
21005
+ $[24] = t72;
20988
21006
  } else {
20989
- t62 = $[21];
21007
+ t72 = $[24];
20990
21008
  }
20991
- return t62;
21009
+ return t72;
20992
21010
  }
20993
- let t6;
20994
- if ($[22] !== navigate || $[23] !== onClick || $[24] !== path || $[25] !== url || $[26] !== userConfigurationPersistence) {
20995
- t6 = () => {
21011
+ let t7;
21012
+ if ($[25] !== navigate || $[26] !== onClick || $[27] !== path || $[28] !== url || $[29] !== userConfigurationPersistence) {
21013
+ t7 = () => {
20996
21014
  onClick?.();
20997
21015
  navigate(url);
20998
21016
  if (userConfigurationPersistence) {
20999
21017
  userConfigurationPersistence.setRecentlyVisitedPaths([path, ...(userConfigurationPersistence.recentlyVisitedPaths ?? []).filter((p_0) => p_0 !== path)]);
21000
21018
  }
21001
21019
  };
21002
- $[22] = navigate;
21003
- $[23] = onClick;
21004
- $[24] = path;
21005
- $[25] = url;
21006
- $[26] = userConfigurationPersistence;
21007
- $[27] = t6;
21020
+ $[25] = navigate;
21021
+ $[26] = onClick;
21022
+ $[27] = path;
21023
+ $[28] = url;
21024
+ $[29] = userConfigurationPersistence;
21025
+ $[30] = t7;
21008
21026
  } else {
21009
- t6 = $[27];
21027
+ t7 = $[30];
21010
21028
  }
21011
- let t7;
21012
- if ($[28] !== actions || $[29] !== collectionIcon || $[30] !== description || $[31] !== name || $[32] !== shrink || $[33] !== t6) {
21013
- t7 = /* @__PURE__ */ jsxRuntime.jsx(NavigationCard, { icon: collectionIcon, name, description, actions, onClick: t6, shrink });
21014
- $[28] = actions;
21015
- $[29] = collectionIcon;
21016
- $[30] = description;
21017
- $[31] = name;
21018
- $[32] = shrink;
21019
- $[33] = t6;
21020
- $[34] = t7;
21029
+ let t8;
21030
+ if ($[31] !== actions || $[32] !== collectionIcon || $[33] !== description || $[34] !== shrink || $[35] !== t7 || $[36] !== translatedName) {
21031
+ t8 = /* @__PURE__ */ jsxRuntime.jsx(NavigationCard, { icon: collectionIcon, name: translatedName, description, actions, onClick: t7, shrink });
21032
+ $[31] = actions;
21033
+ $[32] = collectionIcon;
21034
+ $[33] = description;
21035
+ $[34] = shrink;
21036
+ $[35] = t7;
21037
+ $[36] = translatedName;
21038
+ $[37] = t8;
21021
21039
  } else {
21022
- t7 = $[34];
21040
+ t8 = $[37];
21023
21041
  }
21024
- return t7;
21042
+ return t8;
21025
21043
  }
21026
21044
  const animateLayoutChanges = (args) => sortable.defaultAnimateLayoutChanges({
21027
21045
  ...args,
@@ -25500,7 +25518,12 @@
25500
25518
  const scrollRestoration = useScrollRestoration();
25501
25519
  const collection = React.useMemo(() => {
25502
25520
  const userOverride = userConfigPersistence?.getCollectionConfig(fullPath);
25503
- return userOverride ? mergeDeep(collectionProp, userOverride) : collectionProp;
25521
+ if (!userOverride) return collectionProp;
25522
+ const {
25523
+ properties,
25524
+ ...rest
25525
+ } = userOverride;
25526
+ return mergeDeep(collectionProp, rest);
25504
25527
  }, [collectionProp, fullPath, userConfigPersistence?.getCollectionConfig]);
25505
25528
  const openEntityMode = collection?.openEntityMode ?? DEFAULT_ENTITY_OPEN_MODE;
25506
25529
  const collectionRef = React.useRef(collection);
@@ -25754,11 +25777,12 @@
25754
25777
  collection,
25755
25778
  path: fullPath,
25756
25779
  propertyConfigs: customizationController.propertyConfigs,
25757
- authController
25758
- }), [collection, fullPath]);
25780
+ authController,
25781
+ userConfigPersistence
25782
+ }), [collection, fullPath, userConfigPersistence]);
25759
25783
  const hasEnumProperty = React.useMemo(() => {
25760
- const properties = resolvedCollection.properties;
25761
- return Object.values(properties).some((prop) => prop && prop.dataType === "string" && prop.enumValues);
25784
+ const properties_0 = resolvedCollection.properties;
25785
+ return Object.values(properties_0).some((prop) => prop && prop.dataType === "string" && prop.enumValues);
25762
25786
  }, [resolvedCollection.properties]);
25763
25787
  const enabledViews = React.useMemo(() => {
25764
25788
  const configured = collection.enabledViews ?? ["table", "cards", "kanban"];
@@ -25769,8 +25793,8 @@
25769
25793
  }, [collection.enabledViews, hasEnumProperty]);
25770
25794
  const kanbanPropertyOptions = React.useMemo(() => {
25771
25795
  const options = [];
25772
- const properties_0 = resolvedCollection.properties;
25773
- for (const [key_0, property_0] of Object.entries(properties_0)) {
25796
+ const properties_1 = resolvedCollection.properties;
25797
+ for (const [key_0, property_0] of Object.entries(properties_1)) {
25774
25798
  const prop_0 = property_0;
25775
25799
  if (prop_0 && prop_0.dataType === "string" && prop_0.enumValues) {
25776
25800
  options.push({
@@ -28073,7 +28097,14 @@
28073
28097
  if (!collections_0) return void 0;
28074
28098
  const baseCollection = getCollectionByPathOrId(removeInitialAndTrailingSlashes(idOrPath), collections_0);
28075
28099
  const userOverride = includeUserOverride ? userConfigPersistence?.getCollectionConfig(idOrPath) : void 0;
28076
- const overriddenCollection = baseCollection ? mergeDeep(baseCollection, userOverride ?? {}) : void 0;
28100
+ let overriddenCollection = baseCollection;
28101
+ if (baseCollection && userOverride) {
28102
+ const {
28103
+ properties,
28104
+ ...rest
28105
+ } = userOverride;
28106
+ overriddenCollection = mergeDeep(baseCollection, rest);
28107
+ }
28077
28108
  let result = overriddenCollection;
28078
28109
  if (overriddenCollection) {
28079
28110
  const subcollections = overriddenCollection.subcollections;
@@ -33045,8 +33076,8 @@
33045
33076
  cms_users: "CMS Users",
33046
33077
  roles_menu: "Roles",
33047
33078
  project_settings: "Project settings",
33048
- firestore_explorer: "Firestore Explorer",
33049
- explore_your_firestore_data: "Explore your Firestore data",
33079
+ firestore_manager: "Firestore Manager",
33080
+ manage_your_firestore_data: "Manage your Firestore data",
33050
33081
  // ─── FireCMS Cloud Login ──────────────────────────────────────
33051
33082
  build_admin_panel_in_minutes: "Build Your Firebase Admin Panel in Minutes",
33052
33083
  go_live_instantly: "Go live instantly:",
@@ -33716,8 +33747,8 @@
33716
33747
  cms_users: "Usuarios del CMS",
33717
33748
  roles_menu: "Roles",
33718
33749
  project_settings: "Ajustes del proyecto",
33719
- firestore_explorer: "Explorador de Firestore",
33720
- explore_your_firestore_data: "Explora tus datos de Firestore",
33750
+ firestore_manager: "Gestor de Firestore",
33751
+ manage_your_firestore_data: "Gestiona tus datos de Firestore",
33721
33752
  // ─── FireCMS Cloud Login ──────────────────────────────────────
33722
33753
  build_admin_panel_in_minutes: "Crea tu panel de administración de Firebase en minutos",
33723
33754
  go_live_instantly: "En vivo al instante:",
@@ -34387,8 +34418,8 @@
34387
34418
  cms_users: "CMS-Benutzer",
34388
34419
  roles_menu: "Rollen",
34389
34420
  project_settings: "Projekteinstellungen",
34390
- firestore_explorer: "Firestore-Explorer",
34391
- explore_your_firestore_data: "Deine Firestore-Daten durchsuchen",
34421
+ firestore_manager: "Firestore-Manager",
34422
+ manage_your_firestore_data: "Deine Firestore-Daten verwalten",
34392
34423
  // ─── FireCMS Cloud Login ──────────────────────────────────────
34393
34424
  build_admin_panel_in_minutes: "Erstellen Sie Ihr Firebase Admin Panel in wenigen Minuten",
34394
34425
  go_live_instantly: "Sofort live gehen:",
@@ -35056,8 +35087,8 @@
35056
35087
  cms_users: "Utilisateurs du CMS",
35057
35088
  roles_menu: "Rôles",
35058
35089
  project_settings: "Paramètres du projet",
35059
- firestore_explorer: "Explorateur Firestore",
35060
- explore_your_firestore_data: "Explorez vos données Firestore",
35090
+ firestore_manager: "Gestionnaire Firestore",
35091
+ manage_your_firestore_data: "Gérez vos données Firestore",
35061
35092
  // ─── FireCMS Cloud Login ──────────────────────────────────────
35062
35093
  build_admin_panel_in_minutes: "Créez votre panneau d'administration Firebase en quelques minutes",
35063
35094
  go_live_instantly: "Mise en ligne immédiate :",
@@ -35725,8 +35756,8 @@
35725
35756
  cms_users: "Utenti CMS",
35726
35757
  roles_menu: "Ruoli",
35727
35758
  project_settings: "Impostazioni del progetto",
35728
- firestore_explorer: "Esplora Firestore",
35729
- explore_your_firestore_data: "Esplora i tuoi dati Firestore",
35759
+ firestore_manager: "Gestore Firestore",
35760
+ manage_your_firestore_data: "Gestisci i tuoi dati Firestore",
35730
35761
  // ─── FireCMS Cloud Login ──────────────────────────────────────
35731
35762
  build_admin_panel_in_minutes: "Crea il tuo pannello di amministrazione Firebase in pochi minuti",
35732
35763
  go_live_instantly: "Online in un istante:",
@@ -36394,8 +36425,8 @@
36394
36425
  cms_users: "CMS उपयोगकर्ता",
36395
36426
  roles_menu: "भूमिकाएँ",
36396
36427
  project_settings: "परियोजना सेटिंग",
36397
- firestore_explorer: "Firestore एक्सप्लोरर",
36398
- explore_your_firestore_data: "अपने Firestore डेटा का अन्वेषण करें",
36428
+ firestore_manager: "Firestore मैनेजर",
36429
+ manage_your_firestore_data: "अपने Firestore डेटा का प्रबंधन करें",
36399
36430
  // ─── FireCMS Cloud Login ──────────────────────────────────────
36400
36431
  build_admin_panel_in_minutes: "मिनटों में अपना Firebase एडमिन पैनल बनाएं",
36401
36432
  go_live_instantly: "तुरंत लाइव जाएं:",
@@ -37063,8 +37094,8 @@
37063
37094
  cms_users: "Utilizadores do CMS",
37064
37095
  roles_menu: "Funções",
37065
37096
  project_settings: "Definições do projeto",
37066
- firestore_explorer: "Explorador do Firestore",
37067
- explore_your_firestore_data: "Explore os seus dados do Firestore",
37097
+ firestore_manager: "Gerenciador do Firestore",
37098
+ manage_your_firestore_data: "Gerencie os seus dados do Firestore",
37068
37099
  // ─── FireCMS Cloud Login ──────────────────────────────────────
37069
37100
  build_admin_panel_in_minutes: "Construa o Seu Painel de Administração Firebase em Minutos",
37070
37101
  go_live_instantly: "Entre em produção instantaneamente:",