litecms 0.1.1 → 0.2.0

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 (40) hide show
  1. package/README.md +746 -7
  2. package/dist/admin/CmsAdminLanding.d.ts +89 -0
  3. package/dist/admin/CmsAdminLanding.d.ts.map +1 -0
  4. package/dist/admin/CmsAdminLayout.d.ts +26 -3
  5. package/dist/admin/CmsAdminLayout.d.ts.map +1 -1
  6. package/dist/admin/CmsAdminPage.d.ts.map +1 -1
  7. package/dist/admin/CmsBlogAdmin.d.ts +37 -0
  8. package/dist/admin/CmsBlogAdmin.d.ts.map +1 -0
  9. package/dist/admin/config.d.ts +32 -0
  10. package/dist/admin/config.d.ts.map +1 -1
  11. package/dist/admin/config.js +16 -0
  12. package/dist/admin/exports.d.ts +5 -2
  13. package/dist/admin/exports.d.ts.map +1 -1
  14. package/dist/admin/exports.js +1467 -30
  15. package/dist/admin/language.d.ts +53 -0
  16. package/dist/admin/language.d.ts.map +1 -0
  17. package/dist/components/CmsAutoForm.d.ts.map +1 -1
  18. package/dist/components/CmsForm.d.ts.map +1 -1
  19. package/dist/components/CmsImageField.d.ts +2 -1
  20. package/dist/components/CmsImageField.d.ts.map +1 -1
  21. package/dist/components/CmsImagePickerModal.d.ts +21 -0
  22. package/dist/components/CmsImagePickerModal.d.ts.map +1 -0
  23. package/dist/components/CmsSimpleForm.d.ts.map +1 -1
  24. package/dist/components/index.d.ts +1 -0
  25. package/dist/components/index.d.ts.map +1 -1
  26. package/dist/components/index.js +51 -190
  27. package/dist/index-c9btr14k.js +4422 -0
  28. package/dist/index-szreq4v9.js +12 -0
  29. package/dist/index-wmd953zf.js +11423 -0
  30. package/dist/index.js +6 -2
  31. package/dist/schema/index.js +2 -0
  32. package/dist/server/index.d.ts +301 -0
  33. package/dist/server/index.d.ts.map +1 -1
  34. package/dist/server/index.js +2585 -1
  35. package/dist/storage/index.js +2 -0
  36. package/package.json +13 -3
  37. package/dist/domain/index.d.ts +0 -1
  38. package/dist/domain/index.d.ts.map +0 -1
  39. package/dist/stores/index.d.ts +0 -1
  40. package/dist/stores/index.d.ts.map +0 -1
