Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
class TCB_Toc_Bullet_Element extends TCB_Icon_Element {
public function name() {
return __( 'Icon', 'thrive-cb' );
}
/**
* Element identifier
*
* @return string
*/
public function identifier() {
return '.tve-toc-bullet';
}
/**
* Either to display or not the element in the sidebar menu
*
* @return bool
*/
public function hide() {
return true;
}
public function own_components() {
$components = parent::own_components();
unset( $components['icon'] );
$components['toc_bullet'] = array(
'config' => array(
'ColorPicker' => array(
'css_prefix' => tcb_selection_root() . ' ',
'css_suffix' => ' > :first-child',
'config' => array(
'label' => __( 'Color', 'thrive-cb' ),
'options' => [ 'noBeforeInit' => false ],
),
),
'Slider' => array(
'config' => array(
'default' => '12',
'min' => '6',
'max' => '100',
'label' => __( 'Size', 'thrive-cb' ),
'um' => [ 'px' ],
'css' => 'fontSize',
),
),
),
);
$components['scroll'] = [ 'hidden' => true ];
$components['responsive'] = [ 'hidden' => true ];
$components['animation'] = [ 'hidden' => true ];
return $components;
}
}

View File

@@ -0,0 +1,112 @@
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* General element representing each of the individually stylable typography elements
*
* Class TCB_Toc_Heading_Element
*/
class TCB_Toc_Heading_Element extends TCB_Element_Abstract {
public function name() {
return __( 'Heading Element', 'thrive-cb' );
}
/**
* Element identifier
*
* @return string
*/
public function identifier() {
return '.tve-toc-heading';
}
/**
* Either to display or not the element in the sidebar menu
*
* @return bool
*/
public function hide() {
return true;
}
/**
* @inheritDoc
*/
public function expanded_state_config() {
return true;
}
/**
* @inheritDoc
*/
public function expanded_state_apply_inline() {
return true;
}
/**
* @inheritDoc
*/
public function expanded_state_label() {
return __( 'Highlight', 'thrive-cb' );
}
/**
* @return bool
*/
public function has_hover_state() {
return true;
}
protected function general_components() {
$components = parent::general_components();
foreach ( $components['typography']['config'] as $control => &$config ) {
$config['css_suffix'] = $config['css_prefix'] = '';
}
$components['typography']['disabled_controls'] = [
'p_spacing',
'h1_spacing',
'h2_spacing',
'h3_spacing',
];
$components['typography']['config']['TextAlign'] = array_merge( $components['typography']['config']['TextAlign'], [
'property' => 'justify-content',
'property_val' => [
'left' => 'flex-start',
'center' => 'center',
'right' => 'flex-end',
'justify' => 'space-evenly',
],
] );
return array(
'toc_heading' => $components['typography'],
'layout' => array_merge(
$components['layout'],
array(
'disabled_controls' => [ 'Width', 'Height', 'hr', 'Alignment', 'Display', '.tve-advanced-controls' ],
'config' => [
'MarginAndPadding' => [
'important' => true,
],
],
)
),
'background' => $components['background'],
'borders' => $components['borders'],
'shadow' => array_merge(
$components['shadow'],
array(
'config' => [
'disabled_controls' => [ 'inner' ],
],
)
),
);
}
}

View File

@@ -0,0 +1,105 @@
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* General element representing each of the individually stylable typography elements
*
* Class TCB_Toc_Heading_Element
*/
class TCB_Toc_List_Element extends TCB_ContentBox_Element {
public function name() {
return __( 'Heading List', 'thrive-cb' );
}
/**
* Element identifier
*
* @return string
*/
public function identifier() {
return '.tve-toc-list';
}
/**
* Either to display or not the element in the sidebar menu
*
* @return bool
*/
public function hide() {
return true;
}
public function own_components() {
$prefix_config = tcb_selection_root() . ' ';
$typography_cfg = [ 'css_suffix' => '', 'css_prefix' => '' ];
$components = parent::own_components();
unset( $components['contentbox'] );
unset( $components['shared-styles'] );
$components['layout'] = [
'disabled_controls' => [
'Display',
'Float',
'Position',
],
'config' => [
'Width' => [
'important' => true,
],
'Height' => [
'important' => true,
],
],
];
$components['background'] = [
'config' => [
'ColorPicker' => [ 'css_prefix' => $prefix_config ],
'PreviewList' => [ 'css_prefix' => $prefix_config ],
'to' => '>.tve-content-box-background',
],
];
$components['borders'] = [
'config' => [
'Borders' => [
'important' => true,
'to' => '>.tve-content-box-background',
],
'Corners' => [
'important' => true,
'to' => '>.tve-content-box-background',
],
],
];
$components['typography'] = [
'disabled_controls' => [
'p_spacing',
'h1_spacing',
'h2_spacing',
'h3_spacing',
],
'config' => [
'to' => '.tve-toc-heading',
'FontSize' => $typography_cfg,
'FontColor' => $typography_cfg,
'TextAlign' => $typography_cfg,
'TextStyle' => $typography_cfg,
'TextTransform' => $typography_cfg,
'FontFace' => $typography_cfg,
'LineHeight' => $typography_cfg,
'LetterSpacing' => $typography_cfg,
],
];
$components['scroll'] = [ 'hidden' => true ];
$components['responsive'] = [ 'hidden' => true ];
$components['animation'] = [ 'hidden' => true ];
return $components;
}
}

