Pattern Browser

114 patterns with 2964 translations across 26 languages. Search and filter to find the code you need.

Both _hyperscript LokaScript Unverified
Showing 114 of 114 patterns
Accessible Tabs both ui-components

Tab navigation with ARIA attributes

on click set @aria-selected to "true" on me set @aria-selected to "false" on .tab
26 translations
Loading...
Accordion Toggle both ui-components

Toggle accordion panel visibility

on click toggle .open on closest .accordion-item toggle @aria-expanded
26 translations
Loading...
Add Class both class-manipulation

Add a CSS class to the current element when clicked

on click add .highlight to me
26 translations
Loading...
Add Class To Other both class-manipulation

Add a CSS class to another element

on click add .selected to #item
26 translations
Loading...
Append Content both dom-manipulation

Append content to an element

on click append "<li>Item</li>" to #list
26 translations
Loading...
Async Block both advanced

Execute commands asynchronously

on click async fetch /api/data then put it into me
26 translations
Loading...
Blur Element both focus

Remove focus from element

on keydown[key=="Escape"] blur me
26 translations
Loading...
Call Function both advanced

Call a JavaScript function

on click call myFunction()
26 translations
Loading...
Chained Property Access (Possessive Dot) lokascript hyperfixi-extensions

Chained property access using possessive dot notation (HyperFixi extension)

on click set my.parentElement.style.display to "none"
26 translations
Loading...
Character Counter both forms

Show character count as user types

on input set #count.innerText to my value.length
26 translations
Loading...
Clear Input both forms

Clear the previous input field

on click set previous <input/>.value to ""
26 translations
Loading...
Click Elsewhere both events

Handle clicks outside element

on click from elsewhere remove .open from me
26 translations
Loading...
Close Dropdown On Outside Click both ui-components

Close dropdown when clicking outside

on click from elsewhere remove .open from .dropdown-menu
26 translations
Loading...
Close Modal Button both ui-components

Close modal from button inside

on click hide closest .modal remove .modal-open from body
26 translations
Loading...
Close Modal On Backdrop Click both ui-components

Close modal by clicking outside

on click if target matches .modal-backdrop hide .modal-backdrop end
26 translations
Loading...
Close Modal On Escape both ui-components

Close modal when pressing Escape key

on keydown[key=="Escape"] from window hide .modal remove .modal-open from body
26 translations
Loading...
Closest Ancestor both navigation

Toggle class on closest matching ancestor

on click toggle .expanded on closest .card
26 translations
Loading...
Computed Value both data

Calculate and display computed value

on input from .quantity set #total.innerText to (the value of #price as Number) * (my value as Number)
26 translations
Loading...
Copy To Clipboard both clipboard

Copy text to clipboard with feedback