@@ -0,0 +1,53 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Supported languages for the CMS admin panel
4
+ */
5
+ export type CmsLanguage = 'en' | 'de';
6
+ /**
7
+ * Detect the preferred language from browser settings.
8
+ * Returns 'de' if browser language starts with 'de', otherwise 'en'.
9
+ */
10
+ export declare function detectBrowserLanguage(): CmsLanguage;
11
+ /**
12
+ * Get a translated string for the given key
13
+ */
14
+ export declare function translate(language: CmsLanguage, key: string): string;
15
+ /**
16
+ * Language context value
17
+ */
18
+ type LanguageContextValue = {
19
+ language: CmsLanguage;
20
+ setLanguage: (lang: CmsLanguage) => void;
21
+ t: (key: string) => string;
22
+ isLoading: boolean;
23
+ };
24
+ /**
25
+ * Props for the language provider
26
+ */
27
+ export type CmsLanguageProviderProps = {
28
+ /** API endpoint to fetch/save language preference */
29
+ languageEndpoint?: string;
30
+ /** Children */
31
+ children: React.ReactNode;
32
+ };
33
+ /**
34
+ * Language provider component.
35
+ * Wraps admin components and provides language context.
36
+ */
37
+ export declare function CmsLanguageProvider({ languageEndpoint, children, }: CmsLanguageProviderProps): import("react/jsx-runtime").JSX.Element;
38
+ /**
39
+ * Hook to access language context.
40
+ * Must be used within a CmsLanguageProvider.
41
+ */
42
+ export declare function useCmsLanguage(): LanguageContextValue;
43
+ /**
44
+ * Hook to access language context if available.
45
+ * Returns null if not within a CmsLanguageProvider (for backwards compatibility).
46
+ */
47
+ export declare function useCmsLanguageOptional(): LanguageContextValue | null;
48
+ /**
49
+ * Language selector component for the admin sidebar
50
+ */
51
+ export declare function CmsLanguageSelector(): import("react/jsx-runtime").JSX.Element;
52
+ export {};
53
+ //# sourceMappingURL=language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../src/admin/language.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AAgLtC;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAOnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,KAAK,oBAAoB,GAAG;IACxB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,gBAAwC,EACxC,QAAQ,GACX,EAAE,wBAAwB,2CA2E1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,CAQrD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,4CAkBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CmsAutoForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsAutoForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,WAAW,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAa5D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,IAAI;IACpD,4CAA4C;IAC5C,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,sCAAsC;IACtC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EACjD,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAW,EACX,UAA2B,EAC3B,iBAA+B,EAC/B,cAA6C,EAC7C,SAAS,GACZ,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CA+DrB"}
1
+ {"version":3,"file":"CmsAutoForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsAutoForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,WAAW,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAc5D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,IAAI;IACpD,4CAA4C;IAC5C,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,sCAAsC;IACtC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EACjD,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,SAAS,GACZ,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CAiFrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CmsForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGH,KAAK,WAAW,EAChB,KAAK,aAAa,EAErB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,WAAW,IAAI;IACxD,gCAAgC;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClC,kCAAkC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAClD,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,WAAW,SAAS,WAAW,EAAE,EACrD,MAAM,EACN,MAAM,EACN,aAAa,EACb,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAsB,GACzB,EAAE,YAAY,CAAC,WAAW,CAAC,2CAiF3B;AAED;;GAEG;AACH,wBAAgB,UAAU,wBAMzB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC5B,QAAiB,EACjB,SAAS,EACT,WAAyB,GAC5B,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,2CAQA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDAUjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC3B,QAAgC,EAChC,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,kDAUA"}
1
+ {"version":3,"file":"CmsForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGH,KAAK,WAAW,EAChB,KAAK,aAAa,EAErB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGjE,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,WAAW,IAAI;IACxD,gCAAgC;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAClC,kCAAkC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAClD,oBAAoB;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,WAAW,SAAS,WAAW,EAAE,EACrD,MAAM,EACN,MAAM,EACN,aAAa,EACb,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,cAAsB,GACzB,EAAE,YAAY,CAAC,WAAW,CAAC,2CAiF3B;AAED;;GAEG;AACH,wBAAgB,UAAU,wBAMzB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,WAAW,GACd,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,2CAuBA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDAUjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC3B,QAAQ,EACR,SAAS,GACZ,EAAE;IACC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,kDAuBA"}
@@ -27,7 +27,8 @@ export type CmsImageFieldProps<TFieldValues extends FieldValues = FieldValues> =
27
27
  };
28
28
  };
29
29
  /**
30
- * Image Field component.
30
+ * Image Field component for use within CmsForm.
31
+ * Provides image selection with upload and library browsing.
31
32
  */
