@innovastudio/contentbuilder 1.5.188 → 1.5.189
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/package.json
CHANGED
|
@@ -8557,3 +8557,33 @@ iframe.wait-autoplay {
|
|
|
8557
8557
|
.dark #_cbhtml .is-modal.pluginsettings button:not(.is-btn-color):hover {
|
|
8558
8558
|
background-color: rgba(0, 0, 0, 0.07);
|
|
8559
8559
|
}
|
|
8560
|
+
|
|
8561
|
+
/* New nested grid support */
|
|
8562
|
+
.is-builder .row,
|
|
8563
|
+
.is-builder .column {
|
|
8564
|
+
position: relative;
|
|
8565
|
+
}
|
|
8566
|
+
|
|
8567
|
+
.is-builder .row > .column {
|
|
8568
|
+
outline: none;
|
|
8569
|
+
}
|
|
8570
|
+
|
|
8571
|
+
.is-builder .row > .column.cell-active:not([data-protected]) {
|
|
8572
|
+
outline: 1px solid #00da89;
|
|
8573
|
+
}
|
|
8574
|
+
|
|
8575
|
+
.row-active > .is-row-tool {
|
|
8576
|
+
display: flex;
|
|
8577
|
+
}
|
|
8578
|
+
|
|
8579
|
+
.row-active > div .is-row-tool {
|
|
8580
|
+
display: none;
|
|
8581
|
+
}
|
|
8582
|
+
|
|
8583
|
+
.row-active > .is-col-tool {
|
|
8584
|
+
display: flex;
|
|
8585
|
+
}
|
|
8586
|
+
|
|
8587
|
+
.row-active > div .is-col-tool {
|
|
8588
|
+
display: none;
|
|
8589
|
+
}
|
|
@@ -91009,6 +91009,87 @@ Use grayscale for minimalist design.
|
|
|
91009
91009
|
|
|
91010
91010
|
> **Editorial Style:** Stick to black, white, and grays for a clean, minimalist aesthetic. Use color sparingly for accents.
|
|
91011
91011
|
|
|
91012
|
+
` + `
|
|
91013
|
+
|
|
91014
|
+
### Animation
|
|
91015
|
+
|
|
91016
|
+
**Transition**
|
|
91017
|
+
|
|
91018
|
+
Classes: transition-none, transition, transition-colors, transition-opacity, transition-shadow, transition-transform, transition-all
|
|
91019
|
+
|
|
91020
|
+
**Duration**
|
|
91021
|
+
|
|
91022
|
+
Classes: duration-75, duration-100, duration-150, duration-200, duration-300, duration-500, duration-700, duration-1000
|
|
91023
|
+
|
|
91024
|
+
**Timing**
|
|
91025
|
+
|
|
91026
|
+
Classes: ease-linear, ease-in, ease-out, ease-in-out
|
|
91027
|
+
|
|
91028
|
+
**Delay**
|
|
91029
|
+
|
|
91030
|
+
Classes: delay-75, delay-100, delay-150, delay-200, delay-300, delay-500
|
|
91031
|
+
|
|
91032
|
+
**Scale**
|
|
91033
|
+
|
|
91034
|
+
Classes: scale-0, scale-50, scale-75, scale-90, scale-95, scale-100, scale-105, scale-110, scale-125, scale-150
|
|
91035
|
+
|
|
91036
|
+
**Rotate**
|
|
91037
|
+
|
|
91038
|
+
Classes: rotate-0, rotate-45, rotate-90, rotate-180
|
|
91039
|
+
|
|
91040
|
+
**Translate X**
|
|
91041
|
+
|
|
91042
|
+
Classes: translate-x-0, translate-x-1, translate-x-2, translate-x-4, translate-x-8
|
|
91043
|
+
|
|
91044
|
+
**Translate Y**
|
|
91045
|
+
|
|
91046
|
+
Classes: translate-y-0, translate-y-1, translate-y-2, translate-y-4, translate-y-8
|
|
91047
|
+
|
|
91048
|
+
**Skew**
|
|
91049
|
+
|
|
91050
|
+
Classes: skew-x-0, skew-x-3, skew-x-6, skew-y-0, skew-y-3, skew-y-6
|
|
91051
|
+
|
|
91052
|
+
**Overflow**
|
|
91053
|
+
|
|
91054
|
+
Classes: overflow-hidden, overflow-visible, overflow-scroll, overflow-auto
|
|
91055
|
+
|
|
91056
|
+
**Opacity**
|
|
91057
|
+
|
|
91058
|
+
Classes:
|
|
91059
|
+
|
|
91060
|
+
| Class | Color |
|
|
91061
|
+
| ------------ | ------------- |
|
|
91062
|
+
| '.opacity-0' | opacity: 0 |
|
|
91063
|
+
| '.opacity-2' | opacity: 0.02 |
|
|
91064
|
+
| '.opacity-4' | opacity: 0.04 |
|
|
91065
|
+
| '.opacity-5' | opacity: 0.05 |
|
|
91066
|
+
| '.opacity-6' | opacity: 0.06 |
|
|
91067
|
+
| '.opacity-8' | opacity: 0.07 |
|
|
91068
|
+
| '.opacity-10' | opacity: 0.1 |
|
|
91069
|
+
| '.opacity-12' | opacity: 0.12 |
|
|
91070
|
+
| '.opacity-15' | opacity: 0.15 |
|
|
91071
|
+
| '.opacity-20' | opacity: 0.2 |
|
|
91072
|
+
| '.opacity-25' | opacity: 0.25 |
|
|
91073
|
+
| '.opacity-30' | opacity: 0.3 |
|
|
91074
|
+
| '.opacity-35' | opacity: 0.35 |
|
|
91075
|
+
| '.opacity-40' | opacity: 0.4 |
|
|
91076
|
+
| '.opacity-45' | opacity: 0.45 |
|
|
91077
|
+
| '.opacity-50' | opacity: 0.5 |
|
|
91078
|
+
| '.opacity-55' | opacity: 0.55 |
|
|
91079
|
+
| '.opacity-60' | opacity: 0.6 |
|
|
91080
|
+
| '.opacity-65' | opacity: 0.65 |
|
|
91081
|
+
| '.opacity-70' | opacity: 0.7 |
|
|
91082
|
+
| '.opacity-75' | opacity: 0.75 |
|
|
91083
|
+
| '.opacity-80' | opacity: 0.8 |
|
|
91084
|
+
| '.opacity-85' | opacity: 0.85 |
|
|
91085
|
+
| '.opacity-90' | opacity: 0.9 |
|
|
91086
|
+
| '.opacity-95' | opacity: 0.95 |
|
|
91087
|
+
| '.opacity-100' | opacity: 1 |
|
|
91088
|
+
|
|
91089
|
+
**Animation keyframes**
|
|
91090
|
+
|
|
91091
|
+
Classes: spin, ping, pulse, bounce
|
|
91092
|
+
` + `
|
|
91012
91093
|
---
|
|
91013
91094
|
` + `
|
|
91014
91095
|
## Common Patterns
|
|
@@ -91467,6 +91548,180 @@ Remember: The goal is to create code blocks that are **self-contained**, **confl
|
|
|
91467
91548
|
</div>
|
|
91468
91549
|
`;
|
|
91469
91550
|
|
|
91551
|
+
const contextDesignGuide = `
|
|
91552
|
+
# Design Directive:
|
|
91553
|
+
|
|
91554
|
+
## Purpose
|
|
91555
|
+
|
|
91556
|
+
This guide complements the Content Framework documentation. It explains how to create **diverse, creative designs** that go beyond default aesthetics while strictly adhering to framework utility classes.
|
|
91557
|
+
|
|
91558
|
+
## Core Philosophy: Design Freedom Within Constraints
|
|
91559
|
+
|
|
91560
|
+
The frameworks provide utility classes for structure and typography. To create rich, varied designs:
|
|
91561
|
+
|
|
91562
|
+
1. **Use framework classes** for all structural elements
|
|
91563
|
+
2. **Add inline styles** for colors, backgrounds, gradients, shadows, transforms, and animations
|
|
91564
|
+
3. **Create embedded styles** in '<style>...</style>' blocks at the end when needed for animations, transitions, or reusable patterns
|
|
91565
|
+
|
|
91566
|
+
**Example <style>: When needed for animations, transitions, or reusable patterns**
|
|
91567
|
+
|
|
91568
|
+
<div class="row">
|
|
91569
|
+
<div class="column">
|
|
91570
|
+
|
|
91571
|
+
<div class="featured-image">
|
|
91572
|
+
<img src="https://placehold.co/1600x700" alt="Featured Project">
|
|
91573
|
+
</div>
|
|
91574
|
+
|
|
91575
|
+
</div>
|
|
91576
|
+
</div>
|
|
91577
|
+
|
|
91578
|
+
<div class="row portfolio-row">
|
|
91579
|
+
<div class="column">
|
|
91580
|
+
|
|
91581
|
+
<div class="row-image">
|
|
91582
|
+
<img src="https://placehold.co/1200x900" alt="Digital Banking">
|
|
91583
|
+
</div>
|
|
91584
|
+
|
|
91585
|
+
</div>
|
|
91586
|
+
<div class="column">
|
|
91587
|
+
|
|
91588
|
+
<!-- Content -->
|
|
91589
|
+
|
|
91590
|
+
</div>
|
|
91591
|
+
</div>
|
|
91592
|
+
|
|
91593
|
+
<div class="row">
|
|
91594
|
+
|
|
91595
|
+
<div class="column">
|
|
91596
|
+
|
|
91597
|
+
<div class="p-12 bg-gray-50 hover-lift">
|
|
91598
|
+
<p class="size-18 leading-17 text-black pb-8">The level of professionalism and expertise demonstrated throughout the project was outstanding. Highly recommend to anyone looking for quality work.</p>
|
|
91599
|
+
<p class="size-14 font-semibold text-black pb-1">Michael Chen</p>
|
|
91600
|
+
<p class="size-13 text-gray-600 tracking-wide">Founder, Innovation Labs</p>
|
|
91601
|
+
</div>
|
|
91602
|
+
|
|
91603
|
+
</div>
|
|
91604
|
+
<div class="column">
|
|
91605
|
+
|
|
91606
|
+
<!-- Content -->
|
|
91607
|
+
|
|
91608
|
+
</div>
|
|
91609
|
+
</div>
|
|
91610
|
+
<style>
|
|
91611
|
+
/* Featured image */
|
|
91612
|
+
|
|
91613
|
+
.featured-image {
|
|
91614
|
+
width: 100%;
|
|
91615
|
+
aspect-ratio: 21/9;
|
|
91616
|
+
overflow: hidden;
|
|
91617
|
+
position: relative;
|
|
91618
|
+
background: #fafafa;
|
|
91619
|
+
}
|
|
91620
|
+
|
|
91621
|
+
.featured-image img {
|
|
91622
|
+
width: 100%;
|
|
91623
|
+
height: 100%;
|
|
91624
|
+
object-fit: cover;
|
|
91625
|
+
transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
91626
|
+
}
|
|
91627
|
+
|
|
91628
|
+
.featured-image:hover img {
|
|
91629
|
+
transform: scale(1.03);
|
|
91630
|
+
}
|
|
91631
|
+
|
|
91632
|
+
/* Row image */
|
|
91633
|
+
|
|
91634
|
+
.row-image {
|
|
91635
|
+
width: 100%;
|
|
91636
|
+
aspect-ratio: 4/3;
|
|
91637
|
+
overflow: hidden;
|
|
91638
|
+
position: relative;
|
|
91639
|
+
background: #fafafa;
|
|
91640
|
+
}
|
|
91641
|
+
|
|
91642
|
+
.row-image img {
|
|
91643
|
+
width: 100%;
|
|
91644
|
+
height: 100%;
|
|
91645
|
+
object-fit: cover;
|
|
91646
|
+
transition: transform 1.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
91647
|
+
}
|
|
91648
|
+
|
|
91649
|
+
.portfolio-row:hover .row-image img {
|
|
91650
|
+
transform: scale(1.05);
|
|
91651
|
+
}
|
|
91652
|
+
|
|
91653
|
+
/* Smooth hover animations */
|
|
91654
|
+
.hover-lift {
|
|
91655
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
91656
|
+
}
|
|
91657
|
+
|
|
91658
|
+
.hover-lift:hover {
|
|
91659
|
+
transform: translateY(-4px);
|
|
91660
|
+
}
|
|
91661
|
+
</style>
|
|
91662
|
+
|
|
91663
|
+
|
|
91664
|
+
## Key Aesthetic Philosophy:
|
|
91665
|
+
**Swiss/Minimalist meets Portfolio Presentation** - Clean, grid-based, information-focused design where content hierarchy is created through scale, weight, and spacing rather than color or decoration. Every element serves a functional purpose. Photography is professional and high-quality. Typography creates drama through size contrast. The overall feel is sophisticated, professional, and timeless.
|
|
91666
|
+
|
|
91667
|
+
## Design Characteristics:
|
|
91668
|
+
|
|
91669
|
+
### Typography Treatment
|
|
91670
|
+
- **Extreme scale contrast**: Massive headlines (80px-140px) paired with tiny metadata text
|
|
91671
|
+
- **Version/number typography**: Large numbers (like "1.1", "2.4", "2027") used as design elements
|
|
91672
|
+
- **Mix of weights**: Bold project names with light secondary information
|
|
91673
|
+
|
|
91674
|
+
### Layout Patterns
|
|
91675
|
+
- **Horizontal information bars**: Thin lines (1px-2px) separating sections or containing metadata
|
|
91676
|
+
- **Asymmetric content placement**: Image on left (40-45%), text/info on right (55-60%)
|
|
91677
|
+
- **Card-based presentation**: Content contained in white cards floating on gray backgrounds
|
|
91678
|
+
- **Top metadata strips**: Small text in corners (studio name, project type, year)
|
|
91679
|
+
- **Multi-column text blocks**: Body copy split into 2-3 narrow columns for readability
|
|
91680
|
+
|
|
91681
|
+
### Image Treatment
|
|
91682
|
+
- **Photography as hero**: Large, high-quality images dominating the layout (not decorative)
|
|
91683
|
+
- **Clean crops**: Images in rectangular containers, no fancy shapes
|
|
91684
|
+
- **Generous padding**: White space around images, never cramping them
|
|
91685
|
+
- **Grid systems for galleries**: Even-sized thumbnails in rows (4x2, 4x4 grids)
|
|
91686
|
+
- **Product-on-white aesthetic**: Clean product photography on pure white backgrounds
|
|
91687
|
+
|
|
91688
|
+
### Color & Background
|
|
91689
|
+
- **Pure white dominant**: Clean #ffffff backgrounds, not cream or off-white
|
|
91690
|
+
- **Minimal color usage**: Mostly black text on white, with occasional single accent color
|
|
91691
|
+
- **Light gray backgrounds**: #f5f5f5 or #e5e5e5 for page backgrounds behind white cards
|
|
91692
|
+
- **Strategic black sections**: Full black backgrounds for contrast moments
|
|
91693
|
+
- **Accent color blocks**: Small pops of color (red, orange) used sparingly as highlights
|
|
91694
|
+
|
|
91695
|
+
### Information Architecture
|
|
91696
|
+
- **Numbered lists**: "1. OVERVIEW", "2. SERVICES", etc. as section headers
|
|
91697
|
+
- **Metadata in lines**: "Client Name | Project Type | Year" separated by pipes or lines
|
|
91698
|
+
- **Small label categories**: Uppercase 11px labels like "SPECIALISED IN", "CONTACT", "ABOUT"
|
|
91699
|
+
- **Horizontal dividing lines**: Thin rules (1px) creating visual sections
|
|
91700
|
+
- **List-style information**: Stacked items with consistent spacing and alignment
|
|
91701
|
+
|
|
91702
|
+
### Spatial Organization
|
|
91703
|
+
- **Air and breathing room**: Generous margins and padding throughout
|
|
91704
|
+
- **Contained sections**: Content lives in defined rectangular areas
|
|
91705
|
+
- **Aligned grids**: Everything aligns to invisible grid lines
|
|
91706
|
+
- **Consistent gaps**: Equal spacing between elements (20px, 30px, 40px)
|
|
91707
|
+
- **Edge-to-edge in black sections**: Dark sections can be full-bleed
|
|
91708
|
+
|
|
91709
|
+
### Professional Polish
|
|
91710
|
+
- **Precise alignment**: Everything lines up perfectly (left edges, baselines, top edges)
|
|
91711
|
+
- **Consistent typography system**: Limited font sizes used repeatedly (12px, 14px, 16px, 32px, 80px, 120px)
|
|
91712
|
+
- **No decorative elements**: Everything serves a purpose, nothing ornamental
|
|
91713
|
+
- **Clean hover states**: Understated interactions, not flashy
|
|
91714
|
+
|
|
91715
|
+
### What to AVOID:
|
|
91716
|
+
- ❌ Gradients (use solid colors only)
|
|
91717
|
+
- ❌ Rounded corners on everything (keep rectangular, maybe subtle 4-8px radius on cards)
|
|
91718
|
+
- ❌ Drop shadows (use very subtle if any, like 0 2px 8px rgba(0,0,0,0.04))
|
|
91719
|
+
- ❌ Overly decorative fonts (stick to clean system-ui)
|
|
91720
|
+
- ❌ Busy patterns or textures
|
|
91721
|
+
- ❌ Too many accent colors (pick one, use sparingly)
|
|
91722
|
+
- ❌ Cramped spacing (always err on the side of more whitespace)
|
|
91723
|
+
`;
|
|
91724
|
+
|
|
91470
91725
|
class ContentBuilder {
|
|
91471
91726
|
constructor(opts = {}) {
|
|
91472
91727
|
let defaults = {
|
|
@@ -92753,7 +93008,7 @@ class ContentBuilder {
|
|
|
92753
93008
|
this.ShortcutInfo = new ShortcutInfo(this);
|
|
92754
93009
|
if (!this.opts.isContentBox) {
|
|
92755
93010
|
this.codechat = new CodeChat({
|
|
92756
|
-
context: contextContentFramework + contextCodeBlock
|
|
93011
|
+
context: contextContentFramework + contextCodeBlock + contextDesignGuide
|
|
92757
93012
|
}, this);
|
|
92758
93013
|
if (this.startAIAssistant) {
|
|
92759
93014
|
this.openAIAssistant();
|