Spaces:
Configuration error
Configuration error
Commit
Β·
9aeb710
1
Parent(s):
5ac078a
Frontend Refactor π
Browse files
frontend/src/components/Navagation/navbar.js
CHANGED
|
@@ -221,11 +221,11 @@ export default class Navbar extends Component{
|
|
| 221 |
|
| 222 |
return(<>
|
| 223 |
<li key={`${item.name}-${item.port}`} onDragStart={(event) => this.onDragStart(event, 'custom', item, index)}
|
| 224 |
-
className={` text-white text-md flex text-center items-center cursor-grab shadow-lg
|
| 225 |
p-5 px-2 mt-4 rounded-md ${ this.state.open ? `hover:animate-pulse ${this.state.colour[index] === null ? "" : this.state.colour[index]} ` : `hidden`} break-all -z-20`} draggable>
|
| 226 |
|
| 227 |
-
<
|
| 228 |
-
<
|
| 229 |
|
| 230 |
</li >
|
| 231 |
|
|
|
|
| 221 |
|
| 222 |
return(<>
|
| 223 |
<li key={`${item.name}-${item.port}`} onDragStart={(event) => this.onDragStart(event, 'custom', item, index)}
|
| 224 |
+
className={` text-white text-md flex flex-col text-center items-center cursor-grab shadow-lg
|
| 225 |
p-5 px-2 mt-4 rounded-md ${ this.state.open ? `hover:animate-pulse ${this.state.colour[index] === null ? "" : this.state.colour[index]} ` : `hidden`} break-all -z-20`} draggable>
|
| 226 |
|
| 227 |
+
<div className=" absolute -mt-2 text-4xl opacity-60 z-10 ">{`${this.state.emoji[index] === null ? "" : this.state.emoji[index]}`}</div>
|
| 228 |
+
<h4 className={` max-w-full font-sans text-blue-50 leading-tight font-bold text-xl flex-1 z-20 ${this.state.open ? "" : "hidden"}`} style={{"text-shadow" : "0px 1px 2px rgba(0, 0, 0, 0.25)"}} >{`${item.name}`} </h4>
|
| 229 |
|
| 230 |
</li >
|
| 231 |
|
frontend/src/components/Nodes/Custom.js
CHANGED
|
@@ -17,17 +17,19 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 17 |
width : 540,
|
| 18 |
height : 600,
|
| 19 |
size : false,
|
| 20 |
-
iframe : 0
|
|
|
|
|
|
|
| 21 |
}
|
| 22 |
|
| 23 |
}
|
| 24 |
|
| 25 |
handelSelected = () => {
|
| 26 |
-
this.setState({id : this.state.id, reachable : this.state.reachable, selected : !this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : this.state.size, iframe : this.state.iframe})
|
| 27 |
}
|
| 28 |
|
| 29 |
handelSizeState = () => {
|
| 30 |
-
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : !this.state.size, iframe : this.state.iframe})
|
| 31 |
}
|
| 32 |
|
| 33 |
isFetchable = async (host) => {
|
|
@@ -47,24 +49,34 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 47 |
}
|
| 48 |
|
| 49 |
onRefresh(){
|
| 50 |
-
if(!this.isFetchable) this.onNodeClick(this.state.
|
| 51 |
else{
|
| 52 |
-
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : this.state.size, iframe : this.state.iframe + 1})
|
| 53 |
}
|
| 54 |
}
|
| 55 |
|
| 56 |
handelOnChange(evt, type){
|
| 57 |
-
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : type === "width" ? parseInt(evt.target.value) : this.state.width, height : type === "height" ? parseInt(evt.target.value) : this.state.height, size : this.state.size, iframe : this.state.iframe})
|
| 58 |
type === "width" ? this.myRef.current.style.width = `${parseInt(evt.target.value)}px` : this.myRef.current.style.height = `${parseInt(evt.target.value)}px`
|
| 59 |
}
|
| 60 |
|
| 61 |
handelSize(evt, increment, change){
|
| 62 |
if (evt === "increment") {
|
| 63 |
-
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : change === "width" ? this.state.width + increment : this.state.width, height : change === "height" ? this.state.height + increment : this.state.height, size : this.state.size, iframe : this.state.iframe})
|
| 64 |
change === "width" ? this.myRef.current.style.width = `${this.state.width + increment}px` : this.myRef.current.style.height = `${this.state.height + increment}px`
|
| 65 |
}
|
| 66 |
|
| 67 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
Counter(focus, size){
|
| 70 |
return (<div className="custom-number-input h-10 w-32 dark:text-white text-black ">
|
|
@@ -81,7 +93,7 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 81 |
}
|
| 82 |
|
| 83 |
render(){
|
| 84 |
-
if (!this.state.reachable) this.onNodeClick(this.state.
|
| 85 |
return (<>
|
| 86 |
<>
|
| 87 |
<div className=" flex w-full h-10 top-0 cursor-pointer" onClick={this.handelEvent}>
|
|
@@ -91,7 +103,7 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 91 |
<div className={` flex ${this.state.selected ? '' : 'w-0 hidden'}`}>
|
| 92 |
<div title="Adjust Node Size" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Violet rounded-xl" onClick={this.handelSizeState}><TbResize className="h-full w-full text-white p-1"/></div>
|
| 93 |
<a href={this.state.data.host} target="_blank" rel="noopener noreferrer"><div title="Gradio Host Site" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Pink rounded-xl"><BiCube className="h-full w-full text-white p-1"/></div></a>
|
| 94 |
-
<div title="Delete Node" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Red rounded-xl" onClick={() => this.onNodeClick(this.state.
|
| 95 |
<div title="Refresh Node" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Orange rounded-xl" onClick={() => this.onRefresh()}><BiRefresh className="h-full w-full text-white p-1"/></div>
|
| 96 |
|
| 97 |
{ this.state.size && <div className="duration-300 flex w-auto h-full mr-2 -mt-3 space-x-4">
|
|
@@ -102,8 +114,8 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 102 |
|
| 103 |
</div>
|
| 104 |
|
| 105 |
-
<div className={`relative w-[540px] h-[600px] overflow-hidden m-0 p-0 shadow-2xl`} ref={this.myRef}>
|
| 106 |
-
<div className={`absolute h-full w-full ${this.state.data.colour} border-
|
| 107 |
<iframe
|
| 108 |
id="iframe"
|
| 109 |
key={this.state.iframe}
|
|
@@ -113,6 +125,12 @@ export default class CustomNodeIframe extends React.Component {
|
|
| 113 |
className=" -z-10 container h-full p-2 flex-grow space-iframe overflow-scroll "
|
| 114 |
sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>
|
| 115 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
</>
|
| 117 |
</>)
|
| 118 |
}
|
|
|
|
| 17 |
width : 540,
|
| 18 |
height : 600,
|
| 19 |
size : false,
|
| 20 |
+
iframe : 0,
|
| 21 |
+
initial_pos : 0,
|
| 22 |
+
initial_size : 0,
|
| 23 |
}
|
| 24 |
|
| 25 |
}
|
| 26 |
|
| 27 |
handelSelected = () => {
|
| 28 |
+
this.setState({id : this.state.id, reachable : this.state.reachable, selected : !this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : this.state.size, iframe : this.state.iframe, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 29 |
}
|
| 30 |
|
| 31 |
handelSizeState = () => {
|
| 32 |
+
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : !this.state.size, iframe : this.state.iframe, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 33 |
}
|
| 34 |
|
| 35 |
isFetchable = async (host) => {
|
|
|
|
| 49 |
}
|
| 50 |
|
| 51 |
onRefresh(){
|
| 52 |
+
if(!this.isFetchable) this.onNodeClick(this.state.id)
|
| 53 |
else{
|
| 54 |
+
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : this.state.size, iframe : this.state.iframe + 1, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 55 |
}
|
| 56 |
}
|
| 57 |
|
| 58 |
handelOnChange(evt, type){
|
| 59 |
+
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : type === "width" ? parseInt(evt.target.value) : this.state.width, height : type === "height" ? parseInt(evt.target.value) : this.state.height, size : this.state.size, iframe : this.state.iframe, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 60 |
type === "width" ? this.myRef.current.style.width = `${parseInt(evt.target.value)}px` : this.myRef.current.style.height = `${parseInt(evt.target.value)}px`
|
| 61 |
}
|
| 62 |
|
| 63 |
handelSize(evt, increment, change){
|
| 64 |
if (evt === "increment") {
|
| 65 |
+
this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : change === "width" ? this.state.width + increment : this.state.width, height : change === "height" ? this.state.height + increment : this.state.height, size : this.state.size, iframe : this.state.iframe, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 66 |
change === "width" ? this.myRef.current.style.width = `${this.state.width + increment}px` : this.myRef.current.style.height = `${this.state.height + increment}px`
|
| 67 |
}
|
| 68 |
|
| 69 |
}
|
| 70 |
+
|
| 71 |
+
// (Experimental) resize nodes by dragging
|
| 72 |
+
// initial = (e) => {
|
| 73 |
+
// this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height , size : this.state.size, iframe : this.state.iframe, initial_pos : e.clientY, initial_size : this.myRef.current.offsetHeight })
|
| 74 |
+
// }
|
| 75 |
+
|
| 76 |
+
// resize = (e) => {
|
| 77 |
+
// this.setState({id : this.state.id, reachable : this.state.reachable, selected : this.state.selected, data : this.state.data, width : this.state.width, height : this.state.height, size : this.state.size, iframe : this.state.iframe, initial_pos : this.state.initial_pos, initial_size : this.state.initial_size})
|
| 78 |
+
// this.myRef.current.style.height = `${parseInt(this.state.initial_size) + parseInt(e.clientY - this.state.initial_pos)}px`
|
| 79 |
+
// }
|
| 80 |
|
| 81 |
Counter(focus, size){
|
| 82 |
return (<div className="custom-number-input h-10 w-32 dark:text-white text-black ">
|
|
|
|
| 93 |
}
|
| 94 |
|
| 95 |
render(){
|
| 96 |
+
if (!this.state.reachable) this.onNodeClick(this.state.id)
|
| 97 |
return (<>
|
| 98 |
<>
|
| 99 |
<div className=" flex w-full h-10 top-0 cursor-pointer" onClick={this.handelEvent}>
|
|
|
|
| 103 |
<div className={` flex ${this.state.selected ? '' : 'w-0 hidden'}`}>
|
| 104 |
<div title="Adjust Node Size" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Violet rounded-xl" onClick={this.handelSizeState}><TbResize className="h-full w-full text-white p-1"/></div>
|
| 105 |
<a href={this.state.data.host} target="_blank" rel="noopener noreferrer"><div title="Gradio Host Site" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Pink rounded-xl"><BiCube className="h-full w-full text-white p-1"/></div></a>
|
| 106 |
+
<div title="Delete Node" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Red rounded-xl" onClick={() => this.onNodeClick(this.state.id)}><BsTrash className="h-full w-full text-white p-1"/></div>
|
| 107 |
<div title="Refresh Node" className="duration-300 cursor-pointer shadow-xl border-2 dark:border-white border-white h-10 w-10 mr-2 -mt-3 bg-Warm-Orange rounded-xl" onClick={() => this.onRefresh()}><BiRefresh className="h-full w-full text-white p-1"/></div>
|
| 108 |
|
| 109 |
{ this.state.size && <div className="duration-300 flex w-auto h-full mr-2 -mt-3 space-x-4">
|
|
|
|
| 114 |
|
| 115 |
</div>
|
| 116 |
|
| 117 |
+
<div id="draggable" className={`relative w-[540px] h-[600px] overflow-hidden m-0 p-0 shadow-2xl`} ref={this.myRef}>
|
| 118 |
+
<div className={`absolute h-full w-full ${this.state.data.colour} border-1 shadow-2xl rounded-xl -z-20`}></div>
|
| 119 |
<iframe
|
| 120 |
id="iframe"
|
| 121 |
key={this.state.iframe}
|
|
|
|
| 125 |
className=" -z-10 container h-full p-2 flex-grow space-iframe overflow-scroll "
|
| 126 |
sandbox="allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"></iframe>
|
| 127 |
</div>
|
| 128 |
+
{// (Experimental) Do not uncomment
|
| 129 |
+
/* <div className={`absolute bottom-0 w-full h-10 bg-transparent border-1 shadow-2xl rounded-xl z-10 cursor-ns-resize`}
|
| 130 |
+
draggable
|
| 131 |
+
onDragStart={(e) => { this.initial(e)}}
|
| 132 |
+
onDrag={(e) => { this.resize(e)}}
|
| 133 |
+
></div> */}
|
| 134 |
</>
|
| 135 |
</>)
|
| 136 |
}
|
frontend/src/components/ReactFlow/ReactFlowEnv.js
CHANGED
|
@@ -38,11 +38,13 @@ export default function ReactEnviorment() {
|
|
| 38 |
}, []);
|
| 39 |
|
| 40 |
const deleteNodeContains = (id) =>{setNodes((nds) => nds.filter(n => !n.id.includes(`${id}-`) ))}
|
|
|
|
| 41 |
|
|
|
|
| 42 |
const onDrop = useCallback(
|
| 43 |
(event) => {
|
| 44 |
event.preventDefault();
|
| 45 |
-
|
| 46 |
const reactFlowBounds = reactFlowWrapper.current.getBoundingClientRect();
|
| 47 |
const type = event.dataTransfer.getData('application/reactflow');
|
| 48 |
const item = JSON.parse(event.dataTransfer.getData('application/item'));
|
|
@@ -60,7 +62,8 @@ export default function ReactEnviorment() {
|
|
| 60 |
id: `${item.name}-${nodes.length}`,
|
| 61 |
type,
|
| 62 |
position,
|
| 63 |
-
|
|
|
|
| 64 |
};
|
| 65 |
setNodes((nds) => nds.concat(newNode));
|
| 66 |
},
|
|
@@ -75,7 +78,7 @@ export default function ReactEnviorment() {
|
|
| 75 |
<Navbar onDelete={deleteNodeContains}/>
|
| 76 |
<ReactFlowProvider>
|
| 77 |
<div className="h-screen w-screen" ref={reactFlowWrapper}>
|
| 78 |
-
<ReactFlow nodes={nodes} edges={edges} nodeTypes={types} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} onNodesDelete={
|
| 79 |
<Background variant='dots' size={1} className=" bg-white dark:bg-neutral-800"/>
|
| 80 |
</ReactFlow>
|
| 81 |
</div>
|
|
|
|
| 38 |
}, []);
|
| 39 |
|
| 40 |
const deleteNodeContains = (id) =>{setNodes((nds) => nds.filter(n => !n.id.includes(`${id}-`) ))}
|
| 41 |
+
const deleteNode = (id) =>{setNodes((nds) => nds.filter(n => n.id !== id ))}
|
| 42 |
|
| 43 |
+
|
| 44 |
const onDrop = useCallback(
|
| 45 |
(event) => {
|
| 46 |
event.preventDefault();
|
| 47 |
+
console.log(event.dataTransfer.getData('application/reactflow'))
|
| 48 |
const reactFlowBounds = reactFlowWrapper.current.getBoundingClientRect();
|
| 49 |
const type = event.dataTransfer.getData('application/reactflow');
|
| 50 |
const item = JSON.parse(event.dataTransfer.getData('application/item'));
|
|
|
|
| 62 |
id: `${item.name}-${nodes.length}`,
|
| 63 |
type,
|
| 64 |
position,
|
| 65 |
+
dragHandle : `#draggable`,
|
| 66 |
+
data: { label: `${item.name}`, host : `${item.host}`, colour : `${colour}`, delete : deleteNode },
|
| 67 |
};
|
| 68 |
setNodes((nds) => nds.concat(newNode));
|
| 69 |
},
|
|
|
|
| 78 |
<Navbar onDelete={deleteNodeContains}/>
|
| 79 |
<ReactFlowProvider>
|
| 80 |
<div className="h-screen w-screen" ref={reactFlowWrapper}>
|
| 81 |
+
<ReactFlow nodes={nodes} edges={edges} nodeTypes={types} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} onNodesDelete={deleteNode} onDragOver={onDragOver} onDrop={onDrop} onInit={setReactFlowInstance} fitView>
|
| 82 |
<Background variant='dots' size={1} className=" bg-white dark:bg-neutral-800"/>
|
| 83 |
</ReactFlow>
|
| 84 |
</div>
|
frontend/src/css/dist/output.css
CHANGED
|
@@ -583,6 +583,10 @@ video {
|
|
| 583 |
}
|
| 584 |
}
|
| 585 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 586 |
.absolute {
|
| 587 |
position: absolute;
|
| 588 |
}
|
|
@@ -628,6 +632,22 @@ video {
|
|
| 628 |
right: 1.25rem;
|
| 629 |
}
|
| 630 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 631 |
.-z-20 {
|
| 632 |
z-index: -20;
|
| 633 |
}
|
|
@@ -648,6 +668,26 @@ video {
|
|
| 648 |
z-index: 50;
|
| 649 |
}
|
| 650 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 651 |
.float-left {
|
| 652 |
float: left;
|
| 653 |
}
|
|
@@ -660,6 +700,21 @@ video {
|
|
| 660 |
margin: 0px;
|
| 661 |
}
|
| 662 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 663 |
.mt-4 {
|
| 664 |
margin-top: 1rem;
|
| 665 |
}
|
|
@@ -684,6 +739,46 @@ video {
|
|
| 684 |
margin-top: -0.75rem;
|
| 685 |
}
|
| 686 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 687 |
.block {
|
| 688 |
display: block;
|
| 689 |
}
|
|
@@ -696,6 +791,10 @@ video {
|
|
| 696 |
display: inline-flex;
|
| 697 |
}
|
| 698 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 699 |
.hidden {
|
| 700 |
display: none;
|
| 701 |
}
|
|
@@ -760,6 +859,10 @@ video {
|
|
| 760 |
width: 100vw;
|
| 761 |
}
|
| 762 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 763 |
.flex-1 {
|
| 764 |
flex: 1 1 0%;
|
| 765 |
}
|
|
@@ -782,15 +885,27 @@ video {
|
|
| 782 |
cursor: pointer;
|
| 783 |
}
|
| 784 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 785 |
.select-none {
|
| 786 |
-webkit-user-select: none;
|
| 787 |
user-select: none;
|
| 788 |
}
|
| 789 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 790 |
.flex-row {
|
| 791 |
flex-direction: row;
|
| 792 |
}
|
| 793 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 794 |
.items-center {
|
| 795 |
align-items: center;
|
| 796 |
}
|
|
@@ -937,6 +1052,11 @@ video {
|
|
| 937 |
background-color: rgb(254 169 89 / var(--tw-bg-opacity));
|
| 938 |
}
|
| 939 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 940 |
.bg-gradient-to-bl {
|
| 941 |
background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
|
| 942 |
}
|
|
@@ -1025,12 +1145,6 @@ video {
|
|
| 1025 |
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
|
| 1026 |
}
|
| 1027 |
|
| 1028 |
-
.from-Entrepreneurial-Lies-Gray {
|
| 1029 |
-
--tw-gradient-from: #8693AB;
|
| 1030 |
-
--tw-gradient-to: rgb(134 147 171 / 0);
|
| 1031 |
-
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
|
| 1032 |
-
}
|
| 1033 |
-
|
| 1034 |
.via-purple-500 {
|
| 1035 |
--tw-gradient-to: rgb(168 85 247 / 0);
|
| 1036 |
--tw-gradient-stops: var(--tw-gradient-from), #a855f7, var(--tw-gradient-to);
|
|
@@ -1123,10 +1237,6 @@ video {
|
|
| 1123 |
--tw-gradient-to: #1565C0;
|
| 1124 |
}
|
| 1125 |
|
| 1126 |
-
.to-Entrepreneurial-Lies-Gray {
|
| 1127 |
-
--tw-gradient-to: #8693AB;
|
| 1128 |
-
}
|
| 1129 |
-
|
| 1130 |
.p-5 {
|
| 1131 |
padding: 1.25rem;
|
| 1132 |
}
|
|
@@ -1172,6 +1282,16 @@ video {
|
|
| 1172 |
padding-right: 1.5rem;
|
| 1173 |
}
|
| 1174 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1175 |
.pt-8 {
|
| 1176 |
padding-top: 2rem;
|
| 1177 |
}
|
|
@@ -1204,6 +1324,10 @@ video {
|
|
| 1204 |
padding-top: 0.5rem;
|
| 1205 |
}
|
| 1206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1207 |
.text-center {
|
| 1208 |
text-align: center;
|
| 1209 |
}
|
|
@@ -1237,6 +1361,11 @@ video {
|
|
| 1237 |
line-height: 2rem;
|
| 1238 |
}
|
| 1239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1240 |
.font-bold {
|
| 1241 |
font-weight: 700;
|
| 1242 |
}
|
|
@@ -1245,6 +1374,14 @@ video {
|
|
| 1245 |
font-weight: 600;
|
| 1246 |
}
|
| 1247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1248 |
.text-white {
|
| 1249 |
--tw-text-opacity: 1;
|
| 1250 |
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
@@ -1255,6 +1392,11 @@ video {
|
|
| 1255 |
color: rgb(0 0 0 / var(--tw-text-opacity));
|
| 1256 |
}
|
| 1257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1258 |
.underline {
|
| 1259 |
-webkit-text-decoration-line: underline;
|
| 1260 |
text-decoration-line: underline;
|
|
@@ -1264,6 +1406,10 @@ video {
|
|
| 1264 |
opacity: 0.7;
|
| 1265 |
}
|
| 1266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1267 |
.shadow-lg {
|
| 1268 |
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
| 1269 |
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
@@ -1288,11 +1434,6 @@ video {
|
|
| 1288 |
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
| 1289 |
}
|
| 1290 |
|
| 1291 |
-
.shadow-black {
|
| 1292 |
-
--tw-shadow-color: #000;
|
| 1293 |
-
--tw-shadow: var(--tw-shadow-colored);
|
| 1294 |
-
}
|
| 1295 |
-
|
| 1296 |
.outline-none {
|
| 1297 |
outline: 2px solid transparent;
|
| 1298 |
outline-offset: 2px;
|
|
@@ -1419,10 +1560,6 @@ video {
|
|
| 1419 |
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
|
| 1420 |
}
|
| 1421 |
|
| 1422 |
-
.dark .dark\:to-Entrepreneurial-Lies-Gray {
|
| 1423 |
-
--tw-gradient-to: #8693AB;
|
| 1424 |
-
}
|
| 1425 |
-
|
| 1426 |
.dark .dark\:to-Entrepreneurial-Lies-White {
|
| 1427 |
--tw-gradient-to: #BDD4E7;
|
| 1428 |
}
|
|
@@ -1433,17 +1570,51 @@ video {
|
|
| 1433 |
}
|
| 1434 |
|
| 1435 |
@media (min-width: 640px) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1436 |
.sm\:w-60 {
|
| 1437 |
width: 15rem;
|
| 1438 |
}
|
| 1439 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1440 |
.sm\:text-sm {
|
| 1441 |
font-size: 0.875rem;
|
| 1442 |
line-height: 1.25rem;
|
| 1443 |
}
|
| 1444 |
}
|
| 1445 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1446 |
@media (min-width: 1024px) {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1447 |
.lg\:w-72 {
|
| 1448 |
width: 18rem;
|
| 1449 |
}
|
|
|
|
| 583 |
}
|
| 584 |
}
|
| 585 |
|
| 586 |
+
.fixed {
|
| 587 |
+
position: fixed;
|
| 588 |
+
}
|
| 589 |
+
|
| 590 |
.absolute {
|
| 591 |
position: absolute;
|
| 592 |
}
|
|
|
|
| 632 |
right: 1.25rem;
|
| 633 |
}
|
| 634 |
|
| 635 |
+
.left-\[50\%\] {
|
| 636 |
+
left: 50%;
|
| 637 |
+
}
|
| 638 |
+
|
| 639 |
+
.right-\[50\%\] {
|
| 640 |
+
right: 50%;
|
| 641 |
+
}
|
| 642 |
+
|
| 643 |
+
.right-\[45\%\] {
|
| 644 |
+
right: 45%;
|
| 645 |
+
}
|
| 646 |
+
|
| 647 |
+
.right-\[39\.1\%\] {
|
| 648 |
+
right: 39.1%;
|
| 649 |
+
}
|
| 650 |
+
|
| 651 |
.-z-20 {
|
| 652 |
z-index: -20;
|
| 653 |
}
|
|
|
|
| 668 |
z-index: 50;
|
| 669 |
}
|
| 670 |
|
| 671 |
+
.-z-0 {
|
| 672 |
+
z-index: 0;
|
| 673 |
+
}
|
| 674 |
+
|
| 675 |
+
.z-30 {
|
| 676 |
+
z-index: 30;
|
| 677 |
+
}
|
| 678 |
+
|
| 679 |
+
.-z-40 {
|
| 680 |
+
z-index: -40;
|
| 681 |
+
}
|
| 682 |
+
|
| 683 |
+
.z-\[100\] {
|
| 684 |
+
z-index: 100;
|
| 685 |
+
}
|
| 686 |
+
|
| 687 |
+
.z-\[\] {
|
| 688 |
+
z-index: ;
|
| 689 |
+
}
|
| 690 |
+
|
| 691 |
.float-left {
|
| 692 |
float: left;
|
| 693 |
}
|
|
|
|
| 700 |
margin: 0px;
|
| 701 |
}
|
| 702 |
|
| 703 |
+
.my-auto {
|
| 704 |
+
margin-top: auto;
|
| 705 |
+
margin-bottom: auto;
|
| 706 |
+
}
|
| 707 |
+
|
| 708 |
+
.my-5 {
|
| 709 |
+
margin-top: 1.25rem;
|
| 710 |
+
margin-bottom: 1.25rem;
|
| 711 |
+
}
|
| 712 |
+
|
| 713 |
+
.mx-auto {
|
| 714 |
+
margin-left: auto;
|
| 715 |
+
margin-right: auto;
|
| 716 |
+
}
|
| 717 |
+
|
| 718 |
.mt-4 {
|
| 719 |
margin-top: 1rem;
|
| 720 |
}
|
|
|
|
| 739 |
margin-top: -0.75rem;
|
| 740 |
}
|
| 741 |
|
| 742 |
+
.-mr-6 {
|
| 743 |
+
margin-right: -1.5rem;
|
| 744 |
+
}
|
| 745 |
+
|
| 746 |
+
.mb-4 {
|
| 747 |
+
margin-bottom: 1rem;
|
| 748 |
+
}
|
| 749 |
+
|
| 750 |
+
.mb-10 {
|
| 751 |
+
margin-bottom: 2.5rem;
|
| 752 |
+
}
|
| 753 |
+
|
| 754 |
+
.mr-10 {
|
| 755 |
+
margin-right: 2.5rem;
|
| 756 |
+
}
|
| 757 |
+
|
| 758 |
+
.ml-10 {
|
| 759 |
+
margin-left: 2.5rem;
|
| 760 |
+
}
|
| 761 |
+
|
| 762 |
+
.ml-60 {
|
| 763 |
+
margin-left: 15rem;
|
| 764 |
+
}
|
| 765 |
+
|
| 766 |
+
.mb-1 {
|
| 767 |
+
margin-bottom: 0.25rem;
|
| 768 |
+
}
|
| 769 |
+
|
| 770 |
+
.mb-2 {
|
| 771 |
+
margin-bottom: 0.5rem;
|
| 772 |
+
}
|
| 773 |
+
|
| 774 |
+
.-mb-2 {
|
| 775 |
+
margin-bottom: -0.5rem;
|
| 776 |
+
}
|
| 777 |
+
|
| 778 |
+
.-mt-2 {
|
| 779 |
+
margin-top: -0.5rem;
|
| 780 |
+
}
|
| 781 |
+
|
| 782 |
.block {
|
| 783 |
display: block;
|
| 784 |
}
|
|
|
|
| 791 |
display: inline-flex;
|
| 792 |
}
|
| 793 |
|
| 794 |
+
.table {
|
| 795 |
+
display: table;
|
| 796 |
+
}
|
| 797 |
+
|
| 798 |
.hidden {
|
| 799 |
display: none;
|
| 800 |
}
|
|
|
|
| 859 |
width: 100vw;
|
| 860 |
}
|
| 861 |
|
| 862 |
+
.max-w-full {
|
| 863 |
+
max-width: 100%;
|
| 864 |
+
}
|
| 865 |
+
|
| 866 |
.flex-1 {
|
| 867 |
flex: 1 1 0%;
|
| 868 |
}
|
|
|
|
| 885 |
cursor: pointer;
|
| 886 |
}
|
| 887 |
|
| 888 |
+
.cursor-ns-resize {
|
| 889 |
+
cursor: ns-resize;
|
| 890 |
+
}
|
| 891 |
+
|
| 892 |
.select-none {
|
| 893 |
-webkit-user-select: none;
|
| 894 |
user-select: none;
|
| 895 |
}
|
| 896 |
|
| 897 |
+
.resize {
|
| 898 |
+
resize: both;
|
| 899 |
+
}
|
| 900 |
+
|
| 901 |
.flex-row {
|
| 902 |
flex-direction: row;
|
| 903 |
}
|
| 904 |
|
| 905 |
+
.flex-col {
|
| 906 |
+
flex-direction: column;
|
| 907 |
+
}
|
| 908 |
+
|
| 909 |
.items-center {
|
| 910 |
align-items: center;
|
| 911 |
}
|
|
|
|
| 1052 |
background-color: rgb(254 169 89 / var(--tw-bg-opacity));
|
| 1053 |
}
|
| 1054 |
|
| 1055 |
+
.bg-black {
|
| 1056 |
+
--tw-bg-opacity: 1;
|
| 1057 |
+
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
|
| 1058 |
+
}
|
| 1059 |
+
|
| 1060 |
.bg-gradient-to-bl {
|
| 1061 |
background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
|
| 1062 |
}
|
|
|
|
| 1145 |
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
|
| 1146 |
}
|
| 1147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1148 |
.via-purple-500 {
|
| 1149 |
--tw-gradient-to: rgb(168 85 247 / 0);
|
| 1150 |
--tw-gradient-stops: var(--tw-gradient-from), #a855f7, var(--tw-gradient-to);
|
|
|
|
| 1237 |
--tw-gradient-to: #1565C0;
|
| 1238 |
}
|
| 1239 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1240 |
.p-5 {
|
| 1241 |
padding: 1.25rem;
|
| 1242 |
}
|
|
|
|
| 1282 |
padding-right: 1.5rem;
|
| 1283 |
}
|
| 1284 |
|
| 1285 |
+
.px-4 {
|
| 1286 |
+
padding-left: 1rem;
|
| 1287 |
+
padding-right: 1rem;
|
| 1288 |
+
}
|
| 1289 |
+
|
| 1290 |
+
.px-9 {
|
| 1291 |
+
padding-left: 2.25rem;
|
| 1292 |
+
padding-right: 2.25rem;
|
| 1293 |
+
}
|
| 1294 |
+
|
| 1295 |
.pt-8 {
|
| 1296 |
padding-top: 2rem;
|
| 1297 |
}
|
|
|
|
| 1324 |
padding-top: 0.5rem;
|
| 1325 |
}
|
| 1326 |
|
| 1327 |
+
.pl-10 {
|
| 1328 |
+
padding-left: 2.5rem;
|
| 1329 |
+
}
|
| 1330 |
+
|
| 1331 |
.text-center {
|
| 1332 |
text-align: center;
|
| 1333 |
}
|
|
|
|
| 1361 |
line-height: 2rem;
|
| 1362 |
}
|
| 1363 |
|
| 1364 |
+
.text-xl {
|
| 1365 |
+
font-size: 1.25rem;
|
| 1366 |
+
line-height: 1.75rem;
|
| 1367 |
+
}
|
| 1368 |
+
|
| 1369 |
.font-bold {
|
| 1370 |
font-weight: 700;
|
| 1371 |
}
|
|
|
|
| 1374 |
font-weight: 600;
|
| 1375 |
}
|
| 1376 |
|
| 1377 |
+
.font-extrabold {
|
| 1378 |
+
font-weight: 800;
|
| 1379 |
+
}
|
| 1380 |
+
|
| 1381 |
+
.leading-tight {
|
| 1382 |
+
line-height: 1.25;
|
| 1383 |
+
}
|
| 1384 |
+
|
| 1385 |
.text-white {
|
| 1386 |
--tw-text-opacity: 1;
|
| 1387 |
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
|
|
| 1392 |
color: rgb(0 0 0 / var(--tw-text-opacity));
|
| 1393 |
}
|
| 1394 |
|
| 1395 |
+
.text-blue-50 {
|
| 1396 |
+
--tw-text-opacity: 1;
|
| 1397 |
+
color: rgb(239 246 255 / var(--tw-text-opacity));
|
| 1398 |
+
}
|
| 1399 |
+
|
| 1400 |
.underline {
|
| 1401 |
-webkit-text-decoration-line: underline;
|
| 1402 |
text-decoration-line: underline;
|
|
|
|
| 1406 |
opacity: 0.7;
|
| 1407 |
}
|
| 1408 |
|
| 1409 |
+
.opacity-60 {
|
| 1410 |
+
opacity: 0.6;
|
| 1411 |
+
}
|
| 1412 |
+
|
| 1413 |
.shadow-lg {
|
| 1414 |
--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
| 1415 |
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
|
|
| 1434 |
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
| 1435 |
}
|
| 1436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1437 |
.outline-none {
|
| 1438 |
outline: 2px solid transparent;
|
| 1439 |
outline-offset: 2px;
|
|
|
|
| 1560 |
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
|
| 1561 |
}
|
| 1562 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1563 |
.dark .dark\:to-Entrepreneurial-Lies-White {
|
| 1564 |
--tw-gradient-to: #BDD4E7;
|
| 1565 |
}
|
|
|
|
| 1570 |
}
|
| 1571 |
|
| 1572 |
@media (min-width: 640px) {
|
| 1573 |
+
.sm\:left-\[38\.5\%\] {
|
| 1574 |
+
left: 38.5%;
|
| 1575 |
+
}
|
| 1576 |
+
|
| 1577 |
+
.sm\:left-\[50\%\] {
|
| 1578 |
+
left: 50%;
|
| 1579 |
+
}
|
| 1580 |
+
|
| 1581 |
+
.sm\:left-\[70\%\] {
|
| 1582 |
+
left: 70%;
|
| 1583 |
+
}
|
| 1584 |
+
|
| 1585 |
+
.sm\:right-\[\%\] {
|
| 1586 |
+
right: %;
|
| 1587 |
+
}
|
| 1588 |
+
|
| 1589 |
.sm\:w-60 {
|
| 1590 |
width: 15rem;
|
| 1591 |
}
|
| 1592 |
|
| 1593 |
+
.sm\:pl-5 {
|
| 1594 |
+
padding-left: 1.25rem;
|
| 1595 |
+
}
|
| 1596 |
+
|
| 1597 |
.sm\:text-sm {
|
| 1598 |
font-size: 0.875rem;
|
| 1599 |
line-height: 1.25rem;
|
| 1600 |
}
|
| 1601 |
}
|
| 1602 |
|
| 1603 |
+
@media (min-width: 768px) {
|
| 1604 |
+
.md\:left-\[39\.15\%\] {
|
| 1605 |
+
left: 39.15%;
|
| 1606 |
+
}
|
| 1607 |
+
|
| 1608 |
+
.md\:right-\[\%\] {
|
| 1609 |
+
right: %;
|
| 1610 |
+
}
|
| 1611 |
+
}
|
| 1612 |
+
|
| 1613 |
@media (min-width: 1024px) {
|
| 1614 |
+
.lg\:left-\[40\%\] {
|
| 1615 |
+
left: 40%;
|
| 1616 |
+
}
|
| 1617 |
+
|
| 1618 |
.lg\:w-72 {
|
| 1619 |
width: 18rem;
|
| 1620 |
}
|