View File

@@ -0,0 +1,73 @@
<?php
class TCB_Toc_Number_Element extends TCB_Label_Disabled_Element {
public function name() {
return __( 'Number', 'thrive-cb' );
}
/**
* Element identifier
*
* @return string
*/
public function identifier() {
return '.tve-toc-number';
}
/**
* Either to display or not the element in the sidebar menu
*
* @return bool
*/
public function hide() {
return true;
}
public function own_components() {
return [
'toc_number' => [
'config' => [
'NumberSuffix' => [
'config' => [
'label' => 'Suffix',
],
'extends' => 'LabelInput',
],
],
],
'typography' => [
'disabled_controls' => [
'TextTransform',
'typography-text-transform-hr',
'.tve-advanced-controls',
],
'config' => [
'FontColor' => [
'css_suffix' => ' .tve-toc-disabled',
],
'FontSize' => [
'css_suffix' => ' .tve-toc-disabled',
],
'FontFace' => [
'css_suffix' => ' .tve-toc-disabled',
],
'TextStyle' => [
'css_suffix' => ' .tve-toc-disabled',
],
'LineHeight' => [
'css_suffix' => ' .tve-toc-disabled',
],
],
],
'layout' => [
'disabled_controls' => [
'.tve-advanced-controls',
'Width',
'Height',
'Alignment',
],
],
];
}
}

View File

@@ -0,0 +1,206 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package TCB2.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden
}
class TCB_Toc_Old_Element extends TCB_Element_Abstract {
/**
* @return string
*/
public function name() {
return __( 'Table of Contents', 'thrive-cb' );
}
/**
* Get element alternate
*
* @return string
*/
public function alternate() {
return 'index,content,toc';
}
/**'
* @return string
*/
public function icon() {
return 'table_contents';
}
/**
* @return string
*/
public function identifier() {
return '.thrv_contents_table';
}
public function hide() {
return true;
}
/**
* @return array
*/
public function own_components() {
return array(
'toc_old' => array(
'config' => array(
'HeaderColor' => array(
'config' => array(
'label' => __( 'Header', 'thrive-cb' ),
),
'extends' => 'ColorPicker',
'to' => '.tve_ct_title',
),
'HeadBackground' => array(
'config' => array(
'label' => __( 'Background', 'thrive-cb' ),
),
'to' => '.tve_ct_title',
'extends' => 'ColorPicker',
),
'Headings' => array(
'config' => array(
'name' => __( 'Headings', 'thrive-cb' ),
'inputs' => [
[
'name' => 'h1',
'label' => 'H1',
],
[
'name' => 'h2',
'label' => 'H2',
],
[
'name' => 'h3',
'label' => 'H3',
],
[
'name' => 'h4',
'label' => 'H4',
],
[
'name' => 'h5',
'label' => 'H5',
],
[
'name' => 'h6',
'label' => 'H6',
],
],
),
'extends' => 'MultipleCheckbox',
),
'Columns' => array(
'config' => array(
'name' => __( 'Columns', 'thrive-cb' ),
'options' => [
[
'value' => '1',
'name' => '1',
],
[
'value' => '2',
'name' => '2',
],
[
'value' => '3',
'name' => '3',
],
],
),
'extends' => 'Select',
),
'Evenly' => array(
'config' => array(
'name' => '',
'label' => __( 'Distribute Evenly', 'thrive-cb' ),
'default' => true,
),
'extends' => 'Checkbox',
),
'MinWidth' => array(
'config' => array(
'default' => 'auto',
'min' => '0',
'max' => '2000',
'label' => __( 'Minimum Width', 'thrive-cb' ),
'um' => [ 'px', '%' ],
'css' => 'min-width',
),
'extends' => 'Slider',
),
),
),
'background' => [
'config' => [
'to' => '.tve_contents_table',
],
],
'borders' => [
'config' => [
'css_suffix' => ' .tve_contents_table',
'Borders' => [],
'Corners' => [],
],
],
'animation' => [
'hidden' => true,
],
'typography' => [
'config' => [
'to' => '.tve_ct_content',
'FontColor' => [
'css_suffix' => ' .ct_column a',
],
'TextAlign' => [
'css_suffix' => ' .ct_column',
],
'FontSize' => [
'css_suffix' => ' .ct_column a',
],
'TextStyle' => [
'css_suffix' => ' .ct_column a',
],
'LineHeight' => [
'css_suffix' => ' .ct_column a',
],
'FontFace' => [
'css_suffix' => ' .ct_column a',
],
'LetterSpacing' => [
'css_suffix' => ' .ct_column a',
],
'TextTransform' => [
'css_suffix' => ' .ct_column a',
],
],
],
'shadow' => [
'config' => [
'disabled_controls' => [ 'inner' ],
],
],
'scroll' => [
'hidden' => false,
],
);
}
/**
* Element category that will be displayed in the sidebar
*
* @return string
*/
public function category() {
return static::get_thrive_advanced_label();
}
}

