@ryanhelsing/ry-ui 1.0.14 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/ry-ui-builder/SKILL.md +4 -6
- package/README.md +21 -26
- package/dist/components/ry-dropdown.d.ts +1 -1
- package/dist/components/ry-heading.d.ts +1 -5
- package/dist/components/ry-heading.d.ts.map +1 -1
- package/dist/components/ry-logo-bar.d.ts +25 -0
- package/dist/components/ry-logo-bar.d.ts.map +1 -0
- package/dist/components/ry-modal.d.ts +1 -1
- package/dist/components/ry-pricing.d.ts +4 -4
- package/dist/components/ry-pricing.d.ts.map +1 -1
- package/dist/components/ry-search-list.d.ts +30 -0
- package/dist/components/ry-search-list.d.ts.map +1 -0
- package/dist/components/ry-stat.d.ts +1 -4
- package/dist/components/ry-stat.d.ts.map +1 -1
- package/dist/components/ry-testimonial.d.ts +2 -5
- package/dist/components/ry-testimonial.d.ts.map +1 -1
- package/dist/components/ry-theme-panel.d.ts.map +1 -1
- package/dist/core/ry-transform.d.ts.map +1 -1
- package/dist/css/ry-structure.css +516 -28
- package/dist/css/ry-theme.css +186 -40
- package/dist/css/ry-tokens.css +4 -4
- package/dist/css/ry-ui.css +706 -72
- package/dist/pages/components.html +19 -82
- package/dist/pages/landing.html +13 -40
- package/dist/ry-ui.d.ts +2 -1
- package/dist/ry-ui.d.ts.map +1 -1
- package/dist/ry-ui.js +936 -667
- package/dist/ry-ui.js.map +1 -1
- package/docs/components/dropdown.md +2 -2
- package/docs/components/modal.md +2 -2
- package/package.json +1 -1
- package/docs/components/button-group.md +0 -36
|
@@ -197,45 +197,6 @@
|
|
|
197
197
|
</table>
|
|
198
198
|
</ry-section>
|
|
199
199
|
|
|
200
|
-
<!-- Button Group -->
|
|
201
|
-
<ry-section>
|
|
202
|
-
<h2>Button Group</h2>
|
|
203
|
-
<ry-example title="button-group">
|
|
204
|
-
<template>
|
|
205
|
-
<stack gap="lg">
|
|
206
|
-
<button-group name="billing" value="monthly">
|
|
207
|
-
<button value="monthly">Monthly</button>
|
|
208
|
-
<button value="annually">Annually</button>
|
|
209
|
-
</button-group>
|
|
210
|
-
|
|
211
|
-
<button-group name="mode" value="terminal">
|
|
212
|
-
<button value="direct">Direct</button>
|
|
213
|
-
<button value="terminal">Terminal</button>
|
|
214
|
-
<button value="release">Release</button>
|
|
215
|
-
</button-group>
|
|
216
|
-
</stack>
|
|
217
|
-
</template>
|
|
218
|
-
<script slot="js" type="text/plain">
|
|
219
|
-
const group = document.querySelector('ry-button-group');
|
|
220
|
-
|
|
221
|
-
// Listen for selection changes
|
|
222
|
-
group.addEventListener('ry:change', (e) => {
|
|
223
|
-
console.log(e.detail.value); // "monthly" or "annually"
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
// Get/set programmatically
|
|
227
|
-
group.value; // "monthly"
|
|
228
|
-
group.value = 'annually'; // Switch selection
|
|
229
|
-
</script>
|
|
230
|
-
</ry-example>
|
|
231
|
-
<table>
|
|
232
|
-
<thead><tr><th>Attribute</th><th>Values</th><th>Description</th></tr></thead>
|
|
233
|
-
<tbody>
|
|
234
|
-
<tr><td><code>name</code></td><td>string</td><td>Group name</td></tr>
|
|
235
|
-
<tr><td><code>value</code></td><td>string</td><td>Currently selected value</td></tr>
|
|
236
|
-
</tbody>
|
|
237
|
-
</table>
|
|
238
|
-
</ry-section>
|
|
239
200
|
|
|
240
201
|
<!-- Split -->
|
|
241
202
|
<ry-section>
|
|
@@ -394,10 +355,10 @@ tabs.activeIndex = 1; // Switch to second tab
|
|
|
394
355
|
|
|
395
356
|
<modal id="example-modal" title="Modal Title">
|
|
396
357
|
<p>Modal content with focus trapping.</p>
|
|
397
|
-
<
|
|
358
|
+
<footer>
|
|
398
359
|
<button variant="ghost" close>Cancel</button>
|
|
399
360
|
<button>Confirm</button>
|
|
400
|
-
</
|
|
361
|
+
</footer>
|
|
401
362
|
</modal>
|
|
402
363
|
</template>
|
|
403
364
|
<script slot="js" type="text/plain">
|
|
@@ -436,7 +397,7 @@ if (modal.state === 'open') { ... }
|
|
|
436
397
|
<ry-example title="dropdown">
|
|
437
398
|
<template>
|
|
438
399
|
<dropdown>
|
|
439
|
-
<button
|
|
400
|
+
<button>Options ▾</button>
|
|
440
401
|
<menu>
|
|
441
402
|
<menu-item>Edit</menu-item>
|
|
442
403
|
<menu-item>Duplicate</menu-item>
|
|
@@ -461,7 +422,7 @@ dropdown.close();
|
|
|
461
422
|
<table>
|
|
462
423
|
<thead><tr><th>Attribute</th><th>Values</th><th>Description</th></tr></thead>
|
|
463
424
|
<tbody>
|
|
464
|
-
<tr><td
|
|
425
|
+
<tr><td>first child</td><td>—</td><td>First child element is the trigger</td></tr>
|
|
465
426
|
</tbody>
|
|
466
427
|
</table>
|
|
467
428
|
</ry-section>
|
|
@@ -1641,18 +1602,9 @@ document.body.appendChild(copy);
|
|
|
1641
1602
|
<ry-example title="stat">
|
|
1642
1603
|
<template>
|
|
1643
1604
|
<grid cols="3">
|
|
1644
|
-
<stat trend="up">
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
</stat>
|
|
1648
|
-
<stat trend="down">
|
|
1649
|
-
<span slot="value">1.2%</span>
|
|
1650
|
-
<span slot="label">Bounce Rate</span>
|
|
1651
|
-
</stat>
|
|
1652
|
-
<stat>
|
|
1653
|
-
<span slot="value">$12,340</span>
|
|
1654
|
-
<span slot="label">Revenue</span>
|
|
1655
|
-
</stat>
|
|
1605
|
+
<stat trend="up" value="2,847" label="Active Users"></stat>
|
|
1606
|
+
<stat trend="down" value="1.2%" label="Bounce Rate"></stat>
|
|
1607
|
+
<stat value="$12,340" label="Revenue"></stat>
|
|
1656
1608
|
</grid>
|
|
1657
1609
|
</template>
|
|
1658
1610
|
</ry-example>
|
|
@@ -1703,9 +1655,7 @@ document.body.appendChild(copy);
|
|
|
1703
1655
|
<ry-example title="pricing" stacked>
|
|
1704
1656
|
<template>
|
|
1705
1657
|
<pricing>
|
|
1706
|
-
<pricing-card>
|
|
1707
|
-
<h3>Free</h3>
|
|
1708
|
-
<div slot="price">$0<span>/mo</span></div>
|
|
1658
|
+
<pricing-card title="Free" price="$0/mo">
|
|
1709
1659
|
<ul class="ry-check-list">
|
|
1710
1660
|
<li>5 projects</li>
|
|
1711
1661
|
<li>Community support</li>
|
|
@@ -1713,9 +1663,7 @@ document.body.appendChild(copy);
|
|
|
1713
1663
|
</ul>
|
|
1714
1664
|
<button variant="outline">Get Started</button>
|
|
1715
1665
|
</pricing-card>
|
|
1716
|
-
<pricing-card featured>
|
|
1717
|
-
<h3>Pro</h3>
|
|
1718
|
-
<div slot="price">$29<span>/mo</span></div>
|
|
1666
|
+
<pricing-card featured title="Pro" price="$29/mo">
|
|
1719
1667
|
<ul class="ry-check-list">
|
|
1720
1668
|
<li>Unlimited projects</li>
|
|
1721
1669
|
<li>Priority support</li>
|
|
@@ -1723,9 +1671,7 @@ document.body.appendChild(copy);
|
|
|
1723
1671
|
</ul>
|
|
1724
1672
|
<button>Choose Pro</button>
|
|
1725
1673
|
</pricing-card>
|
|
1726
|
-
<pricing-card>
|
|
1727
|
-
<h3>Enterprise</h3>
|
|
1728
|
-
<div slot="price">$99<span>/mo</span></div>
|
|
1674
|
+
<pricing-card title="Enterprise" price="$99/mo">
|
|
1729
1675
|
<ul class="ry-check-list">
|
|
1730
1676
|
<li>Everything in Pro</li>
|
|
1731
1677
|
<li>SLA guarantee</li>
|
|
@@ -1751,23 +1697,14 @@ document.body.appendChild(copy);
|
|
|
1751
1697
|
<template>
|
|
1752
1698
|
<ry>
|
|
1753
1699
|
<grid cols="3">
|
|
1754
|
-
<testimonial stars="5">
|
|
1755
|
-
|
|
1756
|
-
<blockquote>This library changed how we build UIs. Everything just works.</blockquote>
|
|
1757
|
-
<span slot="name">Sarah Chen</span>
|
|
1758
|
-
<span slot="role">CTO, Acme Corp</span>
|
|
1700
|
+
<testimonial stars="5" avatar="https://i.pravatar.cc/128?img=1" name="Sarah Chen" role="CTO, Acme Corp">
|
|
1701
|
+
This library changed how we build UIs. Everything just works.
|
|
1759
1702
|
</testimonial>
|
|
1760
|
-
<testimonial stars="5">
|
|
1761
|
-
|
|
1762
|
-
<blockquote>Clean, fast, and framework-agnostic. Exactly what we needed.</blockquote>
|
|
1763
|
-
<span slot="name">Marcus Johnson</span>
|
|
1764
|
-
<span slot="role">Lead Engineer, StartupCo</span>
|
|
1703
|
+
<testimonial stars="5" avatar="https://i.pravatar.cc/128?img=3" name="Marcus Johnson" role="Lead Engineer, StartupCo">
|
|
1704
|
+
Clean, fast, and framework-agnostic. Exactly what we needed.
|
|
1765
1705
|
</testimonial>
|
|
1766
|
-
<testimonial stars="4">
|
|
1767
|
-
|
|
1768
|
-
<blockquote>We shipped our entire dashboard in half the time.</blockquote>
|
|
1769
|
-
<span slot="name">Emily Park</span>
|
|
1770
|
-
<span slot="role">Product Manager, BigCo</span>
|
|
1706
|
+
<testimonial stars="4" avatar="https://i.pravatar.cc/128?img=5" name="Emily Park" role="Product Manager, BigCo">
|
|
1707
|
+
We shipped our entire dashboard in half the time.
|
|
1771
1708
|
</testimonial>
|
|
1772
1709
|
</grid>
|
|
1773
1710
|
</ry>
|
|
@@ -1777,9 +1714,9 @@ document.body.appendChild(copy);
|
|
|
1777
1714
|
<thead><tr><th>Attribute</th><th>Values</th><th>Description</th></tr></thead>
|
|
1778
1715
|
<tbody>
|
|
1779
1716
|
<tr><td><code>stars</code></td><td>1–5</td><td>Star rating display</td></tr>
|
|
1780
|
-
<tr><td><code>
|
|
1781
|
-
<tr><td><code>
|
|
1782
|
-
<tr><td><code>
|
|
1717
|
+
<tr><td><code>avatar</code></td><td>image URL</td><td>Avatar photo</td></tr>
|
|
1718
|
+
<tr><td><code>name</code></td><td>text</td><td>Person's name</td></tr>
|
|
1719
|
+
<tr><td><code>role</code></td><td>text</td><td>Title / company</td></tr>
|
|
1783
1720
|
</tbody>
|
|
1784
1721
|
</table>
|
|
1785
1722
|
</ry-section>
|
package/dist/pages/landing.html
CHANGED
|
@@ -33,22 +33,10 @@
|
|
|
33
33
|
<!-- ═══ STATS ═══ -->
|
|
34
34
|
<section>
|
|
35
35
|
<grid cols="4">
|
|
36
|
-
<stat>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<stat>
|
|
41
|
-
<span slot="value">7KB</span>
|
|
42
|
-
<span slot="label">Gzipped</span>
|
|
43
|
-
</stat>
|
|
44
|
-
<stat>
|
|
45
|
-
<span slot="value">0</span>
|
|
46
|
-
<span slot="label">Dependencies</span>
|
|
47
|
-
</stat>
|
|
48
|
-
<stat>
|
|
49
|
-
<span slot="value">3</span>
|
|
50
|
-
<span slot="label">Themes</span>
|
|
51
|
-
</stat>
|
|
36
|
+
<stat value="32" label="Components"></stat>
|
|
37
|
+
<stat value="7KB" label="Gzipped"></stat>
|
|
38
|
+
<stat value="0" label="Dependencies"></stat>
|
|
39
|
+
<stat value="3" label="Themes"></stat>
|
|
52
40
|
</grid>
|
|
53
41
|
</section>
|
|
54
42
|
|
|
@@ -107,23 +95,14 @@
|
|
|
107
95
|
</hero>
|
|
108
96
|
|
|
109
97
|
<grid cols="3">
|
|
110
|
-
<testimonial stars="5">
|
|
111
|
-
|
|
112
|
-
<blockquote>We rebuilt our entire admin dashboard in a weekend. The component library just works — no fighting with frameworks.</blockquote>
|
|
113
|
-
<span slot="name">Sarah Chen</span>
|
|
114
|
-
<span slot="role">CTO, Acme Corp</span>
|
|
98
|
+
<testimonial stars="5" avatar="https://i.pravatar.cc/128?img=1" name="Sarah Chen" role="CTO, Acme Corp">
|
|
99
|
+
We rebuilt our entire admin dashboard in a weekend. The component library just works — no fighting with frameworks.
|
|
115
100
|
</testimonial>
|
|
116
|
-
<testimonial stars="5">
|
|
117
|
-
|
|
118
|
-
<blockquote>Finally, components that don't force you into a specific framework. We use these across React, Vue, and vanilla JS projects.</blockquote>
|
|
119
|
-
<span slot="name">Marcus Johnson</span>
|
|
120
|
-
<span slot="role">Lead Engineer, StartupCo</span>
|
|
101
|
+
<testimonial stars="5" avatar="https://i.pravatar.cc/128?img=3" name="Marcus Johnson" role="Lead Engineer, StartupCo">
|
|
102
|
+
Finally, components that don't force you into a specific framework. We use these across React, Vue, and vanilla JS projects.
|
|
121
103
|
</testimonial>
|
|
122
|
-
<testimonial stars="5">
|
|
123
|
-
|
|
124
|
-
<blockquote>The FORM/THEME separation is brilliant. Our design team can iterate on visuals without touching any JavaScript.</blockquote>
|
|
125
|
-
<span slot="name">Emily Park</span>
|
|
126
|
-
<span slot="role">Design Lead, BigCo</span>
|
|
104
|
+
<testimonial stars="5" avatar="https://i.pravatar.cc/128?img=5" name="Emily Park" role="Design Lead, BigCo">
|
|
105
|
+
The FORM/THEME separation is brilliant. Our design team can iterate on visuals without touching any JavaScript.
|
|
127
106
|
</testimonial>
|
|
128
107
|
</grid>
|
|
129
108
|
</section>
|
|
@@ -136,9 +115,7 @@
|
|
|
136
115
|
</hero>
|
|
137
116
|
|
|
138
117
|
<pricing>
|
|
139
|
-
<pricing-card>
|
|
140
|
-
<h3>Starter</h3>
|
|
141
|
-
<div slot="price">$0<span>/mo</span></div>
|
|
118
|
+
<pricing-card title="Starter" price="$0/mo">
|
|
142
119
|
<ul class="ry-check-list">
|
|
143
120
|
<li>All components</li>
|
|
144
121
|
<li>3 themes included</li>
|
|
@@ -147,9 +124,7 @@
|
|
|
147
124
|
</ul>
|
|
148
125
|
<ry-button variant="outline">Get Started</ry-button>
|
|
149
126
|
</pricing-card>
|
|
150
|
-
<pricing-card featured>
|
|
151
|
-
<h3>Pro</h3>
|
|
152
|
-
<div slot="price">$29<span>/mo</span></div>
|
|
127
|
+
<pricing-card featured title="Pro" price="$29/mo">
|
|
153
128
|
<ul class="ry-check-list">
|
|
154
129
|
<li>Everything in Starter</li>
|
|
155
130
|
<li>Premium themes</li>
|
|
@@ -159,9 +134,7 @@
|
|
|
159
134
|
</ul>
|
|
160
135
|
<ry-button>Choose Pro</ry-button>
|
|
161
136
|
</pricing-card>
|
|
162
|
-
<pricing-card>
|
|
163
|
-
<h3>Enterprise</h3>
|
|
164
|
-
<div slot="price">Custom</div>
|
|
137
|
+
<pricing-card title="Enterprise" price="Custom">
|
|
165
138
|
<ul class="ry-check-list">
|
|
166
139
|
<li>Everything in Pro</li>
|
|
167
140
|
<li>Dedicated support</li>
|
package/dist/ry-ui.d.ts
CHANGED
|
@@ -27,7 +27,6 @@ export { RyModal } from './components/ry-modal.js';
|
|
|
27
27
|
export { RyTabs } from './components/ry-tabs.js';
|
|
28
28
|
export { RyDropdown } from './components/ry-dropdown.js';
|
|
29
29
|
export { RyButton } from './components/ry-button.js';
|
|
30
|
-
export { RyButtonGroup } from './components/ry-button-group.js';
|
|
31
30
|
export { RySplit } from './components/ry-split.js';
|
|
32
31
|
export { RyThemeToggle } from './components/ry-theme-toggle.js';
|
|
33
32
|
export { RyCard } from './components/ry-card.js';
|
|
@@ -63,6 +62,8 @@ export { RyCarousel } from './components/ry-carousel.js';
|
|
|
63
62
|
export { RyThemePanel } from './components/ry-theme-panel.js';
|
|
64
63
|
export { RyTestimonial } from './components/ry-testimonial.js';
|
|
65
64
|
export { RyHeading } from './components/ry-heading.js';
|
|
65
|
+
export { RySearchList } from './components/ry-search-list.js';
|
|
66
|
+
export { RyLogoBar } from './components/ry-logo-bar.js';
|
|
66
67
|
export { getIcon, registerIcon, registerIcons, getIconNames } from './core/ry-icons.js';
|
|
67
68
|
import { RyToast as _RyToast } from './components/ry-toast.js';
|
|
68
69
|
declare global {
|
package/dist/ry-ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ry-ui.d.ts","sourceRoot":"","sources":["../src/ts/ry-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ry-ui.d.ts","sourceRoot":"","sources":["../src/ts/ry-ui.ts"],"names":[],"mappings":"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"}
|