feat: release design system engine, studio and component contracts
This commit is contained in:
1 parent
ff1065fb27
commit
3943b946d6
693 files changed
+175546
-3894
No files matched your search
@@ -738,20 +738,20 @@ component DataTable {
|
||||
class='wrn-table {class}'
|
||||
@window:wrnexus:datatable:rows='applyRows(event)'
|
||||
@window:wrnexus:datatable:error='applyError(event)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="root" data-wrn-component="DataTable" data-wrn-axis-color='{color}' data-wrn-axis-size='{size}' data-wrn-axis-bordered='{bordered ? "true" : "false"}'>
|
||||
{#if caption || description || searchable}
|
||||
<div class="wrn-table__toolbar">
|
||||
<div class="wrn-table__heading">
|
||||
<div class="wrn-table__toolbar" data-wrn-owner="DataTable" data-wrn-part="toolbar" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<div class="wrn-table__heading" data-wrn-owner="DataTable" data-wrn-part="heading" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{#if caption}
|
||||
<h3 class="wrn-table__caption">{caption}</h3>
|
||||
<h3 class="wrn-table__caption" data-wrn-owner="DataTable" data-wrn-part="caption" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">{caption}</h3>
|
||||
{/if}
|
||||
{#if description}
|
||||
<p class="wrn-table__description">{description}</p>
|
||||
<p class="wrn-table__description" data-wrn-owner="DataTable" data-wrn-part="description" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">{description}</p>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="wrn-table__actions" data-show="visibleActions().length">
|
||||
<span class="wrn-table__selected-count" data-show="selectedCount()">
|
||||
<div class="wrn-table__actions" data-show="visibleActions().length" data-wrn-owner="DataTable" data-wrn-part="actions" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span class="wrn-table__selected-count" data-show="selectedCount()" data-wrn-owner="DataTable" data-wrn-part="selectedCount" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{selectedCount()} selected
|
||||
</span>
|
||||
|
||||
@@ -762,14 +762,14 @@ component DataTable {
|
||||
data-key="entry.id"
|
||||
data-tone='{entry.tone}'
|
||||
@click='runAction(entry, event)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="action" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span class='{entry.icon}' data-show="entry.icon" aria-hidden="true"></span>
|
||||
<span>{entry.label}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{#if searchable}
|
||||
<div class="wrn-table__search">
|
||||
<div class="wrn-table__search" data-wrn-owner="DataTable" data-wrn-part="search" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
width="15"
|
||||
@@ -779,7 +779,7 @@ component DataTable {
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
aria-hidden="true"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="vector" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<circle cx="11" cy="11" r="7" />
|
||||
<path d="m20 20-3.2-3.2" />
|
||||
</svg>
|
||||
@@ -789,18 +789,18 @@ component DataTable {
|
||||
placeholder='{searchPlaceholder}'
|
||||
aria-label='{searchPlaceholder}'
|
||||
@input='updateQuery(event)'
|
||||
/>
|
||||
data-wrn-owner="DataTable" data-wrn-part="control" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}"/>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="wrn-table__scroll">
|
||||
<table class="wrn-table__table" data-show="layout !== 'comparison'">
|
||||
<div class="wrn-table__scroll" data-wrn-owner="DataTable" data-wrn-part="scroll" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<table class="wrn-table__table" data-show="layout !== 'comparison'" data-wrn-owner="DataTable" data-wrn-part="table" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<thead>
|
||||
<tr>
|
||||
{#if selectable}
|
||||
<th class="wrn-table__select-cell" scope="col">
|
||||
<th class="wrn-table__select-cell" scope="col" data-wrn-owner="DataTable" data-wrn-part="selectCell" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<button
|
||||
type="button"
|
||||
class="wrn-table__check"
|
||||
@@ -808,8 +808,8 @@ component DataTable {
|
||||
aria-label="Select all rows on this page"
|
||||
aria-checked='{allVisibleSelected() ? "true" : "false"}'
|
||||
@click='toggleAll()'
|
||||
>
|
||||
<svg viewBox="0 0 24 24" width="11" height="11" fill="none" stroke="currentColor" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||||
data-wrn-owner="DataTable" data-wrn-part="check" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<svg viewBox="0 0 24 24" width="11" height="11" fill="none" stroke="currentColor" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-wrn-owner="DataTable" data-wrn-part="vector" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<path d="m5 12 5 5 9-9" />
|
||||
</svg>
|
||||
</button>
|
||||
@@ -830,7 +830,7 @@ component DataTable {
|
||||
data-show="column.sortable"
|
||||
data-active='{column.active}'
|
||||
@click='sortBy(column.key)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="sort" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span>{column.label}</span>
|
||||
<svg
|
||||
class="wrn-table__sort-icon"
|
||||
@@ -843,7 +843,7 @@ component DataTable {
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
aria-hidden="true"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="sortIcon" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<path d="m7 15 5 5 5-5" />
|
||||
<path d="m7 9 5-5 5 5" />
|
||||
</svg>
|
||||
@@ -861,7 +861,7 @@ component DataTable {
|
||||
@click='emitRowClick(row.raw, event)'
|
||||
>
|
||||
{#if selectable}
|
||||
<td class="wrn-table__select-cell">
|
||||
<td class="wrn-table__select-cell" data-wrn-owner="DataTable" data-wrn-part="selectCell" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<button
|
||||
type="button"
|
||||
class="wrn-table__check"
|
||||
@@ -869,8 +869,8 @@ component DataTable {
|
||||
aria-label="Select row"
|
||||
aria-checked='{row.selected}'
|
||||
@click='toggleRowAt(row.key, event)'
|
||||
>
|
||||
<svg viewBox="0 0 24 24" width="11" height="11" fill="none" stroke="currentColor" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
||||
data-wrn-owner="DataTable" data-wrn-part="check" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<svg viewBox="0 0 24 24" width="11" height="11" fill="none" stroke="currentColor" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-wrn-owner="DataTable" data-wrn-part="vector" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<path d="m5 12 5 5 9-9" />
|
||||
</svg>
|
||||
</button>
|
||||
@@ -891,7 +891,7 @@ component DataTable {
|
||||
</table>
|
||||
|
||||
<!-- Comparison layout: fields down the left, one column per record. -->
|
||||
<table class="wrn-table__table wrn-table__table--comparison" data-show="layout === 'comparison'">
|
||||
<table class="wrn-table__table wrn-table__table--comparison" data-show="layout === 'comparison'" data-wrn-owner="DataTable" data-wrn-part="table" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{caption}</th>
|
||||
@@ -906,7 +906,7 @@ component DataTable {
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr data-for="field in comparisonRows()" data-key="field.key">
|
||||
<th scope="row" class="wrn-table__field-label">{field.label}</th>
|
||||
<th scope="row" class="wrn-table__field-label" data-wrn-owner="DataTable" data-wrn-part="fieldLabel" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">{field.label}</th>
|
||||
<td
|
||||
data-for="cell in field.cells"
|
||||
data-key="cell.key"
|
||||
@@ -919,14 +919,14 @@ component DataTable {
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="wrn-table__status" data-show="loading">
|
||||
<span class="wrn-table__spinner" aria-hidden="true"></span>
|
||||
<div class="wrn-table__status" data-show="loading" data-wrn-owner="DataTable" data-wrn-part="status" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span class="wrn-table__spinner" aria-hidden="true" data-wrn-owner="DataTable" data-wrn-part="spinner" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}"></span>
|
||||
<span>{loadingLabel}</span>
|
||||
</div>
|
||||
|
||||
<div class="wrn-table__status wrn-table__status--error" data-show="loadError">
|
||||
<div class="wrn-table__status wrn-table__status--error" data-show="loadError" data-wrn-owner="DataTable" data-wrn-part="status" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span>{loadError}</span>
|
||||
<button type="button" class="wrn-table__action" @click='reload()'>
|
||||
<button type="button" class="wrn-table__action" @click='reload()' data-wrn-owner="DataTable" data-wrn-part="action" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{retryLabel}
|
||||
</button>
|
||||
</div>
|
||||
@@ -934,24 +934,24 @@ component DataTable {
|
||||
<div
|
||||
class="wrn-table__status"
|
||||
data-show="!loading && !loadError && totalCount() === 0"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="status" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span>{emptyMessage()}</span>
|
||||
<button
|
||||
type="button"
|
||||
class="wrn-table__action"
|
||||
data-show="isFiltered()"
|
||||
@click='clearSearch()'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="action" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{clearSearchLabel}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="wrn-table__footer" data-show="paginated && totalCount() > 0">
|
||||
<p class="wrn-table__range">{rangeLabel()}</p>
|
||||
<div class="wrn-table__footer" data-show="paginated && totalCount() > 0" data-wrn-owner="DataTable" data-wrn-part="footer" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<p class="wrn-table__range" data-wrn-owner="DataTable" data-wrn-part="range" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">{rangeLabel()}</p>
|
||||
|
||||
<div class="wrn-table__pager">
|
||||
<span class="wrn-table__page-size">
|
||||
<div class="wrn-table__pager" data-wrn-owner="DataTable" data-wrn-part="pager" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span class="wrn-table__page-size" data-wrn-owner="DataTable" data-wrn-part="pageSize" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<span>Rows</span>
|
||||
<!-- The shared Dropdown rather than a native select: a select
|
||||
renders its list with the operating system styling, which
|
||||
@@ -978,7 +978,7 @@ component DataTable {
|
||||
aria-label="Previous page"
|
||||
disabled='{currentPage() <= 1}'
|
||||
@click='goToPage(currentPage() - 1)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="pageButton" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
width="14"
|
||||
@@ -989,7 +989,7 @@ component DataTable {
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
aria-hidden="true"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="vector" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<path d="m15 18-6-6 6-6" />
|
||||
</svg>
|
||||
</button>
|
||||
@@ -997,14 +997,14 @@ component DataTable {
|
||||
<span
|
||||
class="wrn-table__page-indicator"
|
||||
data-show="paginationStyle !== 'numbered'"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="pageIndicator" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{currentPage()} / {pageCount()}
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="wrn-table__page-numbers"
|
||||
data-show="paginationStyle === 'numbered'"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="pageNumbers" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<button
|
||||
type="button"
|
||||
class="wrn-table__page-number"
|
||||
@@ -1013,7 +1013,7 @@ component DataTable {
|
||||
data-active='{entry.active}'
|
||||
aria-label='{"Page " + entry.number}'
|
||||
@click='goToPage(entry.number)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="pageNumber" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
{entry.number}
|
||||
</button>
|
||||
</span>
|
||||
@@ -1024,7 +1024,7 @@ component DataTable {
|
||||
aria-label="Next page"
|
||||
disabled='{currentPage() >= pageCount()}'
|
||||
@click='goToPage(currentPage() + 1)'
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="pageButton" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<svg
|
||||
viewBox="0 0 24 24"
|
||||
width="14"
|
||||
@@ -1035,7 +1035,7 @@ component DataTable {
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
aria-hidden="true"
|
||||
>
|
||||
data-wrn-owner="DataTable" data-wrn-part="vector" data-wrn-axis-color="{color}" data-wrn-axis-size="{size}" data-wrn-axis-bordered="{bordered}">
|
||||
<path d="m9 18 6-6-6-6" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
Reference in new issue
Block a user