8000 merge · gridaco/code@43171cc · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit 43171cc

Browse files
merge
2 parents 5beb423 + f34a11d commit 43171cc

File tree

35 files changed

+514
-457
lines changed

35 files changed

+514
-457
lines changed

packages/builder-react-native/index.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@ export * from "./rn-import-specifications";
22
export * from "./rn-widgets";
33

44
// building strategies
5-
export * from "./rn-build-inline-style-widget";
6-
export * from "./rn-build-stylesheet-widget";
7-
export * from "./rn-build-styled-component-widget";
5+
import with_inline_style from "./rn-build-inline-style-widget";
6+
import with_stylesheet from "./rn-build-stylesheet-widget";
7+
import with_styled_components from "./rn-build-styled-component-widget";
8+
9+
const finilize = {
10+
with_inline_style,
11+
with_stylesheet,
12+
with_styled_components,
13+
} as const;
14+
15+
export default finilize;

packages/builder-react-native/rn-build-inline-style-widget/from-static-widget-tree.ts

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,31 @@
1-
export * from "./from-static-widget-tree";
1+
import { JsxWidget } from "@web-builder/core";
2+
import {
3+
react as react_config,
4+
reactnative as reactnative_config,
5+
} from "@grida/builder-config";
6+
import {
7+
ReactNativeInlineStyleBuilder,
8+
ReactNativeInlineStyleWidgetModuleExportable,
9+
} from "./rn-inline-style-module-builder";
10+
11+
export default function finalizeReactNativeWidget_InlineStyle(
12+
entry: JsxWidget,
13+
{
14+
styling,
15+
exporting,
16+
}: {
17+
styling: reactnative_config.ReactNativeInlineStyleConfig;
18+
exporting: react_config.ReactComponentExportingCofnig;
19+
}
20+
) {
21+
const builder = new ReactNativeInlineStyleBuilder({
22+
entry,
23+
config: styling,
24+
});
25+
return builder.asExportableModule().finalize(exporting);
26+
}
27+
28+
export {
29+
ReactNativeInlineStyleBuilder,
30+
ReactNativeInlineStyleWidgetModuleExportable,
31+
};

packages/builder-react-native/rn-build-styled-component-widget/from-static-widget-tree.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,38 @@
1-
export * from "./from-static-widget-tree";
1+
import { JsxWidget } from "@web-builder/core";
2+
import { ReactComponentExportResult } from "@web-builder/react-core";
3+
import {
4+
reactnative as rn_config,
5+
react as react_config,
6+
} from "@grida/builder-config";
7+
import {
8+
ReactNativeStyledComponentsModuleBuilder,
9+
ReactNativeStyledComponentWidgetModuleExportable,
10+
} from "./rn-styled-components-module-builder";
11+
12+
/**
13+
* standard `StyleSheet.create` pattern for react-native
14+
* @todo - this is not fully implemented
15+
* @param entry
16+
* @returns
17+
*/
18+
export default function finalizeReactNativeWidget_StyledComponents(
19+
entry: JsxWidget,
20+
{
21+
styling,
22+
exporting,
23+
}: {
24+
styling: rn_config.ReactNativeStyledComponentsConfig;
25+
exporting: react_config.ReactComponentExportingCofnig;
26+
}
27+
): ReactComponentExportResult {
28+
const builder = new ReactNativeStyledComponentsModuleBuilder({
29+
entry,
30+
config: styling,
31+
});
32+
return builder.asExportableModule().finalize(exporting);
33+
}
34+
35+
export {
36+
ReactNativeStyledComponentsModuleBuilder,
37+
ReactNativeStyledComponentWidgetModuleExportable,
38+
};

