@innovastudio/contentbuilder 1.5.187 → 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/index.d.ts CHANGED
@@ -231,7 +231,7 @@ interface ContentBuilderOptions {
231
231
  imageModels?: any[];
232
232
  codeModels?: any[];
233
233
  chatModels?: any[];
234
- systemModel: string;
234
+ systemModel?: string;
235
235
  clearChatSettings?: boolean;
236
236
  defaultChatSettings?: Record<string, any>;
237
237
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
3
  "type": "module",
4
- "version": "1.5.187",
4
+ "version": "1.5.189",
5
5
  "description": "",
6
6
  "main": "public/contentbuilder/contentbuilder.esm.js",
7
7
  "types": "index.d.ts",
@@ -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();