feat: release design system engine, studio and component contracts

This commit is contained in:
Clintchiz committed 2026-10-19 13:09:03 +05:30
1 parent ff1065fb27
commit 3943b946d6
693 files changed
+175546 -3894

No files matched your search

+17 -17
View File
@@ -143,7 +143,7 @@ component ContextMenu {
}
view {
<div
<div data-wrn-owner="ContextMenu" data-wrn-part="root" data-wrn-component="ContextMenu" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
{...attrs}
data-ui-component="ContextMenu"
data-open='{open || visible ? "true" : "false"}'
@@ -157,7 +157,7 @@ component ContextMenu {
style='--wrn-context-x:{positionX}px;--wrn-context-y:{positionY}px;--wrn-context-min-width:{minWidth};--wrn-context-max-width:{maxWidth};'
@keydown='handleKeydown(event)'
>
<div
<div data-wrn-owner="ContextMenu" data-wrn-part="trigger" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
class="wrn-context-menu__trigger"
tabindex='{disabled ? "-1" : "0"}'
aria-haspopup="menu"
@@ -170,7 +170,7 @@ component ContextMenu {
</div>
{#if closeOnOutside}
<button
<button data-wrn-owner="ContextMenu" data-wrn-part="dismissLayer" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
type="button"
class="wrn-context-menu__dismiss-layer"
data-show='{open || visible}'
@@ -179,7 +179,7 @@ component ContextMenu {
></button>
{/if}
<div
<div data-wrn-owner="ContextMenu" data-wrn-part="panel" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
class="wrn-context-menu__panel"
data-wrn-anchored="true"
data-show='{open || visible}'
@@ -187,7 +187,7 @@ component ContextMenu {
aria-label='{label}'
>
{#if title || description}
<div class="wrn-context-menu__header">
<div data-wrn-owner="ContextMenu" data-wrn-part="header" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__header">
{#if title}
<strong>{title}</strong>
{/if}
@@ -199,14 +199,14 @@ component ContextMenu {
<slot name="header"></slot>
<div class="wrn-context-menu__items">
<div data-wrn-owner="ContextMenu" data-wrn-part="items" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__items">
{#each items as item, itemIndex}
{#if item.type === "divider"}
<div class="wrn-context-menu__divider" role="separator"></div>
<div data-wrn-owner="ContextMenu" data-wrn-part="divider" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__divider" role="separator"></div>
{:else if item.type === "header"}
<div class="wrn-context-menu__section-label">{item.label || item.title}</div>
<div data-wrn-owner="ContextMenu" data-wrn-part="sectionLabel" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__section-label">{item.label || item.title}</div>
{:else if item.href}
<a
<a data-wrn-owner="ContextMenu" data-wrn-part="item" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
href='{item.href}'
target='{item.target || ""}'
rel='{item.external || item.target === "_blank" ? "noopener noreferrer" : (item.rel || "")}'
@@ -219,9 +219,9 @@ component ContextMenu {
@click='chooseItem(item, itemIndex, event)'
>
{#if item.icon}
<span class='wrn-context-menu__icon {item.icon}' aria-hidden="true"></span>
<span data-wrn-owner="ContextMenu" data-wrn-part="icon" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class='wrn-context-menu__icon {item.icon}' aria-hidden="true"></span>
{/if}
<span class="wrn-context-menu__copy">
<span data-wrn-owner="ContextMenu" data-wrn-part="copy" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__copy">
<strong>{item.label || item.title}</strong>
{#if item.description}
<small>{item.description}</small>
@@ -230,13 +230,13 @@ component ContextMenu {
{#if item.shortcut}
<kbd>{item.shortcut}</kbd>
{:else if item.checked || item.selected}
<span class="icon-[lucide--check] wrn-context-menu__status" aria-hidden="true"></span>
<span data-wrn-owner="ContextMenu" data-wrn-part="status" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="icon-[lucide--check] wrn-context-menu__status" aria-hidden="true"></span>
{:else if item.external}
<span class="icon-[lucide--arrow-up-right] wrn-context-menu__status" aria-hidden="true"></span>
<span data-wrn-owner="ContextMenu" data-wrn-part="status" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="icon-[lucide--arrow-up-right] wrn-context-menu__status" aria-hidden="true"></span>
{/if}
</a>
{:else}
<button
<button data-wrn-owner="ContextMenu" data-wrn-part="item" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}"
type="button"
role="menuitem"
data-context-menu-item
@@ -247,9 +247,9 @@ component ContextMenu {
@click='chooseItem(item, itemIndex, event)'
>
{#if item.icon}
<span class='wrn-context-menu__icon {item.icon}' aria-hidden="true"></span>
<span data-wrn-owner="ContextMenu" data-wrn-part="icon" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class='wrn-context-menu__icon {item.icon}' aria-hidden="true"></span>
{/if}
<span class="wrn-context-menu__copy">
<span data-wrn-owner="ContextMenu" data-wrn-part="copy" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="wrn-context-menu__copy">
<strong>{item.label || item.title}</strong>
{#if item.description}
<small>{item.description}</small>
@@ -258,7 +258,7 @@ component ContextMenu {
{#if item.shortcut}
<kbd>{item.shortcut}</kbd>
{:else if item.checked || item.selected}
<span class="icon-[lucide--check] wrn-context-menu__status" aria-hidden="true"></span>
<span data-wrn-owner="ContextMenu" data-wrn-part="status" data-wrn-axis-size="{size}" data-wrn-axis-color="{color}" data-wrn-axis-variant="{variant}" data-wrn-open="{open || visible}" class="icon-[lucide--check] wrn-context-menu__status" aria-hidden="true"></span>
{/if}
</button>
{/if}