packages/builder-react-native/rn-build-stylesheet-widget/from-static-widget-tree.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,38 @@
1-
export * from "./from-static-widget-tree";
2-
export * from "./rn-style-sheet-module-builder";
1+
import { JsxWidget } from "@web-builder/core";
2+
import { ReactComponentExportResult } from "@web-builder/react-core";
3+
import {
4+
reactnative as rn_config,
5+
react as react_config,
6+
} from "@grida/builder-config";
7+
import {
8+
ReactNativeStyleSheetModuleBuilder,
9+
ReactNativeStyleSheeteWidgetModuleExportable,
10+
} from "./rn-style-sheet-module-builder";
11+
12+
/**
13+
* standard `StyleSheet.create` pattern for react-native
14+
* @todo - this is not fully implemented
15+
* @param entry
16+
* @returns
17+
*/
18+
export default function finalizeReactNativeWidget_StyleSheet(
19+
entry: JsxWidget,
20+
{
21+
styling,
22+
exporting,
23+
}: {
24+
styling: rn_config.ReactNativeStyleSheetConfig;
25+
exporting: react_config.ReactComponentExportingCofnig;
26+
}
27+
): ReactComponentExportResult {
28+
const builder = new ReactNativeStyleSheetModuleBuilder({
29+
entry,
30+
config: styling,
31+
});
32+
return builder.asExportableModule().finalize(exporting);
33+
}
34+
35+
export {
36+
ReactNativeStyleSheetModuleBuilder,
37+
ReactNativeStyleSheeteWidgetModuleExportable,
38+
};

packages/builder-web-react/index.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
1-
export * from "./react-styled-component-widget";
2-
export * from "./react-inline-css-widget";
3-
export * from "./react-css-module-widget";
1+
import with_styled_components from "./react-styled-component-widget";
2+
import with_inline_css from "./react-inline-css-widget";
3+
import with_css_module from "./react-css-module-widget";
4+
import type { JsxWidget } from "@web-builder/core";
5+
import type {
6+
ReactComponentExportingCofnig,
7+
ReactStyledComponentsConfig,
8+
ReactInlineCssConfig,
9+
ReactCssModuleConfig,
10+
ReactStylingStrategy,
11+
} from "@grida/builder-config/framework-react";
12+
import type { ReactComponentExportResult } from "@web-builder/react-core";
13+
14+
const finilize = {
15+
with_styled_components:
16+
with_styled_components as BuilderFunc<ReactStyledComponentsConfig>,
17+
with_inline_css: with_inline_css as BuilderFunc<ReactInlineCssConfig>,
18+
with_css_module: with_css_module as BuilderFunc<ReactCssModuleConfig>,
19+
};
20+
21+
type BuilderFunc<S extends ReactStylingStrategy = ReactStylingStrategy> = (
22+
entry: JsxWidget,
23+
config: {
24+
styling: S;
25+
exporting: ReactComponentExportingCofnig;
26+
}
27+
) => ReactComponentExportResult;
28+
29+
export default finilize;
30+
export type { BuilderFunc };
431
export * from "./widgets-native";
532
export * from "./widgets-reflect-react";

packages/builder-web-react/react-css-module-widget/from-static-widget-tree.ts

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,25 @@
1-
export * from "./from-static-widget-tree";
2-
export * from "./react-css-module-module-builder";
1+
import { JsxWidget } from "@web-builder/core";
2+
import { ReactComponentExportResult } from "@web-builder/react-core";
3+
import { react as react_config } from "@grida/builder-config";
4+
import {
5+
ReactCssModuleBuilder,
6+
ReactCssModuleWidgetModuleExportable,
7+
} from "./react-css-module-module-builder";
8+
9+
interface Config {
10+
styling: react_config.ReactCssModuleConfig;
11+
exporting: react_config.ReactComponentExportingCofnig;
12+
}
13+
14+
/**
15+
* css-module pattern with
16+
*/
17+
export default function finalizeReactWidget_CssModule(
18+
entry: JsxWidget,
19+
{ styling, exporting }: Config
20+
): ReactComponentExportResult {
21+
const builder = new ReactCssModuleBuilder({ entry, config: styling });
22+
return builder.asExportableModule().finalize(exporting);
23+
}
24+
25+
export { ReactCssModuleBuilder, ReactCssModuleWidgetModuleExportable };

0 commit comments

Comments
 (0)
0