# Module evidence

Use this file as an evidence ledger. Do not infer undocumented attribute paths from visual-builder labels alone. Consult the bundled exports for exact JSON.

## Structural modules confirmed by `simple-section.json`

### `divi/section`

- Container block under `divi/placeholder`.
- Confirmed groups: `module.meta.adminLabel`, `module.decoration.layout`, `module.decoration.spacing`, `locked`.
- Confirmed preset shape: `modulePreset: ["default"]`.

### `divi/row`

- Container block inside Section.
- Confirmed groups: `module.meta.adminLabel`, `module.decoration.layout`, `module.decoration.sizing`, `module.advanced.columnStructure`.
- Confirmed full-width column structure: `4_4`.

### `divi/column`

- Container block inside Row.
- Confirmed groups: `module.meta.adminLabel`, `module.advanced.type`, `module.decoration.layout`.
- Confirmed full-width type: `4_4`.

### `divi/text`

- Self-closing leaf module.
- Content path: `content.innerContent.desktop.value`.
- Use its HTML string only for ordinary rich text. Do not include inline styles or simulated components.

## Modules confirmed by `common-modules-2026-08-13.json`

New modules in this export use `builderVersion: "5.11.0"`.

### Content and action modules

- `divi/heading`: `title.innerContent.desktop.value` is a plain heading string.
- `divi/button`: `button.innerContent.desktop.value.text` stores the label.
- `divi/cta`: `title.innerContent.desktop.value`, `content.innerContent.desktop.value`, and `button.innerContent.desktop.value.text`.
- `divi/blurb`: `imageIcon.innerContent.desktop.value.src`, `title.innerContent.desktop.value.text`, and `content.innerContent.desktop.value`.
- `divi/audio`: `artistName.innerContent.desktop.value` and `title.innerContent.desktop.value`.
- `divi/divider`: no required content attributes in the default export.
- `divi/breadcrumbs`: `trail.advanced.htmlTag`, `home.innerContent...text`, and `separator.innerContent...text`.

### Interactive and nested modules

- `divi/accordion` is a container inside Column.
- `divi/accordion-item` is a self-closing child of Accordion. Use `title.innerContent.desktop.value` and `content.innerContent.desktop.value`; `module.advanced.open.desktop.value: "on"` opens an item initially.
- `divi/contact-form` is a container inside Column. Its observed unique ID path is `module.advanced.uniqueId.desktop.value`.
- `divi/contact-field` is a self-closing child of Contact Form. Confirmed paths include `fieldItem.advanced.fullwidth`, `.id`, `.type`, `fieldItem.innerContent`, and optional `module.decoration.sizing.desktop.value.flexType`.
- `divi/counters` is a container inside Column. `barProgress.advanced.usePercentages.desktop.value` controls percentage mode.
- `divi/counter` is a self-closing child of Counters. Use `title.innerContent.desktop.value` and `barProgress.innerContent.desktop.value`.

### Data and utility modules

- `divi/charts`: chart data lives under `chart.innerContent.desktop.value`, including `data.columns`, `data.rows`, `title`, and `subtitle`.
- `divi/circle-counter`: `title.innerContent.desktop.value` and `number.innerContent.desktop.value`.
- `divi/countdown-timer`: `title.innerContent.desktop.value` and `content.advanced.dateTime.desktop.value`.
- `divi/before-after-image`: `beforeImage.innerContent.desktop.value.src` and `afterImage.innerContent.desktop.value.src`.
- `divi/blog`: observed default path `post.advanced.categories.desktop.value`.
- `divi/comments`: no required content attributes in the default export.
- `divi/code`: confirmed to exist but prohibited by the native-design policy.

## Confirmed site portability dependencies

- The common export includes a default `divi/button` module preset named `Primary Light`.
- Preset ID: `ffbe548c-994b-4945-9fe0-6fb463953000`.
- It references global color `gcid-2ad8c1bb-328f-43a8-96cc-189ae66ed848`, whose exported value is `#242424`.
- Do not invent or reuse these IDs on another site. For portable standalone output, set required native attributes explicitly or include the verified dependency definitions.

## Modules confirmed by `main-modules-continued-2026-08-13.json`

All current modules in this export use `builderVersion: "5.11.0"`.

### Nested collections