View File

@@ -0,0 +1,208 @@
<?php
class TCB_Toc_Title_Element extends TCB_ContentBox_Element {
public function name() {
return __( 'Table of Contents Title', 'thrive-cb' );
}
/**
* @inheritDoc
*/
public function expanded_state_config() {
return true;
}
/**
* @return bool
*/
public function has_hover_state() {
return true;
}
/**
* Element identifier
*
* @return string
*/
public function identifier() {
return '.tve-toc-title';
}
/**
* Either to display or not the element in the sidebar menu
*
* @return bool
*/
public function hide() {
return true;
}
/**
* @inheritDoc
*/
public function expanded_state_apply_inline() {
return true;
}
/**
* For TOC expanded is collapsed because we can
*
* @inheritDoc
*/
public function expanded_state_label() {
return __( 'Collapsed', 'thrive-cb' );
}
public function own_components() {
$prefix_config = tcb_selection_root() . ' .tve-toc-title';
$components = parent::own_components();
$components['toc_title'] = array(
'order' => 0,
'config' => array(
'State' => array(
'config' => array(
'name' => __( 'State', 'thrive-cb' ),
'buttons' => [
[
'icon' => '',
'text' => 'Expanded',
'value' => 'expanded',
'default' => true,
],
[
'icon' => '',
'text' => 'Collapsed',
'value' => 'collapsed',
],
],
),
'extends' => 'ButtonGroup',
),
'ShowIcon' => array(
'config' => array(
'label' => __( 'Show Icon' ),
),
'extends' => 'Switch',
),
'IconColor' => array(
'css_suffix' => ' .tve-toc-title-icon',
'config' => array(
'label' => __( 'Icon color', 'thrive-cb' ),
'options' => [ 'noBeforeInit' => false ],
),
'important' => true,
'extends' => 'ColorPicker',
),
'IconPlacement' => array(
'config' => array(
'name' => __( 'Placement', 'thrive-cb' ),
'buttons' => [
[
'icon' => '',
'text' => 'Left',
'value' => 'left',
'default' => true,
],
[
'icon' => '',
'text' => 'Right',
'value' => 'right',
],
],
),
'extends' => 'ButtonGroup',
),
'IconSize' => array(
'config' => array(
'default' => '15',
'min' => '0',
'max' => '100',
'label' => __( 'Icon Size', 'thrive-cb' ),
'um' => [ 'px', '%' ],
'css' => 'font-size',
),
'css_suffix' => ' .tve-toc-title-icon',
'important' => true,
'extends' => 'Slider',
),
'RotateIcon' => array(
'config' => array(
'step' => '45',
'label' => __( 'Rotate Icon', 'thrive-cb' ),
'default' => '0',
'min' => '-180',
'max' => '180',
'um' => [ ' Deg' ],
),
'extends' => 'Slider',
),
),
);
unset( $components['contentbox'] );
unset( $components['shared-styles'] );
$components['layout'] = [
'disabled_controls' => [
'Display',
'Float',
'Position',
],
'config' => [
'Width' => [
'important' => true,
],
'Height' => [
'important' => true,
],
],
];
$components['background'] = [
'config' => [
'ColorPicker' => [ 'css_prefix' => $prefix_config ],
'PreviewList' => [ 'css_prefix' => $prefix_config ],
'css_suffix' => ' > .tve-content-box-background',
],
];
$components['borders'] = [
'config' => [
'Borders' => [
'important' => true,
],
'Corners' => [
'important' => true,
],
'css_suffix' => ' > .tve-content-box-background',
],
];
$components['typography']['config'] = [
'FontSize' => [ 'css_prefix' => $prefix_config ],
'FontColor' => [ 'css_prefix' => $prefix_config ],
'LineHeight' => [ 'css_prefix' => $prefix_config ],
'FontFace' => [ 'css_prefix' => $prefix_config ],
'ParagraphStyle' => [ 'hidden' => false ],
];
$components['typography']['disabled_controls'] = [
'.tve-advanced-controls',
'p_spacing',
'h1_spacing',
'h2_spacing',
'h3_spacing',
];
$components['scroll'] = [ 'hidden' => true ];
$components['responsive'] = [ 'hidden' => true ];
$components['animation'] = [ 'hidden' => true ];
return $components;
}
}