@qwickapps/react-framework 1.7.0 → 1.8.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 +23 -0
- package/dist/components/blocks/ImageGallery.d.ts.map +1 -1
- package/dist/components/blocks/OptionSelector.d.ts.map +1 -1
- package/dist/components/blocks/ProductCard.d.ts +10 -2
- package/dist/components/blocks/ProductCard.d.ts.map +1 -1
- package/dist/components/forms/FormCheckbox.d.ts.map +1 -1
- package/dist/components/forms/FormField.d.ts.map +1 -1
- package/dist/components/forms/FormSelect.d.ts.map +1 -1
- package/dist/index.esm.js +257 -31
- package/dist/index.js +256 -30
- package/dist/palettes/manifest.json +22 -22
- package/package.json +1 -1
- package/src/components/blocks/ImageGallery.tsx +6 -5
- package/src/components/blocks/OptionSelector.tsx +18 -3
- package/src/components/blocks/ProductCard.tsx +283 -84
- package/src/components/forms/FormCheckbox.tsx +15 -0
- package/src/components/forms/FormField.tsx +15 -0
- package/src/components/forms/FormSelect.tsx +15 -0
- package/src/stories/ProductCard.stories.tsx +151 -1
- /package/dist/palettes/{palette-autumn.1.7.0.css → palette-autumn.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-autumn.1.7.0.min.css → palette-autumn.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-boutique.1.7.0.css → palette-boutique.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-boutique.1.7.0.min.css → palette-boutique.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.7.0.css → palette-cosmic.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-cosmic.1.7.0.min.css → palette-cosmic.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-default.1.7.0.css → palette-default.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-default.1.7.0.min.css → palette-default.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.7.0.css → palette-ocean.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-ocean.1.7.0.min.css → palette-ocean.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-spring.1.7.0.css → palette-spring.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-spring.1.7.0.min.css → palette-spring.1.8.0.min.css} +0 -0
- /package/dist/palettes/{palette-winter.1.7.0.css → palette-winter.1.8.0.css} +0 -0
- /package/dist/palettes/{palette-winter.1.7.0.min.css → palette-winter.1.8.0.min.css} +0 -0
package/README.md
CHANGED
|
@@ -4,6 +4,29 @@ A complete React framework for building modern, responsive applications with int
|
|
|
4
4
|
|
|
5
5
|
## What's New
|
|
6
6
|
|
|
7
|
+
### February 7, 2026 - E-Commerce ProductCard (v1.8.0)
|
|
8
|
+
|
|
9
|
+
- **Unified ProductCard Component**: Complete e-commerce product card with integrated cart functionality
|
|
10
|
+
- **Variant Support**: Built-in size, color, and material variant selection with availability indicators
|
|
11
|
+
- **Cart Integration**: Native "Add to Cart" with quantity selectors and wishlist toggle
|
|
12
|
+
- **Enhanced UX**: Sale pricing, stock status, ratings, and responsive design for all devices
|
|
13
|
+
|
|
14
|
+
See [CHANGELOG.md](./CHANGELOG.md) for full details.
|
|
15
|
+
|
|
16
|
+
### February 4, 2026 - Bug Fixes (v1.7.1)
|
|
17
|
+
|
|
18
|
+
- **MUI v7 TypeScript Compatibility**: Fixed compilation errors in form components by excluding conflicting ViewProps
|
|
19
|
+
- **Component Pattern Compliance**: ImageGallery now uses GridLayout/GridCell instead of direct MUI Grid
|
|
20
|
+
- **Type Safety**: Added explicit TypeScript return types to OptionSelector
|
|
21
|
+
|
|
22
|
+
See [CHANGELOG.md](./CHANGELOG.md) for full details.
|
|
23
|
+
|
|
24
|
+
### February 4, 2026 - New Palette & SSR (v1.7.0)
|
|
25
|
+
|
|
26
|
+
- **PaletteBoutique**: New premium color palette with sophisticated teal, bronze, and navy for retail/fashion brands
|
|
27
|
+
- **ComponentTransformer SSR**: Enhanced HTML parsing with linkedom integration for server-side rendering
|
|
28
|
+
- **Theme Consistency**: Added missing palette variables and replaced hardcoded colors across all palettes
|
|
29
|
+
|
|
7
30
|
### January 25, 2026 - E-Commerce Components (v1.5.13)
|
|
8
31
|
|
|
9
32
|
#### New Components
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageGallery.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ImageGallery.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageGallery.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ImageGallery.tsx"],"names":[],"mappings":"AAqCA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,8BAA8B;IAC9B,MAAM,EAAE,YAAY,EAAE,CAAC;IAEvB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IAEpB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAE7C,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEhD,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AA+XD,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,CAM9D,CAAC;AAEL,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionSelector.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/OptionSelector.tsx"],"names":[],"mappings":"AAkDA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IAEnB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,iCAAiC;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAEzC,sBAAsB;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAE1C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAE5C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAE1C,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"OptionSelector.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/OptionSelector.tsx"],"names":[],"mappings":"AAkDA,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IAEX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,SAAS,EAAE,OAAO,CAAC;IAEnB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,iCAAiC;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAEzC,sBAAsB;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IAE1C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAE5C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAE1C,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAoWD,eAAO,MAAM,cAAc,EAAE,qBAAqB,CAAC,mBAAmB,CAMlE,CAAC;AAEL,eAAe,cAAc,CAAC"}
|
|
@@ -6,11 +6,17 @@ export interface Product {
|
|
|
6
6
|
category: string;
|
|
7
7
|
description: string;
|
|
8
8
|
shortDescription?: string;
|
|
9
|
-
features
|
|
10
|
-
technologies
|
|
9
|
+
features?: string[];
|
|
10
|
+
technologies?: string[];
|
|
11
11
|
status: string;
|
|
12
12
|
image?: string;
|
|
13
13
|
url?: string;
|
|
14
|
+
price?: number;
|
|
15
|
+
salePrice?: number;
|
|
16
|
+
rating?: number;
|
|
17
|
+
reviewCount?: number;
|
|
18
|
+
isNew?: boolean;
|
|
19
|
+
featured?: boolean;
|
|
14
20
|
}
|
|
15
21
|
export interface ProductCardAction {
|
|
16
22
|
id: string;
|
|
@@ -35,6 +41,8 @@ interface ProductCardViewProps extends WithBaseProps {
|
|
|
35
41
|
showTechnologies?: boolean;
|
|
36
42
|
/** Maximum features to show in compact mode */
|
|
37
43
|
maxFeaturesCompact?: number;
|
|
44
|
+
/** Handler for adding product to cart (e-commerce products only) */
|
|
45
|
+
onAddToCart?: (product: Product) => void;
|
|
38
46
|
}
|
|
39
47
|
export interface ProductCardProps extends ProductCardViewProps, WithDataBinding {
|
|
40
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ProductCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ProductCard.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAoD,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9F,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,EAAE,eAAe;CAAG;AA6gBlF;;;GAGG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,kDAoE3C;AAED,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckbox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormCheckbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,iBAAiB,CAAC;IACzF,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"FormCheckbox.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormCheckbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,iBAAiB,CAAC;IACzF,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAgFD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,CAKhE,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,cAAc,CAAC;IACnF,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrF,yCAAyC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,uCAAuC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,cAAc,CAAC;IACnF,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,oCAAoC;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrF,yCAAyC;IACzC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,uCAAuC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA8HD;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAK1D,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSelect.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,eAAe,CAAC;IACrF,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C,qDAAqD;IACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"FormSelect.d.ts","sourceRoot":"","sources":["../../../src/components/forms/FormSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,eAAe,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,WAAW,CAAC,OAAO,eAAe,CAAC;IACrF,kCAAkC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C,qDAAqD;IACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAgGD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,qBAAqB,CAAC,eAAe,CAK5D,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { useMediaQuery, Box, useTheme as useTheme$1, Paper, Typography, Tooltip, IconButton, Snackbar, Alert, CircularProgress, Button as Button$1, Container as Container$9, Stack, Skeleton, Avatar, Chip, Menu as Menu$1, MenuItem, Card, CardContent, ButtonGroup, Collapse, TextField as TextField$1, FormControl, InputLabel, Select, FormHelperText, FormControlLabel, Switch, Grid, Divider, Link, Modal, ListItemIcon, ListItemText, Dialog as Dialog$1, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, DialogContentText as DialogContentText$1, Input as Input$5, InputAdornment, Checkbox } from '@mui/material';
|
|
3
|
+
import { useMediaQuery, Box, useTheme as useTheme$1, Paper, Typography, Tooltip, IconButton, Snackbar, Alert, CircularProgress, Button as Button$1, Container as Container$9, Stack, Skeleton, Avatar, Chip, Menu as Menu$1, MenuItem, Card, CardContent, ButtonGroup, Collapse, TextField as TextField$1, FormControl, InputLabel, Select, FormHelperText, FormControlLabel, Switch, Grid, Divider, Link, Rating, Modal, ListItemIcon, ListItemText, Dialog as Dialog$1, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, DialogContentText as DialogContentText$1, Input as Input$5, InputAdornment, Checkbox } from '@mui/material';
|
|
4
4
|
import React, { useMemo, useContext, useState, useCallback, useEffect, createContext, useReducer, useRef, isValidElement, createElement, useId, useLayoutEffect, Component, cloneElement } from 'react';
|
|
5
5
|
import { MustacheTemplateProvider, MemoryCacheProvider, CachedDataProvider, Field, Editor, FieldType, Schema, Model, DataType } from '@qwickapps/schema';
|
|
6
6
|
import { createTheme, ThemeProvider as ThemeProvider$1 } from '@mui/material/styles';
|
|
@@ -21101,6 +21101,7 @@ function ProductCardView({
|
|
|
21101
21101
|
showImage = true,
|
|
21102
21102
|
showTechnologies = true,
|
|
21103
21103
|
maxFeaturesCompact = 3,
|
|
21104
|
+
onAddToCart,
|
|
21104
21105
|
...restProps
|
|
21105
21106
|
}) {
|
|
21106
21107
|
const {
|
|
@@ -21110,6 +21111,16 @@ function ProductCardView({
|
|
|
21110
21111
|
const theme = useTheme$1();
|
|
21111
21112
|
// Return null if no product data
|
|
21112
21113
|
if (!product) return null;
|
|
21114
|
+
// Detect product type: e-commerce products have price field
|
|
21115
|
+
const isEcommerce = product.price !== undefined;
|
|
21116
|
+
// E-commerce helpers
|
|
21117
|
+
const formatPrice = price => {
|
|
21118
|
+
return `$${price.toFixed(2)}`;
|
|
21119
|
+
};
|
|
21120
|
+
const calculateDiscount = () => {
|
|
21121
|
+
if (!product.price || !product.salePrice) return 0;
|
|
21122
|
+
return Math.round((product.price - product.salePrice) / product.price * 100);
|
|
21123
|
+
};
|
|
21113
21124
|
const getStatusIcon = status => {
|
|
21114
21125
|
switch (status) {
|
|
21115
21126
|
case 'launched':
|
|
@@ -21140,11 +21151,26 @@ function ProductCardView({
|
|
|
21140
21151
|
const handleProductClick = () => {
|
|
21141
21152
|
if (onClick) {
|
|
21142
21153
|
onClick();
|
|
21143
|
-
} else if (product.status === 'launched' && product.url?.startsWith('http')) {
|
|
21144
|
-
window.open(product.url, '_blank', 'noopener,noreferrer');
|
|
21145
21154
|
}
|
|
21155
|
+
// Note: Navigation is handled by parent wrapper (e.g., Next.js Link in BlockRenderer)
|
|
21156
|
+
// For standalone usage, provide onClick prop with navigation logic
|
|
21146
21157
|
};
|
|
21147
21158
|
const getDefaultActions = () => {
|
|
21159
|
+
// E-commerce products get "Add to Cart" action
|
|
21160
|
+
if (isEcommerce) {
|
|
21161
|
+
return [{
|
|
21162
|
+
id: 'add-to-cart',
|
|
21163
|
+
label: 'Add to Cart',
|
|
21164
|
+
variant: 'contained',
|
|
21165
|
+
color: 'primary',
|
|
21166
|
+
onClick: () => {
|
|
21167
|
+
if (onAddToCart && product) {
|
|
21168
|
+
onAddToCart(product);
|
|
21169
|
+
}
|
|
21170
|
+
}
|
|
21171
|
+
}];
|
|
21172
|
+
}
|
|
21173
|
+
// Software products get status-based actions
|
|
21148
21174
|
const actions = [{
|
|
21149
21175
|
id: 'primary',
|
|
21150
21176
|
label: product.status === 'launched' ? 'Learn More' : product.status === 'beta' ? 'Try Beta' : product.status === 'coming-soon' ? 'Coming Soon' : product.status,
|
|
@@ -21228,7 +21254,7 @@ function ProductCardView({
|
|
|
21228
21254
|
})]
|
|
21229
21255
|
});
|
|
21230
21256
|
})();
|
|
21231
|
-
const technologiesSectionElement = !showTechnologies || variant === 'compact' ? null : jsxs(Box, {
|
|
21257
|
+
const technologiesSectionElement = !showTechnologies || variant === 'compact' || !product.technologies ? null : jsxs(Box, {
|
|
21232
21258
|
sx: {
|
|
21233
21259
|
mb: 3
|
|
21234
21260
|
},
|
|
@@ -21262,26 +21288,25 @@ function ProductCardView({
|
|
|
21262
21288
|
className: styleProps.className || "product-card",
|
|
21263
21289
|
onClick: htmlProps.onClick || (variant === 'compact' ? handleProductClick : undefined),
|
|
21264
21290
|
sx: {
|
|
21265
|
-
p: 3,
|
|
21266
|
-
// padding="large" equivalent
|
|
21267
|
-
borderRadius: 3,
|
|
21268
|
-
border: '1px solid',
|
|
21269
|
-
borderColor: 'divider',
|
|
21270
|
-
cursor: variant === 'compact' ? 'pointer' : 'default',
|
|
21271
|
-
position: 'relative',
|
|
21272
21291
|
height: '100%',
|
|
21273
21292
|
display: 'flex',
|
|
21274
21293
|
flexDirection: 'column',
|
|
21275
21294
|
backgroundColor: 'background.paper',
|
|
21276
|
-
|
|
21295
|
+
borderRadius: isEcommerce ? 2 : 3,
|
|
21296
|
+
border: '1px solid',
|
|
21297
|
+
borderColor: 'divider',
|
|
21298
|
+
overflow: 'hidden',
|
|
21299
|
+
position: 'relative',
|
|
21300
|
+
cursor: variant === 'compact' ? 'pointer' : 'default',
|
|
21301
|
+
transition: 'transform 0.2s ease, box-shadow 0.2s ease',
|
|
21277
21302
|
'&:hover': variant === 'compact' ? {
|
|
21278
21303
|
transform: 'translateY(-4px)',
|
|
21279
|
-
boxShadow:
|
|
21304
|
+
boxShadow: 3
|
|
21280
21305
|
} : {},
|
|
21281
21306
|
...(styleProps.sx || {})
|
|
21282
21307
|
},
|
|
21283
21308
|
style: styleProps.style,
|
|
21284
|
-
children: [jsx(Chip, {
|
|
21309
|
+
children: [!isEcommerce && jsx(Chip, {
|
|
21285
21310
|
icon: getStatusIcon(product.status),
|
|
21286
21311
|
label: product.status.replace('-', ' '),
|
|
21287
21312
|
sx: {
|
|
@@ -21300,16 +21325,14 @@ function ProductCardView({
|
|
|
21300
21325
|
color: 'white'
|
|
21301
21326
|
}
|
|
21302
21327
|
}
|
|
21303
|
-
}), showImage && product.image &&
|
|
21328
|
+
}), showImage && product.image && jsxs(Box, {
|
|
21304
21329
|
sx: {
|
|
21305
21330
|
width: '100%',
|
|
21306
|
-
height: variant === 'detailed' ? 240 : 200,
|
|
21307
|
-
|
|
21308
|
-
|
|
21309
|
-
overflow: 'hidden',
|
|
21310
|
-
backgroundColor: 'divider'
|
|
21331
|
+
height: isEcommerce ? 280 : variant === 'detailed' ? 240 : 200,
|
|
21332
|
+
backgroundColor: 'divider',
|
|
21333
|
+
position: 'relative'
|
|
21311
21334
|
},
|
|
21312
|
-
children: jsx(Box, {
|
|
21335
|
+
children: [jsx(Box, {
|
|
21313
21336
|
component: "img",
|
|
21314
21337
|
src: product.image,
|
|
21315
21338
|
alt: product.name,
|
|
@@ -21326,14 +21349,153 @@ function ProductCardView({
|
|
|
21326
21349
|
target.parentElement.innerHTML = `<div style="display: flex; align-items: center; justify-content: center; height: 100%; color: white; font-size: 1.5rem; font-weight: bold;">${product.name}</div>`;
|
|
21327
21350
|
}
|
|
21328
21351
|
}
|
|
21329
|
-
})
|
|
21352
|
+
}), isEcommerce && jsxs(Fragment, {
|
|
21353
|
+
children: [jsxs(Box, {
|
|
21354
|
+
sx: {
|
|
21355
|
+
position: 'absolute',
|
|
21356
|
+
top: 12,
|
|
21357
|
+
left: 12,
|
|
21358
|
+
display: 'flex',
|
|
21359
|
+
flexDirection: 'column',
|
|
21360
|
+
gap: 0.5
|
|
21361
|
+
},
|
|
21362
|
+
children: [product.isNew && jsx(Chip, {
|
|
21363
|
+
label: "NEW",
|
|
21364
|
+
sx: {
|
|
21365
|
+
backgroundColor: 'primary.main',
|
|
21366
|
+
color: 'white',
|
|
21367
|
+
fontSize: '0.75rem',
|
|
21368
|
+
fontWeight: 600,
|
|
21369
|
+
height: '24px',
|
|
21370
|
+
px: 1
|
|
21371
|
+
}
|
|
21372
|
+
}), product.featured && jsx(Chip, {
|
|
21373
|
+
label: "POPULAR",
|
|
21374
|
+
sx: {
|
|
21375
|
+
backgroundColor: 'warning.main',
|
|
21376
|
+
color: 'white',
|
|
21377
|
+
fontSize: '0.75rem',
|
|
21378
|
+
fontWeight: 600,
|
|
21379
|
+
height: '24px',
|
|
21380
|
+
px: 1
|
|
21381
|
+
}
|
|
21382
|
+
})]
|
|
21383
|
+
}), jsx(Box, {
|
|
21384
|
+
sx: {
|
|
21385
|
+
position: 'absolute',
|
|
21386
|
+
top: 12,
|
|
21387
|
+
right: 12,
|
|
21388
|
+
display: 'flex',
|
|
21389
|
+
flexDirection: 'column',
|
|
21390
|
+
gap: 0.5
|
|
21391
|
+
},
|
|
21392
|
+
children: product.salePrice && product.price && jsxs(Fragment, {
|
|
21393
|
+
children: [jsx(Chip, {
|
|
21394
|
+
label: "ON SALE",
|
|
21395
|
+
sx: {
|
|
21396
|
+
backgroundColor: 'error.main',
|
|
21397
|
+
color: 'white',
|
|
21398
|
+
fontSize: '0.75rem',
|
|
21399
|
+
fontWeight: 600,
|
|
21400
|
+
height: '24px',
|
|
21401
|
+
px: 1
|
|
21402
|
+
}
|
|
21403
|
+
}), jsx(Chip, {
|
|
21404
|
+
label: `-${calculateDiscount()}%`,
|
|
21405
|
+
sx: {
|
|
21406
|
+
backgroundColor: 'error.dark',
|
|
21407
|
+
color: 'white',
|
|
21408
|
+
fontSize: '0.75rem',
|
|
21409
|
+
fontWeight: 600,
|
|
21410
|
+
height: '24px',
|
|
21411
|
+
px: 1
|
|
21412
|
+
}
|
|
21413
|
+
})]
|
|
21414
|
+
})
|
|
21415
|
+
})]
|
|
21416
|
+
})]
|
|
21330
21417
|
}), jsxs(Box, {
|
|
21331
21418
|
sx: {
|
|
21332
21419
|
flex: 1,
|
|
21333
21420
|
display: 'flex',
|
|
21334
|
-
flexDirection: 'column'
|
|
21421
|
+
flexDirection: 'column',
|
|
21422
|
+
p: isEcommerce ? 2 : 3
|
|
21335
21423
|
},
|
|
21336
|
-
children: [
|
|
21424
|
+
children: [isEcommerce ? (/* E-commerce product info */
|
|
21425
|
+
jsxs(Box, {
|
|
21426
|
+
children: [product.category && jsx(Typography, {
|
|
21427
|
+
variant: "caption",
|
|
21428
|
+
sx: {
|
|
21429
|
+
mb: 0.5,
|
|
21430
|
+
color: 'text.secondary',
|
|
21431
|
+
display: 'block'
|
|
21432
|
+
},
|
|
21433
|
+
children: product.category
|
|
21434
|
+
}), jsx(Typography, {
|
|
21435
|
+
variant: "h6",
|
|
21436
|
+
component: "h3",
|
|
21437
|
+
sx: {
|
|
21438
|
+
mb: 1,
|
|
21439
|
+
fontSize: '1rem',
|
|
21440
|
+
fontWeight: 500,
|
|
21441
|
+
lineHeight: 1.3,
|
|
21442
|
+
overflow: 'hidden',
|
|
21443
|
+
textOverflow: 'ellipsis',
|
|
21444
|
+
display: '-webkit-box',
|
|
21445
|
+
WebkitLineClamp: 2,
|
|
21446
|
+
WebkitBoxOrient: 'vertical'
|
|
21447
|
+
},
|
|
21448
|
+
children: product.name
|
|
21449
|
+
}), product.rating !== undefined && product.rating > 0 && jsxs(Box, {
|
|
21450
|
+
sx: {
|
|
21451
|
+
display: 'flex',
|
|
21452
|
+
alignItems: 'center',
|
|
21453
|
+
gap: 0.5,
|
|
21454
|
+
mb: 1
|
|
21455
|
+
},
|
|
21456
|
+
children: [jsx(Rating, {
|
|
21457
|
+
value: product.rating,
|
|
21458
|
+
readOnly: true,
|
|
21459
|
+
size: "small",
|
|
21460
|
+
precision: 0.5,
|
|
21461
|
+
emptyIcon: jsx(Star, {
|
|
21462
|
+
style: {
|
|
21463
|
+
opacity: 0.3
|
|
21464
|
+
},
|
|
21465
|
+
fontSize: "inherit"
|
|
21466
|
+
})
|
|
21467
|
+
}), product.reviewCount !== undefined && product.reviewCount > 0 && jsxs(Typography, {
|
|
21468
|
+
variant: "caption",
|
|
21469
|
+
sx: {
|
|
21470
|
+
color: 'text.secondary'
|
|
21471
|
+
},
|
|
21472
|
+
children: ["(", product.reviewCount, ")"]
|
|
21473
|
+
})]
|
|
21474
|
+
}), jsxs(Box, {
|
|
21475
|
+
sx: {
|
|
21476
|
+
mt: 'auto',
|
|
21477
|
+
display: 'flex',
|
|
21478
|
+
alignItems: 'center',
|
|
21479
|
+
gap: 1
|
|
21480
|
+
},
|
|
21481
|
+
children: [jsx(Typography, {
|
|
21482
|
+
variant: "h6",
|
|
21483
|
+
sx: {
|
|
21484
|
+
fontWeight: 600,
|
|
21485
|
+
color: product.salePrice ? 'primary.main' : 'inherit'
|
|
21486
|
+
},
|
|
21487
|
+
children: formatPrice(product.salePrice || product.price)
|
|
21488
|
+
}), product.salePrice && jsx(Typography, {
|
|
21489
|
+
variant: "body2",
|
|
21490
|
+
sx: {
|
|
21491
|
+
color: 'text.secondary',
|
|
21492
|
+
textDecoration: 'line-through'
|
|
21493
|
+
},
|
|
21494
|
+
children: formatPrice(product.price)
|
|
21495
|
+
})]
|
|
21496
|
+
})]
|
|
21497
|
+
})) : (/* Software product info */
|
|
21498
|
+
jsxs(Box, {
|
|
21337
21499
|
sx: {
|
|
21338
21500
|
mb: 3
|
|
21339
21501
|
},
|
|
@@ -21365,7 +21527,7 @@ function ProductCardView({
|
|
|
21365
21527
|
},
|
|
21366
21528
|
children: variant === 'detailed' ? product.description : product.shortDescription || product.description
|
|
21367
21529
|
})]
|
|
21368
|
-
}), product.features && product.features.length > 0 && featuresListElement, product.technologies && product.technologies.length > 0 && technologiesSectionElement, jsx(Box, {
|
|
21530
|
+
})), !isEcommerce && product.features && product.features.length > 0 && featuresListElement, !isEcommerce && product.technologies && product.technologies.length > 0 && technologiesSectionElement, jsx(Box, {
|
|
21369
21531
|
sx: {
|
|
21370
21532
|
display: 'flex',
|
|
21371
21533
|
gap: 1.5,
|
|
@@ -21378,7 +21540,12 @@ function ProductCardView({
|
|
|
21378
21540
|
variant: action.variant || 'contained',
|
|
21379
21541
|
// color={action.color || 'primary'}
|
|
21380
21542
|
disabled: action.disabled,
|
|
21381
|
-
onClick:
|
|
21543
|
+
onClick: e => {
|
|
21544
|
+
// Prevent Link navigation when clicking button (e.g., Add to Cart)
|
|
21545
|
+
e.stopPropagation();
|
|
21546
|
+
e.preventDefault();
|
|
21547
|
+
action.onClick();
|
|
21548
|
+
},
|
|
21382
21549
|
...(variant === 'compact' && {
|
|
21383
21550
|
fullWidth: true
|
|
21384
21551
|
}),
|
|
@@ -21743,11 +21910,10 @@ function ImageGalleryView({
|
|
|
21743
21910
|
if (variant === 'grid') {
|
|
21744
21911
|
return jsxs(Box, {
|
|
21745
21912
|
...restProps,
|
|
21746
|
-
children: [jsx(
|
|
21747
|
-
|
|
21748
|
-
spacing:
|
|
21749
|
-
children: displayImages.map((image, index) => jsx(
|
|
21750
|
-
item: true,
|
|
21913
|
+
children: [jsx(GridLayout, {
|
|
21914
|
+
columns: 4,
|
|
21915
|
+
spacing: "medium",
|
|
21916
|
+
children: displayImages.map((image, index) => jsx(GridCell, {
|
|
21751
21917
|
xs: 6,
|
|
21752
21918
|
sm: 4,
|
|
21753
21919
|
md: 3,
|
|
@@ -21807,6 +21973,21 @@ function OptionSelectorView({
|
|
|
21807
21973
|
label = 'Select Option',
|
|
21808
21974
|
dataSource,
|
|
21809
21975
|
bindingOptions,
|
|
21976
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
21977
|
+
margin: _margin,
|
|
21978
|
+
marginTop: _marginTop,
|
|
21979
|
+
marginRight: _marginRight,
|
|
21980
|
+
marginBottom: _marginBottom,
|
|
21981
|
+
marginLeft: _marginLeft,
|
|
21982
|
+
marginX: _marginX,
|
|
21983
|
+
marginY: _marginY,
|
|
21984
|
+
padding: _padding,
|
|
21985
|
+
paddingTop: _paddingTop,
|
|
21986
|
+
paddingRight: _paddingRight,
|
|
21987
|
+
paddingBottom: _paddingBottom,
|
|
21988
|
+
paddingLeft: _paddingLeft,
|
|
21989
|
+
paddingX: _paddingX,
|
|
21990
|
+
paddingY: _paddingY,
|
|
21810
21991
|
...restProps
|
|
21811
21992
|
}) {
|
|
21812
21993
|
const handleOptionClick = useCallback((optionId, available) => {
|
|
@@ -23035,6 +23216,21 @@ function FormFieldView({
|
|
|
23035
23216
|
startAdornment,
|
|
23036
23217
|
endAdornment,
|
|
23037
23218
|
inputProps,
|
|
23219
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23220
|
+
margin: _margin,
|
|
23221
|
+
marginTop: _marginTop,
|
|
23222
|
+
marginRight: _marginRight,
|
|
23223
|
+
marginBottom: _marginBottom,
|
|
23224
|
+
marginLeft: _marginLeft,
|
|
23225
|
+
marginX: _marginX,
|
|
23226
|
+
marginY: _marginY,
|
|
23227
|
+
padding: _padding,
|
|
23228
|
+
paddingTop: _paddingTop,
|
|
23229
|
+
paddingRight: _paddingRight,
|
|
23230
|
+
paddingBottom: _paddingBottom,
|
|
23231
|
+
paddingLeft: _paddingLeft,
|
|
23232
|
+
paddingX: _paddingX,
|
|
23233
|
+
paddingY: _paddingY,
|
|
23038
23234
|
...restProps
|
|
23039
23235
|
}) {
|
|
23040
23236
|
const fieldId = React.useId();
|
|
@@ -23131,6 +23327,21 @@ function FormSelectView({
|
|
|
23131
23327
|
fullWidth = true,
|
|
23132
23328
|
size = 'small',
|
|
23133
23329
|
placeholder,
|
|
23330
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23331
|
+
margin: _margin,
|
|
23332
|
+
marginTop: _marginTop,
|
|
23333
|
+
marginRight: _marginRight,
|
|
23334
|
+
marginBottom: _marginBottom,
|
|
23335
|
+
marginLeft: _marginLeft,
|
|
23336
|
+
marginX: _marginX,
|
|
23337
|
+
marginY: _marginY,
|
|
23338
|
+
padding: _padding,
|
|
23339
|
+
paddingTop: _paddingTop,
|
|
23340
|
+
paddingRight: _paddingRight,
|
|
23341
|
+
paddingBottom: _paddingBottom,
|
|
23342
|
+
paddingLeft: _paddingLeft,
|
|
23343
|
+
paddingX: _paddingX,
|
|
23344
|
+
paddingY: _paddingY,
|
|
23134
23345
|
...restProps
|
|
23135
23346
|
}) {
|
|
23136
23347
|
const handleChange = e => {
|
|
@@ -23205,6 +23416,21 @@ function FormCheckboxView({
|
|
|
23205
23416
|
helperText,
|
|
23206
23417
|
required = false,
|
|
23207
23418
|
disabled = false,
|
|
23419
|
+
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23420
|
+
margin: _margin,
|
|
23421
|
+
marginTop: _marginTop,
|
|
23422
|
+
marginRight: _marginRight,
|
|
23423
|
+
marginBottom: _marginBottom,
|
|
23424
|
+
marginLeft: _marginLeft,
|
|
23425
|
+
marginX: _marginX,
|
|
23426
|
+
marginY: _marginY,
|
|
23427
|
+
padding: _padding,
|
|
23428
|
+
paddingTop: _paddingTop,
|
|
23429
|
+
paddingRight: _paddingRight,
|
|
23430
|
+
paddingBottom: _paddingBottom,
|
|
23431
|
+
paddingLeft: _paddingLeft,
|
|
23432
|
+
paddingX: _paddingX,
|
|
23433
|
+
paddingY: _paddingY,
|
|
23208
23434
|
...restProps
|
|
23209
23435
|
}) {
|
|
23210
23436
|
const handleChange = e => {
|