@kubex/zinc 1.0.115 → 1.0.117
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/dist/custom-elements.json +476 -287
- package/dist/vscode.html-custom-data.json +52 -52
- package/dist/web-types.json +116 -86
- package/dist/zn.d.ts +63 -11
- package/dist/zn.min.css +1 -1
- package/dist/zn.min.js +1096 -1087
- package/docs/_includes/default.njk +3 -4
- package/docs/assets/styles/docs.css +13 -13
- package/docs/pages/components/absolute-container.md +2 -2
- package/docs/pages/components/alert.md +5 -5
- package/docs/pages/components/audio-select.md +4 -4
- package/docs/pages/components/button-group.md +1 -31
- package/docs/pages/components/button.md +13 -12
- package/docs/pages/components/checkbox.md +4 -4
- package/docs/pages/components/chip.md +14 -14
- package/docs/pages/components/data-table.md +4 -4
- package/docs/pages/components/datepicker.md +5 -5
- package/docs/pages/components/dialog.md +2 -2
- package/docs/pages/components/file.md +81 -9
- package/docs/pages/components/header.md +4 -6
- package/docs/pages/components/hover-container.md +1 -1
- package/docs/pages/components/icon.md +14 -0
- package/docs/pages/components/inline-edit.md +4 -4
- package/docs/pages/components/item.md +2 -2
- package/docs/pages/components/menu.md +2 -2
- package/docs/pages/components/note.md +12 -12
- package/docs/pages/components/page.md +3 -3
- package/docs/pages/components/pagination.md +6 -6
- package/docs/pages/components/pane.md +3 -6
- package/docs/pages/components/panel.md +10 -12
- package/docs/pages/components/priority-list.md +3 -3
- package/docs/pages/components/radio-group.md +4 -4
- package/docs/pages/components/radio.md +4 -4
- package/docs/pages/components/scroll-container.md +10 -10
- package/docs/pages/components/select.md +5 -5
- package/docs/pages/components/split-button.md +4 -4
- package/docs/pages/components/tabs.md +3 -3
- package/docs/pages/components/tile.md +13 -13
- package/docs/pages/components/toggle.md +4 -4
- package/docs/pages/components/translations.md +5 -5
- package/docs/pages/components/vertical-stepper.md +3 -3
- package/docs/pages/components/well.md +19 -19
- package/docs/pages/getting-started/example-layout.md +16 -16
- package/docs/pages/getting-started/example-page.md +1 -3
- package/package.json +2 -1
- package/scss/_root.scss +87 -60
- package/scss/shared/_button.scss +6 -1
- package/scss/shared/_form-elements.scss +1 -0
- package/scss/shared/_table.scss +1 -1
- package/scss/shared/layout.scss +5 -4
- package/scss/themes/_dark.scss +4 -4
- package/scss/themes/_light.scss +70 -287
- package/src/components/bulk-actions/bulk-actions.component.ts +0 -1
- package/src/components/button/button.component.ts +40 -10
- package/src/components/button/button.scss +67 -103
- package/src/components/button-menu/button-menu.component.ts +2 -6
- package/src/components/collapsible/collapsible.scss +1 -1
- package/src/components/cols/cols.scss +1 -1
- package/src/components/content-block/content-block.component.ts +1 -2
- package/src/components/data-table/data-table.component.ts +4 -8
- package/src/components/data-table/data-table.test.ts +7 -0
- package/src/components/data-table-filter/data-table-filter.component.ts +1 -1
- package/src/components/data-table-sort/data-table-sort.component.ts +2 -2
- package/src/components/dialog/dialog.component.ts +0 -1
- package/src/components/editor/modules/dialog/dialog.component.ts +0 -1
- package/src/components/editor/modules/dialog/dialog.scss +1 -1
- package/src/components/editor/modules/toolbar/toolbar.component.ts +0 -1
- package/src/components/expanding-action/expanding-action.component.ts +0 -3
- package/src/components/expanding-action/expanding-action.scss +0 -5
- package/src/components/file/file.component.ts +158 -17
- package/src/components/file/file.scss +122 -29
- package/src/components/header/header.component.ts +2 -8
- package/src/components/header/header.scss +4 -25
- package/src/components/icon/icon.component.ts +80 -1
- package/src/components/icon/icon.scss +8 -0
- package/src/components/icon/icon.test.ts +24 -0
- package/src/components/icon-picker/icon-picker.component.ts +0 -1
- package/src/components/inline-edit/inline-edit.component.ts +3 -4
- package/src/components/input/input.scss +21 -6
- package/src/components/input-group/input-group.scss +2 -1
- package/src/components/markdown-editor/markdown-editor.component.ts +1 -5
- package/src/components/menu/menu.scss +1 -1
- package/src/components/menu-item/menu-item.scss +4 -4
- package/src/components/navbar/navbar.component.ts +20 -0
- package/src/components/navbar/navbar.scss +31 -17
- package/src/components/navbar/navbar.test.ts +72 -0
- package/src/components/note/note.component.ts +0 -1
- package/src/components/page/page.component.ts +43 -12
- package/src/components/page/page.scss +21 -17
- package/src/components/page/page.test.ts +18 -1
- package/src/components/page-nav/page-nav.scss +6 -6
- package/src/components/panel/panel.component.ts +3 -5
- package/src/components/panel/panel.scss +3 -3
- package/src/components/panel/panel.test.ts +14 -0
- package/src/components/query-builder/query-builder.component.ts +0 -1
- package/src/components/slideout/slideout.component.ts +0 -1
- package/src/components/sp/sp.scss +2 -2
- package/src/components/tab/tab.component.ts +2 -0
- package/src/components/tabs/tabs.component.ts +1 -1
- package/src/components/tile/tile.scss +1 -1
- package/src/components/translation-group/translation-group.component.ts +0 -3
- package/src/components/translations/translations.component.ts +0 -3
|
@@ -100,8 +100,8 @@ Example of multiple actions in a description item.
|
|
|
100
100
|
<div><strong>Postal Code</strong> Example here </div>
|
|
101
101
|
<div><strong>Country</strong> Example here </div>
|
|
102
102
|
|
|
103
|
-
<zn-button id="address-modal" slot="actions"
|
|
104
|
-
<zn-button id="address-modal" slot="actions"
|
|
103
|
+
<zn-button id="address-modal" slot="actions" color="secondary" modal>Edit</zn-button>
|
|
104
|
+
<zn-button id="address-modal" slot="actions" color="secondary" modal>Edit</zn-button>
|
|
105
105
|
|
|
106
106
|
</zn-item>
|
|
107
107
|
```
|
|
@@ -510,8 +510,8 @@ You can programmatically control menu items using their methods.
|
|
|
510
510
|
</zn-menu>
|
|
511
511
|
|
|
512
512
|
<div style="margin-top: 1rem;">
|
|
513
|
-
<zn-button id="focus-item2"
|
|
514
|
-
<zn-button id="click-item3"
|
|
513
|
+
<zn-button id="focus-item2">Focus Item 2</zn-button>
|
|
514
|
+
<zn-button id="click-item3" color="info">Click Item 3</zn-button>
|
|
515
515
|
</div>
|
|
516
516
|
|
|
517
517
|
<div id="prog-output" style="margin-top: 1rem; padding: 1rem; background: #f5f5f5; border-radius: 4px;">
|
|
@@ -112,12 +112,12 @@ Use the `action` slot to add buttons or other interactive elements to the note h
|
|
|
112
112
|
```html:preview
|
|
113
113
|
<zn-note caption="Pending Review" date="01/22/26" color="yellow">
|
|
114
114
|
This document requires your approval before we can proceed with the next phase.
|
|
115
|
-
<zn-button slot="action" color="success"
|
|
115
|
+
<zn-button slot="action" color="success">Approve</zn-button>
|
|
116
116
|
</zn-note>
|
|
117
117
|
<br />
|
|
118
118
|
<zn-note caption="Task Assignment" date="01/23/26" color="blue">
|
|
119
119
|
You've been assigned to work on the authentication module.
|
|
120
|
-
<zn-button slot="action" color="primary"
|
|
120
|
+
<zn-button slot="action" color="primary">View Task</zn-button>
|
|
121
121
|
</zn-note>
|
|
122
122
|
```
|
|
123
123
|
|
|
@@ -130,7 +130,7 @@ Use the `footer` slot to add additional information or actions at the bottom of
|
|
|
130
130
|
Version 2.0 has been successfully released to all users. Great work team!
|
|
131
131
|
<div slot="footer" style="display: flex; gap: 8px; align-items: center;">
|
|
132
132
|
<small style="color: var(--zn-color-text-muted);">Posted by John Smith</small>
|
|
133
|
-
<zn-button color="transparent"
|
|
133
|
+
<zn-button color="transparent">View Details</zn-button>
|
|
134
134
|
</div>
|
|
135
135
|
</zn-note>
|
|
136
136
|
```
|
|
@@ -166,8 +166,8 @@ Notes can contain rich HTML content including lists, links, code blocks, and for
|
|
|
166
166
|
</ul>
|
|
167
167
|
<p>For more information, visit our <a href="#">changelog page</a>.</p>
|
|
168
168
|
<div slot="footer">
|
|
169
|
-
<zn-button color="violet"
|
|
170
|
-
<zn-button color="transparent"
|
|
169
|
+
<zn-button color="violet">Download Update</zn-button>
|
|
170
|
+
<zn-button color="transparent">Learn More</zn-button>
|
|
171
171
|
</div>
|
|
172
172
|
</zn-note>
|
|
173
173
|
```
|
|
@@ -179,7 +179,7 @@ Combine header actions and footer content for more complex interactions.
|
|
|
179
179
|
```html:preview
|
|
180
180
|
<zn-note caption="Code Review Request" date="01/23/26" color="orange">
|
|
181
181
|
<div slot="action">
|
|
182
|
-
<zn-button color="transparent"
|
|
182
|
+
<zn-button color="transparent">View Changes</zn-button>
|
|
183
183
|
</div>
|
|
184
184
|
<div slot="snippet">
|
|
185
185
|
Pull request #247: Add user authentication feature. Click to see details...
|
|
@@ -194,9 +194,9 @@ Combine header actions and footer content for more complex interactions.
|
|
|
194
194
|
<p><strong>Files changed:</strong> 12 files (+458, -92 lines)</p>
|
|
195
195
|
<p>Please review the changes and provide feedback. The tests are passing and the code follows our style guidelines.</p>
|
|
196
196
|
<div slot="footer" style="display: flex; gap: 8px;">
|
|
197
|
-
<zn-button color="success"
|
|
198
|
-
<zn-button color="error"
|
|
199
|
-
<zn-button color="transparent"
|
|
197
|
+
<zn-button color="success">Approve</zn-button>
|
|
198
|
+
<zn-button color="error">Request Changes</zn-button>
|
|
199
|
+
<zn-button color="transparent">Comment</zn-button>
|
|
200
200
|
</div>
|
|
201
201
|
</zn-note>
|
|
202
202
|
```
|
|
@@ -247,8 +247,8 @@ Combine header actions and footer content for more complex interactions.
|
|
|
247
247
|
<li>Performance enhancements for large datasets</li>
|
|
248
248
|
</ul>
|
|
249
249
|
<div slot="footer">
|
|
250
|
-
<zn-button color="green"
|
|
251
|
-
<zn-button color="transparent"
|
|
250
|
+
<zn-button color="green">Update Now</zn-button>
|
|
251
|
+
<zn-button color="transparent">View Full Changelog</zn-button>
|
|
252
252
|
</div>
|
|
253
253
|
</zn-note>
|
|
254
254
|
```
|
|
@@ -258,7 +258,7 @@ Combine header actions and footer content for more complex interactions.
|
|
|
258
258
|
```html:preview
|
|
259
259
|
<zn-note caption="System Maintenance" date="01/25/26" color="yellow">
|
|
260
260
|
<div slot="action">
|
|
261
|
-
<zn-button color="transparent"
|
|
261
|
+
<zn-button color="transparent">Details</zn-button>
|
|
262
262
|
</div>
|
|
263
263
|
Scheduled maintenance window on Sunday, January 26 from 2:00 AM to 6:00 AM EST. Services will be temporarily unavailable during this time.
|
|
264
264
|
<div slot="footer">
|
|
@@ -7,7 +7,7 @@ layout: component
|
|
|
7
7
|
|
|
8
8
|
```html:preview
|
|
9
9
|
<zn-page caption="Page Title" summary="Page Summary">
|
|
10
|
-
<zn-button slot="actions" type="primary"
|
|
10
|
+
<zn-button slot="actions" type="primary" href="/ui">UI Examples</zn-button>
|
|
11
11
|
|
|
12
12
|
<zn-tab caption="Overview">
|
|
13
13
|
Overview Content
|
|
@@ -33,8 +33,8 @@ Use `slot="actions"` to place controls in the page header action area.
|
|
|
33
33
|
|
|
34
34
|
```html:preview
|
|
35
35
|
<zn-page caption="Customers" summary="Manage active customers">
|
|
36
|
-
<zn-button slot="actions" color="secondary"
|
|
37
|
-
<zn-button slot="actions" color="primary"
|
|
36
|
+
<zn-button slot="actions" color="secondary">Export</zn-button>
|
|
37
|
+
<zn-button slot="actions" color="primary">New Customer</zn-button>
|
|
38
38
|
|
|
39
39
|
<zn-tab caption="Overview">
|
|
40
40
|
Customer overview content
|
|
@@ -113,12 +113,12 @@ You can dynamically update pagination properties to respond to data changes.
|
|
|
113
113
|
<zn-pagination id="dynamic-pagination" total="100" limit="10" page="1" uri="#page#"></zn-pagination>
|
|
114
114
|
|
|
115
115
|
<div style="margin-top: 1rem; display: flex; gap: 0.5rem; flex-wrap: wrap;">
|
|
116
|
-
<zn-button id="set-page-1"
|
|
117
|
-
<zn-button id="set-page-5"
|
|
118
|
-
<zn-button id="set-total-50"
|
|
119
|
-
<zn-button id="set-total-200"
|
|
120
|
-
<zn-button id="set-limit-5"
|
|
121
|
-
<zn-button id="set-limit-20"
|
|
116
|
+
<zn-button id="set-page-1">Go to Page 1</zn-button>
|
|
117
|
+
<zn-button id="set-page-5">Go to Page 5</zn-button>
|
|
118
|
+
<zn-button id="set-total-50" color="info">Set Total: 50</zn-button>
|
|
119
|
+
<zn-button id="set-total-200" color="info">Set Total: 200</zn-button>
|
|
120
|
+
<zn-button id="set-limit-5" color="success">Set Limit: 5</zn-button>
|
|
121
|
+
<zn-button id="set-limit-20" color="success">Set Limit: 20</zn-button>
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
124
|
|
|
@@ -10,7 +10,7 @@ Panes are versatile container components designed to manage content layout with
|
|
|
10
10
|
```html:preview
|
|
11
11
|
<div style="height: 400px; border: 1px solid var(--zn-color-neutral-300);">
|
|
12
12
|
<zn-pane>
|
|
13
|
-
<zn-header caption="Example Pane"
|
|
13
|
+
<zn-header caption="Example Pane"></zn-header>
|
|
14
14
|
<p>This is the main content area of the pane. It will automatically scroll when the content exceeds the available space.</p>
|
|
15
15
|
<p>The pane component provides a flexible container with built-in overflow handling and padding.</p>
|
|
16
16
|
<p>You can add any content here, and it will be properly contained within the pane.</p>
|
|
@@ -42,7 +42,6 @@ When a `zn-header` is included as a child element, the pane automatically integr
|
|
|
42
42
|
<div style="height: 400px; border: 1px solid var(--zn-color-neutral-300);">
|
|
43
43
|
<zn-pane>
|
|
44
44
|
<zn-header caption="Customer Details"
|
|
45
|
-
description="View and manage customer information"
|
|
46
45
|
icon="person">
|
|
47
46
|
<zn-button slot="actions" primary>Save</zn-button>
|
|
48
47
|
<zn-button slot="actions">Cancel</zn-button>
|
|
@@ -114,7 +113,7 @@ Panes automatically handle overflow with scrollbars when content exceeds the ava
|
|
|
114
113
|
```html:preview
|
|
115
114
|
<div style="height: 300px; border: 1px solid var(--zn-color-neutral-300);">
|
|
116
115
|
<zn-pane>
|
|
117
|
-
<zn-header caption="Long Content"
|
|
116
|
+
<zn-header caption="Long Content"></zn-header>
|
|
118
117
|
<h3>Section 1</h3>
|
|
119
118
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
120
119
|
|
|
@@ -178,7 +177,7 @@ A common pattern is using a flush pane with data tables or other components that
|
|
|
178
177
|
```html:preview
|
|
179
178
|
<div style="height: 400px; border: 1px solid var(--zn-color-neutral-300);">
|
|
180
179
|
<zn-pane flush>
|
|
181
|
-
<zn-header caption="Customer List"
|
|
180
|
+
<zn-header caption="Customer List">
|
|
182
181
|
<zn-button slot="actions" primary icon="add">Add Customer</zn-button>
|
|
183
182
|
</zn-header>
|
|
184
183
|
<zn-sp divide no-gap flush>
|
|
@@ -210,7 +209,6 @@ Panes are designed to work within full-height layouts, automatically expanding t
|
|
|
210
209
|
<div style="height: 500px; border: 1px solid var(--zn-color-neutral-300);">
|
|
211
210
|
<zn-pane>
|
|
212
211
|
<zn-header caption="Dashboard"
|
|
213
|
-
description="System overview and metrics"
|
|
214
212
|
icon="dashboard">
|
|
215
213
|
<zn-button slot="actions" icon="refresh">Refresh</zn-button>
|
|
216
214
|
</zn-header>
|
|
@@ -235,4 +233,3 @@ Panes are designed to work within full-height layouts, automatically expanding t
|
|
|
235
233
|
</div>
|
|
236
234
|
```
|
|
237
235
|
|
|
238
|
-
|
|
@@ -88,20 +88,20 @@ Use the `footer` slot to add footer content to the panel.
|
|
|
88
88
|
</div>
|
|
89
89
|
|
|
90
90
|
<div slot="footer">
|
|
91
|
-
<zn-button
|
|
92
|
-
<zn-button
|
|
91
|
+
<zn-button>Save</zn-button>
|
|
92
|
+
<zn-button color="secondary">Cancel</zn-button>
|
|
93
93
|
</div>
|
|
94
94
|
</zn-panel>
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
### Header
|
|
97
|
+
### Borderless Header
|
|
98
98
|
|
|
99
|
-
Use the `header-
|
|
99
|
+
Panel headers include a border by default. Use the `header-borderless` attribute to remove the border beneath the header.
|
|
100
100
|
|
|
101
101
|
```html:preview
|
|
102
|
-
<zn-panel caption="
|
|
102
|
+
<zn-panel caption="Borderless Header" description="Without a visible separator" header-borderless>
|
|
103
103
|
<div style="padding: 20px;">
|
|
104
|
-
<p>Panel content with
|
|
104
|
+
<p>Panel content with a borderless header</p>
|
|
105
105
|
</div>
|
|
106
106
|
</zn-panel>
|
|
107
107
|
```
|
|
@@ -286,20 +286,19 @@ All panel features can be combined to create rich, complex layouts.
|
|
|
286
286
|
caption="Advanced Panel"
|
|
287
287
|
description="Combining multiple features"
|
|
288
288
|
icon="dashboard"
|
|
289
|
-
header-underline
|
|
290
289
|
shadow>
|
|
291
290
|
|
|
292
291
|
<zn-chip slot="actions" icon="settings" type="info">Configure</zn-chip>
|
|
293
|
-
<zn-button slot="actions" icon="refresh"
|
|
292
|
+
<zn-button slot="actions" icon="refresh" color="transparent" square></zn-button>
|
|
294
293
|
|
|
295
294
|
<div style="padding: 20px;">
|
|
296
295
|
<h3>Dashboard Overview</h3>
|
|
297
|
-
<p>This panel combines header actions, icons,
|
|
296
|
+
<p>This panel combines header actions, icons, and shadow effects.</p>
|
|
298
297
|
</div>
|
|
299
298
|
|
|
300
299
|
<div slot="footer">
|
|
301
|
-
<zn-button
|
|
302
|
-
<zn-button
|
|
300
|
+
<zn-button color="success">Save Changes</zn-button>
|
|
301
|
+
<zn-button color="secondary">Cancel</zn-button>
|
|
303
302
|
</div>
|
|
304
303
|
</zn-panel>
|
|
305
304
|
```
|
|
@@ -325,4 +324,3 @@ The panel header only renders when one of the following conditions is met:
|
|
|
325
324
|
The following CSS custom properties can be used to customize the panel:
|
|
326
325
|
|
|
327
326
|
- `--zn-panel-basis` - Controls the flex-basis of the panel (set via `basis-px` attribute)
|
|
328
|
-
|
|
@@ -149,17 +149,17 @@ Use the `action-{value}` slot to add interactive elements (buttons, links, etc.)
|
|
|
149
149
|
```html:preview
|
|
150
150
|
<zn-priority-list id="action-list" label="Task Queue">
|
|
151
151
|
<div value="deploy">Deploy to Production</div>
|
|
152
|
-
<zn-button slot="action-deploy"
|
|
152
|
+
<zn-button slot="action-deploy" variant="text" theme="danger" onclick="this.closest('zn-priority-list').querySelector('[value=deploy]').remove()">
|
|
153
153
|
<zn-icon src="delete" size="16"></zn-icon>
|
|
154
154
|
</zn-button>
|
|
155
155
|
|
|
156
156
|
<div value="review">Code Review</div>
|
|
157
|
-
<zn-button slot="action-review"
|
|
157
|
+
<zn-button slot="action-review" variant="text" theme="danger" onclick="this.closest('zn-priority-list').querySelector('[value=review]').remove()">
|
|
158
158
|
<zn-icon src="delete" size="16"></zn-icon>
|
|
159
159
|
</zn-button>
|
|
160
160
|
|
|
161
161
|
<div value="test">Run Test Suite</div>
|
|
162
|
-
<zn-button slot="action-test"
|
|
162
|
+
<zn-button slot="action-test" variant="text" theme="danger" onclick="this.closest('zn-priority-list').querySelector('[value=test]').remove()">
|
|
163
163
|
<zn-icon src="delete" size="16"></zn-icon>
|
|
164
164
|
</zn-button>
|
|
165
165
|
</zn-priority-list>
|
|
@@ -298,10 +298,10 @@ You can control the radio group programmatically using its methods and propertie
|
|
|
298
298
|
</zn-radio-group>
|
|
299
299
|
|
|
300
300
|
<div style="margin-top: 1rem; display: flex; gap: 0.5rem; flex-wrap: wrap;">
|
|
301
|
-
<zn-button id="focus-btn"
|
|
302
|
-
<zn-button id="set-value-btn"
|
|
303
|
-
<zn-button id="check-validity-btn"
|
|
304
|
-
<zn-button id="get-form-btn"
|
|
301
|
+
<zn-button id="focus-btn">Focus</zn-button>
|
|
302
|
+
<zn-button id="set-value-btn">Set Value to Option 3</zn-button>
|
|
303
|
+
<zn-button id="check-validity-btn">Check Validity</zn-button>
|
|
304
|
+
<zn-button id="get-form-btn">Get Form</zn-button>
|
|
305
305
|
</div>
|
|
306
306
|
</div>
|
|
307
307
|
|
|
@@ -367,10 +367,10 @@ Radios provide several methods for programmatic control:
|
|
|
367
367
|
<br />
|
|
368
368
|
<zn-radio id="method-radio-3" name="method-demo">Option 3</zn-radio>
|
|
369
369
|
<br /><br />
|
|
370
|
-
<zn-button id="click-btn"
|
|
371
|
-
<zn-button id="focus-btn"
|
|
372
|
-
<zn-button id="blur-btn"
|
|
373
|
-
<zn-button id="validate-btn"
|
|
370
|
+
<zn-button id="click-btn">Click Option 2</zn-button>
|
|
371
|
+
<zn-button id="focus-btn" color="info">Focus Option 3</zn-button>
|
|
372
|
+
<zn-button id="blur-btn" color="secondary">Blur All</zn-button>
|
|
373
|
+
<zn-button id="validate-btn" color="warning">Check Validity</zn-button>
|
|
374
374
|
</div>
|
|
375
375
|
|
|
376
376
|
<script type="module">
|
|
@@ -105,8 +105,8 @@ Use the `footer` slot to add a fixed footer that remains at the bottom. The foot
|
|
|
105
105
|
</div>
|
|
106
106
|
|
|
107
107
|
<div slot="footer" style="padding: 1rem; background: var(--zn-color-neutral-100); border-top: 1px solid var(--zn-color-neutral-200); display: flex; gap: 0.5rem;">
|
|
108
|
-
<zn-button
|
|
109
|
-
<zn-button
|
|
108
|
+
<zn-button color="secondary">Cancel</zn-button>
|
|
109
|
+
<zn-button color="primary">Save Changes</zn-button>
|
|
110
110
|
</div>
|
|
111
111
|
</zn-scroll-container>
|
|
112
112
|
```
|
|
@@ -145,7 +145,7 @@ Combine both header and footer slots for maximum control. The scrollable area si
|
|
|
145
145
|
<div slot="footer" style="padding: 1rem; background: var(--zn-color-white); border-top: 1px solid var(--zn-color-neutral-200);">
|
|
146
146
|
<div style="display: flex; gap: 0.5rem;">
|
|
147
147
|
<zn-input placeholder="Type a message..." style="flex: 1;"></zn-input>
|
|
148
|
-
<zn-button
|
|
148
|
+
<zn-button icon="send" color="primary">Send</zn-button>
|
|
149
149
|
</div>
|
|
150
150
|
</div>
|
|
151
151
|
</zn-scroll-container>
|
|
@@ -261,9 +261,9 @@ A practical example showing how to build a chat interface with auto-scrolling an
|
|
|
261
261
|
|
|
262
262
|
<div slot="footer" style="padding: 1rem; background: var(--zn-color-white); border-top: 1px solid var(--zn-color-neutral-200);">
|
|
263
263
|
<div style="display: flex; gap: 0.5rem; align-items: center;">
|
|
264
|
-
<zn-button
|
|
264
|
+
<zn-button color="secondary" icon="attach_file"></zn-button>
|
|
265
265
|
<zn-input placeholder="Type your message..." style="flex: 1;"></zn-input>
|
|
266
|
-
<zn-button
|
|
266
|
+
<zn-button icon="send" color="primary">Send</zn-button>
|
|
267
267
|
</div>
|
|
268
268
|
</div>
|
|
269
269
|
</zn-scroll-container>
|
|
@@ -365,7 +365,7 @@ A comprehensive example showing how to build a notification center with categori
|
|
|
365
365
|
<h3 style="margin: 0;">Notifications</h3>
|
|
366
366
|
<p style="margin: 0.25rem 0 0 0; font-size: 0.875rem; color: var(--zn-color-neutral-600);">You have 4 unread notifications</p>
|
|
367
367
|
</div>
|
|
368
|
-
<zn-button
|
|
368
|
+
<zn-button color="secondary">Mark all read</zn-button>
|
|
369
369
|
</div>
|
|
370
370
|
</div>
|
|
371
371
|
|
|
@@ -450,7 +450,7 @@ A comprehensive example showing how to build a notification center with categori
|
|
|
450
450
|
</div>
|
|
451
451
|
|
|
452
452
|
<div slot="footer" style="padding: 1rem; background: var(--zn-color-neutral-50); border-top: 1px solid var(--zn-color-neutral-200); text-align: center;">
|
|
453
|
-
<zn-button
|
|
453
|
+
<zn-button color="secondary" style="width: 100%;">View All Notifications</zn-button>
|
|
454
454
|
</div>
|
|
455
455
|
</zn-scroll-container>
|
|
456
456
|
```
|
|
@@ -475,8 +475,8 @@ You can programmatically scroll to the bottom using the `scrollEnd()` method.
|
|
|
475
475
|
</div>
|
|
476
476
|
|
|
477
477
|
<div slot="footer" style="padding: 1rem; background: var(--zn-color-neutral-100); border-top: 1px solid var(--zn-color-neutral-200);">
|
|
478
|
-
<zn-button id="add-content-btn"
|
|
479
|
-
<zn-button id="scroll-bottom-btn"
|
|
478
|
+
<zn-button id="add-content-btn">Add Content</zn-button>
|
|
479
|
+
<zn-button id="scroll-bottom-btn" color="secondary">Scroll to Bottom</zn-button>
|
|
480
480
|
</div>
|
|
481
481
|
</zn-scroll-container>
|
|
482
482
|
|
|
@@ -526,7 +526,7 @@ The footer's height is automatically tracked and the scrollable area adjusts acc
|
|
|
526
526
|
<div style="margin-bottom: 0.5rem;">
|
|
527
527
|
<strong>Footer Section</strong>
|
|
528
528
|
</div>
|
|
529
|
-
<zn-button id="toggle-footer-btn"
|
|
529
|
+
<zn-button id="toggle-footer-btn">Expand Footer</zn-button>
|
|
530
530
|
<div id="extra-footer-content" style="display: none; margin-top: 1rem; padding: 1rem; background: var(--zn-color-neutral-200); border-radius: 4px;">
|
|
531
531
|
<p style="margin: 0;">This is additional footer content that appears when expanded.</p>
|
|
532
532
|
<p style="margin: 0.5rem 0 0 0;">The scroll area automatically adjusts!</p>
|
|
@@ -1068,11 +1068,11 @@ You can control the select programmatically using its methods:
|
|
|
1068
1068
|
</zn-select>
|
|
1069
1069
|
|
|
1070
1070
|
<div style="margin-top: 1rem; display: flex; gap: 0.5rem; flex-wrap: wrap;">
|
|
1071
|
-
<zn-button id="show-btn"
|
|
1072
|
-
<zn-button id="hide-btn"
|
|
1073
|
-
<zn-button id="focus-btn"
|
|
1074
|
-
<zn-button id="set-value-btn"
|
|
1075
|
-
<zn-button id="check-validity-btn"
|
|
1071
|
+
<zn-button id="show-btn">Show</zn-button>
|
|
1072
|
+
<zn-button id="hide-btn">Hide</zn-button>
|
|
1073
|
+
<zn-button id="focus-btn">Focus</zn-button>
|
|
1074
|
+
<zn-button id="set-value-btn">Set Value</zn-button>
|
|
1075
|
+
<zn-button id="check-validity-btn">Check Validity</zn-button>
|
|
1076
1076
|
</div>
|
|
1077
1077
|
</div>
|
|
1078
1078
|
|
|
@@ -334,10 +334,10 @@ You can programmatically control the split button and access its internal compon
|
|
|
334
334
|
</zn-split-button>
|
|
335
335
|
|
|
336
336
|
<div style="margin-top: 1rem; display: flex; gap: 0.5rem;">
|
|
337
|
-
<zn-button id="show-dropdown"
|
|
338
|
-
<zn-button id="hide-dropdown"
|
|
339
|
-
<zn-button id="get-value"
|
|
340
|
-
<zn-button id="set-value"
|
|
337
|
+
<zn-button id="show-dropdown">Show Dropdown</zn-button>
|
|
338
|
+
<zn-button id="hide-dropdown">Hide Dropdown</zn-button>
|
|
339
|
+
<zn-button id="get-value" color="info">Get Current Value</zn-button>
|
|
340
|
+
<zn-button id="set-value" color="success">Set Value to 'option1'</zn-button>
|
|
341
341
|
</div>
|
|
342
342
|
|
|
343
343
|
<div id="prog-output" style="margin-top: 1rem; padding: 1rem; background: var(--zn-color-neutral-100); border-radius: 4px;">
|
|
@@ -365,7 +365,7 @@ The tabs component provides multiple slots for flexible layouts.
|
|
|
365
365
|
</zn-navbar>
|
|
366
366
|
|
|
367
367
|
<div slot="actions">
|
|
368
|
-
<zn-button
|
|
368
|
+
<zn-button icon="settings">Settings</zn-button>
|
|
369
369
|
</div>
|
|
370
370
|
|
|
371
371
|
<div slot="left">
|
|
@@ -403,8 +403,8 @@ active tab using `ref-tab`.
|
|
|
403
403
|
</zn-navbar>
|
|
404
404
|
|
|
405
405
|
<div slot="actions">
|
|
406
|
-
<zn-button ref-tab=""
|
|
407
|
-
<zn-button ref-tab="preview"
|
|
406
|
+
<zn-button ref-tab="" icon="save" color="success">Save</zn-button>
|
|
407
|
+
<zn-button ref-tab="preview" icon="print">Print</zn-button>
|
|
408
408
|
</div>
|
|
409
409
|
|
|
410
410
|
<zn-sp id="">
|
|
@@ -17,7 +17,7 @@ Tiles are versatile components designed for building lists of structured content
|
|
|
17
17
|
<zn-tile caption="Michael Foster" description="michael.foster@example.com" href="https://google.com">
|
|
18
18
|
<zn-icon slot="image" size="40" src="https://i.pravatar.cc/60?img=51" round></zn-icon>
|
|
19
19
|
<zn-tile-property slot="properties" caption="Engineering Lead">Active now</zn-tile-property>
|
|
20
|
-
<div slot="actions"><zn-button
|
|
20
|
+
<div slot="actions"><zn-button>Contact</zn-button></div>
|
|
21
21
|
</zn-tile>
|
|
22
22
|
|
|
23
23
|
<zn-tile caption="Emma Davis" description="emma.davis@example.com">
|
|
@@ -107,15 +107,15 @@ Use the `actions` slot to add buttons or other interactive elements to the right
|
|
|
107
107
|
<zn-tile caption="Database Backup" description="Last backup: 2 hours ago">
|
|
108
108
|
<zn-icon slot="image" size="32" src="storage" color="info"></zn-icon>
|
|
109
109
|
<div slot="actions">
|
|
110
|
-
<zn-button
|
|
110
|
+
<zn-button color="primary">Run Now</zn-button>
|
|
111
111
|
</div>
|
|
112
112
|
</zn-tile>
|
|
113
113
|
|
|
114
114
|
<zn-tile caption="Email Notification" description="Receive daily summaries">
|
|
115
115
|
<zn-icon slot="image" size="32" src="mail" color="secondary"></zn-icon>
|
|
116
116
|
<div slot="actions">
|
|
117
|
-
<zn-button
|
|
118
|
-
<zn-button
|
|
117
|
+
<zn-button color="transparent" icon="edit" square></zn-button>
|
|
118
|
+
<zn-button color="transparent" icon="delete" square></zn-button>
|
|
119
119
|
</div>
|
|
120
120
|
</zn-tile>
|
|
121
121
|
</zn-sp>
|
|
@@ -132,7 +132,7 @@ Combine both properties and actions for comprehensive tile layouts.
|
|
|
132
132
|
<zn-tile-property slot="properties" caption="Department">Marketing</zn-tile-property>
|
|
133
133
|
<zn-tile-property slot="properties" caption="Role">Manager</zn-tile-property>
|
|
134
134
|
<div slot="actions">
|
|
135
|
-
<zn-button
|
|
135
|
+
<zn-button>Message</zn-button>
|
|
136
136
|
</div>
|
|
137
137
|
</zn-tile>
|
|
138
138
|
|
|
@@ -141,7 +141,7 @@ Combine both properties and actions for comprehensive tile layouts.
|
|
|
141
141
|
<zn-tile-property slot="properties" caption="Department">Engineering</zn-tile-property>
|
|
142
142
|
<zn-tile-property slot="properties" caption="Role">Senior Dev</zn-tile-property>
|
|
143
143
|
<div slot="actions">
|
|
144
|
-
<zn-button
|
|
144
|
+
<zn-button>Message</zn-button>
|
|
145
145
|
</div>
|
|
146
146
|
</zn-tile>
|
|
147
147
|
</zn-sp>
|
|
@@ -195,8 +195,8 @@ Example showing how to use tiles for a file browser interface.
|
|
|
195
195
|
<zn-icon slot="image" size="36" src="description" color="error"></zn-icon>
|
|
196
196
|
<zn-tile-property slot="properties" caption="Modified">2 days ago</zn-tile-property>
|
|
197
197
|
<div slot="actions">
|
|
198
|
-
<zn-button
|
|
199
|
-
<zn-button
|
|
198
|
+
<zn-button color="transparent" icon="download" square></zn-button>
|
|
199
|
+
<zn-button color="transparent" icon="more_vert" square></zn-button>
|
|
200
200
|
</div>
|
|
201
201
|
</zn-tile>
|
|
202
202
|
|
|
@@ -204,8 +204,8 @@ Example showing how to use tiles for a file browser interface.
|
|
|
204
204
|
<zn-icon slot="image" size="36" src="description" color="success"></zn-icon>
|
|
205
205
|
<zn-tile-property slot="properties" caption="Modified">Last week</zn-tile-property>
|
|
206
206
|
<div slot="actions">
|
|
207
|
-
<zn-button
|
|
208
|
-
<zn-button
|
|
207
|
+
<zn-button color="transparent" icon="download" square></zn-button>
|
|
208
|
+
<zn-button color="transparent" icon="more_vert" square></zn-button>
|
|
209
209
|
</div>
|
|
210
210
|
</zn-tile>
|
|
211
211
|
</zn-sp>
|
|
@@ -262,7 +262,7 @@ Example showing tiles used for a product catalog with images and pricing.
|
|
|
262
262
|
<zn-tile-property slot="properties" caption="Price">$299</zn-tile-property>
|
|
263
263
|
<zn-tile-property slot="properties" caption="Stock">In Stock</zn-tile-property>
|
|
264
264
|
<div slot="actions">
|
|
265
|
-
<zn-button
|
|
265
|
+
<zn-button color="primary">Add to Cart</zn-button>
|
|
266
266
|
</div>
|
|
267
267
|
</zn-tile>
|
|
268
268
|
|
|
@@ -271,7 +271,7 @@ Example showing tiles used for a product catalog with images and pricing.
|
|
|
271
271
|
<zn-tile-property slot="properties" caption="Price">$399</zn-tile-property>
|
|
272
272
|
<zn-tile-property slot="properties" caption="Stock">Low Stock</zn-tile-property>
|
|
273
273
|
<div slot="actions">
|
|
274
|
-
<zn-button
|
|
274
|
+
<zn-button color="primary">Add to Cart</zn-button>
|
|
275
275
|
</div>
|
|
276
276
|
</zn-tile>
|
|
277
277
|
|
|
@@ -280,7 +280,7 @@ Example showing tiles used for a product catalog with images and pricing.
|
|
|
280
280
|
<zn-tile-property slot="properties" caption="Price">$79</zn-tile-property>
|
|
281
281
|
<zn-tile-property slot="properties" caption="Stock">In Stock</zn-tile-property>
|
|
282
282
|
<div slot="actions">
|
|
283
|
-
<zn-button
|
|
283
|
+
<zn-button color="primary">Add to Cart</zn-button>
|
|
284
284
|
</div>
|
|
285
285
|
</zn-tile>
|
|
286
286
|
</zn-sp>
|
|
@@ -340,10 +340,10 @@ Toggles provide several methods for programmatic control:
|
|
|
340
340
|
<div>
|
|
341
341
|
<zn-toggle id="method-toggle">Programmatic control</zn-toggle>
|
|
342
342
|
<br /><br />
|
|
343
|
-
<zn-button id="click-btn"
|
|
344
|
-
<zn-button id="focus-btn"
|
|
345
|
-
<zn-button id="blur-btn"
|
|
346
|
-
<zn-button id="validate-btn"
|
|
343
|
+
<zn-button id="click-btn">Toggle State</zn-button>
|
|
344
|
+
<zn-button id="focus-btn" color="info">Focus Toggle</zn-button>
|
|
345
|
+
<zn-button id="blur-btn" color="secondary">Blur Toggle</zn-button>
|
|
346
|
+
<zn-button id="validate-btn" color="warning">Check Validity</zn-button>
|
|
347
347
|
</div>
|
|
348
348
|
|
|
349
349
|
<script type="module">
|
|
@@ -133,7 +133,7 @@ Use the `expand` slot to add custom buttons or actions.
|
|
|
133
133
|
<zn-translations
|
|
134
134
|
label="Description"
|
|
135
135
|
languages='{"en":"English","fr":"French","de":"German"}'>
|
|
136
|
-
<zn-button slot="expand"
|
|
136
|
+
<zn-button slot="expand" color="transparent" icon="translate">
|
|
137
137
|
Auto-Translate
|
|
138
138
|
</zn-button>
|
|
139
139
|
</zn-translations>
|
|
@@ -249,9 +249,9 @@ Access and modify translation values via JavaScript.
|
|
|
249
249
|
></zn-translations>
|
|
250
250
|
|
|
251
251
|
<div style="margin-top: 1rem;">
|
|
252
|
-
<zn-button id="set-values-btn"
|
|
253
|
-
<zn-button id="get-values-btn"
|
|
254
|
-
<zn-button id="clear-values-btn"
|
|
252
|
+
<zn-button id="set-values-btn">Set Sample Values</zn-button>
|
|
253
|
+
<zn-button id="get-values-btn" color="info">Get Values</zn-button>
|
|
254
|
+
<zn-button id="clear-values-btn" color="secondary">Clear All</zn-button>
|
|
255
255
|
</div>
|
|
256
256
|
|
|
257
257
|
<script type="module">
|
|
@@ -303,7 +303,7 @@ A complete example showing product content management with translations.
|
|
|
303
303
|
languages='{"en":"English","fr":"French","de":"German","es":"Spanish"}'
|
|
304
304
|
values='{"en":"High-quality wireless headphones with active noise cancellation","fr":"Écouteurs sans fil de haute qualité avec suppression active du bruit","de":"Hochwertige kabellose Kopfhörer mit aktiver Geräuschunterdrückung","es":"Auriculares inalámbricos de alta calidad con cancelación activa de ruido"}'
|
|
305
305
|
>
|
|
306
|
-
<zn-button slot="expand"
|
|
306
|
+
<zn-button slot="expand" color="transparent" icon="smart_toy">
|
|
307
307
|
AI Translate
|
|
308
308
|
</zn-button>
|
|
309
309
|
</zn-translations>
|
|
@@ -349,7 +349,7 @@ Add interactive elements next to each step for expanded functionality.
|
|
|
349
349
|
<zn-icon slot="icon" src="preview"></zn-icon>
|
|
350
350
|
</zn-vertical-stepper>
|
|
351
351
|
</div>
|
|
352
|
-
<zn-button
|
|
352
|
+
<zn-button icon="edit" color="transparent">Edit</zn-button>
|
|
353
353
|
</div>
|
|
354
354
|
<div style="display: flex; align-items: center; gap: 10px;">
|
|
355
355
|
<div style="flex: 1;">
|
|
@@ -359,7 +359,7 @@ Add interactive elements next to each step for expanded functionality.
|
|
|
359
359
|
<zn-icon slot="icon" src="pending"></zn-icon>
|
|
360
360
|
</zn-vertical-stepper>
|
|
361
361
|
</div>
|
|
362
|
-
<zn-button
|
|
362
|
+
<zn-button icon="play_arrow" color="transparent" disabled>Run</zn-button>
|
|
363
363
|
</div>
|
|
364
364
|
<div style="display: flex; align-items: center; gap: 10px;">
|
|
365
365
|
<div style="flex: 1;">
|
|
@@ -370,7 +370,7 @@ Add interactive elements next to each step for expanded functionality.
|
|
|
370
370
|
<zn-icon slot="icon" src="pending"></zn-icon>
|
|
371
371
|
</zn-vertical-stepper>
|
|
372
372
|
</div>
|
|
373
|
-
<zn-button
|
|
373
|
+
<zn-button icon="publish" color="transparent" disabled>Deploy</zn-button>
|
|
374
374
|
</div>
|
|
375
375
|
```
|
|
376
376
|
|