@qwickapps/react-framework 1.8.1 → 1.9.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 +4 -7
- package/dist/components/blocks/index.d.ts +0 -2
- package/dist/components/blocks/index.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 +17 -98
- package/dist/index.js +16 -98
- package/dist/palettes/palette-autumn.1.8.0.css +174 -0
- package/dist/palettes/palette-autumn.1.8.0.min.css +1 -0
- package/dist/palettes/palette-boutique.1.8.0.css +176 -0
- package/dist/palettes/palette-boutique.1.8.0.min.css +1 -0
- package/dist/palettes/palette-cosmic.1.8.0.css +174 -0
- package/dist/palettes/palette-cosmic.1.8.0.min.css +1 -0
- package/dist/palettes/palette-default.1.8.0.css +178 -0
- package/dist/palettes/palette-default.1.8.0.min.css +1 -0
- package/dist/palettes/palette-ocean.1.8.0.css +174 -0
- package/dist/palettes/palette-ocean.1.8.0.min.css +1 -0
- package/dist/palettes/palette-spring.1.8.0.css +168 -0
- package/dist/palettes/palette-spring.1.8.0.min.css +1 -0
- package/dist/palettes/palette-winter.1.8.0.css +174 -0
- package/dist/palettes/palette-winter.1.8.0.min.css +1 -0
- package/dist/schemas/FormFieldSchema.d.ts +1 -0
- package/dist/schemas/FormFieldSchema.d.ts.map +1 -1
- package/dist/schemas/FormSelectSchema.d.ts +1 -0
- package/dist/schemas/FormSelectSchema.d.ts.map +1 -1
- package/package.json +21 -19
- package/scripts/build-palettes.cjs +0 -0
- package/scripts/create-project.sh +0 -0
- package/src/components/Html.tsx +7 -1
- package/src/components/Logo.tsx +1 -1
- package/src/components/forms/FormField.tsx +6 -0
- package/src/components/forms/FormSelect.tsx +6 -0
- package/src/schemas/FormFieldSchema.ts +11 -0
- package/src/schemas/FormSelectSchema.ts +11 -0
- package/dist/components/blocks/HeroSlideshow.d.ts +0 -54
- package/dist/components/blocks/HeroSlideshow.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
A complete React framework for building modern, responsive applications with intelligent navigation, flexible layouts, and a comprehensive theming system.
|
|
4
4
|
|
|
5
|
-
## What's New
|
|
5
|
+
## What's New in v1.9.0
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- **
|
|
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
|
|
7
|
+
- **HeroSlideshow Component**: Full-featured hero slideshow with auto-play, navigation, and responsive design
|
|
8
|
+
- **Form Validation**: FormField and FormSelect now accept `error` prop with Zod schema support
|
|
9
|
+
- **Bug Fixes**: Html rendering and Logo display improvements
|
|
13
10
|
|
|
14
11
|
See [CHANGELOG.md](./CHANGELOG.md) for full details.
|
|
15
12
|
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
12
12
|
*/
|
|
13
13
|
export { default as HeroBlock } from './HeroBlock';
|
|
14
|
-
export { default as HeroSlideshow } from './HeroSlideshow';
|
|
15
14
|
export { default as Code } from './Code';
|
|
16
15
|
export { default as Article } from './Article';
|
|
17
16
|
export { default as Content } from './Content';
|
|
@@ -28,7 +27,6 @@ export { default as OptionSelector } from './OptionSelector';
|
|
|
28
27
|
export { default as FeatureCard } from './FeatureCard';
|
|
29
28
|
export { default as CardListGrid } from './CardListGrid';
|
|
30
29
|
export type { HeroBlockProps } from './HeroBlock';
|
|
31
|
-
export type { HeroSlideshowProps, HeroSlide } from './HeroSlideshow';
|
|
32
30
|
export type { CodeProps } from './Code';
|
|
33
31
|
export type { ArticleProps } from './Article';
|
|
34
32
|
export type { ContentProps } from './Content';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,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;AAgID;;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;AAkGD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,qBAAqB,CAAC,eAAe,CAK5D,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -18951,103 +18951,6 @@ function registerSerializableComponents() {
|
|
|
18951
18951
|
*/
|
|
18952
18952
|
registerSerializableComponents();
|
|
18953
18953
|
|
|
18954
|
-
/**
|
|
18955
|
-
* HeroSlideshow Component
|
|
18956
|
-
*
|
|
18957
|
-
* A slideshow built on top of HeroBlock that cycles through multiple slides
|
|
18958
|
-
* with auto-rotation, fade transitions, and progress dot navigation.
|
|
18959
|
-
*
|
|
18960
|
-
* Usage (props-driven, e.g. qwickdocs):
|
|
18961
|
-
* <HeroSlideshow slides={[{ title: 'Slide 1', ... }, ...]} />
|
|
18962
|
-
*
|
|
18963
|
-
* Usage (CMS-driven, e.g. work-macha):
|
|
18964
|
-
* const slideshow = await payload.findByID({ collection: 'hero-slideshows', id });
|
|
18965
|
-
* <HeroSlideshow slides={slideshow.slides} autoPlayInterval={slideshow.autoPlayInterval} />
|
|
18966
|
-
*
|
|
18967
|
-
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
18968
|
-
*/
|
|
18969
|
-
const TRANSITION_DURATION = 300; // ms
|
|
18970
|
-
/**
|
|
18971
|
-
* HeroSlideshow - Cycles through HeroBlock slides with fade transitions
|
|
18972
|
-
*/
|
|
18973
|
-
function HeroSlideshow({
|
|
18974
|
-
slides,
|
|
18975
|
-
autoPlayInterval = 5000,
|
|
18976
|
-
showDots = true,
|
|
18977
|
-
blockHeight = 'large',
|
|
18978
|
-
textAlign = 'center'
|
|
18979
|
-
}) {
|
|
18980
|
-
const [currentIndex, setCurrentIndex] = useState(0);
|
|
18981
|
-
const [isVisible, setIsVisible] = useState(true);
|
|
18982
|
-
const goToSlide = useCallback(index => {
|
|
18983
|
-
if (index === currentIndex) return;
|
|
18984
|
-
setIsVisible(false);
|
|
18985
|
-
setTimeout(() => {
|
|
18986
|
-
setCurrentIndex(index);
|
|
18987
|
-
setIsVisible(true);
|
|
18988
|
-
}, TRANSITION_DURATION);
|
|
18989
|
-
}, [currentIndex]);
|
|
18990
|
-
useEffect(() => {
|
|
18991
|
-
if (slides.length <= 1 || autoPlayInterval <= 0) return;
|
|
18992
|
-
const timer = setTimeout(() => {
|
|
18993
|
-
goToSlide((currentIndex + 1) % slides.length);
|
|
18994
|
-
}, autoPlayInterval);
|
|
18995
|
-
return () => clearTimeout(timer);
|
|
18996
|
-
}, [currentIndex, slides.length, autoPlayInterval, goToSlide]);
|
|
18997
|
-
if (!slides.length) return null;
|
|
18998
|
-
const slide = slides[currentIndex];
|
|
18999
|
-
return jsxs(Box, {
|
|
19000
|
-
sx: {
|
|
19001
|
-
position: 'relative',
|
|
19002
|
-
overflow: 'hidden'
|
|
19003
|
-
},
|
|
19004
|
-
children: [jsx(Box, {
|
|
19005
|
-
sx: {
|
|
19006
|
-
opacity: isVisible ? 1 : 0,
|
|
19007
|
-
transition: `opacity ${TRANSITION_DURATION}ms ease-in-out`
|
|
19008
|
-
},
|
|
19009
|
-
children: jsx(HeroBlock, {
|
|
19010
|
-
title: slide.title,
|
|
19011
|
-
subtitle: slide.subtitle,
|
|
19012
|
-
backgroundImage: slide.backgroundImage,
|
|
19013
|
-
backgroundGradient: slide.backgroundGradient,
|
|
19014
|
-
backgroundColor: slide.backgroundColor,
|
|
19015
|
-
actions: slide.actions,
|
|
19016
|
-
overlayOpacity: slide.overlayOpacity,
|
|
19017
|
-
blockHeight: blockHeight,
|
|
19018
|
-
textAlign: textAlign
|
|
19019
|
-
})
|
|
19020
|
-
}), showDots && slides.length > 1 && jsx(Box, {
|
|
19021
|
-
sx: {
|
|
19022
|
-
position: 'absolute',
|
|
19023
|
-
bottom: 20,
|
|
19024
|
-
left: '50%',
|
|
19025
|
-
transform: 'translateX(-50%)',
|
|
19026
|
-
display: 'flex',
|
|
19027
|
-
gap: 1,
|
|
19028
|
-
zIndex: 10
|
|
19029
|
-
},
|
|
19030
|
-
children: slides.map((_, index) => jsx(Box, {
|
|
19031
|
-
role: "button",
|
|
19032
|
-
"aria-label": `Go to slide ${index + 1}`,
|
|
19033
|
-
onClick: () => goToSlide(index),
|
|
19034
|
-
sx: {
|
|
19035
|
-
width: index === currentIndex ? 28 : 8,
|
|
19036
|
-
height: 8,
|
|
19037
|
-
borderRadius: 4,
|
|
19038
|
-
backgroundColor: 'rgba(255, 255, 255, 0.9)',
|
|
19039
|
-
opacity: index === currentIndex ? 1 : 0.45,
|
|
19040
|
-
cursor: 'pointer',
|
|
19041
|
-
transition: 'all 0.3s ease',
|
|
19042
|
-
'&:hover': {
|
|
19043
|
-
opacity: 0.8
|
|
19044
|
-
}
|
|
19045
|
-
}
|
|
19046
|
-
}, index))
|
|
19047
|
-
})]
|
|
19048
|
-
});
|
|
19049
|
-
}
|
|
19050
|
-
|
|
19051
18954
|
// View component - handles the actual rendering
|
|
19052
18955
|
function ArticleView({
|
|
19053
18956
|
html = '',
|
|
@@ -23318,6 +23221,7 @@ function FormFieldView({
|
|
|
23318
23221
|
multiline = false,
|
|
23319
23222
|
rows,
|
|
23320
23223
|
placeholder,
|
|
23224
|
+
name,
|
|
23321
23225
|
startAdornment,
|
|
23322
23226
|
endAdornment,
|
|
23323
23227
|
inputProps,
|
|
@@ -23383,6 +23287,7 @@ function FormFieldView({
|
|
|
23383
23287
|
children: label
|
|
23384
23288
|
}), jsx(Input$5, {
|
|
23385
23289
|
id: fieldId,
|
|
23290
|
+
name: name,
|
|
23386
23291
|
type: type,
|
|
23387
23292
|
value: value,
|
|
23388
23293
|
onChange: handleChange,
|
|
@@ -23432,6 +23337,7 @@ function FormSelectView({
|
|
|
23432
23337
|
fullWidth = true,
|
|
23433
23338
|
size = 'small',
|
|
23434
23339
|
placeholder,
|
|
23340
|
+
name,
|
|
23435
23341
|
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23436
23342
|
margin: _margin,
|
|
23437
23343
|
marginTop: _marginTop,
|
|
@@ -23481,6 +23387,7 @@ function FormSelectView({
|
|
|
23481
23387
|
shrink: true,
|
|
23482
23388
|
children: label
|
|
23483
23389
|
}), jsxs(Select, {
|
|
23390
|
+
name: name,
|
|
23484
23391
|
value: value,
|
|
23485
23392
|
onChange: handleChange,
|
|
23486
23393
|
disabled: disabled,
|
|
@@ -31455,6 +31362,12 @@ __decorate([Field(), Editor({
|
|
|
31455
31362
|
description: 'Placeholder text when no value is selected',
|
|
31456
31363
|
placeholder: 'Select an option...'
|
|
31457
31364
|
}), IsOptional(), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "placeholder", void 0);
|
|
31365
|
+
__decorate([Field(), Editor({
|
|
31366
|
+
field_type: FieldType.TEXT,
|
|
31367
|
+
label: 'Name',
|
|
31368
|
+
description: 'Name attribute for the select (for forms and accessibility)',
|
|
31369
|
+
placeholder: 'Enter name...'
|
|
31370
|
+
}), IsOptional(), IsString(), __metadata("design:type", String)], FormSelectModel.prototype, "name", void 0);
|
|
31458
31371
|
FormSelectModel = __decorate([Schema('FormSelect', '1.0.0')], FormSelectModel);
|
|
31459
31372
|
|
|
31460
31373
|
/**
|
|
@@ -31541,6 +31454,12 @@ __decorate([Field(), Editor({
|
|
|
31541
31454
|
description: 'Placeholder text',
|
|
31542
31455
|
placeholder: 'Enter text...'
|
|
31543
31456
|
}), IsOptional(), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "placeholder", void 0);
|
|
31457
|
+
__decorate([Field(), Editor({
|
|
31458
|
+
field_type: FieldType.TEXT,
|
|
31459
|
+
label: 'Name',
|
|
31460
|
+
description: 'Name attribute for the input (for forms and accessibility)',
|
|
31461
|
+
placeholder: 'Enter name...'
|
|
31462
|
+
}), IsOptional(), IsString(), __metadata("design:type", String)], FormFieldModel.prototype, "name", void 0);
|
|
31544
31463
|
FormFieldModel = __decorate([Schema('FormField', '1.0.0')], FormFieldModel);
|
|
31545
31464
|
|
|
31546
31465
|
/**
|
|
@@ -33800,4 +33719,4 @@ __decorate([Field({
|
|
|
33800
33719
|
}), IsOptional(), __metadata("design:type", Boolean)], PageTemplateSchema.prototype, "indexable", void 0);
|
|
33801
33720
|
PageTemplateSchema = __decorate([Schema('PageTemplate', '1.0.0')], PageTemplateSchema);
|
|
33802
33721
|
|
|
33803
|
-
export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CaptchaModel, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormCheckboxModel, FormField, FormFieldModel, FormMethod, FormPage, FormSelect, FormSelectModel, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel,
|
|
33722
|
+
export { AVAILABLE_PALETTES, AccessibilityProvider, ActionModel, ActionType, AllPalettes, AppConfig, AppConfigBuilder, Article, ArticleModel, Breadcrumbs, Button, Captcha, CaptchaModel, CardListGrid, CardListGridModel, ChoiceInputField, ChoiceInputFieldModel, Code, CodeModel, CollapsibleLayout, CollapsibleLayoutView, ComponentTransformer$1 as ComponentTransformer, Container$8 as Container, Content, ContentModel, CoverImageHeader, CoverImageHeaderModel, DataProvider, DataProxy, DataTable, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DimensionsProvider, ErrorBoundary, FeatureCard, FeatureCardActionModel, FeatureCardModel, FeatureGrid, FeatureGridModel, FeatureItemModel, Footer, FooterItemModel, FooterModel, FooterSectionModel, FormBlock, FormBlockModel, FormCheckbox, FormCheckboxModel, FormField, FormFieldModel, FormMethod, FormPage, FormSelect, FormSelectModel, GalleryImageModel, GridCell, GridCellModel, GridLayout, GridLayoutModel, HeaderActionModel, HeroBlock, HeroBlockModel, Html, HtmlInputField, HtmlModel, Image, ImageGallery, ImageGalleryModel, ImageModel, Logo, Markdown, MarkdownModel, MetadataItemModel, ModelView, NavigationProvider, OptionSelector, OptionSelectorModel, Page, PageBannerHeader, PageBannerHeaderModel, PageTemplateSchema, PaletteAutumn, PaletteBoutique, PaletteCosmic, PaletteDefault, PaletteOcean, PaletteProvider, PaletteSpring, PaletteSwitcher, PaletteSwitcherModel, PaletteWinter, PrintConfigSchema, PrintModeProvider, ProductCard, ProductCardActionModel, ProductCardModel, ProductLogo, ProductModel, QWICKAPP_COMPONENT, QwickApp, QwickAppsLogo, QwickIcon, ResponsiveMenu, SafeSpan, SafeSpanModel, Scaffold, SchemaFormRenderer, Section, SectionModel, SelectInputField, SelectOptionModel, StatCard, SwitchInputField, T, Text$1 as Text, TextField, TextInputField, TextInputFieldModel, TextModel, ThemeProvider, ThemeSwitcher, ThemeSwitcherModel, ViewSchema, animationConfigs, applyCustomPalette, clearManifestCache, clearPaletteCache, clearUserPalettePreference, clearUserThemePreference, configurePaletteLoader, createAppConfig, createModelViewClass, createPaletteFromCurrentTheme, createSerializableView, defaultCollapsibleLayoutProps, deleteCustomPalette, exportPalette, extractTextFromReactNode, getAvailablePalettes, getCSSVariable, getComputedTheme, getCurrentPalette, getCurrentTheme, getCustomPalettes, getIconComponent, getIconEmoji, getLogger, getPaletteConfig, getPaletteFromManifest, getPaletteName, getRegisteredIcons, getSystemTheme, getThemePerformanceStats, hasIcon, iconMap, importPalette, initializePalette, initializeTheme, isCollapsibleLayoutProps, isPaletteLoaded, loadPalette, loadPaletteManifest, loadUserPalettePreference, loadUserThemePreference, logThemePerformanceStats, loggers, preloadPalettes, registerCustomPalette, registerIcon, resetThemePerformanceStats, resolveDimension, resolveDimensions, resolveSpacing, resolveSpacingProps, saveCustomPalette, savePalettePreference, saveThemePreference, saveUserPalettePreference, saveUserThemePreference, setCSSVariable, setPalette, setTheme, spacingConfigs, t, toCssLength, useAccessibility, useBaseProps, useBreadcrumbs, useCollapsibleState, useData, useDataBinding, useDataContext, useDataProvider, useDimensions, useNavigation, usePageContext, usePalette, usePrintMode$1 as usePrintMode, usePrintMode as usePrintModeHook, useQwickApp, useResolveTemplate, useTemplate, useTheme, withAccessibility, withErrorBoundary };
|
package/dist/index.js
CHANGED
|
@@ -18953,103 +18953,6 @@ function registerSerializableComponents() {
|
|
|
18953
18953
|
*/
|
|
18954
18954
|
registerSerializableComponents();
|
|
18955
18955
|
|
|
18956
|
-
/**
|
|
18957
|
-
* HeroSlideshow Component
|
|
18958
|
-
*
|
|
18959
|
-
* A slideshow built on top of HeroBlock that cycles through multiple slides
|
|
18960
|
-
* with auto-rotation, fade transitions, and progress dot navigation.
|
|
18961
|
-
*
|
|
18962
|
-
* Usage (props-driven, e.g. qwickdocs):
|
|
18963
|
-
* <HeroSlideshow slides={[{ title: 'Slide 1', ... }, ...]} />
|
|
18964
|
-
*
|
|
18965
|
-
* Usage (CMS-driven, e.g. work-macha):
|
|
18966
|
-
* const slideshow = await payload.findByID({ collection: 'hero-slideshows', id });
|
|
18967
|
-
* <HeroSlideshow slides={slideshow.slides} autoPlayInterval={slideshow.autoPlayInterval} />
|
|
18968
|
-
*
|
|
18969
|
-
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
18970
|
-
*/
|
|
18971
|
-
const TRANSITION_DURATION = 300; // ms
|
|
18972
|
-
/**
|
|
18973
|
-
* HeroSlideshow - Cycles through HeroBlock slides with fade transitions
|
|
18974
|
-
*/
|
|
18975
|
-
function HeroSlideshow({
|
|
18976
|
-
slides,
|
|
18977
|
-
autoPlayInterval = 5000,
|
|
18978
|
-
showDots = true,
|
|
18979
|
-
blockHeight = 'large',
|
|
18980
|
-
textAlign = 'center'
|
|
18981
|
-
}) {
|
|
18982
|
-
const [currentIndex, setCurrentIndex] = React.useState(0);
|
|
18983
|
-
const [isVisible, setIsVisible] = React.useState(true);
|
|
18984
|
-
const goToSlide = React.useCallback(index => {
|
|
18985
|
-
if (index === currentIndex) return;
|
|
18986
|
-
setIsVisible(false);
|
|
18987
|
-
setTimeout(() => {
|
|
18988
|
-
setCurrentIndex(index);
|
|
18989
|
-
setIsVisible(true);
|
|
18990
|
-
}, TRANSITION_DURATION);
|
|
18991
|
-
}, [currentIndex]);
|
|
18992
|
-
React.useEffect(() => {
|
|
18993
|
-
if (slides.length <= 1 || autoPlayInterval <= 0) return;
|
|
18994
|
-
const timer = setTimeout(() => {
|
|
18995
|
-
goToSlide((currentIndex + 1) % slides.length);
|
|
18996
|
-
}, autoPlayInterval);
|
|
18997
|
-
return () => clearTimeout(timer);
|
|
18998
|
-
}, [currentIndex, slides.length, autoPlayInterval, goToSlide]);
|
|
18999
|
-
if (!slides.length) return null;
|
|
19000
|
-
const slide = slides[currentIndex];
|
|
19001
|
-
return jsxRuntime.jsxs(material.Box, {
|
|
19002
|
-
sx: {
|
|
19003
|
-
position: 'relative',
|
|
19004
|
-
overflow: 'hidden'
|
|
19005
|
-
},
|
|
19006
|
-
children: [jsxRuntime.jsx(material.Box, {
|
|
19007
|
-
sx: {
|
|
19008
|
-
opacity: isVisible ? 1 : 0,
|
|
19009
|
-
transition: `opacity ${TRANSITION_DURATION}ms ease-in-out`
|
|
19010
|
-
},
|
|
19011
|
-
children: jsxRuntime.jsx(HeroBlock, {
|
|
19012
|
-
title: slide.title,
|
|
19013
|
-
subtitle: slide.subtitle,
|
|
19014
|
-
backgroundImage: slide.backgroundImage,
|
|
19015
|
-
backgroundGradient: slide.backgroundGradient,
|
|
19016
|
-
backgroundColor: slide.backgroundColor,
|
|
19017
|
-
actions: slide.actions,
|
|
19018
|
-
overlayOpacity: slide.overlayOpacity,
|
|
19019
|
-
blockHeight: blockHeight,
|
|
19020
|
-
textAlign: textAlign
|
|
19021
|
-
})
|
|
19022
|
-
}), showDots && slides.length > 1 && jsxRuntime.jsx(material.Box, {
|
|
19023
|
-
sx: {
|
|
19024
|
-
position: 'absolute',
|
|
19025
|
-
bottom: 20,
|
|
19026
|
-
left: '50%',
|
|
19027
|
-
transform: 'translateX(-50%)',
|
|
19028
|
-
display: 'flex',
|
|
19029
|
-
gap: 1,
|
|
19030
|
-
zIndex: 10
|
|
19031
|
-
},
|
|
19032
|
-
children: slides.map((_, index) => jsxRuntime.jsx(material.Box, {
|
|
19033
|
-
role: "button",
|
|
19034
|
-
"aria-label": `Go to slide ${index + 1}`,
|
|
19035
|
-
onClick: () => goToSlide(index),
|
|
19036
|
-
sx: {
|
|
19037
|
-
width: index === currentIndex ? 28 : 8,
|
|
19038
|
-
height: 8,
|
|
19039
|
-
borderRadius: 4,
|
|
19040
|
-
backgroundColor: 'rgba(255, 255, 255, 0.9)',
|
|
19041
|
-
opacity: index === currentIndex ? 1 : 0.45,
|
|
19042
|
-
cursor: 'pointer',
|
|
19043
|
-
transition: 'all 0.3s ease',
|
|
19044
|
-
'&:hover': {
|
|
19045
|
-
opacity: 0.8
|
|
19046
|
-
}
|
|
19047
|
-
}
|
|
19048
|
-
}, index))
|
|
19049
|
-
})]
|
|
19050
|
-
});
|
|
19051
|
-
}
|
|
19052
|
-
|
|
19053
18956
|
// View component - handles the actual rendering
|
|
19054
18957
|
function ArticleView({
|
|
19055
18958
|
html = '',
|
|
@@ -23320,6 +23223,7 @@ function FormFieldView({
|
|
|
23320
23223
|
multiline = false,
|
|
23321
23224
|
rows,
|
|
23322
23225
|
placeholder,
|
|
23226
|
+
name,
|
|
23323
23227
|
startAdornment,
|
|
23324
23228
|
endAdornment,
|
|
23325
23229
|
inputProps,
|
|
@@ -23385,6 +23289,7 @@ function FormFieldView({
|
|
|
23385
23289
|
children: label
|
|
23386
23290
|
}), jsxRuntime.jsx(material.Input, {
|
|
23387
23291
|
id: fieldId,
|
|
23292
|
+
name: name,
|
|
23388
23293
|
type: type,
|
|
23389
23294
|
value: value,
|
|
23390
23295
|
onChange: handleChange,
|
|
@@ -23434,6 +23339,7 @@ function FormSelectView({
|
|
|
23434
23339
|
fullWidth = true,
|
|
23435
23340
|
size = 'small',
|
|
23436
23341
|
placeholder,
|
|
23342
|
+
name,
|
|
23437
23343
|
// Exclude ViewProps that conflict with MUI FormControl types
|
|
23438
23344
|
margin: _margin,
|
|
23439
23345
|
marginTop: _marginTop,
|
|
@@ -23483,6 +23389,7 @@ function FormSelectView({
|
|
|
23483
23389
|
shrink: true,
|
|
23484
23390
|
children: label
|
|
23485
23391
|
}), jsxRuntime.jsxs(material.Select, {
|
|
23392
|
+
name: name,
|
|
23486
23393
|
value: value,
|
|
23487
23394
|
onChange: handleChange,
|
|
23488
23395
|
disabled: disabled,
|
|
@@ -31457,6 +31364,12 @@ __decorate([schema.Field(), schema.Editor({
|
|
|
31457
31364
|
description: 'Placeholder text when no value is selected',
|
|
31458
31365
|
placeholder: 'Select an option...'
|
|
31459
31366
|
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "placeholder", void 0);
|
|
31367
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31368
|
+
field_type: schema.FieldType.TEXT,
|
|
31369
|
+
label: 'Name',
|
|
31370
|
+
description: 'Name attribute for the select (for forms and accessibility)',
|
|
31371
|
+
placeholder: 'Enter name...'
|
|
31372
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormSelectModel.prototype, "name", void 0);
|
|
31460
31373
|
exports.FormSelectModel = __decorate([schema.Schema('FormSelect', '1.0.0')], exports.FormSelectModel);
|
|
31461
31374
|
|
|
31462
31375
|
/**
|
|
@@ -31543,6 +31456,12 @@ __decorate([schema.Field(), schema.Editor({
|
|
|
31543
31456
|
description: 'Placeholder text',
|
|
31544
31457
|
placeholder: 'Enter text...'
|
|
31545
31458
|
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "placeholder", void 0);
|
|
31459
|
+
__decorate([schema.Field(), schema.Editor({
|
|
31460
|
+
field_type: schema.FieldType.TEXT,
|
|
31461
|
+
label: 'Name',
|
|
31462
|
+
description: 'Name attribute for the input (for forms and accessibility)',
|
|
31463
|
+
placeholder: 'Enter name...'
|
|
31464
|
+
}), classValidator.IsOptional(), classValidator.IsString(), __metadata("design:type", String)], exports.FormFieldModel.prototype, "name", void 0);
|
|
31546
31465
|
exports.FormFieldModel = __decorate([schema.Schema('FormField', '1.0.0')], exports.FormFieldModel);
|
|
31547
31466
|
|
|
31548
31467
|
/**
|
|
@@ -33842,7 +33761,6 @@ exports.GalleryImageModel = GalleryImageModel;
|
|
|
33842
33761
|
exports.GridCell = GridCell;
|
|
33843
33762
|
exports.GridLayout = GridLayout;
|
|
33844
33763
|
exports.HeroBlock = HeroBlock;
|
|
33845
|
-
exports.HeroSlideshow = HeroSlideshow;
|
|
33846
33764
|
exports.Html = Html;
|
|
33847
33765
|
exports.HtmlInputField = HtmlInputField;
|
|
33848
33766
|
exports.Image = Image;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autumn Color Palette
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2025 QwickApps.com. All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Warm oranges, golden yellows, and earthy browns - inspired by fall foliage
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* ===== AUTUMN PALETTE - LIGHT THEME ===== */
|
|
10
|
+
html[data-palette="autumn"]:not([data-theme="dark"]),
|
|
11
|
+
html[data-palette="autumn"][data-theme="light"] {
|
|
12
|
+
/* Primary palette - Burnt orange */
|
|
13
|
+
--palette-primary-main: #ea580c;
|
|
14
|
+
--palette-primary-light: #fb923c;
|
|
15
|
+
--palette-primary-dark: #c2410c;
|
|
16
|
+
--palette-on-primary: #ffffff;
|
|
17
|
+
|
|
18
|
+
/* Secondary palette - Rich amber */
|
|
19
|
+
--palette-secondary-main: #b45309;
|
|
20
|
+
--palette-secondary-light: #d97706;
|
|
21
|
+
--palette-secondary-dark: #92400e;
|
|
22
|
+
--palette-on-secondary: #ffffff;
|
|
23
|
+
|
|
24
|
+
/* Surface palette - Cream */
|
|
25
|
+
--palette-surface-main: #fffbeb;
|
|
26
|
+
--palette-surface-variant: #fef3c7;
|
|
27
|
+
--palette-surface-elevated: #ffffff;
|
|
28
|
+
--palette-on-surface: #451a03;
|
|
29
|
+
|
|
30
|
+
/* Background palette - Warm ivory */
|
|
31
|
+
--palette-background-main: #fefce8;
|
|
32
|
+
--palette-background-dark: #fef3c7;
|
|
33
|
+
--palette-background-overlay: rgba(254, 252, 232, 0.95);
|
|
34
|
+
--palette-on-background: #78350f;
|
|
35
|
+
|
|
36
|
+
/* Header background with transparency */
|
|
37
|
+
--palette-header-bg-start: rgba(254, 252, 232, 0.98);
|
|
38
|
+
--palette-header-bg-end: rgba(254, 252, 232, 0.95);
|
|
39
|
+
--palette-header-collapsed-bg-start: rgba(254, 252, 232, 0.99);
|
|
40
|
+
--palette-header-collapsed-bg-end: rgba(254, 252, 232, 0.96);
|
|
41
|
+
|
|
42
|
+
/* Text palette - Rich brown */
|
|
43
|
+
--palette-text-primary: #451a03;
|
|
44
|
+
--palette-text-secondary: #78350f;
|
|
45
|
+
--palette-text-disabled: rgba(69, 26, 3, 0.38);
|
|
46
|
+
--palette-text-inverted: #ffffff;
|
|
47
|
+
|
|
48
|
+
/* Border palette - Tan */
|
|
49
|
+
--palette-border-main: #d4d4aa;
|
|
50
|
+
--palette-border-light: rgba(69, 26, 3, 0.12);
|
|
51
|
+
--palette-border-lighter: rgba(69, 26, 3, 0.05);
|
|
52
|
+
--palette-border-medium: #a8a29e;
|
|
53
|
+
|
|
54
|
+
/* Success palette - Forest green */
|
|
55
|
+
--palette-success-main: #16a34a;
|
|
56
|
+
--palette-success-light: #dcfce7;
|
|
57
|
+
--palette-success-dark: #14532d;
|
|
58
|
+
--palette-success-border: #bbf7d0;
|
|
59
|
+
|
|
60
|
+
/* Error palette - Crimson */
|
|
61
|
+
--palette-error-main: #dc2626;
|
|
62
|
+
--palette-error-light: #fee2e2;
|
|
63
|
+
--palette-error-dark: #7f1d1d;
|
|
64
|
+
--palette-on-error: #ffffff;
|
|
65
|
+
--palette-error-border: #fecaca;
|
|
66
|
+
|
|
67
|
+
/* Warning palette - Amber */
|
|
68
|
+
--palette-warning-main: #f59e0b;
|
|
69
|
+
--palette-warning-light: #fef3c7;
|
|
70
|
+
--palette-warning-dark: #78350f;
|
|
71
|
+
--palette-on-warning: #000000;
|
|
72
|
+
--palette-warning-border: #fde68a;
|
|
73
|
+
|
|
74
|
+
/* Info palette - Teal */
|
|
75
|
+
--palette-info-main: #0891b2;
|
|
76
|
+
--palette-info-light: #e6fffa;
|
|
77
|
+
--palette-info-dark: #164e63;
|
|
78
|
+
--palette-on-info: #ffffff;
|
|
79
|
+
--palette-info-border: #67e8f9;
|
|
80
|
+
|
|
81
|
+
/* Accent palette - Deep crimson */
|
|
82
|
+
--palette-accent-main: #dc2626;
|
|
83
|
+
--palette-accent-light: #f87171;
|
|
84
|
+
--palette-accent-dark: #991b1b;
|
|
85
|
+
--palette-on-accent: #ffffff;
|
|
86
|
+
|
|
87
|
+
/* Control palette - Walnut */
|
|
88
|
+
--palette-control-main: #451a03;
|
|
89
|
+
--palette-control-light: #78350f;
|
|
90
|
+
--palette-control-text: #fef3c7;
|
|
91
|
+
--palette-control-border: #92400e;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/* ===== AUTUMN PALETTE - DARK THEME ===== */
|
|
95
|
+
html[data-palette="autumn"][data-theme="dark"] {
|
|
96
|
+
/* Primary palette - Glowing ember */
|
|
97
|
+
--palette-primary-main: #fb923c;
|
|
98
|
+
--palette-primary-light: #fdba74;
|
|
99
|
+
--palette-primary-dark: #ea580c;
|
|
100
|
+
--palette-on-primary: #1c1917;
|
|
101
|
+
|
|
102
|
+
/* Secondary palette - Golden glow */
|
|
103
|
+
--palette-secondary-main: #fbbf24;
|
|
104
|
+
--palette-secondary-light: #fcd34d;
|
|
105
|
+
--palette-secondary-dark: #f59e0b;
|
|
106
|
+
--palette-on-secondary: #1c1917;
|
|
107
|
+
|
|
108
|
+
/* Surface palette - Dark wood */
|
|
109
|
+
--palette-surface-main: #231f1d;
|
|
110
|
+
--palette-surface-variant: #302a27;
|
|
111
|
+
--palette-surface-elevated: #44403c;
|
|
112
|
+
--palette-on-surface: #fef3c7;
|
|
113
|
+
|
|
114
|
+
/* Background palette - Deep earth */
|
|
115
|
+
--palette-background-main: #0a0807;
|
|
116
|
+
--palette-background-dark: #151210;
|
|
117
|
+
--palette-background-overlay: rgba(28, 25, 23, 0.95);
|
|
118
|
+
--palette-on-background: #d6d3d1;
|
|
119
|
+
|
|
120
|
+
/* Header background with transparency */
|
|
121
|
+
--palette-header-bg-start: rgba(10, 8, 7, 0.98);
|
|
122
|
+
--palette-header-bg-end: rgba(10, 8, 7, 0.95);
|
|
123
|
+
--palette-header-collapsed-bg-start: rgba(10, 8, 7, 0.99);
|
|
124
|
+
--palette-header-collapsed-bg-end: rgba(10, 8, 7, 0.96);
|
|
125
|
+
|
|
126
|
+
/* Text palette - Warm light */
|
|
127
|
+
--palette-text-primary: #fef3c7;
|
|
128
|
+
--palette-text-secondary: #d6d3d1;
|
|
129
|
+
--palette-text-disabled: rgba(254, 243, 199, 0.38);
|
|
130
|
+
--palette-text-inverted: #0c0a09;
|
|
131
|
+
|
|
132
|
+
/* Border palette - Copper */
|
|
133
|
+
--palette-border-main: #78716c;
|
|
134
|
+
--palette-border-light: rgba(254, 243, 199, 0.12);
|
|
135
|
+
--palette-border-lighter: rgba(254, 243, 199, 0.05);
|
|
136
|
+
--palette-border-medium: #57534e;
|
|
137
|
+
|
|
138
|
+
/* Success palette - Pine */
|
|
139
|
+
--palette-success-main: #4ade80;
|
|
140
|
+
--palette-success-light: #14532d;
|
|
141
|
+
--palette-success-dark: #22c55e;
|
|
142
|
+
--palette-success-border: #166534;
|
|
143
|
+
|
|
144
|
+
/* Error palette - Fire */
|
|
145
|
+
--palette-error-main: #f87171;
|
|
146
|
+
--palette-error-light: #7f1d1d;
|
|
147
|
+
--palette-error-dark: #ef4444;
|
|
148
|
+
--palette-error-border: #991b1b;
|
|
149
|
+
|
|
150
|
+
/* Warning palette - Harvest gold */
|
|
151
|
+
--palette-warning-main: #eab308;
|
|
152
|
+
--palette-warning-light: #78350f;
|
|
153
|
+
--palette-warning-dark: #ca8a04;
|
|
154
|
+
--palette-warning-border: #a16207;
|
|
155
|
+
|
|
156
|
+
/* Info palette - River teal */
|
|
157
|
+
--palette-info-main: #22d3ee;
|
|
158
|
+
--palette-info-light: #164e63;
|
|
159
|
+
--palette-info-dark: #06b6d4;
|
|
160
|
+
--palette-on-info: #0c0a09;
|
|
161
|
+
--palette-info-border: #0891b2;
|
|
162
|
+
|
|
163
|
+
/* Accent palette - Harvest crimson */
|
|
164
|
+
--palette-accent-main: #b91c1c;
|
|
165
|
+
--palette-accent-light: #dc2626;
|
|
166
|
+
--palette-accent-dark: #7f1d1d;
|
|
167
|
+
--palette-on-accent: #fef3c7;
|
|
168
|
+
|
|
169
|
+
/* Control palette - Charcoal */
|
|
170
|
+
--palette-control-main: #292524;
|
|
171
|
+
--palette-control-light: #44403c;
|
|
172
|
+
--palette-control-text: #f5f5f4;
|
|
173
|
+
--palette-control-border: #57534e;
|
|
174
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
html[data-palette="autumn"]:not([data-theme="dark"]),html[data-palette="autumn"][data-theme="light"]{--palette-primary-main:#ea580c;--palette-primary-light:#fb923c;--palette-primary-dark:#c2410c;--palette-on-primary:#ffffff;--palette-secondary-main:#b45309;--palette-secondary-light:#d97706;--palette-secondary-dark:#92400e;--palette-on-secondary:#ffffff;--palette-surface-main:#fffbeb;--palette-surface-variant:#fef3c7;--palette-surface-elevated:#ffffff;--palette-on-surface:#451a03;--palette-background-main:#fefce8;--palette-background-dark:#fef3c7;--palette-background-overlay:rgba(254,252,232,0.95);--palette-on-background:#78350f;--palette-header-bg-start:rgba(254,252,232,0.98);--palette-header-bg-end:rgba(254,252,232,0.95);--palette-header-collapsed-bg-start:rgba(254,252,232,0.99);--palette-header-collapsed-bg-end:rgba(254,252,232,0.96);--palette-text-primary:#451a03;--palette-text-secondary:#78350f;--palette-text-disabled:rgba(69,26,3,0.38);--palette-text-inverted:#ffffff;--palette-border-main:#d4d4aa;--palette-border-light:rgba(69,26,3,0.12);--palette-border-lighter:rgba(69,26,3,0.05);--palette-border-medium:#a8a29e;--palette-success-main:#16a34a;--palette-success-light:#dcfce7;--palette-success-dark:#14532d;--palette-success-border:#bbf7d0;--palette-error-main:#dc2626;--palette-error-light:#fee2e2;--palette-error-dark:#7f1d1d;--palette-on-error:#ffffff;--palette-error-border:#fecaca;--palette-warning-main:#f59e0b;--palette-warning-light:#fef3c7;--palette-warning-dark:#78350f;--palette-on-warning:#000000;--palette-warning-border:#fde68a;--palette-info-main:#0891b2;--palette-info-light:#e6fffa;--palette-info-dark:#164e63;--palette-on-info:#ffffff;--palette-info-border:#67e8f9;--palette-accent-main:#dc2626;--palette-accent-light:#f87171;--palette-accent-dark:#991b1b;--palette-on-accent:#ffffff;--palette-control-main:#451a03;--palette-control-light:#78350f;--palette-control-text:#fef3c7;--palette-control-border:#92400e}html[data-palette="autumn"][data-theme="dark"]{--palette-primary-main:#fb923c;--palette-primary-light:#fdba74;--palette-primary-dark:#ea580c;--palette-on-primary:#1c1917;--palette-secondary-main:#fbbf24;--palette-secondary-light:#fcd34d;--palette-secondary-dark:#f59e0b;--palette-on-secondary:#1c1917;--palette-surface-main:#231f1d;--palette-surface-variant:#302a27;--palette-surface-elevated:#44403c;--palette-on-surface:#fef3c7;--palette-background-main:#0a0807;--palette-background-dark:#151210;--palette-background-overlay:rgba(28,25,23,0.95);--palette-on-background:#d6d3d1;--palette-header-bg-start:rgba(10,8,7,0.98);--palette-header-bg-end:rgba(10,8,7,0.95);--palette-header-collapsed-bg-start:rgba(10,8,7,0.99);--palette-header-collapsed-bg-end:rgba(10,8,7,0.96);--palette-text-primary:#fef3c7;--palette-text-secondary:#d6d3d1;--palette-text-disabled:rgba(254,243,199,0.38);--palette-text-inverted:#0c0a09;--palette-border-main:#78716c;--palette-border-light:rgba(254,243,199,0.12);--palette-border-lighter:rgba(254,243,199,0.05);--palette-border-medium:#57534e;--palette-success-main:#4ade80;--palette-success-light:#14532d;--palette-success-dark:#22c55e;--palette-success-border:#166534;--palette-error-main:#f87171;--palette-error-light:#7f1d1d;--palette-error-dark:#ef4444;--palette-error-border:#991b1b;--palette-warning-main:#eab308;--palette-warning-light:#78350f;--palette-warning-dark:#ca8a04;--palette-warning-border:#a16207;--palette-info-main:#22d3ee;--palette-info-light:#164e63;--palette-info-dark:#06b6d4;--palette-on-info:#0c0a09;--palette-info-border:#0891b2;--palette-accent-main:#b91c1c;--palette-accent-light:#dc2626;--palette-accent-dark:#7f1d1d;--palette-on-accent:#fef3c7;--palette-control-main:#292524;--palette-control-light:#44403c;--palette-control-text:#f5f5f4;--palette-control-border:#57534e}
|