'; $title_conditions = [ [ 'value' => true, 'attribute' => 'show_table_header', 'operator' => 'or', ], [ 'value' => '', 'attribute' => 'show_table_header', 'operator' => 'or', ], ]; return [ 'id' => uniqid(), 'type' => self::$type, 'name' => __( 'Order Details', 'yaymail' ), 'icon' => self::$icon, 'group' => 'woocommerce', 'available' => true, 'position' => 190, 'data' => [ 'rich_text' => [ 'value_path' => 'rich_text', 'component' => '', 'title' => __( 'Content', 'yaymail' ), 'default_value' => $attributes['rich_text'] ?? '[yaymail_order_details]', 'type' => 'content', ], 'payment_instructions' => [ 'value_path' => 'payment_instructions', 'component' => '', 'title' => __( 'Payment instructions', 'yaymail' ), 'default_value' => '[yaymail_payment_instructions]', 'type' => 'content', ], 'container_group_definition' => [ 'component' => 'GroupDefinition', 'title' => __( 'Container settings', 'yaymail' ), 'description' => __( 'Handle container layout settings', 'yaymail' ), ], 'padding' => [ 'value_path' => 'padding', 'component' => 'Spacing', 'title' => __( 'Padding', 'yaymail' ), 'default_value' => isset( $attributes['padding'] ) ? $attributes['padding'] : [ 'top' => '15', 'right' => '50', 'bottom' => '15', 'left' => '50', ], 'type' => 'style', ], 'background_color' => [ 'value_path' => 'background_color', 'component' => 'Color', 'title' => __( 'Background color', 'yaymail' ), 'default_value' => isset( $attributes['background_color'] ) ? $attributes['background_color'] : '#fff', 'type' => 'style', ], 'border' => [ 'value_path' => 'border', 'component' => 'Border', 'title' => __( 'Border', 'yaymail' ), 'default_value' => isset( $attributes['border'] ) ? $attributes['border'] : AttributesData::BORDER_DEFAULT, 'type' => 'style', ], 'table_setting_breaker' => [ 'component' => 'LineBreaker', ], 'table_group_definition' => [ 'component' => 'GroupDefinition', 'title' => __( 'Table settings', 'yaymail' ), 'description' => __( 'Handle table settings', 'yaymail' ), ], 'layout_type' => [ 'value_path' => 'layout_type', 'component' => 'Selector', 'title' => __( 'Layout type', 'yaymail' ), 'default_value' => isset( $attributes['layout_type'] ) ? $attributes['layout_type'] : $layout_type, 'options' => [ [ 'label' => __( 'Legacy', 'yaymail' ), 'value' => 'legacy', ], [ 'label' => __( 'Modern', 'yaymail' ), 'value' => 'modern', ], ], 'type' => 'content', ], 'title' => [ 'value_path' => 'title', 'component' => 'RichTextEditor', 'title' => __( 'Title', 'yaymail' ), 'default_value' => isset( $attributes['title'] ) ? $attributes['title'] : 'Order #[yaymail_order_number] ([yaymail_order_date])', 'text_color_path' => 'title_color', 'background_color_path' => 'background_color', 'type' => 'content', ], 'title_color' => [ 'value_path' => 'title_color', 'component' => 'Color', 'title' => __( 'Title color', 'yaymail' ), 'default_value' => isset( $attributes['title_color'] ) ? $attributes['title_color'] : YAYMAIL_COLOR_WC_DEFAULT, 'type' => 'style', ], 'text_color' => [ 'value_path' => 'text_color', 'component' => 'Color', 'title' => __( 'Text color', 'yaymail' ), 'default_value' => isset( $attributes['text_color'] ) ? $attributes['text_color'] : YAYMAIL_COLOR_TEXT_DEFAULT, 'type' => 'style', ], 'border_color' => [ 'value_path' => 'border_color', 'component' => 'Color', 'title' => __( 'Border color', 'yaymail' ), 'default_value' => isset( $attributes['border_color'] ) ? $attributes['border_color'] : YAYMAIL_COLOR_BORDER_DEFAULT, 'type' => 'style', ], 'font_family' => [ 'value_path' => 'font_family', 'component' => 'FontFamilySelector', 'title' => __( 'Font family', 'yaymail' ), 'default_value' => isset( $attributes['font_family'] ) ? $attributes['font_family'] : YAYMAIL_DEFAULT_FAMILY, 'type' => 'style', ], 'table_content_font_size' => [ 'value_path' => 'table_content_font_size', 'component' => 'Dimension', 'title' => __( 'Table content font size', 'yaymail' ), 'default_value' => isset( $attributes['table_content_font_size'] ) ? $attributes['table_content_font_size'] : '14', 'type' => 'style', 'min' => 8, 'max' => 25, 'unit' => 'px', ], 'table_heading_line_breaker' => [ 'component' => 'LineBreaker', ], 'table_heading_group_definition' => [ 'component' => 'GroupDefinition', 'title' => __( 'Table heading settings', 'yaymail' ), 'description' => __( 'Handle table heading settings', 'yaymail' ), ], 'table_heading_font_size' => [ 'value_path' => 'table_heading_font_size', 'component' => 'Dimension', 'title' => __( 'Table heading font size', 'yaymail' ), 'default_value' => isset( $attributes['table_heading_font_size'] ) ? $attributes['table_heading_font_size'] : '14', 'type' => 'style', 'min' => 8, 'max' => 25, 'unit' => 'px', ], 'show_table_header' => [ 'value_path' => 'show_table_header', 'component' => 'Switcher', 'title' => __( 'Show table header', 'yaymail' ), 'default_value' => isset( $attributes['show_table_header'] ) ? $attributes['show_table_header'] : true, 'type' => 'content', ], 'product_title' => [ 'value_path' => 'product_title', 'component' => 'TextInput', 'title' => __( 'Product', 'yaymail' ), 'default_value' => esc_html__( 'Product', 'woocommerce' ), 'type' => 'content', 'conditions' => $title_conditions, ], 'cost_title' => [ 'value_path' => 'cost_title', 'component' => 'TextInput', 'title' => __( 'Cost', 'yaymail' ), 'default_value' => esc_html__( 'Cost', 'woocommerce' ), 'type' => 'content', 'conditions' => $title_conditions, ], 'quantity_title' => [ 'value_path' => 'quantity_title', 'component' => 'TextInput', 'title' => __( 'Quantity', 'yaymail' ), 'default_value' => esc_html__( 'Quantity', 'woocommerce' ), 'type' => 'content', 'conditions' => $title_conditions, ], 'price_title' => [ 'value_path' => 'price_title', 'component' => 'TextInput', 'title' => __( 'Price', 'yaymail' ), 'default_value' => esc_html__( 'Price', 'woocommerce' ), 'type' => 'content', 'conditions' => $title_conditions, ], 'cart_subtotal_title' => [ 'value_path' => 'cart_subtotal_title', 'component' => 'TextInput', 'title' => __( 'Subtotal', 'yaymail' ), 'default_value' => esc_html__( 'Subtotal:', 'woocommerce' ), 'type' => 'content', ], 'payment_method_title' => [ 'value_path' => 'payment_method_title', 'component' => 'TextInput', 'title' => __( 'Payment method', 'yaymail' ), 'default_value' => esc_html__( 'Payment method:', 'woocommerce' ), 'type' => 'content', ], 'order_total_title' => [ 'value_path' => 'order_total_title', 'component' => 'TextInput', 'title' => __( 'Total', 'yaymail' ), 'default_value' => esc_html__( 'Total:', 'woocommerce' ), 'type' => 'content', ], 'order_note_title' => [ 'value_path' => 'order_note_title', 'component' => 'TextInput', 'title' => __( 'Note', 'yaymail' ), 'default_value' => esc_html__( 'Note:', 'woocommerce' ), 'type' => 'content', ], 'shipping_title' => [ 'value_path' => 'shipping_title', 'component' => 'TextInput', 'title' => __( 'Shipping', 'yaymail' ), 'default_value' => esc_html__( 'Shipping:', 'woocommerce' ) . ' [yaymail_shipping_method]', 'type' => 'content', ], 'discount_title' => [ 'value_path' => 'discount_title', 'component' => 'TextInput', 'title' => __( 'Discount', 'yaymail' ), 'default_value' => esc_html__( 'Discount:', 'woocommerce' ), 'type' => 'content', ], 'custom_footer_rows_breaker' => [ 'component' => 'LineBreaker', ], 'custom_footer_rows_group' => [ 'component' => 'GroupDefinition', 'title' => __( 'Custom Footer Rows', 'yaymail' ), 'description' => __( 'Add custom rows to the order totals footer', 'yaymail' ), ], 'custom_footer_rows' => [ 'value_path' => 'custom_footer_rows', 'component' => 'CustomFooterRowsEditor', 'title' => __( 'Custom Footer Rows', 'yaymail' ), 'default_value' => isset( $attributes['custom_footer_rows'] ) ? $attributes['custom_footer_rows'] : [], 'type' => 'content', ], ], ]; } }