@cmssy/types 0.5.1 → 0.5.2

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.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  export { FieldType, fieldTypeValues, type FieldValidation, type ValidationPattern, type ShowWhenCondition, type BaseFieldConfig, type SelectFieldConfig, type MultiselectFieldConfig, type RepeaterFieldConfig, type MediaFieldConfig, type SliderFieldConfig, type PageSelectorFieldConfig, type FieldConfig, } from "./block-fields.js";
8
8
  export { LayoutPosition, layoutPositionValues, LayoutOverrideAction, type LayoutOverride, } from "./layout.js";
9
9
  export { WorkspaceModule, workspaceModuleValues, FeatureFlag, featureFlagValues, type BlockRequires, } from "./modules.js";
10
- export { type BlockConfig, BlockSource, PackageType, } from "./block.js";
10
+ export { type BlockConfig, BlockSource, PackageType } from "./block.js";
11
+ export type { BlockMemberProfile, BlockMember, BlockAuthContext, BlockI18nContext, PlatformContext, BlockProps, } from "./platform-context.js";
11
12
  export { type TemplateBlockContent, type TemplateBlockInstance, type TemplatePageBlueprint, type TemplateLayoutPosition, type TemplateTheme, type TemplateConfig, type ResourceConfig, isTemplateConfig, } from "./template.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGxE,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export { LayoutPosition, layoutPositionValues, LayoutOverrideAction, } from "./l
11
11
  // Modules & features
12
12
  export { WorkspaceModule, workspaceModuleValues, FeatureFlag, featureFlagValues, } from "./modules.js";
13
13
  // Block config
14
- export { BlockSource, PackageType, } from "./block.js";
14
+ export { BlockSource, PackageType } from "./block.js";
15
15
  // Template config
16
16
  export { isTemplateConfig, } from "./template.js";
17
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EACL,SAAS,EACT,eAAe,GAYhB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,aAAa,CAAC;AAErB,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,iBAAiB,GAElB,MAAM,cAAc,CAAC;AAEtB,eAAe;AACf,OAAO,EAEL,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAClB,OAAO,EAQL,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EACL,SAAS,EACT,eAAe,GAYhB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,aAAa,CAAC;AAErB,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,iBAAiB,GAElB,MAAM,cAAc,CAAC;AAEtB,eAAe;AACf,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYxE,kBAAkB;AAClB,OAAO,EAQL,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Member profile data available to blocks
3
+ */
4
+ export interface BlockMemberProfile {
5
+ firstName?: string | null;
6
+ lastName?: string | null;
7
+ displayName?: string | null;
8
+ avatarUrl?: string | null;
9
+ phone?: string | null;
10
+ }
11
+ /**
12
+ * Member data available to blocks (simplified from SiteMember)
13
+ */
14
+ export interface BlockMember {
15
+ id: string;
16
+ email: string;
17
+ profile: BlockMemberProfile;
18
+ role: string;
19
+ isVerified: boolean;
20
+ }
21
+ /**
22
+ * Authentication context for blocks that need auth state
23
+ */
24
+ export interface BlockAuthContext {
25
+ /** Whether a member is currently logged in */
26
+ isAuthenticated: boolean;
27
+ /** Current member data (null if not authenticated) */
28
+ member: BlockMember | null;
29
+ /** Logout function - clears token and redirects */
30
+ logout: () => Promise<void>;
31
+ }
32
+ /**
33
+ * i18n context passed to blocks for language switching support.
34
+ * Blocks in cmssy-packages use this data to render their own language switchers.
35
+ */
36
+ export interface BlockI18nContext {
37
+ /** All languages enabled for this workspace */
38
+ enabledLanguages: string[];
39
+ /** The workspace default language (clean URLs, no prefix) */
40
+ defaultLanguage: string;
41
+ /** Currently active language resolved from URL */
42
+ currentLanguage: string;
43
+ }
44
+ /**
45
+ * Platform context passed to blocks.
46
+ * Blocks can declare which context features they need via block.config.ts `requires` field.
47
+ */
48
+ export interface PlatformContext {
49
+ /** Auth context - available when memberAuth is enabled in workspace */
50
+ auth?: BlockAuthContext;
51
+ /** Current language code (e.g., "en", "pl") */
52
+ language: string;
53
+ /** i18n context — available when workspace has multiple languages */
54
+ i18n?: BlockI18nContext;
55
+ /** Whether the page is being viewed in draft/preview mode */
56
+ isPreview?: boolean;
57
+ /** Workspace information */
58
+ workspace?: {
59
+ id: string;
60
+ name?: string;
61
+ };
62
+ /**
63
+ * Build a localized href for internal page links.
64
+ * Prepends the current language prefix when not the default language.
65
+ * Use this in blocks for all internal navigation links.
66
+ *
67
+ * @example
68
+ * <a href={context.localizeHref("/about")}>About</a>
69
+ * // default lang (en) → "/about"
70
+ * // non-default (pl) → "/pl/about"
71
+ */
72
+ localizeHref?: (href: string) => string;
73
+ }
74
+ /**
75
+ * Standard props interface for all blocks
76
+ */
77
+ export interface BlockProps<T = Record<string, unknown>> {
78
+ /** User-defined content from the page editor */
79
+ content: T;
80
+ /** Platform-provided context (auth, language, etc.) */
81
+ context?: PlatformContext | null;
82
+ }
83
+ //# sourceMappingURL=platform-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-context.d.ts","sourceRoot":"","sources":["../src/platform-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,mDAAmD;IACnD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,gDAAgD;IAChD,OAAO,EAAE,CAAC,CAAC;IACX,uDAAuD;IACvD,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-context.js","sourceRoot":"","sources":["../src/platform-context.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmssy/types",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Shared type definitions for Cmssy platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,6 +15,12 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "dev": "tsc --watch",
21
+ "typecheck": "tsc --noEmit",
22
+ "prepublishOnly": "npm run build"
23
+ },
18
24
  "repository": {
19
25
  "type": "git",
20
26
  "url": "git+https://github.com/cmssy-io/cmssy-types.git"
@@ -35,10 +41,5 @@
35
41
  },
36
42
  "publishConfig": {
37
43
  "access": "public"
38
- },
39
- "scripts": {
40
- "build": "tsc",
41
- "dev": "tsc --watch",
42
- "typecheck": "tsc --noEmit"
43
44
  }
44
- }
45
+ }