32
33
  export declare function CmsImageField<TFieldValues extends FieldValues = FieldValues>({ name, label, helpText, required, disabled, accept, className, labelClassName, errorClassName, helpClassName, storage, }: CmsImageFieldProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
33
34
  //# sourceMappingURL=CmsImageField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CmsImageField.d.ts","sourceRoot":"","sources":["../../src/components/CmsImageField.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,WAAW,EACnB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,IACzE;IACI,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAUN;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,MAAkB,EAClB,SAAuB,EACvB,cAAc,EACd,cAAc,EACd,aAAa,EACb,OAAO,GACV,EAAE,kBAAkB,CAAC,YAAY,CAAC,2CAkIlC"}
1
+ {"version":3,"file":"CmsImageField.d.ts","sourceRoot":"","sources":["../../src/components/CmsImageField.tsx"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,WAAW,EACnB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,IACzE;IACI,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACL,CAAC;AAUN;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,EAC1E,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,MAAkB,EAClB,SAAuB,EACvB,cAAc,EACd,cAAc,EACd,aAAa,EACb,OAAO,GACV,EAAE,kBAAkB,CAAC,YAAY,CAAC,2CA+IlC"}
@@ -0,0 +1,21 @@
1
+ export type CmsImagePickerModalProps = {
2
+ /** Storage configuration for image uploads */
3
+ storage?: {
4
+ uploadEndpoint: string;
5
+ listEndpoint?: string;
6
+ };
7
+ /** Accepted file types (default: 'image/*') */
8
+ accept?: string;
9
+ /** Callback when an image is selected */
10
+ onSelect: (url: string) => void;
11
+ /** Callback to close the modal */
12
+ onClose: () => void;
13
+ /** Currently selected image URL */
14
+ currentValue?: string;
15
+ };
16
+ /**
17
+ * Standalone Image Picker Modal - can be used without form context.
18
+ * Supports drag-and-drop upload, bulk upload, and browsing image library.
19
+ */
20
+ export declare function CmsImagePickerModal({ storage, accept, onSelect, onClose, currentValue, }: CmsImagePickerModalProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=CmsImagePickerModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmsImagePickerModal.d.ts","sourceRoot":"","sources":["../../src/components/CmsImagePickerModal.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,wBAAwB,GAAG;IACnC,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACN,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,OAAO,EACP,MAAkB,EAClB,QAAQ,EACR,OAAO,EACP,YAAY,GACf,EAAE,wBAAwB,2CAgY1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"CmsSimpleForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsSimpleForm.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAkB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAS/E,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,MAAW,EACX,MAAW,EACX,UAAmB,EACnB,iBAA+B,EAC/B,cAAgC,EAChC,OAAO,GACV,EAAE,kBAAkB,2CA0KpB"}
1
+ {"version":3,"file":"CmsSimpleForm.d.ts","sourceRoot":"","sources":["../../src/components/CmsSimpleForm.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAkB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAU/E,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,+BAA+B;IAC/B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,sCAAsC;IACtC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,MAAW,EACX,MAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,OAAO,GACV,EAAE,kBAAkB,2CA+LpB"}
@@ -3,6 +3,7 @@ import type { FieldInfo } from '../schema';
3
3
  export { CmsForm, useCmsForm, CmsSubmitButton, CmsFormError, CmsFormSuccess, type CmsFormProps, } from './CmsForm';
4
4
  export { CmsField, CmsHiddenField, CmsCheckbox, type CmsFieldProps, } from './CmsField';
5
5
  export { CmsImageField, type CmsImageFieldProps, } from './CmsImageField';
6
+ export { CmsImagePickerModal, type CmsImagePickerModalProps, } from './CmsImagePickerModal';
6
7
  export { CmsAutoForm, type CmsAutoFormProps, type CmsAutoFormStyles } from './CmsAutoForm';
7
8
  export type ServerAction<T> = (prevState: ActionState<T>, formData: FormData) => Promise<ActionState<T>>;
8
9
  export type FieldGroupData = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACH,OAAO,EACP,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,KAAK,YAAY,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,QAAQ,EACR,cAAc,EACd,WAAW,EACX,KAAK,aAAa,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3F,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC1B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,QAAQ,KACjB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACH,OAAO,EACP,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,KAAK,YAAY,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACH,QAAQ,EACR,cAAc,EACd,WAAW,EACX,KAAK,aAAa,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,mBAAmB,EACnB,KAAK,wBAAwB,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3F,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAC1B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,QAAQ,KACjB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC"}
@@ -4,16 +4,24 @@ import {
4
4
  CmsField,
5
5
  CmsHiddenField,
6
6
  CmsImageField,
7
+ CmsImagePickerModal,
7
8
  FormProvider,
8
9
  appendErrors,
9
10
  get,
10
11
  groupFields,
11
12
  set,
13
+ useCmsLanguageOptional,
12
14
  useForm
13
- } from "../index-pmb5m3ek.js";
15
+ } from "../index-c9btr14k.js";
16
+ import {
17
+ $ZodError,
18
+ parse,
19
+ parseAsync
20
+ } from "../index-wmd953zf.js";
14
21
  import {
15
22
  getEditableFields
16
23
  } from "../schema/index.js";
24
+ import"../index-szreq4v9.js";
17
25
 
18
26
  // src/components/CmsForm.tsx
19
27
  import * as React from "react";
@@ -52,184 +60,6 @@ function n(e) {
52
60
  return e.replace(/\]|\[/g, "");
53
61
  }
54
62
 
55
- // node_modules/zod/v4/core/core.js
56
- var NEVER = Object.freeze({
57
- status: "aborted"
58
- });
59
- function $constructor(name, initializer, params) {
60
- function init(inst, def) {
61
- if (!inst._zod) {
62
- Object.defineProperty(inst, "_zod", {
63
- value: {
64
- def,
65
- constr: _,
66
- traits: new Set
67
- },
68
- enumerable: false
69
- });
70
- }
71
- if (inst._zod.traits.has(name)) {
72
- return;
73
- }
74
- inst._zod.traits.add(name);
75
- initializer(inst, def);
76
- const proto = _.prototype;
77
- const keys = Object.keys(proto);
78
- for (let i2 = 0;i2 < keys.length; i2++) {
79
- const k = keys[i2];
80
- if (!(k in inst)) {
81
- inst[k] = proto[k].bind(inst);
82
- }
83
- }
84
- }
85
- const Parent = params?.Parent ?? Object;
86
-
87
- class Definition extends Parent {
88
- }
89
- Object.defineProperty(Definition, "name", { value: name });
90
- function _(def) {
91
- var _a;
92
- const inst = params?.Parent ? new Definition : this;
93
- init(inst, def);
94
- (_a = inst._zod).deferred ?? (_a.deferred = []);
95
- for (const fn of inst._zod.deferred) {
96
- fn();
97
- }
98
- return inst;
99
- }
100
- Object.defineProperty(_, "init", { value: init });
101
- Object.defineProperty(_, Symbol.hasInstance, {
102
- value: (inst) => {
103
- if (params?.Parent && inst instanceof params.Parent)
104
- return true;
105
- return inst?._zod?.traits?.has(name);
106
- }
107
- });
108
- Object.defineProperty(_, "name", { value: name });
109
- return _;
110
- }
111
- var $brand = Symbol("zod_brand");
112
-
113
- class $ZodAsyncError extends Error {
114
- constructor() {
115
- super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
116
- }
117
- }
118
- var globalConfig = {};
119
- function config(newConfig) {
120
- if (newConfig)
121
- Object.assign(globalConfig, newConfig);
122
- return globalConfig;
123
- }
124
-
125
- // node_modules/zod/v4/core/util.js
126
- function jsonStringifyReplacer(_, value) {
127
- if (typeof value === "bigint")
128
- return value.toString();
129
- return value;
130
- }
131
- function cached(getter) {
132
- const set2 = false;
133
- return {
134
- get value() {
135
- if (!set2) {
136
- const value = getter();
137
- Object.defineProperty(this, "value", { value });
138
- return value;
139
- }
140
- throw new Error("cached value already set");
141
- }
142
- };
143
- }
144
- var EVALUATING = Symbol("evaluating");
145
- var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {};
146
- var allowsEval = cached(() => {
147
- if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
148
- return false;
149
- }
150
- try {
151
- const F = Function;
152
- new F("");
153
- return true;
154
- } catch (_) {
155
- return false;
156
- }
157
- });
158
- var propertyKeyTypes = new Set(["string", "number", "symbol"]);
159
- var primitiveTypes = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
160
- var NUMBER_FORMAT_RANGES = {
161
- safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
162
- int32: [-2147483648, 2147483647],
163
- uint32: [0, 4294967295],
164
- float32: [-340282346638528860000000000000000000000, 340282346638528860000000000000000000000],
165
- float64: [-Number.MAX_VALUE, Number.MAX_VALUE]
166
- };
167
- function unwrapMessage(message) {
168
- return typeof message === "string" ? message : message?.message;
169
- }
170
- function finalizeIssue(iss, ctx, config2) {
171
- const full = { ...iss, path: iss.path ?? [] };
172
- if (!iss.message) {
173
- const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ?? unwrapMessage(ctx?.error?.(iss)) ?? unwrapMessage(config2.customError?.(iss)) ?? unwrapMessage(config2.localeError?.(iss)) ?? "Invalid input";
174
- full.message = message;
175
- }
176
- delete full.inst;
177
- delete full.continue;
178
- if (!ctx?.reportInput) {
179
- delete full.input;
180
- }
181
- return full;
182
- }
183
-
184
- // node_modules/zod/v4/core/errors.js
185
- var initializer = (inst, def) => {
186
- inst.name = "$ZodError";
187
- Object.defineProperty(inst, "_zod", {
188
- value: inst._zod,
189
- enumerable: false
190
- });
191
- Object.defineProperty(inst, "issues", {
192
- value: def,
193
- enumerable: false
194
- });
195
- inst.message = JSON.stringify(def, jsonStringifyReplacer, 2);
196
- Object.defineProperty(inst, "toString", {
197
- value: () => inst.message,
198
- enumerable: false
199
- });
200
- };
201
- var $ZodError = $constructor("$ZodError", initializer);
202
- var $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
203
-
204
- // node_modules/zod/v4/core/parse.js
205
- var _parse = (_Err) => (schema, value, _ctx, _params) => {
206
- const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
207
- const result = schema._zod.run({ value, issues: [] }, ctx);
208
- if (result instanceof Promise) {
209
- throw new $ZodAsyncError;
210
- }
211
- if (result.issues.length) {
212
- const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
213
- captureStackTrace(e, _params?.callee);
214
- throw e;
215
- }
216
- return result.value;
217
- };
218
- var parse = /* @__PURE__ */ _parse($ZodRealError);
219
- var _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
220
- const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
221
- let result = schema._zod.run({ value, issues: [] }, ctx);
222
- if (result instanceof Promise)
223
- result = await result;
224
- if (result.issues.length) {
225
- const e = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
226
- captureStackTrace(e, params?.callee);
227
- throw e;
228
- }
229
- return result.value;
230
- };
231
- var parseAsync = /* @__PURE__ */ _parseAsync($ZodRealError);
232
-
233
63
  // node_modules/@hookform/resolvers/zod/dist/zod.mjs
234
64
  function t(r2, e) {
235
65
  try {
@@ -413,16 +243,26 @@ function useCmsForm() {
413
243
  return context;
414
244
  }
415
245
  function CmsSubmitButton({
416
- children = "Save",
246
+ children,
417
247
  className,
418
- pendingText = "Saving..."
248
+ pendingText
419
249
  }) {
420
250
  const { isPending } = useCmsForm();
251
+ const langContext = useCmsLanguageOptional();
252
+ const t2 = langContext?.t ?? ((key) => {
253
+ const fallback = {
254
+ save: "Save",
255
+ saving: "Saving..."
256
+ };
257
+ return fallback[key] ?? key;
258
+ });
259
+ const resolvedChildren = children ?? t2("save");
260
+ const resolvedPendingText = pendingText ?? t2("saving");
421
261
  return /* @__PURE__ */ jsxDEV("button", {
422
262
  type: "submit",
423
263
  disabled: isPending,
424
264
  className,
425
- children: isPending ? pendingText : children
265
+ children: isPending ? resolvedPendingText : resolvedChildren
426
266
  }, undefined, false, undefined, this);
427
267
  }
428
268
  function CmsFormError({ className }) {
@@ -436,16 +276,24 @@ function CmsFormError({ className }) {
436
276
  }, undefined, false, undefined, this);
437
277
  }
438
278
  function CmsFormSuccess({
439
- children = "Saved successfully!",
279
+ children,
440
280
  className
441
281
  }) {
442
282
  const { showSuccess } = useCmsForm();
283
+ const langContext = useCmsLanguageOptional();
284
+ const t2 = langContext?.t ?? ((key) => {
285
+ const fallback = {
286
+ savedSuccessfully: "Saved successfully!"
287
+ };
288
+ return fallback[key] ?? key;
289
+ });
290
+ const resolvedChildren = children ?? t2("savedSuccessfully");
443
291
  if (!showSuccess)
444
292
  return null;
445
293
  return /* @__PURE__ */ jsxDEV("div", {
446
294
  role: "status",
447
295
  className,
448
- children
296
+ children: resolvedChildren
449
297
  }, undefined, false, undefined, this);
450
298
  }
451
299
  // src/components/CmsAutoForm.tsx
@@ -455,11 +303,23 @@ function CmsAutoForm({
455
303
  action,
456
304
  values,
457
305
  styles = {},
458
- submitText = "Save changes",
459
- submitPendingText = "Saving...",
460
- successMessage = "Changes saved successfully",
306
+ submitText,
307
+ submitPendingText,
308
+ successMessage,
461
309
  onSuccess
462
310
  }) {
311
+ const langContext = useCmsLanguageOptional();
312
+ const t2 = langContext?.t ?? ((key) => {
313
+ const fallback = {
314
+ saveChanges: "Save changes",
315
+ saving: "Saving...",
316
+ changesSaved: "Changes saved successfully"
317
+ };
318
+ return fallback[key] ?? key;
319
+ });
320
+ const resolvedSubmitText = submitText ?? t2("saveChanges");
321
+ const resolvedSubmitPendingText = submitPendingText ?? t2("saving");
322
+ const resolvedSuccessMessage = successMessage ?? t2("changesSaved");
463
323
  const editableFields = getEditableFields(definition);
464
324
  const defaultValues = { ...definition.defaults, ...values };
465
325
  const groupedFields = groupFields(editableFields);
@@ -483,7 +343,7 @@ function CmsAutoForm({
483
343
  }, undefined, false, undefined, this),
484
344
  /* @__PURE__ */ jsxDEV2(CmsFormSuccess, {
485
345
  className: styles.formSuccess ?? "flex items-center gap-3 rounded-lg px-4 py-3 text-sm",
486
- children: successMessage
346
+ children: resolvedSuccessMessage
487
347
  }, undefined, false, undefined, this)
488
348
  ]
489
349
  }, undefined, true, undefined, this),
@@ -494,8 +354,8 @@ function CmsAutoForm({
494
354
  },
495
355
  children: /* @__PURE__ */ jsxDEV2(CmsSubmitButton, {
496
356
  className: styles.submitButton ?? "inline-flex h-9 items-center justify-center gap-2 rounded-lg px-6 py-2 text-sm font-medium text-white transition-all duration-180 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
497
- pendingText: submitPendingText,
498
- children: submitText
357
+ pendingText: resolvedSubmitPendingText,
358
+ children: resolvedSubmitText
499
359
  }, undefined, false, undefined, this)
500
360
  }, undefined, false, undefined, this)
501
361
  ]
@@ -608,6 +468,7 @@ function AutoField({
608
468
  export {
609
469
  useCmsForm,
610
470
  CmsSubmitButton,
471
+ CmsImagePickerModal,
611
472
  CmsImageField,
612
473
  CmsHiddenField,
613
474
  CmsFormSuccess,