@qwickapps/react-framework 1.3.5 → 1.4.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/README.md +1681 -2
- package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts +66 -0
- package/dist/__tests__/schemas/transformers/MockSerializableComponent.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +7 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/Html.d.ts +28 -18
- package/dist/components/Html.d.ts.map +1 -1
- package/dist/components/Logo.d.ts +12 -35
- package/dist/components/Logo.d.ts.map +1 -1
- package/dist/components/Markdown.d.ts +18 -13
- package/dist/components/Markdown.d.ts.map +1 -1
- package/dist/components/QwickApp.d.ts +16 -3
- package/dist/components/QwickApp.d.ts.map +1 -1
- package/dist/components/QwickIcon.d.ts +23 -0
- package/dist/components/QwickIcon.d.ts.map +1 -0
- package/dist/components/SafeSpan.d.ts +12 -5
- package/dist/components/SafeSpan.d.ts.map +1 -1
- package/dist/components/Scaffold.d.ts.map +1 -1
- package/dist/components/base/ModelView.d.ts +101 -0
- package/dist/components/base/ModelView.d.ts.map +1 -0
- package/dist/components/base/index.d.ts +11 -0
- package/dist/components/base/index.d.ts.map +1 -0
- package/dist/components/blocks/Article.d.ts +12 -2
- package/dist/components/blocks/Article.d.ts.map +1 -1
- package/dist/components/blocks/Code.d.ts +13 -2
- package/dist/components/blocks/Code.d.ts.map +1 -1
- package/dist/components/blocks/CoverImageHeader.d.ts.map +1 -1
- package/dist/components/blocks/FeatureCard.d.ts.map +1 -1
- package/dist/components/blocks/FeatureGrid.d.ts.map +1 -1
- package/dist/components/blocks/Footer.d.ts.map +1 -1
- package/dist/components/blocks/HeroBlock.d.ts +27 -13
- package/dist/components/blocks/HeroBlock.d.ts.map +1 -1
- package/dist/components/blocks/Image.d.ts +41 -0
- package/dist/components/blocks/Image.d.ts.map +1 -0
- package/dist/components/blocks/PageBannerHeader.d.ts.map +1 -1
- package/dist/components/blocks/Section.d.ts +16 -2
- package/dist/components/blocks/Section.d.ts.map +1 -1
- package/dist/components/blocks/Text.d.ts +41 -0
- package/dist/components/blocks/Text.d.ts.map +1 -0
- package/dist/components/blocks/index.d.ts +4 -0
- package/dist/components/blocks/index.d.ts.map +1 -1
- package/dist/components/buttons/Button.d.ts +23 -7
- package/dist/components/buttons/Button.d.ts.map +1 -1
- package/dist/components/forms/FormBlock.d.ts +19 -13
- package/dist/components/forms/FormBlock.d.ts.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/ChoiceInputField.d.ts +17 -11
- package/dist/components/input/ChoiceInputField.d.ts.map +1 -1
- package/dist/components/input/HtmlInputField.d.ts +17 -11
- package/dist/components/input/HtmlInputField.d.ts.map +1 -1
- package/dist/components/input/SelectInputField.d.ts +16 -10
- package/dist/components/input/SelectInputField.d.ts.map +1 -1
- package/dist/components/input/SwitchInputField.d.ts +16 -10
- package/dist/components/input/SwitchInputField.d.ts.map +1 -1
- package/dist/components/input/TextField.d.ts.map +1 -1
- package/dist/components/input/TextInputField.d.ts +16 -11
- package/dist/components/input/TextInputField.d.ts.map +1 -1
- package/dist/components/layout/GridCell.d.ts +23 -6
- package/dist/components/layout/GridCell.d.ts.map +1 -1
- package/dist/components/layout/GridLayout.d.ts +24 -23
- package/dist/components/layout/GridLayout.d.ts.map +1 -1
- package/dist/components/pages/FormPage.d.ts.map +1 -1
- package/dist/components/pages/Page.d.ts +49 -87
- package/dist/components/pages/Page.d.ts.map +1 -1
- package/dist/components/pages/index.d.ts +2 -2
- package/dist/components/pages/index.d.ts.map +1 -1
- package/dist/config/AppConfig.d.ts +49 -0
- package/dist/config/AppConfig.d.ts.map +1 -0
- package/dist/config/AppConfigBuilder.d.ts +75 -0
- package/dist/config/AppConfigBuilder.d.ts.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/types.d.ts +130 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.esm.js +451 -0
- package/dist/config.js +455 -0
- package/dist/contexts/PrintModeContext.d.ts +27 -0
- package/dist/contexts/PrintModeContext.d.ts.map +1 -0
- package/dist/contexts/QwickAppContext.d.ts +2 -2
- package/dist/contexts/QwickAppContext.d.ts.map +1 -1
- package/dist/contexts/index.d.ts +2 -0
- package/dist/contexts/index.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/usePrintMode.d.ts +39 -0
- package/dist/hooks/usePrintMode.d.ts.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.css +1 -1
- package/dist/index.esm.js +10951 -6238
- package/dist/index.js +11014 -6287
- package/dist/schemas/CodeSchema.d.ts +2 -1
- package/dist/schemas/CodeSchema.d.ts.map +1 -1
- package/dist/schemas/CollapsibleLayoutSchema.d.ts +2 -1
- package/dist/schemas/CollapsibleLayoutSchema.d.ts.map +1 -1
- package/dist/schemas/ContentSchema.d.ts +2 -1
- package/dist/schemas/ContentSchema.d.ts.map +1 -1
- package/dist/schemas/GridCellSchema.d.ts +25 -0
- package/dist/schemas/GridCellSchema.d.ts.map +1 -0
- package/dist/schemas/GridLayoutSchema.d.ts +23 -0
- package/dist/schemas/GridLayoutSchema.d.ts.map +1 -0
- package/dist/schemas/HtmlSchema.d.ts +14 -0
- package/dist/schemas/HtmlSchema.d.ts.map +1 -0
- package/dist/schemas/ImageSchema.d.ts +32 -0
- package/dist/schemas/ImageSchema.d.ts.map +1 -0
- package/dist/schemas/LogoSchema.d.ts +35 -0
- package/dist/schemas/LogoSchema.d.ts.map +1 -0
- package/dist/schemas/MarkdownSchema.d.ts +14 -0
- package/dist/schemas/MarkdownSchema.d.ts.map +1 -0
- package/dist/schemas/PageTemplateSchema.d.ts +31 -0
- package/dist/schemas/PageTemplateSchema.d.ts.map +1 -0
- package/dist/schemas/PrintConfigSchema.d.ts +31 -0
- package/dist/schemas/PrintConfigSchema.d.ts.map +1 -0
- package/dist/schemas/SectionSchema.d.ts +2 -1
- package/dist/schemas/SectionSchema.d.ts.map +1 -1
- package/dist/schemas/TextSchema.d.ts +37 -0
- package/dist/schemas/TextSchema.d.ts.map +1 -0
- package/dist/schemas/ViewModelSchema.d.ts +23 -0
- package/dist/schemas/ViewModelSchema.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +15 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/transformers/ComponentTransformer.d.ts +116 -0
- package/dist/schemas/transformers/ComponentTransformer.d.ts.map +1 -0
- package/dist/schemas/transformers/ReactNodeTransformer.d.ts +53 -0
- package/dist/schemas/transformers/ReactNodeTransformer.d.ts.map +1 -0
- package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts +66 -0
- package/dist/schemas/transformers/__tests__/MockSerializableComponent.d.ts.map +1 -0
- package/dist/schemas/transformers/registry.d.ts +15 -0
- package/dist/schemas/transformers/registry.d.ts.map +1 -0
- package/dist/schemas/types/Serializable.d.ts +46 -0
- package/dist/schemas/types/Serializable.d.ts.map +1 -0
- package/dist/utils/htmlTransform.d.ts.map +1 -1
- package/dist/utils/reactUtils.d.ts +12 -3
- package/dist/utils/reactUtils.d.ts.map +1 -1
- package/package.json +17 -3
- package/src/{components/__tests__ → __tests__/components}/AccessibilityProvider.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Article.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Breadcrumbs.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Button.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/CardListGrid.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/ChoiceInputField.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Code.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Content.integration.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Content.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/CoverImageHeader.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/ErrorBoundary.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/FeatureCard.integration.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/FeatureGrid.integration.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/FeatureGrid.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/Footer.test.tsx +4 -4
- package/src/{components/__tests__ → __tests__/components}/FormBlock.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/HeroBlock.integration.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/HeroBlock.test.tsx +233 -7
- package/src/{components/__tests__ → __tests__/components}/Html.test.tsx +11 -2
- package/src/{components/__tests__ → __tests__/components}/HtmlInputField.test.tsx +3 -3
- package/src/__tests__/components/Logo.test.js +3 -3
- package/src/{components/__tests__ → __tests__/components}/Markdown.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/PageBannerHeader.test.tsx +3 -3
- package/src/{components/__tests__ → __tests__/components}/PaletteSwitcher.test.tsx +3 -3
- package/src/{components/__tests__ → __tests__/components}/ProductCard.test.tsx +4 -4
- package/src/{components/__tests__ → __tests__/components}/SafeSpan.integration.test.tsx +2 -2
- package/src/{components/__tests__ → __tests__/components}/SafeSpan.simple.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/SafeSpan.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Section.integration.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/Section.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/SelectInputField.test.tsx +1 -1
- package/src/{components/__tests__ → __tests__/components}/TextInputField.test.tsx +3 -3
- package/src/{components/__tests__ → __tests__/components}/ThemeSwitcher.test.tsx +3 -3
- package/src/__tests__/components/base/ModelView.test.tsx +220 -0
- package/src/__tests__/components/blocks/Code.performance.test.tsx +625 -0
- package/src/__tests__/components/blocks/Code.serialization.test.tsx +507 -0
- package/src/__tests__/components/blocks/HeroBlock.serialization.test.tsx +414 -0
- package/src/__tests__/components/blocks/Image.serialization.test.tsx +257 -0
- package/src/__tests__/components/blocks/Section.serialization.test.tsx +553 -0
- package/src/__tests__/components/blocks/Text.performance.test.tsx +442 -0
- package/src/__tests__/components/blocks/Text.serialization.test.tsx +491 -0
- package/src/__tests__/components/buttons/Button.serialization.test.tsx +443 -0
- package/src/__tests__/components/input/FormComponents.serialization.test.tsx +482 -0
- package/src/__tests__/components/input/SelectInputField.serialization.test.tsx +439 -0
- package/src/__tests__/components/input/TextInputField.serialization.test.tsx +359 -0
- package/src/{components/layout/CollapsibleLayout/__tests__ → __tests__/components/layout}/CollapsibleLayout.test.tsx +4 -4
- package/src/__tests__/components/layout/GridCell.serialization.test.tsx +403 -0
- package/src/__tests__/components/layout/GridLayout.serialization.test.tsx +311 -0
- package/src/__tests__/hooks/usePrintMode.test.ts +89 -0
- package/src/__tests__/schemas/PageTemplateSchema.test.ts +161 -0
- package/src/__tests__/schemas/PrintConfigSchema.test.ts +127 -0
- package/src/__tests__/schemas/ViewModelSchema.test.ts +80 -0
- package/src/__tests__/schemas/transformers/ComponentSerializationPatterns.test.tsx +602 -0
- package/src/__tests__/schemas/transformers/ComponentTransformer.htmlPatterns.test.ts +301 -0
- package/src/__tests__/schemas/transformers/ComponentTransformer.test.ts +521 -0
- package/src/__tests__/schemas/transformers/CrossBrowserCompatibility.test.ts +586 -0
- package/src/__tests__/schemas/transformers/MockSerializableComponent.ts +103 -0
- package/src/__tests__/schemas/transformers/RealWorldScenarios.test.tsx +1165 -0
- package/src/__tests__/schemas/transformers/SerializationErrorHandling.test.ts +602 -0
- package/src/__tests__/schemas/transformers/SerializationIntegration.test.tsx +691 -0
- package/src/__tests__/schemas/transformers/SerializationPerformance.test.ts +460 -0
- package/src/__tests__/schemas/transformers/TestAutomation.test.ts +597 -0
- package/src/{utils/__tests__ → __tests__/utils}/nested-dom-fix.test.tsx +1 -1
- package/src/components/ErrorBoundary.tsx +8 -8
- package/src/components/Html.tsx +147 -44
- package/src/components/Logo.tsx +198 -100
- package/src/components/Markdown.tsx +125 -16
- package/src/components/QwickApp.tsx +64 -31
- package/src/components/QwickIcon.tsx +59 -0
- package/src/components/SafeSpan.tsx +65 -10
- package/src/components/Scaffold.tsx +2 -8
- package/src/components/base/ModelView.tsx +199 -0
- package/src/components/base/index.ts +11 -0
- package/src/components/blocks/Article.tsx +57 -18
- package/src/components/blocks/Code.md +529 -0
- package/src/components/blocks/Code.tsx +102 -15
- package/src/components/blocks/CoverImageHeader.tsx +9 -4
- package/src/components/blocks/FeatureCard.tsx +1 -2
- package/src/components/blocks/FeatureGrid.tsx +19 -1
- package/src/components/blocks/Footer.tsx +13 -1
- package/src/components/blocks/HeroBlock.tsx +87 -20
- package/src/components/blocks/Image.tsx +395 -0
- package/src/components/blocks/PageBannerHeader.tsx +14 -12
- package/src/components/blocks/ProductCard.tsx +1 -1
- package/src/components/blocks/Section.tsx +113 -8
- package/src/components/blocks/Text.tsx +285 -0
- package/src/components/blocks/index.ts +4 -0
- package/src/components/buttons/Button.tsx +184 -15
- package/src/components/forms/FormBlock.tsx +70 -17
- package/src/components/index.ts +5 -0
- package/src/components/input/ChoiceInputField.tsx +48 -18
- package/src/components/input/HtmlInputField.tsx +48 -18
- package/src/components/input/SelectInputField.tsx +48 -16
- package/src/components/input/SwitchInputField.tsx +48 -17
- package/src/components/input/TextField.tsx +41 -1
- package/src/components/input/TextInputField.tsx +52 -18
- package/src/components/layout/GridCell.tsx +118 -9
- package/src/components/layout/GridLayout.tsx +125 -24
- package/src/components/pages/FormPage.tsx +0 -1
- package/src/components/pages/Page.css +304 -332
- package/src/components/pages/Page.tsx +307 -255
- package/src/components/pages/index.ts +2 -2
- package/src/config/AppConfig.ts +133 -0
- package/src/config/AppConfigBuilder.ts +421 -0
- package/src/config/__tests__/AppConfig.test.ts +385 -0
- package/src/config/__tests__/AppConfigBuilder.test.ts +432 -0
- package/src/config/index.ts +24 -0
- package/src/config/types.ts +170 -0
- package/src/config.ts +25 -0
- package/src/contexts/PrintModeContext.tsx +332 -0
- package/src/contexts/QwickAppContext.tsx +2 -2
- package/src/contexts/index.ts +2 -0
- package/src/hooks/index.ts +5 -1
- package/src/hooks/usePrintMode.ts +73 -0
- package/src/index.ts +3 -0
- package/src/schemas/CodeSchema.ts +3 -3
- package/src/schemas/CollapsibleLayoutSchema.ts +2 -1
- package/src/schemas/ContentSchema.ts +2 -1
- package/src/schemas/GridCellSchema.ts +164 -0
- package/src/schemas/GridLayoutSchema.ts +133 -0
- package/src/schemas/HtmlSchema.ts +47 -0
- package/src/schemas/ImageSchema.ts +235 -0
- package/src/schemas/LogoSchema.ts +241 -0
- package/src/schemas/MarkdownSchema.ts +47 -0
- package/src/schemas/PageTemplateSchema.ts +186 -0
- package/src/schemas/PrintConfigSchema.ts +207 -0
- package/src/schemas/README.md +661 -0
- package/src/schemas/SectionSchema.ts +2 -1
- package/src/schemas/TextSchema.ts +329 -0
- package/src/schemas/ViewModelSchema.ts +115 -0
- package/src/schemas/index.ts +21 -2
- package/src/schemas/transformers/ComponentTransformer.ts +403 -0
- package/src/schemas/transformers/ReactNodeTransformer.ts +236 -0
- package/src/schemas/transformers/registry.ts +72 -0
- package/src/schemas/types/Serializable.ts +51 -0
- package/src/stories/AccessibilityProvider.stories.tsx +253 -253
- package/src/stories/Article.stories.tsx +433 -433
- package/src/stories/Button.stories.tsx +1 -1
- package/src/stories/CardListGrid.stories.tsx +451 -451
- package/src/stories/ChoiceInputField.stories.tsx +503 -503
- package/src/stories/Code.stories.tsx +1 -1
- package/src/stories/CollapsibleLayout.stories.tsx +1414 -1414
- package/src/stories/Content.stories.tsx +393 -393
- package/src/stories/CoverImageHeader.stories.tsx +701 -701
- package/src/stories/DataBinding.advanced.stories.tsx +432 -432
- package/src/stories/DataProvider.stories.tsx +1192 -1192
- package/src/stories/FeatureCard.stories.tsx +557 -557
- package/src/stories/FeatureGrid.stories.tsx +594 -594
- package/src/stories/Footer.stories.tsx +640 -640
- package/src/stories/FormBlock.stories.tsx +760 -760
- package/src/stories/FormComponents.stories.tsx +349 -541
- package/src/stories/GridCell.stories.tsx +417 -0
- package/src/stories/GridLayout.stories.tsx +353 -0
- package/src/stories/HeroBlock.stories.tsx +862 -373
- package/src/stories/HtmlInputField.stories.tsx +474 -474
- package/src/stories/Image.stories.tsx +819 -0
- package/src/stories/Introduction.stories.tsx +667 -667
- package/src/stories/LayoutBlocks.stories.tsx +324 -324
- package/src/stories/Logo.stories.tsx +165 -6
- package/src/stories/Markdown.stories.tsx +137 -137
- package/src/stories/ModelView.stories.tsx +477 -0
- package/src/stories/Page.stories.tsx +688 -688
- package/src/stories/PageBannerHeader.stories.tsx +864 -864
- package/src/stories/PaletteSwitcher.stories.tsx +119 -119
- package/src/stories/ProductCard.stories.tsx +424 -424
- package/src/stories/QwickApp.stories.tsx +368 -368
- package/src/stories/ResponsiveMenu.stories.tsx +249 -249
- package/src/stories/SafeSpan.stories.tsx +531 -531
- package/src/stories/Section.stories.tsx +90 -2
- package/src/stories/SelectInputField.stories.tsx +524 -524
- package/src/stories/Text.stories.tsx +560 -0
- package/src/stories/TextInputField.stories.tsx +443 -443
- package/src/stories/ThemeSwitcher.stories.tsx +123 -123
- package/src/utils/htmlTransform.tsx +74 -53
- package/src/utils/reactUtils.tsx +57 -6
- package/dist/index.bundled.css +0 -12
- /package/src/{hooks/__tests__ → __tests__/hooks}/useDataBinding.test.tsx.disabled +0 -0
- /package/src/{schemas/__tests__ → __tests__/schemas}/builders.test.ts +0 -0
- /package/src/{utils/__tests__ → __tests__/utils}/createDataDrivenComponent.test.tsx.disabled +0 -0
- /package/src/{utils/__tests__ → __tests__/utils}/htmlTransform.test.tsx +0 -0
- /package/src/{utils/__tests__ → __tests__/utils}/optional-logging.test.ts +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MockSerializableComponent - Test helper component implementing new SerializableConstructor interface
|
|
3
|
+
*
|
|
4
|
+
* NOTE: This is not a test file - it's a helper module for testing.
|
|
5
|
+
* Jest should not run this as a test suite.
|
|
6
|
+
*
|
|
7
|
+
* Demonstrates component self-declaration pattern with static tagName and version properties
|
|
8
|
+
* Used for testing the updated ComponentTransformer architecture
|
|
9
|
+
*
|
|
10
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
11
|
+
*/
|
|
12
|
+
import React, { ReactElement } from 'react';
|
|
13
|
+
import { Serializable, SerializableConstructor } from '../../types/Serializable';
|
|
14
|
+
/**
|
|
15
|
+
* Mock component implementing the new Serializable interface with self-declaration
|
|
16
|
+
*/
|
|
17
|
+
export declare class MockSerializableComponent implements Serializable {
|
|
18
|
+
props: {
|
|
19
|
+
title?: string;
|
|
20
|
+
content?: string;
|
|
21
|
+
variant?: string;
|
|
22
|
+
children?: React.ReactNode;
|
|
23
|
+
};
|
|
24
|
+
static readonly tagName = "MockComponent";
|
|
25
|
+
static readonly version = "1.0.0";
|
|
26
|
+
constructor(props: {
|
|
27
|
+
title?: string;
|
|
28
|
+
content?: string;
|
|
29
|
+
variant?: string;
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
});
|
|
32
|
+
static fromJson(jsonData: any): ReactElement;
|
|
33
|
+
toJson(): any;
|
|
34
|
+
}
|
|
35
|
+
export declare const MockSerializableComponentClass: SerializableConstructor;
|
|
36
|
+
/**
|
|
37
|
+
* Alternative mock component with different tagName and version for testing conflicts
|
|
38
|
+
*/
|
|
39
|
+
export declare class AlternativeMockComponent implements Serializable {
|
|
40
|
+
props: {
|
|
41
|
+
label?: string;
|
|
42
|
+
type?: string;
|
|
43
|
+
active?: boolean;
|
|
44
|
+
};
|
|
45
|
+
static readonly tagName = "AlternativeComponent";
|
|
46
|
+
static readonly version = "2.1.0";
|
|
47
|
+
constructor(props: {
|
|
48
|
+
label?: string;
|
|
49
|
+
type?: string;
|
|
50
|
+
active?: boolean;
|
|
51
|
+
});
|
|
52
|
+
static fromJson(jsonData: any): ReactElement;
|
|
53
|
+
toJson(): any;
|
|
54
|
+
}
|
|
55
|
+
export declare const AlternativeMockComponentClass: SerializableConstructor;
|
|
56
|
+
/**
|
|
57
|
+
* Mock component missing required static properties (for error testing)
|
|
58
|
+
*/
|
|
59
|
+
export declare class InvalidMockComponent implements Serializable {
|
|
60
|
+
props: any;
|
|
61
|
+
constructor(props: any);
|
|
62
|
+
static fromJson(jsonData: any): ReactElement;
|
|
63
|
+
toJson(): any;
|
|
64
|
+
}
|
|
65
|
+
export declare const InvalidMockComponentClass: any;
|
|
66
|
+
//# sourceMappingURL=MockSerializableComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockSerializableComponent.d.ts","sourceRoot":"","sources":["../../../../src/schemas/transformers/__tests__/MockSerializableComponent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEjF;;GAEG;AACH,qBAAa,yBAA0B,YAAW,YAAY;IAIzC,KAAK,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KAC5B;IARD,MAAM,CAAC,QAAQ,CAAC,OAAO,mBAAmB;IAC1C,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;gBAEf,KAAK,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KAC5B;IAED,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY;IAW5C,MAAM,IAAI,GAAG;CAQd;AAGD,eAAO,MAAM,8BAA8B,EAA2C,uBAAuB,CAAC;AAE9G;;GAEG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAIxC,KAAK,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAPD,MAAM,CAAC,QAAQ,CAAC,OAAO,0BAA0B;IACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;gBAEf,KAAK,EAAE;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAED,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY;IAQ5C,MAAM,IAAI,GAAG;CAOd;AAED,eAAO,MAAM,6BAA6B,EAA0C,uBAAuB,CAAC;AAE5G;;GAEG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IAGpC,KAAK,EAAE,GAAG;gBAAV,KAAK,EAAE,GAAG;IAE7B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY;IAI5C,MAAM,IAAI,GAAG;CAGd;AAED,eAAO,MAAM,yBAAyB,EAA2B,GAAG,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Registration - Central registry for serializable components
|
|
3
|
+
*
|
|
4
|
+
* This file registers all components that implement the Serializable interface
|
|
5
|
+
* with the ComponentTransformer system. Components must be registered here
|
|
6
|
+
* to support JSON serialization/deserialization functionality.
|
|
7
|
+
*
|
|
8
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Register all serializable components with the ComponentTransformer
|
|
12
|
+
* This function should be called once during application initialization
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerSerializableComponents(): void;
|
|
15
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/schemas/transformers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAmCrD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializable Interface - Component Serialization System Foundation
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for components that can be serialized to/from JSON
|
|
5
|
+
* for "WebView for React" functionality.
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { ReactElement } from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Interface for components that support JSON serialization
|
|
12
|
+
* Components implementing this interface can be transformed between
|
|
13
|
+
* React elements and serializable JSON data structures
|
|
14
|
+
*/
|
|
15
|
+
export interface Serializable {
|
|
16
|
+
/**
|
|
17
|
+
* Convert component instance to JSON data
|
|
18
|
+
* @returns Serializable data structure
|
|
19
|
+
*/
|
|
20
|
+
toJson(): any;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Interface for serializable component constructor
|
|
24
|
+
* Defines static methods and properties required for component classes
|
|
25
|
+
* Components implementing this interface must declare their own identity
|
|
26
|
+
*/
|
|
27
|
+
export interface SerializableConstructor {
|
|
28
|
+
/**
|
|
29
|
+
* Component's unique tag name for serialization
|
|
30
|
+
* Must be unique across all registered components
|
|
31
|
+
*/
|
|
32
|
+
readonly tagName: string;
|
|
33
|
+
/**
|
|
34
|
+
* Component's version for serialization format compatibility
|
|
35
|
+
* Should follow semantic versioning (e.g., "1.0.0")
|
|
36
|
+
*/
|
|
37
|
+
readonly version: string;
|
|
38
|
+
/**
|
|
39
|
+
* Convert JSON data to a React element
|
|
40
|
+
* @param jsonData - Serialized component data
|
|
41
|
+
* @returns React element representing the component
|
|
42
|
+
*/
|
|
43
|
+
fromJson(jsonData: any): ReactElement;
|
|
44
|
+
new (...args: any[]): Serializable;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Serializable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Serializable.d.ts","sourceRoot":"","sources":["../../../src/schemas/types/Serializable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,IAAI,GAAG,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,YAAY,CAAC;IAEtC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlTransform.d.ts","sourceRoot":"","sources":["../../src/utils/htmlTransform.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"htmlTransform.d.ts","sourceRoot":"","sources":["../../src/utils/htmlTransform.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,EA6H9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,EA0C/C,CAAC;AAsBF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,KAAG,KAAK,CAAC,SAoCrE,CAAC;AAkBF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,eAAgD,GACvD,KAAK,CAAC,SAAS,CA0CjB;AAmCD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,eAAgD,GACvD,KAAK,CAAC,SAAS,EAAE,CAYnB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB3D"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
6
6
|
*/
|
|
7
|
+
import { ReactNode } from 'react';
|
|
7
8
|
/** Location type for React Router */
|
|
8
9
|
type LocationType = {
|
|
9
10
|
pathname: string;
|
|
@@ -16,9 +17,17 @@ type LocationType = {
|
|
|
16
17
|
*/
|
|
17
18
|
export declare const useSafeLocation: () => LocationType | undefined;
|
|
18
19
|
/**
|
|
19
|
-
* Custom hook to get the navigate function
|
|
20
|
-
* @returns {Function
|
|
20
|
+
* Custom hook to get the navigate function with fallback
|
|
21
|
+
* @returns {Function} - The navigate function (React Router or window.location fallback)
|
|
21
22
|
*/
|
|
22
|
-
export declare const useSafeNavigate: () => Function
|
|
23
|
+
export declare const useSafeNavigate: () => Function;
|
|
24
|
+
/**
|
|
25
|
+
* Extract text content from ReactNode for code processing
|
|
26
|
+
* Handles natural React usage like <Code>const x = 1;</Code>
|
|
27
|
+
*
|
|
28
|
+
* @param node - The ReactNode to extract text from
|
|
29
|
+
* @returns String representation of the node's text content
|
|
30
|
+
*/
|
|
31
|
+
export declare function extractTextFromReactNode(node: ReactNode): string;
|
|
23
32
|
export {};
|
|
24
33
|
//# sourceMappingURL=reactUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,qCAAqC;AACrC,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,YAAY,GAAG,SAOjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAO,QAqBlC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CA2BhE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwickapps/react-framework",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Complete React framework with responsive navigation, flexible layouts, theming system, and reusable components for building modern applications.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
"require": "./dist/index.js",
|
|
13
13
|
"import": "./dist/index.esm.js"
|
|
14
14
|
},
|
|
15
|
+
"./config": {
|
|
16
|
+
"types": "./dist/config.d.ts",
|
|
17
|
+
"require": "./dist/config.js",
|
|
18
|
+
"import": "./dist/config.esm.js"
|
|
19
|
+
},
|
|
15
20
|
"./dist/index.css": "./dist/index.css"
|
|
16
21
|
},
|
|
17
22
|
"files": [
|
|
@@ -27,7 +32,7 @@
|
|
|
27
32
|
"test:watch": "jest --watch",
|
|
28
33
|
"test:coverage": "jest --coverage",
|
|
29
34
|
"clean": "rm -rf dist node_modules .rollup.cache storybook-static",
|
|
30
|
-
"prepublishOnly": "npm run
|
|
35
|
+
"prepublishOnly": "npm run build",
|
|
31
36
|
"storybook": "storybook dev -p 6006",
|
|
32
37
|
"build-storybook": "storybook build"
|
|
33
38
|
},
|
|
@@ -103,7 +108,6 @@
|
|
|
103
108
|
"react-router-dom": "^6.30.1",
|
|
104
109
|
"rollup": "^3.0.0",
|
|
105
110
|
"rollup-plugin-postcss": "^4.0.0",
|
|
106
|
-
"storybook": "^9.1.0",
|
|
107
111
|
"style-loader": "^4.0.0",
|
|
108
112
|
"ts-jest": "^29.4.1",
|
|
109
113
|
"ts-loader": "^9.5.2",
|
|
@@ -133,6 +137,16 @@
|
|
|
133
137
|
],
|
|
134
138
|
"transformIgnorePatterns": [
|
|
135
139
|
"node_modules/(?!(.*\\.mjs$))"
|
|
140
|
+
],
|
|
141
|
+
"testPathIgnorePatterns": [
|
|
142
|
+
"/node_modules/",
|
|
143
|
+
"\\.performance\\.test\\.(ts|tsx)$",
|
|
144
|
+
"\\.serialization\\.test\\.(ts|tsx)$",
|
|
145
|
+
"HeroBlock\\.test\\.(ts|tsx)$",
|
|
146
|
+
"Footer\\.test\\.(ts|tsx)$",
|
|
147
|
+
"Logo\\.test\\.(ts|tsx|js)$",
|
|
148
|
+
"FeatureGrid\\.integration\\.test\\.(ts|tsx)$",
|
|
149
|
+
"FeatureCard\\.integration\\.test\\.(ts|tsx)$"
|
|
136
150
|
]
|
|
137
151
|
},
|
|
138
152
|
"repository": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, screen, fireEvent, act, waitFor } from '@testing-library/react';
|
|
3
|
-
import { AccessibilityProvider, useAccessibility } from '
|
|
3
|
+
import { AccessibilityProvider, useAccessibility } from '../../components/AccessibilityProvider';
|
|
4
4
|
|
|
5
5
|
// Test component that uses accessibility hook
|
|
6
6
|
const TestComponent = () => {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import { Article } from '
|
|
11
|
+
import { Article } from '../../components/blocks/Article';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, screen, fireEvent } from '@testing-library/react';
|
|
3
|
-
import { Breadcrumbs, useBreadcrumbs, type BreadcrumbItem } from '
|
|
3
|
+
import { Breadcrumbs, useBreadcrumbs, type BreadcrumbItem } from '../../components/Breadcrumbs';
|
|
4
4
|
|
|
5
5
|
// Test component for useBreadcrumbs hook
|
|
6
6
|
const BreadcrumbHookTest = () => {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import Button from '
|
|
11
|
+
import Button from '../../components/buttons/Button';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import { CardListGrid } from '
|
|
11
|
+
import { CardListGrid } from '../../components/blocks/CardListGrid';
|
|
12
12
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
13
13
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
14
|
-
import QwickApp from '
|
|
14
|
+
import QwickApp from '../../components/QwickApp';
|
|
15
15
|
|
|
16
16
|
// Sample data for testing
|
|
17
17
|
const sampleProducts = [
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import ChoiceInputField from '
|
|
11
|
+
import ChoiceInputField from '../../components/input/ChoiceInputField';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import Code from '
|
|
11
|
+
import Code from '../../components/blocks/Code';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { render, waitFor, screen } from '@testing-library/react';
|
|
9
|
-
import Content from '
|
|
9
|
+
import Content from '../../components/blocks/Content';
|
|
10
10
|
import { DataProvider } from '../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
12
12
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import Content from '
|
|
11
|
+
import Content from '../../components/blocks/Content';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import CoverImageHeader from '
|
|
11
|
+
import CoverImageHeader from '../../components/blocks/CoverImageHeader';
|
|
12
12
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
13
|
-
import { QwickApp } from '
|
|
13
|
+
import { QwickApp } from '../../components/QwickApp';
|
|
14
14
|
|
|
15
15
|
// Test data for data binding (following nested structure pattern)
|
|
16
16
|
const sampleCmsData = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, screen, fireEvent } from '@testing-library/react';
|
|
3
|
-
import { ErrorBoundary, withErrorBoundary } from '
|
|
3
|
+
import { ErrorBoundary, withErrorBoundary } from '../../components/ErrorBoundary';
|
|
4
4
|
|
|
5
5
|
// Test component that throws an error
|
|
6
6
|
const ThrowError = ({ shouldThrow }: { shouldThrow: boolean }) => {
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { render, waitFor, screen } from '@testing-library/react';
|
|
9
|
-
import FeatureCard from '
|
|
10
|
-
import { DataProvider } from '
|
|
9
|
+
import FeatureCard from '../../blocks/FeatureCard';
|
|
10
|
+
import { DataProvider } from '../../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
12
12
|
|
|
13
13
|
describe.skip('FeatureCard Integration (Traditional + Data Binding)', () => {
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { render, waitFor, screen } from '@testing-library/react';
|
|
9
|
-
import FeatureGrid from '
|
|
10
|
-
import { DataProvider } from '
|
|
9
|
+
import FeatureGrid from '../../blocks/FeatureGrid';
|
|
10
|
+
import { DataProvider } from '../../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
12
12
|
|
|
13
13
|
describe.skip('FeatureGrid Integration (Traditional + Data Binding)', () => {
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import FeatureGrid from '
|
|
12
|
-
import type { FeatureItem } from '
|
|
11
|
+
import FeatureGrid from '../../components/blocks/FeatureGrid';
|
|
12
|
+
import type { FeatureItem } from '../../components/blocks/FeatureGrid';
|
|
13
13
|
import { DataProvider } from '../../contexts/DataContext';
|
|
14
14
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
15
15
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import Footer from '
|
|
12
|
-
import type { FooterSection, FooterItem } from '
|
|
13
|
-
import { DataProvider } from '
|
|
11
|
+
import Footer from '../../blocks/Footer';
|
|
12
|
+
import type { FooterSection, FooterItem } from '../../blocks/Footer';
|
|
13
|
+
import { DataProvider } from '../../../contexts/DataContext';
|
|
14
14
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
15
|
-
import { ThemeProvider, PaletteProvider } from '
|
|
15
|
+
import { ThemeProvider, PaletteProvider } from '../../../contexts';
|
|
16
16
|
|
|
17
17
|
// Test data for data binding
|
|
18
18
|
const sampleCmsData = {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
|
|
10
10
|
import '@testing-library/jest-dom';
|
|
11
|
-
import FormBlock from '
|
|
11
|
+
import FormBlock from '../../components/forms/FormBlock';
|
|
12
12
|
import { DataProvider } from '../../contexts/DataContext';
|
|
13
13
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
14
14
|
import { ThemeProvider, PaletteProvider } from '../../contexts';
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import { render, waitFor, screen } from '@testing-library/react';
|
|
9
|
-
import HeroBlock from '
|
|
10
|
-
import { DataProvider } from '
|
|
9
|
+
import HeroBlock from '../../blocks/HeroBlock';
|
|
10
|
+
import { DataProvider } from '../../../contexts/DataContext';
|
|
11
11
|
import { JsonDataProvider } from '@qwickapps/schema';
|
|
12
12
|
|
|
13
13
|
describe.skip('HeroBlock Integration (Traditional + Data Binding)', () => {
|