@antlur/backstage 1.0.10 → 1.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.
- package/dist/cjs/client.js +18 -5
- package/dist/cjs/endpoints/alerts.js +8 -5
- package/dist/cjs/endpoints/base.js +9 -0
- package/dist/cjs/endpoints/events.js +16 -18
- package/dist/cjs/endpoints/locations.js +21 -19
- package/dist/cjs/endpoints/menus.js +23 -22
- package/dist/cjs/endpoints/navigation.js +26 -25
- package/dist/cjs/endpoints/pages.js +20 -20
- package/dist/cjs/endpoints/press.js +8 -5
- package/dist/cjs/endpoints/website.js +8 -5
- package/dist/cjs/studio/define-block.js +6 -0
- package/dist/cjs/studio/define-field.js +6 -0
- package/dist/cjs/studio/define-schema.js +6 -0
- package/dist/cjs/studio/index.js +20 -0
- package/dist/cjs/studio/types/block.js +2 -0
- package/dist/cjs/studio/types/field-values.js +2 -0
- package/dist/cjs/studio/types/field.js +2 -0
- package/dist/cjs/studio/types/index.js +19 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/esm/client.d.ts +16 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +17 -3
- package/dist/esm/config.d.ts +2 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/endpoints/alerts.d.ts +4 -1
- package/dist/esm/endpoints/alerts.d.ts.map +1 -1
- package/dist/esm/endpoints/alerts.js +6 -4
- package/dist/esm/endpoints/base.d.ts +6 -0
- package/dist/esm/endpoints/base.d.ts.map +1 -0
- package/dist/esm/endpoints/base.js +5 -0
- package/dist/esm/endpoints/events.d.ts +6 -3
- package/dist/esm/endpoints/events.d.ts.map +1 -1
- package/dist/esm/endpoints/events.js +14 -15
- package/dist/esm/endpoints/locations.d.ts +5 -2
- package/dist/esm/endpoints/locations.d.ts.map +1 -1
- package/dist/esm/endpoints/locations.js +19 -17
- package/dist/esm/endpoints/menus.d.ts +6 -3
- package/dist/esm/endpoints/menus.d.ts.map +1 -1
- package/dist/esm/endpoints/menus.js +21 -19
- package/dist/esm/endpoints/navigation.d.ts +6 -3
- package/dist/esm/endpoints/navigation.d.ts.map +1 -1
- package/dist/esm/endpoints/navigation.js +24 -22
- package/dist/esm/endpoints/pages.d.ts +8 -5
- package/dist/esm/endpoints/pages.d.ts.map +1 -1
- package/dist/esm/endpoints/pages.js +18 -16
- package/dist/esm/endpoints/press.d.ts +4 -1
- package/dist/esm/endpoints/press.d.ts.map +1 -1
- package/dist/esm/endpoints/press.js +6 -4
- package/dist/esm/endpoints/website.d.ts +4 -1
- package/dist/esm/endpoints/website.d.ts.map +1 -1
- package/dist/esm/endpoints/website.js +6 -4
- package/dist/esm/studio/define-block.d.ts +11 -0
- package/dist/esm/studio/define-block.d.ts.map +1 -0
- package/dist/esm/studio/define-block.js +3 -0
- package/dist/esm/studio/define-field.d.ts +3 -0
- package/dist/esm/studio/define-field.d.ts.map +1 -0
- package/dist/esm/studio/define-field.js +3 -0
- package/dist/esm/studio/define-schema.d.ts +3 -0
- package/dist/esm/studio/define-schema.d.ts.map +1 -0
- package/dist/esm/studio/define-schema.js +3 -0
- package/dist/esm/studio/index.d.ts +5 -0
- package/dist/esm/studio/index.d.ts.map +1 -0
- package/dist/esm/studio/index.js +4 -0
- package/dist/esm/studio/types/block.d.ts +25 -0
- package/dist/esm/studio/types/block.d.ts.map +1 -0
- package/dist/esm/studio/types/block.js +1 -0
- package/dist/esm/studio/types/field-values.d.ts +8 -0
- package/dist/esm/studio/types/field-values.d.ts.map +1 -0
- package/dist/esm/studio/types/field-values.js +1 -0
- package/dist/esm/studio/types/field.d.ts +14 -0
- package/dist/esm/studio/types/field.d.ts.map +1 -0
- package/dist/esm/studio/types/field.js +1 -0
- package/dist/esm/studio/types/index.d.ts +4 -0
- package/dist/esm/studio/types/index.d.ts.map +1 -0
- package/dist/esm/studio/types/index.js +3 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/types/client.d.ts +16 -1
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/endpoints/alerts.d.ts +4 -1
- package/dist/types/endpoints/alerts.d.ts.map +1 -1
- package/dist/types/endpoints/base.d.ts +6 -0
- package/dist/types/endpoints/base.d.ts.map +1 -0
- package/dist/types/endpoints/events.d.ts +6 -3
- package/dist/types/endpoints/events.d.ts.map +1 -1
- package/dist/types/endpoints/locations.d.ts +5 -2
- package/dist/types/endpoints/locations.d.ts.map +1 -1
- package/dist/types/endpoints/menus.d.ts +6 -3
- package/dist/types/endpoints/menus.d.ts.map +1 -1
- package/dist/types/endpoints/navigation.d.ts +6 -3
- package/dist/types/endpoints/navigation.d.ts.map +1 -1
- package/dist/types/endpoints/pages.d.ts +8 -5
- package/dist/types/endpoints/pages.d.ts.map +1 -1
- package/dist/types/endpoints/press.d.ts +4 -1
- package/dist/types/endpoints/press.d.ts.map +1 -1
- package/dist/types/endpoints/website.d.ts +4 -1
- package/dist/types/endpoints/website.d.ts.map +1 -1
- package/dist/types/studio/define-block.d.ts +11 -0
- package/dist/types/studio/define-block.d.ts.map +1 -0
- package/dist/types/studio/define-field.d.ts +3 -0
- package/dist/types/studio/define-field.d.ts.map +1 -0
- package/dist/types/studio/define-schema.d.ts +3 -0
- package/dist/types/studio/define-schema.d.ts.map +1 -0
- package/dist/types/studio/index.d.ts +5 -0
- package/dist/types/studio/index.d.ts.map +1 -0
- package/dist/types/studio/types/block.d.ts +25 -0
- package/dist/types/studio/types/block.d.ts.map +1 -0
- package/dist/types/studio/types/field-values.d.ts +8 -0
- package/dist/types/studio/types/field-values.d.ts.map +1 -0
- package/dist/types/studio/types/field.d.ts +14 -0
- package/dist/types/studio/types/field.d.ts.map +1 -0
- package/dist/types/studio/types/index.d.ts +4 -0
- package/dist/types/studio/types/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/client.ts +28 -4
- package/src/config.ts +2 -0
- package/src/endpoints/alerts.ts +6 -4
- package/src/endpoints/base.ts +5 -0
- package/src/endpoints/events.ts +14 -15
- package/src/endpoints/locations.ts +21 -19
- package/src/endpoints/menus.ts +24 -20
- package/src/endpoints/navigation.ts +26 -24
- package/src/endpoints/pages.ts +19 -18
- package/src/endpoints/press.ts +6 -4
- package/src/endpoints/website.ts +6 -4
- package/src/studio/define-block.ts +14 -0
- package/src/studio/define-field.ts +5 -0
- package/src/studio/define-schema.ts +5 -0
- package/src/studio/index.ts +5 -0
- package/src/studio/types/block.ts +29 -0
- package/src/studio/types/field-values.ts +7 -0
- package/src/studio/types/field.ts +28 -0
- package/src/studio/types/index.ts +4 -0
- package/src/types/index.ts +2 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BlockSchema, BlockDefinition, BlockComponentProps, Field } from "./types";
|
|
2
|
+
|
|
3
|
+
export type FieldValues<TFields extends Record<string, Field<any>>> = {
|
|
4
|
+
[K in keyof TFields]: TFields[K]["value"];
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export function defineBlock<TFields extends Record<string, Field<any>>>(options: {
|
|
8
|
+
name: string;
|
|
9
|
+
slug: string;
|
|
10
|
+
schema: BlockSchema<TFields>;
|
|
11
|
+
component: React.ComponentType<BlockComponentProps<FieldValues<TFields>>>; // Correct typing here
|
|
12
|
+
}): BlockDefinition<TFields> {
|
|
13
|
+
return options;
|
|
14
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FieldValues } from "../define-block";
|
|
2
|
+
import { Field } from "./field";
|
|
3
|
+
|
|
4
|
+
export interface BlockSchema<TFields extends Record<string, Field<any>>> {
|
|
5
|
+
fields: TFields;
|
|
6
|
+
properties?: BlockProperties;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface BlockDefinition<TFields extends Record<string, Field<any>>> {
|
|
10
|
+
name: string;
|
|
11
|
+
schema: BlockSchema<TFields>;
|
|
12
|
+
component: React.ComponentType<BlockComponentProps<FieldValues<TFields>>>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface BuilderBlock<TFields extends Record<string, Field<any>>> {
|
|
16
|
+
id: string;
|
|
17
|
+
type: string;
|
|
18
|
+
fields: TFields;
|
|
19
|
+
properties?: BlockProperties;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface BlockProperties {
|
|
23
|
+
customClassName?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface BlockComponentProps<TFieldValues extends Record<string, any>> {
|
|
27
|
+
block: BuilderBlock<TFieldValues>;
|
|
28
|
+
onFieldChange: (blockId: string, fieldName: keyof TFieldValues, value: any) => void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type FieldType =
|
|
2
|
+
| "boolean"
|
|
3
|
+
| "event_select"
|
|
4
|
+
| "form_select"
|
|
5
|
+
| "image"
|
|
6
|
+
| "image_list"
|
|
7
|
+
| "list_array"
|
|
8
|
+
| "media"
|
|
9
|
+
| "menu_select"
|
|
10
|
+
| "number"
|
|
11
|
+
| "press_select"
|
|
12
|
+
| "repeater"
|
|
13
|
+
| "rich_text"
|
|
14
|
+
| "separator"
|
|
15
|
+
| "spacer"
|
|
16
|
+
| "text"
|
|
17
|
+
| "textarea"
|
|
18
|
+
| "url";
|
|
19
|
+
|
|
20
|
+
export interface Field<TValue = any> {
|
|
21
|
+
name: string;
|
|
22
|
+
slug: string;
|
|
23
|
+
type: FieldType;
|
|
24
|
+
value?: TValue;
|
|
25
|
+
placeholder?: string;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
options?: Array<{ label: string; value: any }>;
|
|
28
|
+
}
|