default
Specific mode:
[efy_mode=light_sepia]
{ your css }
All light modes:
[efy_mode*=light]
{ your css }
Not this specific mode:
:not([efy_mode=light_sepia])
{ your css }
Remove selector if any light mode is on:
$('[efy_mode*=light] #your_selector')
.remove()
$add('Tag
', {Attributes
}, ['Text
', Children
], Parent
, 'Position
')
Only Tag
is required. Other parameters are optional
Tag
- html tag like: div, p, img etc
Attributes
- one or multiple html attributes like: class, type, height etc
Text
- text content
Children
- nested html tags
Parent
- parent of the tag where it should be added. If not specified it defaults to the body tag
Position
- where the tag should be added in relationship to the parent:
beforebegin , afterbegin , beforeend , afterend
Add an empty button to body after all existent children
$add('button'
)
Add a css styled button inside the #test selector, before other children
$add('button'
, {style:'background: red; padding: 20rem'
},'Text'
, $('#test'
),'afterbegin'
)
Range input with some attributes before #test ends
$add('input'
, { type:'range'
, value:'50'
, min:'0'
, max:'100'
, step:'1'
, class:'test'
, id:'test'
, style:'margin: 0; padding: 15rem'
}, [], $('#test'
) )
2 nested buttons inside a div
$add('div'
, {}, [ ['button'
, {},'1'
], ['button'
, {},'2'
] ])
This is just the beginning...
<iefy_icon
="star"
></i>
efy_color
=color
,range
:min
-max
color
= name
, lightness
(0 - 1), chroma
(0 - 0.37), hue
(0 - 360), alpha
(0 - 1), id
(optional)range
(optional): min
(0 - 100) - max
(1 - 100)<divefy_color
="Demo 0.7 0.2 100 1"
></div> <divefy_color
="1 0.5 0.2 0 1, 2 0.7 0.2 100 1, 3 0.5 0.2 200 1, range:1-9"
></div>
$add('div'
, {efy_color
:'Demo 0.7 0.2 100 1'
}) $add('div'
, {efy_color
:'1 0.5 0.2 0 1, 2 0.7 0.2 100 1, 3 0.5 0.2 200 1, range:1-9'
})
$notify('time
', 'text
', 'text
', 'lang
',function
)lang
&function
are optionaltime
=short
,long
,infinite
orseconds
(example:3
)lang
- use efy translation variables instead of normal text
$notify('short'
,'Short'
,'Disappears in 5s'
) $notify('long'
,'Long'
,'Disappears in 30s'
) $notify('infinite'
,'Infinite'
,'Never disappears'
)
// Attach it to a click event $event(selector
,'click'
, ()=>$notify
('short'
,'Test'
,'Test'
))
efy_clock
= empty,12
(hour format, default is 24),hms
(hour : minute : second) or12hms
(12 + hms)
<divefy_clock
></div> <divefy_clock
="12"
></div> <divefy_clock
="hms"
></div> <divefy_clock
="12hms"
></div>
$add('div'
, {efy_clock
:''
}) $add('div'
, {efy_clock
:'12'
}) $add('div'
, {efy_clock
:'hms'
}) $add('div'
, {efy_clock
:'12hms'
})
efy_timer
=id
,seconds
(until it stops),reverse
(count backwards)id
,seconds
,reverse
are optional
<divefy_timer
></div> <divefy_timer
="efy_demo, 5, reverse
"></div>
$add('div'
, {efy_timer
:''
}) $add('div'
, {efy_timer
:'efy_demo, 5, reverse'
})
Radio
Checkbox
efy_select
to a details
tag, the Name
inside a summary
and your radio / checkbox inputs inside a div
<detailsefy_select
> <summary>Name
</summary>
<div>
<input type="radio"
name="demo_radio"
id="demo_radio1"
> <label for="demo_radio1"
>Radio 1</label> <input type="radio"
name="demo_radio"
id="demo_radio2"
> <label for="demo_radio2"
>Radio 2</label>
<input type="checkbox"
name="demo_checkbox"
id="demo_checkbox1"
> <label for="demo_checkbox1"
>Checkbox 1</label> <input type="checkbox"
name="demo_checkbox"
id="demo_checkbox2"
> <label for="demo_checkbox2"
>Checkbox 2</label>
</div>
</details>
efy_tabs
to a div
. Inside, an efy_tabs
class with nested efy_tab
buttons and efy_content
divs (where you can add your html)efy_active
to the efy_tab
and efy_content
you want open by defaultefy_tab
and efy_content
should have the same name and efy_tabs
should have an unique name, unless you want to control a duplicate set of tabsefy_content
div<divefy_tabs
="demo"
> <div class="efy_tabs"
> <buttonefy_tab
="tab1"
efy_active
>Tab 1</button> <buttonefy_tab
="tab2"
>Tab 2</button> </div> <divefy_content
="tab1"
efy_active
>Your HTML 1</div> <divefy_content
="tab2"
>Your HTML 2</div> </div>
$add('div', {efy_tabs
:'demo'
}, [ ['div', {class:'efy_tabs'
}, [ ['button', {efy_tab
:'tab1'
,efy_active
: ''}, 'Tab 1'], ['button', {efy_tab
:'tab2'
}, 'Tab 2'] ]], ['div', {efy_content
:'tab1'
,efy_active
: ''}, 'Your HTML 1'], ['div', {efy_content
:'tab2'
}, 'Your HTML 2'] ])