- `divi/video-slider` contains `divi/video-slider-item`; video source is `video.innerContent.desktop.value.src`.
- `divi/timeline` contains `divi/timeline-item`; item fields include `date`, `title`, and `content` inner-content values.
- `divi/tabs` contains `divi/tab`; each Tab uses `title.innerContent.desktop.value` and `content.innerContent.desktop.value`.
- `divi/social-media-follow` contains `divi/social-media-follow-network`; confirmed network values include `socialNetwork.innerContent.desktop.value.title` and `.label`.
- `divi/slider` contains `divi/slide`; each Slide confirms `title`, `content`, and Button content paths.
- `divi/pricing-tables` contains `divi/pricing-table`; each table confirms title, subtitle, currency, price, content, and frequency paths.
- `divi/post-filter` contains `divi/post-filter-item`; item configuration is under `field.innerContent.desktop.value`, with its label under `label.innerContent.desktop.value`.

### Portfolio, post, and navigation modules

- `divi/fullwidth-portfolio`, `divi/post-nav`, and `divi/post-title` have no required content attributes in their default exports.
- `divi/portfolio` confirms responsive grid counts under `portfolioGrid.decoration.layout`.
- `divi/post-slider` confirms categories under `post.advanced.categories.desktop.value`.
- `divi/table-of-contents` confirms title, included headings, own-title behavior, and empty-state text paths.
- `divi/menu`, `divi/search`, and `divi/sidebar` have no required content attributes in their default exports.

### Content, people, media, and utility modules

- `divi/map` has no required content attributes in its default export.
- `divi/number-counter` uses `title.innerContent.desktop.value` and `number.innerContent.desktop.value`.
- `divi/payment-button` stores its label under `button.innerContent.desktop.value.text`.
- `divi/svg` stores its source configuration under `svg.innerContent.desktop.value`. Prefer a native uploaded SVG source when possible; do not use it to smuggle arbitrary HTML, CSS, or scripts into a layout.
- `divi/team-member` confirms name, position, image URL, and content paths.
- `divi/testimonial` confirms content, author, and portrait source paths.
- `divi/toggle` confirms title and content paths and is the preferred FAQ module.
- `divi/tooltip` confirms `content.innerContent.desktop.value`.
- `divi/video` confirms `video.innerContent.desktop.value.src`.

## Modules confirmed by `more-modules-2026-08-13.json`

This export uses `builderVersion: "5.11.0"` for its current modules and confirms Divi's newer flex Row and Column shapes.

### Containers and nested modules

- `divi/group` is a container that can sit inside Column, another Group, or Group Carousel.
- `divi/group-carousel` is a container inside Column or Group; its observed children are Group modules.
- `divi/icon-list` is a container inside Column or Group.
- `divi/icon-list-item` is a self-closing child of Icon List. Its content path is `content.innerContent.desktop.value`; icon data is under `icon.innerContent.desktop.value` with `unicode`, `type`, `weight`, and `target`.

### Content, media, and account modules

- `divi/dropdown`: Builder visibility is observed at `module.meta.meta.forceVisible.desktop.value`.
- `divi/filterable-portfolio`: categories are under `portfolio.advanced.includedCategories`; responsive grid counts are under `portfolio.decoration.layout`.
- `divi/fullwidth-header`: title and content use their standard `innerContent` paths; Button One's label is under `buttonOne.innerContent.desktop.value.text`.
- `divi/gallery`: responsive grid column counts are under `galleryGrid.decoration.layout.<breakpoint>.value.gridColumnCount`.
- `divi/icon`: the default export is self-closing and requires no content attributes.
- `divi/image`: image source is `image.innerContent.desktop.value.src`.
- `divi/instagram-feed`: account ID is under `feed.innerContent.desktop.value.accountId`; follow-button text has its own `innerContent` path.
- `divi/link`: `content.innerContent.desktop.value` is an object containing `text`, `linkUrl`, and `linkTarget`.
- `divi/login`: title and content use `title.innerContent.desktop.value` and `content.innerContent.desktop.value`.
- `divi/lottie`: the animation source is `lottie.innerContent.desktop.value.src` and may be a data URI.
- `divi/signup`: title and content use `title.innerContent.desktop.value` and `content.innerContent.desktop.value`.

### Current flex structure

- `divi/row` confirms `module.advanced.flexColumnStructure.desktop.value`, alongside `columnStructure`, and `module.decoration.layout.desktop.value.flexWrap`.
- `divi/column` confirms `module.decoration.sizing.desktop.value.flexType` in addition to `module.advanced.type`.

## Not yet confirmed by a bundled export

Other unlisted third-party or newly released schemas still require a real export or another reliable version-matched source before they are generated. Read `woocommerce-modules.md` for the confirmed WooCommerce set.

## Successful authored-layout round trip

The refined Feature Grid golden export saved and rendered successfully on page 1304. It uses native Heading, Text, and Blurb modules; default Row width; inherited typography; explicit feature-icon accents; and separate three-column card Rows for correct mobile reading order. Consult `portability-and-presets.md` before reusing it.