on click call navigator.clipboard.writeText(#code.innerText) put "Copied!" into me wait 2s put "Copy" into me
26 translations
Loading...
Decrement Counter both counters

Decrement a numeric counter element

on click decrement #counter
26 translations
Loading...
Default Value both data

Set default value if not present

on load default my @data-count to "0"
26 translations
Loading...
Disable Form On Submit both forms

Disable submit button while processing

on submit add @disabled to <button/> in me put "Submitting..." into <button/> in me
26 translations
Loading...
Document Ready both window-events

Initialize app when element loads

on load call initializeApp()
26 translations
Loading...
Dropdown Toggle both ui-components

Toggle dropdown menu visibility

on click toggle .open on next .dropdown-menu halt
26 translations
Loading...
Event Debounce both events

Debounce input for search

on input debounced at 300ms fetch /api/search?q=${my value} as json then put it into #results
26 translations
Loading...
Event Once both events

Handle event only once

on click once add .initialized to me call setup()
26 translations
Loading...
Event Throttle both events

Throttle scroll handler

on scroll throttled at 100ms call updateScrollPosition()
26 translations
Loading...
Exclusive Accordion both ui-components

Accordion where only one panel is open

on click remove .open from .accordion-item add .open to closest .accordion-item
26 translations
Loading...
Fade Out And Remove both animation

Fade element out then remove from DOM

on click transition opacity to 0 over 300ms then remove me
26 translations
Loading...
Fetch Data both async

Fetch data from an API and display it

on click fetch /api/data then put it into #result
26 translations
Loading...
Fetch JSON both async

Fetch JSON data and use a property

on click fetch /api/user as json then set #name.innerText to it.name
26 translations
Loading...
Fetch With Error Handling both async

Handle fetch errors gracefully

on click fetch /api/data catch error put error.message into #error end put it into #result
26 translations
Loading...
Fetch With Loading State both async

Show loading indicator during fetch

on click add .loading to me fetch /api/data then remove .loading from me put it into #result
26 translations
Loading...
Fetch With Method both async

Submit form data via POST

on submit fetch /api/form with method:"POST" body:form
26 translations
Loading...
First In Collection both navigation

Focus first input in parent form

on click focus first <input/> in closest <form/>
26 translations
Loading...
Focus Element both focus

Focus an input element

on click focus #input
26 translations
Loading...
Focus Trap both accessibility

Trap focus within modal

on keydown[key=="Tab"] from .modal if target matches last <button/> in .modal focus first <button/> in .modal halt end
26 translations
Loading...
Get Attribute (Possessive Dot) lokascript hyperfixi-extensions

Call getAttribute using possessive dot notation (HyperFixi extension)

on click put my.getAttribute("data-id") into #output
26 translations
Loading...
Get Input Value (Possessive Dot) lokascript hyperfixi-extensions

Mirror input value using possessive dot notation (HyperFixi extension)

on input put my.value into #preview
26 translations
Loading...
Get Value both data

Get a value and use it

on click get #input.value then log it
26 translations
Loading...
Go Back both navigation

Navigate back in history

on click go back
26 translations
Loading...
Go To URL both navigation

Navigate to a URL

on click go to url "/page"
26 translations
Loading...
Halt Event both control-flow

Stop event propagation

on click halt the event then toggle .active
26 translations
Loading...
Hide Element both visibility

Hide an element

on click hide #modal
26 translations
Loading...
Hide With Transition both visibility

Hide element with opacity transition

on click hide me with *opacity
26 translations
Loading...
If Condition both control-flow

Conditional execution based on state

on click if I match .active then remove .active else add .active
26 translations
Loading...
If Element Exists both control-flow

Check if element exists before action

on click if #modal exists show #modal else make a <div#modal/> put it into body end
26 translations
Loading...
If Matches Selector both control-flow

Check if element matches selector

on click if I match .disabled halt else toggle .active end
26 translations
Loading...
If Value Empty both control-flow

Validate empty input

on blur if my value is empty add .error to me put "Required" into next .error-message end
26 translations
Loading...
Increment By Amount both counters

Increment counter by specific amount

on click increment #score by 10
26 translations
Loading...
Increment Counter both counters

Increment a numeric counter element

on click increment #counter
26 translations
Loading...
Inline JavaScript both advanced

Execute inline JavaScript

on click js console.log("from js") end
26 translations
Loading...
Input Mirror both forms

Mirror input value to another element

on input put my value into #preview
26 translations
Loading...
Input Validation both forms

Validate input on blur

on blur if my value is empty add .error to me else remove .error from me end
26 translations
Loading...
Install Behavior both behaviors

Install a reusable behavior on an element. Replace "Draggable" with any defined behavior name (e.g., Sortable, Closeable).

install Draggable
26 translations
Loading...
Its Value (Possessive Dot) lokascript hyperfixi-extensions

Access result property using its.property syntax (HyperFixi extension)

on click fetch /api/data then put its.name into #result
26 translations
Loading...
Key Combination both events

Handle Shift+Enter key combo

on keydown[key=="Enter"] if event.shiftKey call submitAndContinue() end
26 translations
Loading...
Last In Collection both navigation

Scroll to last message in chat

on click scroll to last <.message/> in #chat
26 translations
Loading...
Log Element both debugging

Log the current element to console

on click log me
26 translations
Loading...
Log Value both debugging

Log a message to the console

on click log "Button clicked!"
26 translations
Loading...
Make Element both dom-manipulation

Create a new element dynamically

on click make a <div.card/> then put it into #container
26 translations
Loading...
Method Call (Possessive Dot) lokascript hyperfixi-extensions

Call method on property using possessive dot notation (HyperFixi extension)

on input put my.value.toUpperCase() into #preview
26 translations
Loading...
Multiple Event Handlers both events

Handle multiple events with one handler

on click or keypress[key=="Enter"] toggle .active
26 translations
Loading...
Next Element both navigation

Select and modify next sibling element

on click add .highlight to next <li/>
26 translations
Loading...
Open Modal both ui-components

Open modal and prevent body scroll

on click show #modal add .modal-open to body
26 translations
Loading...
Optional Chaining (Possessive) lokascript hyperfixi-extensions

Safe property access using optional chaining (HyperFixi extension)

on click log my?.dataset?.customValue
26 translations
Loading...
Prevent Form Submit both forms

Prevent form submission and validate

on submit halt the event call validateForm() if result is false log "Invalid form" end
26 translations
Loading...
Previous Element both navigation

Select and modify previous sibling element

on click remove .highlight from previous <li/>
26 translations
Loading...
Put After both dom-manipulation

Insert content after the current element

on click put "<p>New</p>" after me
26 translations
Loading...
Put Before both dom-manipulation

Insert content before the current element

on click put "<p>New</p>" before me
26 translations
Loading...
Put Content both dom-manipulation

Replace the content of the current element

on click put "Done!" into me
26 translations
Loading...
Remove Class both class-manipulation

Remove a CSS class from the current element when clicked

on click remove .highlight from me
26 translations
Loading...
Remove Class From All both class-manipulation

Remove a CSS class from all matching elements

on click remove .active from .items
26 translations
Loading...
Remove Element both dom-manipulation

Remove the current element from the DOM

on click remove me
26 translations
Loading...
Repeat For Each both loops

Iterate over a collection

on click repeat for item in .items add .processed to item
26 translations
Loading...
Repeat Forever both loops

Infinite animation loop

on load repeat forever toggle .pulse wait 1s end
26 translations
Loading...
Repeat Times both loops

Repeat an action multiple times

on click repeat 3 times add "<p>Line</p>" to me
26 translations
Loading...
Repeat Until Event both loops

Repeat action while button is held

on mousedown repeat until event mouseup increment #counter wait 100ms end
26 translations
Loading...
Repeat While Condition both loops

Repeat while condition is true

on click repeat while #counter.innerText < 10 increment #counter wait 200ms end
26 translations
Loading...
Resize Handler both window-events

Handle window resize with debounce

on resize from window debounced at 200ms call adjustLayout()
26 translations
Loading...
Screen Reader Announcement both accessibility

Announce message to screen readers

on success put message into #sr-announce set @role to "alert" on #sr-announce
26 translations
Loading...
Scroll Handler both window-events

Add sticky class on scroll

on scroll from window if window.scrollY > 100 add .sticky to #header else remove .sticky from #header end
26 translations
Loading...
Send Custom Event both events

Dispatch a custom event to another element

on click send refresh to #widget
26 translations
Loading...
Send Event With Detail both events

Send an event with data payload

on click send update(value: 42) to #target
26 translations
Loading...
Set Attribute both dom-manipulation

Set an attribute on the current element

on click set @disabled to true
26 translations
Loading...
Set CSS Variable both css-styles

Set a CSS custom property

on click set the *--primary-color of #theme to "#ff6600"
26 translations
Loading...
Set Opacity both css-styles

Set CSS opacity using possessive syntax

on click set my *opacity to 0.5
26 translations
Loading...
Set Style both dom-manipulation

Set a CSS style property

on click set my *background to "red"
26 translations
Loading...
Set Text (Possessive Dot) lokascript hyperfixi-extensions

Set text content using possessive dot notation (HyperFixi extension)

on click set my.textContent to "Done!"
26 translations
Loading...
Set Text Content both dom-manipulation

Set the text content of an element by ID

on click set #output.innerText to "Hello World"
26 translations
Loading...
Set Transform both css-styles

Set CSS transform property

on click set my *transform to "rotate(45deg)"
26 translations
Loading...
Set innerHTML (Possessive Dot) lokascript hyperfixi-extensions

Set innerHTML using possessive dot notation (HyperFixi extension)

on click set my.innerHTML to "<strong>Updated!</strong>"
26 translations
Loading...
Settle Animations both animation

Wait for CSS animations to complete

on click add .animate then settle then remove .animate
26 translations
Loading...
Show Element both visibility

Show a hidden element

on click show #modal
26 translations
Loading...
Show With Transition both visibility

Show element with opacity transition

on click show #modal with *opacity
26 translations
Loading...
Slide Toggle both animation

Slide panel open/closed

on click toggle .collapsed on next .panel transition *max-height over 300ms
26 translations
Loading...
Stagger Animation both animation

Staggered entrance animation

on load repeat for item in .item with index add .visible to item wait 100ms end
26 translations
Loading...
Swap Content both dom-manipulation

Swap two elements in the DOM

on click swap #a with #b
26 translations
Loading...
Tab Navigation both ui-components

Basic tab switching with active state

on click remove .active from .tab add .active to me
26 translations
Loading...
Tab With Content Panel both ui-components

Tab that shows associated content panel

on click remove .active from .tab add .active to me hide .tab-panel show the next <div.tab-panel/>
26 translations
Loading...
Tell Command both behaviors

Tell another element to execute a command

on click tell #modal to show
26 translations
Loading...
Toggle ARIA Expanded both accessibility

Toggle ARIA expanded state

on click toggle @aria-expanded on me toggle .open on next .panel
26 translations
Loading...
Toggle Class both class-manipulation

Toggle a CSS class on the current element when clicked

on click toggle .active
26 translations
Loading...
Toggle Class On Other Element both class-manipulation

Toggle a CSS class on another element

on click toggle .open on #menu
26 translations
Loading...
Toggle Visibility both visibility

Toggle the hidden attribute on an element

on click toggle @hidden on #panel
26 translations
Loading...
Transition Background Color both css-styles

Animate background color change

on click transition *background-color to "blue" over 500ms
26 translations
Loading...
Transition Opacity both animation

Animate opacity then remove the element

on click transition opacity to 0 over 500ms then remove me
26 translations
Loading...
Transition Transform both animation

Animate transform property

on click transition transform to "scale(1.2)" over 300ms
26 translations
Loading...
Trigger Event both events

Trigger a custom event when the element loads

on load trigger init
26 translations
Loading...
Two-Way Binding both data

Update display as input changes

on input from #firstName set #greeting.innerText to "Hello, " + my value
26 translations
Loading...
Unless Condition both control-flow

Execute unless condition is true

on click unless I match .disabled toggle .selected
26 translations
Loading...
Wait For Event both timing

Wait for a DOM event to fire

on click wait for transitionend
26 translations
Loading...
Wait Then Execute both timing

Wait for a duration before executing a command

on click wait 2s then remove me
26 translations
Loading...
Window Keydown Handler both window-events

Handle Ctrl+S globally

on keydown[key=="s"] from window if event.ctrlKey halt call saveDocument() end
26 translations
Loading...