first commit

This commit is contained in:
CHIEFSOFT\ameye
2023-11-30 13:20:54 -05:00
commit e9e5c0546c
5833 changed files with 1801865 additions and 0 deletions
@@ -0,0 +1,62 @@
/**
* All of the CSS for your block editor functionality should be
* included in this file.
*/
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
--cnvs-collapsible-border-top: 1px solid #e9ecef;
}
/*--------------------------------------------------------------*/
.cnvs-block-collapsibles > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/collapsible"] + [data-type="canvas/collapsible"] > .canvas-component-custom-blocks {
margin-top: -33px;
}
.cnvs-block-collapsibles > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/collapsible"] + [data-type="canvas/collapsible"] > .canvas-component-custom-blocks .cnvs-block-collapsible {
border-top: var(--cnvs-collapsible-border-top);
}
[data-type="canvas/collapsible"].is-selected {
z-index: 120;
}
[data-type="canvas/collapsible"]:not(.is-selected) > .block-editor-block-list__insertion-point {
display: none;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title {
position: relative;
padding: 0.75rem 0;
padding-left: 20px;
}
.cnvs-block-collapsible .cnvs-block-collapsible-toggle {
position: absolute;
left: 10px;
top: 0;
height: 100%;
color: inherit;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
text-shadow: none;
outline: none;
background: transparent;
-webkit-transition: .2s transform;
transition: .2s transform;
}
.cnvs-block-collapsible .cnvs-block-collapsible-toggle:focus, .cnvs-block-collapsible .cnvs-block-collapsible-toggle:hover {
color: inherit;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
text-shadow: none;
outline: none;
background: transparent;
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-title > .cnvs-block-collapsible-toggle > span {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
@@ -0,0 +1,62 @@
/**
* All of the CSS for your block editor functionality should be
* included in this file.
*/
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
--cnvs-collapsible-border-top: 1px solid #e9ecef;
}
/*--------------------------------------------------------------*/
.cnvs-block-collapsibles > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/collapsible"] + [data-type="canvas/collapsible"] > .canvas-component-custom-blocks {
margin-top: -33px;
}
.cnvs-block-collapsibles > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/collapsible"] + [data-type="canvas/collapsible"] > .canvas-component-custom-blocks .cnvs-block-collapsible {
border-top: var(--cnvs-collapsible-border-top);
}
[data-type="canvas/collapsible"].is-selected {
z-index: 120;
}
[data-type="canvas/collapsible"]:not(.is-selected) > .block-editor-block-list__insertion-point {
display: none;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title {
position: relative;
padding: 0.75rem 0;
padding-right: 20px;
}
.cnvs-block-collapsible .cnvs-block-collapsible-toggle {
position: absolute;
right: 10px;
top: 0;
height: 100%;
color: inherit;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
text-shadow: none;
outline: none;
background: transparent;
-webkit-transition: .2s transform;
transition: .2s transform;
}
.cnvs-block-collapsible .cnvs-block-collapsible-toggle:focus, .cnvs-block-collapsible .cnvs-block-collapsible-toggle:hover {
color: inherit;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
text-shadow: none;
outline: none;
background: transparent;
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-title > .cnvs-block-collapsible-toggle > span {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
@@ -0,0 +1,79 @@
/**
* All of the CSS for your block editor functionality should be
* included in this file.
*/
/**
* Environment for all styles (variables, additions, etc).
*/
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
--cnvs-collapsible-border-top: 1px solid #e9ecef;
--cnvs-collapsible-a-color: #212529;
--cnvs-collapsible-a-hover-color: #adb5bd;
}
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
word-wrap: break-word;
margin-bottom: 0;
background-clip: border-box;
}
.cnvs-block-collapsible + .cnvs-block-collapsible {
border-top: var(--cnvs-collapsible-border-top);
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 {
margin: 0;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 0.75rem 0;
border: none;
color: var(--cnvs-collapsible-a-color);
-webkit-transition: 0.25s;
transition: 0.25s;
text-decoration: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a:hover {
color: var(--cnvs-collapsible-a-hover-color);
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a:after {
content: "\e914";
font-family: "canvas-icons";
-webkit-transition: 0.25s;
transition: 0.25s;
}
.cnvs-block-collapsible .cnvs-block-collapsible-content {
display: none;
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-title h6 a:after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-content {
display: block;
}
@@ -0,0 +1,79 @@
/**
* All of the CSS for your block editor functionality should be
* included in this file.
*/
/**
* Environment for all styles (variables, additions, etc).
*/
/*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
--cnvs-collapsible-border-top: 1px solid #e9ecef;
--cnvs-collapsible-a-color: #212529;
--cnvs-collapsible-a-hover-color: #adb5bd;
}
/*--------------------------------------------------------------*/
.cnvs-block-collapsible {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
word-wrap: break-word;
margin-bottom: 0;
background-clip: border-box;
}
.cnvs-block-collapsible + .cnvs-block-collapsible {
border-top: var(--cnvs-collapsible-border-top);
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 {
margin: 0;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 0.75rem 0;
border: none;
color: var(--cnvs-collapsible-a-color);
-webkit-transition: 0.25s;
transition: 0.25s;
text-decoration: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a:hover {
color: var(--cnvs-collapsible-a-hover-color);
}
.cnvs-block-collapsible .cnvs-block-collapsible-title h6 a:after {
content: "\e914";
font-family: "canvas-icons";
-webkit-transition: 0.25s;
transition: 0.25s;
}
.cnvs-block-collapsible .cnvs-block-collapsible-content {
display: none;
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-title h6 a:after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.cnvs-block-collapsible.cnvs-block-collapsible-opened > .cnvs-block-collapsible-content {
display: block;
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,48 @@
/**
* WordPress dependencies
*/
const {
addFilter,
} = wp.hooks;
/**
* Internal dependencies
*/
import CollapsiblesBlockEdit from './edit.jsx';
import CollapsiblesBlockSave from './save.jsx';
/**
* Custom block Edit output for Collapsibles block.
*
* @param {JSX} edit Original block edit.
* @param {Object} blockProps Block data.
*
* @return {JSX} Block edit.
*/
function editRender( edit, blockProps ) {
if ( 'canvas/collapsibles' === blockProps.name ) {
return (
<CollapsiblesBlockEdit { ...blockProps } />
);
}
return edit;
}
/**
* Custom block register data for Collapsibles block.
*
* @param {Object} blockData Block data.
*
* @return {Object} Block data.
*/
function registerData( blockData ) {
if ( 'canvas/collapsibles' === blockData.name ) {
blockData.save = CollapsiblesBlockSave;
}
return blockData;
}
addFilter( 'canvas.customBlock.editRender', 'canvas/collapsibles/editRender', editRender );
addFilter( 'canvas.customBlock.registerData', 'canvas/collapsibles/registerData', registerData );
@@ -0,0 +1,85 @@
/**
* External dependencies
*/
import classnames from 'classnames';
/**
* WordPress dependencies
*/
const {
Component,
Fragment,
} = wp.element;
const {
InnerBlocks,
} = wp.blockEditor;
/**
* Component
*/
export default class CollapsiblesBlockEdit extends Component {
constructor() {
super( ...arguments );
this.getLayoutTemplate = this.getLayoutTemplate.bind( this );
}
/**
* Returns the template configuration for a given section layout.
*
* @return {Object[]} Layout configuration.
*/
getLayoutTemplate() {
const {
attributes,
} = this.props;
let {
count,
} = attributes;
const result = [];
for ( let k = 0; k < count; k++ ) {
result.push( [
'canvas/collapsible',
] );
}
return result;
}
render() {
const {
setAttributes,
} = this.props;
let {
className,
} = this.props;
const {
count,
canvasClassName,
} = this.props.attributes;
className = classnames(
'cnvs-block-collapsibles',
`cnvs-block-collapsibles-${ count }`,
canvasClassName
);
return (
<Fragment>
<div className={ className }>
<InnerBlocks
template={ this.getLayoutTemplate() }
templateLock="all"
allowedBlocks={ [ 'canvas/collapsible' ] }
/>
</div>
</Fragment>
);
}
}
@@ -0,0 +1,24 @@
/**
* Block Collapsibles
*/
( function( $ ) {
$( document ).ready( function() {
$( '.cnvs-block-collapsible-opened > .cnvs-block-collapsible-content' ).css( 'display', 'block' );
$( document ).on( 'click', '.cnvs-block-collapsibles .cnvs-block-collapsible-title a', function( e ) {
e.preventDefault();
var $collapsible = $( this ).closest( '.cnvs-block-collapsible' );
$collapsible
.siblings( '.cnvs-block-collapsible-opened' )
.removeClass( 'cnvs-block-collapsible-opened' )
.children( '.cnvs-block-collapsible-content' )
.stop().slideUp();
$collapsible.children( '.cnvs-block-collapsible-content' ).stop().slideToggle();
$collapsible.toggleClass( 'cnvs-block-collapsible-opened' );
} );
} );
} )( jQuery );
@@ -0,0 +1,18 @@
<?php
/**
* Collapsibles block template
*
* @var $attributes - block attributes
* @var $content - inner blocks
* @var $options - layout options
*
* @package Canvas
*/
$attributes['className'] .= ' cnvs-block-collapsibles-' . $attributes['count'];
?>
<div class="<?php echo esc_attr( $attributes['className'] ); ?>" <?php echo ( isset( $attributes['anchor'] ) ? ' id="' . esc_attr( $attributes['anchor'] ) . '"' : '' ); ?>>
<?php echo (string) $content; // XSS. ?>
</div>
@@ -0,0 +1,17 @@
/**
* WordPress dependencies
*/
const { Component } = wp.element;
const {
InnerBlocks,
} = wp.blockEditor;
/**
* Component
*/
export default class CollapsiblesBlockSave extends Component {
render() {
return <InnerBlocks.Content />;
}
}