Skip to content

Commit 0a6079b

Browse files
authored
Merge pull request #71 from devmount/tasks/improve-docs
Improve docs
2 parents 73aeff9 + 3fe9997 commit 0a6079b

5 files changed

Lines changed: 95 additions & 16 deletions

File tree

docs/assets/scripts/docs.js

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,18 +100,21 @@ const colorToast = (col) => {
100100
}
101101

102102
// Component: Tab
103-
const tabList = document.querySelector('#tab-demo > nav > ol');
104-
const tabPanels = document.querySelectorAll('#tab-demo > section > div');
105-
const tabs = tabList
106-
? [...tabList.querySelectorAll('li')].filter(t => !t.classList.contains('disabled'))
107-
: [];
108-
tabs.forEach((tab, i) => {
109-
tab.addEventListener('click', () => {
110-
tabs.forEach(t => t.classList.remove('active'))
111-
tabPanels.forEach(p => p.classList.remove('active'));
112-
const panel = [...tabPanels][i];
113-
panel.classList.add('active');
114-
tab.classList.add('active');
103+
const tabGroup = document.querySelectorAll('.tab-group');
104+
tabGroup.forEach((group) => {
105+
const tabList = group.querySelector('nav > ol');
106+
const tabPanels = group.querySelectorAll('section > div');
107+
const tabs = tabList
108+
? [...tabList.querySelectorAll('li')].filter(t => !t.classList.contains('disabled'))
109+
: [];
110+
tabs.forEach((tab, i) => {
111+
tab.addEventListener('click', () => {
112+
tabs.forEach(t => t.classList.remove('active'))
113+
tabPanels.forEach(p => p.classList.remove('active'));
114+
const panel = [...tabPanels][i];
115+
panel?.classList.add('active');
116+
tab.classList.add('active');
117+
});
115118
});
116119
});
117120

docs/pages/components/loader.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,25 @@ Loaders are also supported on <a href="/components/button">button</a> elements.
7575
<button class="busy success">Save profile</button>
7676
<button class="busy alert">Delete account</button>
7777
```
78+
79+
### Input loader
80+
81+
Similar to buttons, loaders are also supported on <a href="/components/input">input</a> elements. Use the `busy` class to replace the contents of an input element with a loader while keeping the input size.
82+
83+
<div class="demo flex flex-wrap items-center gap-8">
84+
<div class="input busy">
85+
<input type="text" value="My fancy username" disabled />
86+
</div>
87+
<div class="input busy">
88+
<input type="text" class="pill" value="My fancy username" disabled />
89+
</div>
90+
</div>
91+
92+
```html
93+
<div class="input busy">
94+
<input type="text" value="My fancy username" disabled />
95+
</div>
96+
<div class="input busy">
97+
<input type="text" class="pill" value="My fancy username" disabled />
98+
</div>
99+
```

docs/pages/components/tab.md

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,28 @@ Use the `tab-group` class on a parent element containing a `<nav>` with an order
7070
</div>
7171
```
7272

73+
To make the tabs actually work, you can use the following simple script in vanilla JavaScript. It applies to all `.tab-group` elements, even if there are multiple ones on the same page. It adds a click event listener to all tabs, that are not disabled and moves the `.active` class to the clicked tab accordingly.
74+
75+
```js
76+
const tabGroup = document.querySelectorAll('.tab-group');
77+
tabGroup.forEach((group) => {
78+
const tabList = group.querySelector('nav > ol');
79+
const tabPanels = group.querySelectorAll('section > div');
80+
const tabs = tabList
81+
? [...tabList.querySelectorAll('li')].filter(t => !t.classList.contains('disabled'))
82+
: [];
83+
tabs.forEach((tab, i) => {
84+
tab.addEventListener('click', () => {
85+
tabs.forEach(t => t.classList.remove('active'))
86+
tabPanels.forEach(p => p.classList.remove('active'));
87+
const panel = [...tabPanels][i];
88+
panel?.classList.add('active');
89+
tab.classList.add('active');
90+
});
91+
});
92+
});
93+
```
94+
7395
### Badge
7496
7597
The `badge` class can be used to show [badges](/components/badge) on tab list elements.
@@ -83,6 +105,11 @@ The `badge` class can be used to show [badges](/components/badge) on tab list el
83105
<li>Invoices</li>
84106
</ol>
85107
</nav>
108+
<section>
109+
<div class="active"></div>
110+
<div></div>
111+
<div></div>
112+
</section>
86113
</div>
87114
</div>
88115
@@ -116,6 +143,14 @@ Per default the tab bar is on top of the content. The `bottom`, `left` or `right
116143
<h4>Tab bar positioned at the bottom</h4>
117144
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus.</p>
118145
</div>
146+
<div>
147+
<h4>Quotes created</h4>
148+
<p>In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at.</p>
149+
</div>
150+
<div>
151+
<h4>Invoices sent</h4>
152+
<p>Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi.</p>
153+
</div>
119154
</section>
120155
</div>
121156
</div>
@@ -148,9 +183,17 @@ Per default the tab bar is on top of the content. The `bottom`, `left` or `right
148183
</nav>
149184
<section>
150185
<div class="active">
151-
<h4>Tab bar positioned at the left</h4>
186+
<h4>Tab bar positioned to the left</h4>
152187
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus.</p>
153188
</div>
189+
<div>
190+
<h4>Quotes created</h4>
191+
<p>In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at.</p>
192+
</div>
193+
<div>
194+
<h4>Invoices sent</h4>
195+
<p>Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi.</p>
196+
</div>
154197
</section>
155198
</div>
156199
</div>
@@ -183,16 +226,24 @@ Per default the tab bar is on top of the content. The `bottom`, `left` or `right
183226
</nav>
184227
<section>
185228
<div class="active">
186-
<h4>Tab bar positioned at the left</h4>
229+
<h4>Tab bar positioned to the right</h4>
187230
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus.</p>
188231
</div>
232+
<div>
233+
<h4>Quotes created</h4>
234+
<p>In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi. Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at.</p>
235+
</div>
236+
<div>
237+
<h4>Invoices sent</h4>
238+
<p>Nulla facilisi. Phasellus vehicula convallis nisl, id suscipit dui semper at. In eu iaculis lorem. In vehicula sed mauris et suscipit. Vivamus pellentesque non massa sit amet ornare. Integer placerat est vitae nisl molestie, eget rhoncus erat vulputate. Proin ornare massa eget bibendum faucibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra viverra nisl, vel maximus turpis ornare a. Ut scelerisque lectus sed odio dictum scelerisque vitae quis nisi.</p>
239+
</div>
189240
</section>
190241
</div>
191242
</div>
192243
193244
```html
194245
<div class="tab-group">
195-
<nav class="left">
246+
<nav class="right">
196247
<ol>
197248
<li class="active">Sales</li>
198249
<li>Quotes</li>

docs/pages/components/tooltip.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@ A tooltip provides additional information for an element on hover or focus.
1010

1111
### Position
1212

13-
Use the `data-tooltip` attribute on any element to attach a tooltip that appears above the element on hover or focus. Linebreaks can be used too.
13+
Use the `data-tooltip` attribute on any element to attach a tooltip that appears above the element on hover or focus. Linebreaks can be inserted too using the `&#10;` line break entity (or another line break character suitable for your use case).
1414

1515
<div class="demo">
1616
<button data-tooltip="Initiate self-destruction">I'm harmless</button>
17+
<button class="alert" data-tooltip="On second thought&#10;I won't do anything">I'm dangerous</button>
1718
</div>
1819

1920
```html
2021
<button data-tooltip="Initiate self-destruction">I'm harmless</button>
22+
<button class="alert" data-tooltip="On second thought&#10;I won't do anything">I'm dangerous</button>
2123
```
2224

2325
To change position, use the `tooltip-left`, `tooltip-bottom` or `tooltip-right` classes accordingly.

src/core/_form.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ input, textarea, select {
4747
&:disabled {
4848
cursor: not-allowed;
4949
background-color: var(--color-bg-muted);
50+
box-shadow: none;
5051
}
5152
&:user-invalid {
5253
box-shadow: var(--color-alert) var(--shadow-border);

0 commit comments

Comments
 (0)