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,76 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-visual-editor
*/
namespace TCB\Notifications;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Notification_Message
*
* @package TCB\Notifications
*/
class Notification_Message extends \TCB_Element_Abstract {
/**
* Name of the element
*
* @return string
*/
public function name() {
return __( 'Notification message', 'thrive-cb' );
}
/**
* WordPress element identifier
*
* @return string
*/
public function identifier() {
return '.notifications-content .thrv-notification_message';
}
public function own_components() {
$components = $this->general_components();
/* Remove suffix so that the settings apply on the correct element*/
foreach ( $components['typography']['config'] as $control => $config ) {
if ( in_array( $control, [ 'css_suffix', 'css_prefix' ] ) ) {
continue;
}
$components['typography']['config'][ $control ]['css_suffix'] = [ '' ];
}
$components['notification_message'] = $components['typography'];
$components['typography'] = [ 'hidden' => true ];
return $components;
}
public function category() {
return static::get_thrive_advanced_label();
}
public function has_hover_state() {
return true;
}
/**
* Return icon class needed for display in menu
*
* @return string
*/
public function icon() {
return 'notification-message';
}
}
return new Notification_Message( 'notification_message' );

View File

@@ -0,0 +1,214 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-visual-editor
*/
namespace TCB\Notifications;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Content_Wrapper
*
* @package TCB\Notifications
*/
class Notifications_Content_Wrapper extends \TCB_Cloud_Template_Element_Abstract {
/**
* Name of the element
*
* @return string
*/
public function name() {
return __( 'Notification', 'thrive-cb' );
}
/**
* WordPress element identifier
*
* @return string
*/
public function identifier() {
return '.notifications-content-wrapper';
}
public function own_components() {
$components = parent::own_components();
$components['animation'] = [ 'hidden' => true ];
$components['typography'] = [ 'hidden' => true ];
$components['layout']['disabled_controls'] = [ 'Alignment', 'Display', '.tve-advanced-controls' ];
/* only apply the styles to the currently visible notification state */
$components['layout']['config'] = [ 'to' => '.notifications-content:visible' ];
$components['background']['config'] = [ 'to' => '.notifications-content:visible' ];
$components['borders']['config'] = [ 'to' => '.notifications-content:visible' ];
$components['shadow']['config'] = [ 'to' => '.notifications-content:visible' ];
$components['notification'] = [
'config' => [
'DisplayPosition' => [
'config' => [
'name' => __( 'Display position', 'thrive-cb' ),
'large_buttons' => true,
'buttons' => [
[
'text' => '',
'value' => 'top-left',
],
[
'text' => '',
'value' => 'top-center',
],
[
'text' => '',
'value' => 'top-right',
],
[
'text' => '',
'value' => 'middle-left',
],
[
'text' => '',
'value' => 'middle-center',
],
[
'text' => '',
'value' => 'middle-right',
],
[
'text' => '',
'value' => 'bottom-left',
],
[
'text' => '',
'value' => 'bottom-center',
],
[
'text' => '',
'value' => 'bottom-right',
],
],
],
'extends' => 'ButtonGroup',
],
'VerticalSpacing' => [
'config' => [
'name' => __( 'Top spacing', 'thrive-cb' ),
'min' => '0',
'default' => '50',
'um' => [ 'px' ],
],
'extends' => 'Input',
],
'HorizontalSpacing' => [
'config' => [
'name' => __( 'Side spacing', 'thrive-cb' ),
'min' => '0',
'default' => '50',
'um' => [ 'px' ],
],
'extends' => 'Input',
],
'AnimationDirection' => [
'config' => [
'name' => __( 'Animation direction', 'thrive-cb' ),
'default' => 'down',
'options' => [
[
'value' => 'none',
'name' => __( 'No animation', 'thrive-cb' ),
],
[
'value' => 'down',
'name' => __( 'Down', 'thrive-cb' ),
],
[
'value' => 'up',
'name' => __( 'Up', 'thrive-cb' ),
],
[
'value' => 'right',
'name' => __( 'Right', 'thrive-cb' ),
],
[
'value' => 'left',
'name' => __( 'Left', 'thrive-cb' ),
],
],
],
'extends' => 'Select',
],
'AnimationTime' => [
'config' => [
'min' => '0',
'max' => '10',
'default' => '3',
'step' => '0.1',
'label' => __( 'Show for (s)', 'thrive-cb' ),
'um' => [ 's' ],
],
'extends' => 'Slider',
],
'MaximumWidth' => [
'config' => [
'min' => '100',
'max' => '2000',
'default' => '200',
'label' => __( 'Maximum Width', 'thrive-cb' ),
'um' => [ 'px' ],
],
'extends' => 'Slider',
],
'MinimumHeight' => [
'config' => [
'min' => '1',
'max' => '1000',
'default' => '200',
'label' => __( 'Minimum Height', 'thrive-cb' ),
'um' => [ 'px' ],
],
'extends' => 'Slider',
],
'VerticalPosition' => [
'config' => [
'name' => __( 'Content Align', 'thrive-cb' ),
'buttons' => [
[
'icon' => 'top',
'value' => 'flex-start',
],
[
'icon' => 'vertical',
'value' => 'center',
],
[
'icon' => 'bot',
'value' => 'flex-end',
],
],
],
'extends' => 'ButtonGroup',
],
],
];
return $components;
}
public function hide() {
return true;
}
/**
* @return bool
*/
public function is_placeholder() {
return false;
}
}
return new Notifications_Content_Wrapper( 'notification' );