@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.
Files changed (102) hide show
  1. package/dist/custom-elements.json +476 -287
  2. package/dist/vscode.html-custom-data.json +52 -52
  3. package/dist/web-types.json +116 -86
  4. package/dist/zn.d.ts +63 -11
  5. package/dist/zn.min.css +1 -1
  6. package/dist/zn.min.js +1096 -1087
  7. package/docs/_includes/default.njk +3 -4
  8. package/docs/assets/styles/docs.css +13 -13
  9. package/docs/pages/components/absolute-container.md +2 -2
  10. package/docs/pages/components/alert.md +5 -5
  11. package/docs/pages/components/audio-select.md +4 -4
  12. package/docs/pages/components/button-group.md +1 -31
  13. package/docs/pages/components/button.md +13 -12
  14. package/docs/pages/components/checkbox.md +4 -4
  15. package/docs/pages/components/chip.md +14 -14
  16. package/docs/pages/components/data-table.md +4 -4
  17. package/docs/pages/components/datepicker.md +5 -5
  18. package/docs/pages/components/dialog.md +2 -2
  19. package/docs/pages/components/file.md +81 -9
  20. package/docs/pages/components/header.md +4 -6
  21. package/docs/pages/components/hover-container.md +1 -1
  22. package/docs/pages/components/icon.md +14 -0
  23. package/docs/pages/components/inline-edit.md +4 -4
  24. package/docs/pages/components/item.md +2 -2
  25. package/docs/pages/components/menu.md +2 -2
  26. package/docs/pages/components/note.md +12 -12
  27. package/docs/pages/components/page.md +3 -3
  28. package/docs/pages/components/pagination.md +6 -6
  29. package/docs/pages/components/pane.md +3 -6
  30. package/docs/pages/components/panel.md +10 -12
  31. package/docs/pages/components/priority-list.md +3 -3
  32. package/docs/pages/components/radio-group.md +4 -4
  33. package/docs/pages/components/radio.md +4 -4
  34. package/docs/pages/components/scroll-container.md +10 -10
  35. package/docs/pages/components/select.md +5 -5
  36. package/docs/pages/components/split-button.md +4 -4
  37. package/docs/pages/components/tabs.md +3 -3
  38. package/docs/pages/components/tile.md +13 -13
  39. package/docs/pages/components/toggle.md +4 -4
  40. package/docs/pages/components/translations.md +5 -5
  41. package/docs/pages/components/vertical-stepper.md +3 -3
  42. package/docs/pages/components/well.md +19 -19
  43. package/docs/pages/getting-started/example-layout.md +16 -16
  44. package/docs/pages/getting-started/example-page.md +1 -3
  45. package/package.json +2 -1
  46. package/scss/_root.scss +87 -60
  47. package/scss/shared/_button.scss +6 -1
  48. package/scss/shared/_form-elements.scss +1 -0
  49. package/scss/shared/_table.scss +1 -1
  50. package/scss/shared/layout.scss +5 -4
  51. package/scss/themes/_dark.scss +4 -4
  52. package/scss/themes/_light.scss +70 -287
  53. package/src/components/bulk-actions/bulk-actions.component.ts +0 -1
  54. package/src/components/button/button.component.ts +40 -10
  55. package/src/components/button/button.scss +67 -103
  56. package/src/components/button-menu/button-menu.component.ts +2 -6
  57. package/src/components/collapsible/collapsible.scss +1 -1
  58. package/src/components/cols/cols.scss +1 -1
  59. package/src/components/content-block/content-block.component.ts +1 -2
  60. package/src/components/data-table/data-table.component.ts +4 -8
  61. package/src/components/data-table/data-table.test.ts +7 -0
  62. package/src/components/data-table-filter/data-table-filter.component.ts +1 -1
  63. package/src/components/data-table-sort/data-table-sort.component.ts +2 -2
  64. package/src/components/dialog/dialog.component.ts +0 -1
  65. package/src/components/editor/modules/dialog/dialog.component.ts +0 -1
  66. package/src/components/editor/modules/dialog/dialog.scss +1 -1
  67. package/src/components/editor/modules/toolbar/toolbar.component.ts +0 -1
  68. package/src/components/expanding-action/expanding-action.component.ts +0 -3
  69. package/src/components/expanding-action/expanding-action.scss +0 -5
  70. package/src/components/file/file.component.ts +158 -17
  71. package/src/components/file/file.scss +122 -29
  72. package/src/components/header/header.component.ts +2 -8
  73. package/src/components/header/header.scss +4 -25
  74. package/src/components/icon/icon.component.ts +80 -1
  75. package/src/components/icon/icon.scss +8 -0
  76. package/src/components/icon/icon.test.ts +24 -0
  77. package/src/components/icon-picker/icon-picker.component.ts +0 -1
  78. package/src/components/inline-edit/inline-edit.component.ts +3 -4
  79. package/src/components/input/input.scss +21 -6
  80. package/src/components/input-group/input-group.scss +2 -1
  81. package/src/components/markdown-editor/markdown-editor.component.ts +1 -5
  82. package/src/components/menu/menu.scss +1 -1
  83. package/src/components/menu-item/menu-item.scss +4 -4
  84. package/src/components/navbar/navbar.component.ts +20 -0
  85. package/src/components/navbar/navbar.scss +31 -17
  86. package/src/components/navbar/navbar.test.ts +72 -0
  87. package/src/components/note/note.component.ts +0 -1
  88. package/src/components/page/page.component.ts +43 -12
  89. package/src/components/page/page.scss +21 -17
  90. package/src/components/page/page.test.ts +18 -1
  91. package/src/components/page-nav/page-nav.scss +6 -6
  92. package/src/components/panel/panel.component.ts +3 -5
  93. package/src/components/panel/panel.scss +3 -3
  94. package/src/components/panel/panel.test.ts +14 -0
  95. package/src/components/query-builder/query-builder.component.ts +0 -1
  96. package/src/components/slideout/slideout.component.ts +0 -1
  97. package/src/components/sp/sp.scss +2 -2
  98. package/src/components/tab/tab.component.ts +2 -0
  99. package/src/components/tabs/tabs.component.ts +1 -1
  100. package/src/components/tile/tile.scss +1 -1
  101. package/src/components/translation-group/translation-group.component.ts +0 -3
  102. package/src/components/translations/translations.component.ts +0 -3
@@ -72,12 +72,12 @@ Use the `action` slot to add interactive elements or additional information to t
72
72
  ```html:preview
73
73
  <zn-well icon="schedule">
74
74
  Triggers every <strong>5 minutes</strong>
75
- <zn-button slot="action" color="transparent" size="small">Edit</zn-button>
75
+ <zn-button slot="action" color="transparent">Edit</zn-button>
76
76
  </zn-well>
77
77
  <br />
78
78
  <zn-well icon="cloud_sync">
79
79
  Last sync: 2 minutes ago
80
- <zn-button slot="action" color="primary" size="small">Sync Now</zn-button>
80
+ <zn-button slot="action" color="primary">Sync Now</zn-button>
81
81
  </zn-well>
82
82
  ```
83
83
 
@@ -89,8 +89,8 @@ The action slot can contain multiple elements for more complex interactions.
89
89
  <zn-well icon="settings">
90
90
  Configuration status: Active
91
91
  <div slot="action" style="display: flex; gap: 8px;">
92
- <zn-button color="transparent" size="small">Configure</zn-button>
93
- <zn-button color="transparent" size="small">Disable</zn-button>
92
+ <zn-button color="transparent">Configure</zn-button>
93
+ <zn-button color="transparent">Disable</zn-button>
94
94
  </div>
95
95
  </zn-well>
96
96
  ```
@@ -105,7 +105,7 @@ Wells can contain rich HTML content including formatted text, links, and nested
105
105
  <strong>Document Type:</strong> Configuration File<br />
106
106
  <small style="color: var(--zn-color-text-muted);">Last modified: 01/23/26</small>
107
107
  </div>
108
- <zn-button slot="action" color="transparent" size="small">View</zn-button>
108
+ <zn-button slot="action" color="transparent">View</zn-button>
109
109
  </zn-well>
110
110
  <br />
111
111
  <zn-well icon="folder_open">
@@ -115,7 +115,7 @@ Wells can contain rich HTML content including formatted text, links, and nested
115
115
  <small>Contains 24 files | 12.5 MB total</small>
116
116
  </p>
117
117
  </div>
118
- <zn-button slot="action" color="primary" size="small">Open</zn-button>
118
+ <zn-button slot="action" color="primary">Open</zn-button>
119
119
  </zn-well>
120
120
  ```
121
121
 
@@ -138,7 +138,7 @@ Wells are perfect for displaying status information with icons and formatted con
138
138
  <br />
139
139
  <zn-well icon="error">
140
140
  <strong>Build failed</strong> - See logs for details
141
- <zn-button slot="action" color="error" size="small">View Logs</zn-button>
141
+ <zn-button slot="action" color="error">View Logs</zn-button>
142
142
  </zn-well>
143
143
  ```
144
144
 
@@ -149,7 +149,7 @@ Use wells to display scheduling and timing details.
149
149
  ```html:preview
150
150
  <zn-well icon="schedule">
151
151
  Runs every <strong>Monday at 9:00 AM</strong>
152
- <zn-button slot="action" color="transparent" size="small">Edit Schedule</zn-button>
152
+ <zn-button slot="action" color="transparent">Edit Schedule</zn-button>
153
153
  </zn-well>
154
154
  <br />
155
155
  <zn-well icon="timer">
@@ -171,7 +171,7 @@ Display configuration information in a clean, organized format.
171
171
  <strong>Database Connection</strong><br />
172
172
  <small>PostgreSQL • us-east-1 • Read/Write</small>
173
173
  </div>
174
- <zn-button slot="action" color="transparent" size="small">Test Connection</zn-button>
174
+ <zn-button slot="action" color="transparent">Test Connection</zn-button>
175
175
  </zn-well>
176
176
  <br />
177
177
  <zn-well icon="storage">
@@ -179,7 +179,7 @@ Display configuration information in a clean, organized format.
179
179
  <strong>Cache Configuration</strong><br />
180
180
  <small>Redis • 500 MB limit • TTL: 3600s</small>
181
181
  </div>
182
- <zn-button slot="action" color="transparent" size="small">Clear Cache</zn-button>
182
+ <zn-button slot="action" color="transparent">Clear Cache</zn-button>
183
183
  </zn-well>
184
184
  ```
185
185
 
@@ -192,7 +192,7 @@ Wells work perfectly fine without an icon for simpler, cleaner displays.
192
192
  <br />
193
193
  <zn-well>
194
194
  <strong>Important:</strong> Configuration changes require a restart
195
- <zn-button slot="action" color="warning" size="small">Restart Now</zn-button>
195
+ <zn-button slot="action" color="warning">Restart Now</zn-button>
196
196
  </zn-well>
197
197
  ```
198
198
 
@@ -218,8 +218,8 @@ Combine inline wells with other content for compact information display.
218
218
  <strong>Daily Backup</strong><br />
219
219
  Triggers every day at <strong>2:00 AM UTC</strong>
220
220
  <div slot="action" style="display: flex; gap: 8px;">
221
- <zn-button color="transparent" size="small">Edit</zn-button>
222
- <zn-button color="transparent" size="small">Run Now</zn-button>
221
+ <zn-button color="transparent">Edit</zn-button>
222
+ <zn-button color="transparent">Run Now</zn-button>
223
223
  </div>
224
224
  </zn-well>
225
225
 
@@ -227,8 +227,8 @@ Combine inline wells with other content for compact information display.
227
227
  <strong>Weekly Reports</strong><br />
228
228
  Triggers every <strong>Monday at 9:00 AM</strong>
229
229
  <div slot="action" style="display: flex; gap: 8px;">
230
- <zn-button color="transparent" size="small">Edit</zn-button>
231
- <zn-button color="primary" size="small">View Reports</zn-button>
230
+ <zn-button color="transparent">Edit</zn-button>
231
+ <zn-button color="primary">View Reports</zn-button>
232
232
  </div>
233
233
  </zn-well>
234
234
  </div>
@@ -250,7 +250,7 @@ Combine inline wells with other content for compact information display.
250
250
  <strong>Disk Space</strong><br />
251
251
  <small>45.2 GB / 100 GB (45%)</small>
252
252
  </div>
253
- <zn-button slot="action" color="transparent" size="small">Details</zn-button>
253
+ <zn-button slot="action" color="transparent">Details</zn-button>
254
254
  </zn-well>
255
255
 
256
256
  <zn-well icon="speed">
@@ -268,17 +268,17 @@ Combine inline wells with other content for compact information display.
268
268
  <div style="display: flex; flex-direction: column; gap: 12px;">
269
269
  <zn-well icon="cloud_done">
270
270
  <strong>AWS S3</strong> - Connected
271
- <zn-button slot="action" color="transparent" size="small">Configure</zn-button>
271
+ <zn-button slot="action" color="transparent">Configure</zn-button>
272
272
  </zn-well>
273
273
 
274
274
  <zn-well icon="sync">
275
275
  <strong>GitHub</strong> - Syncing
276
- <zn-button slot="action" color="transparent" size="small">View Status</zn-button>
276
+ <zn-button slot="action" color="transparent">View Status</zn-button>
277
277
  </zn-well>
278
278
 
279
279
  <zn-well icon="check_circle">
280
280
  <strong>Stripe</strong> - Active • Webhook configured
281
- <zn-button slot="action" color="transparent" size="small">Settings</zn-button>
281
+ <zn-button slot="action" color="transparent">Settings</zn-button>
282
282
  </zn-well>
283
283
  </div>
284
284
  ```
@@ -26,11 +26,11 @@ component you are using already includes padding or margin it will not be double
26
26
  </zn-item>
27
27
  <zn-item label="Full name">
28
28
  Something
29
- <zn-button icon="add" color="secondary" size="x-small" slot="actions" icon-size="20"></zn-button>
29
+ <zn-button icon="add" color="secondary" slot="actions" icon-size="20"></zn-button>
30
30
  </zn-item>
31
31
  <zn-item label="Full name">
32
32
  Something
33
- <zn-button color="transparent" size="x-small" slot="actions">Update</zn-button>
33
+ <zn-button color="transparent" slot="actions">Update</zn-button>
34
34
  </zn-item>
35
35
  <zn-item label="Selet Option">
36
36
  <zn-inline-edit name="name" value="1"
@@ -41,10 +41,10 @@ component you are using already includes padding or margin it will not be double
41
41
 
42
42
  <zn-panel caption="Some Panel">
43
43
  <zn-sp divide>
44
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1"
44
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1"
45
45
  value="This is awesome">
46
46
  </zn-inline-edit>
47
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2"
47
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2"
48
48
  value="This is awesome">
49
49
  </zn-inline-edit>
50
50
  </zn-sp>
@@ -59,17 +59,17 @@ component you are using already includes padding or margin it will not be double
59
59
  </zn-navbar>
60
60
 
61
61
  <zn-sp id="" divide>
62
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1"
62
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1"
63
63
  value="This is awesome"></zn-inline-edit>
64
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2"
64
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2"
65
65
  value="This is awesome"></zn-inline-edit>
66
66
  </zn-sp>
67
67
 
68
68
  <zn-sp id="something-else" divide>
69
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 3"
69
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 3"
70
70
  value="This is not awesome">
71
71
  </zn-inline-edit>
72
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 4"
72
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 4"
73
73
  value="This is not awesome">
74
74
  </zn-inline-edit>
75
75
  </zn-sp>
@@ -78,9 +78,9 @@ component you are using already includes padding or margin it will not be double
78
78
 
79
79
  <zn-panel caption="Some Panel">
80
80
  <zn-sp divide>
81
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1"
81
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1"
82
82
  value="This is awesome"></zn-inline-edit>
83
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2"
83
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2"
84
84
  value="This is awesome"></zn-inline-edit>
85
85
  </zn-sp>
86
86
  </zn-panel>
@@ -99,8 +99,8 @@ to be full width.
99
99
  <zn-sp>
100
100
  <zn-panel caption="Some Panel" flush>
101
101
  <zn-sp divide flush>
102
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1" value=This is awesome></zn-inline-edit>
103
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2" value=This is awesome></zn-inline-edit>
102
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1" value=This is awesome></zn-inline-edit>
103
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2" value=This is awesome></zn-inline-edit>
104
104
  </zn-sp>
105
105
  </zn-panel>
106
106
  </zn-sp>
@@ -118,9 +118,9 @@ This is the standard way of scaffolding pages with a sidebar
118
118
 
119
119
  <div slot="side">
120
120
  <zn-sp divide flush>
121
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1" value="This is awesome">
121
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1" value="This is awesome">
122
122
  </zn-inline-edit>
123
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2" value="This is awesome">
123
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2" value="This is awesome">
124
124
  </zn-inline-edit>
125
125
  </zn-sp>
126
126
  </div>
@@ -129,9 +129,9 @@ This is the standard way of scaffolding pages with a sidebar
129
129
  <zn-sp>
130
130
  <zn-panel caption="Some Panel" flush>
131
131
  <zn-sp divide flush>
132
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 1" value="This is awesome">
132
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 1" value="This is awesome">
133
133
  </zn-inline-edit>
134
- <zn-inline-edit padded inline style="background: var(--zn-color-red-100);" caption="Label 2" value="This is awesome">
134
+ <zn-inline-edit padded inline style="background: rgb(var(--zn-red));" caption="Label 2" value="This is awesome">
135
135
  </zn-inline-edit>
136
136
  </zn-sp>
137
137
  </zn-panel>
@@ -41,7 +41,6 @@ for SEO purposes. We should be slotting everything in as children of the compone
41
41
  <!-- This is the Navigation/Header for the Inner set of tabs -->
42
42
  <zn-header slot="top"
43
43
  caption="Customer"
44
- description="My Awesome Customer"
45
44
  navigation="[{&quot;title&quot;:&quot;Overview&quot;}, {&quot;title&quot;:&quot;Details&quot;, &quot;tab&quot;:&quot;details&quot;}]">
46
45
  </zn-header>
47
46
 
@@ -68,7 +67,6 @@ for SEO purposes. We should be slotting everything in as children of the compone
68
67
  <zn-pane>
69
68
  <zn-header slot="top"
70
69
  caption="Customer"
71
- description="My Awesome Customer"
72
70
  navigation="[{&quot;title&quot;:&quot;Overview&quot;}, {&quot;title&quot;:&quot;Details&quot;, &quot;tab&quot;:&quot;details&quot;}]">
73
71
  </zn-header>
74
72
  <!-- This is where your page content would be defined -->
@@ -80,4 +78,4 @@ for SEO purposes. We should be slotting everything in as children of the compone
80
78
 
81
79
  </zn-tabs>
82
80
 
83
- ```
81
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubex/zinc",
3
- "version": "1.0.115",
3
+ "version": "1.0.117",
4
4
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
5
5
  "keywords": [
6
6
  "web components",
@@ -53,6 +53,7 @@
53
53
  "echarts": "^6.0.0",
54
54
  "emoji-mart": "^5.6.0",
55
55
  "lit": "^3.3.3",
56
+ "lucide": "^1.17.0",
56
57
  "marked": "^18.0.2",
57
58
  "quill": "^2.0.3"
58
59
  },
package/scss/_root.scss CHANGED
@@ -4,6 +4,80 @@
4
4
  @use "variables";
5
5
 
6
6
  :root {
7
+ --zn-base-px: 8px;
8
+ --zn-base-gap: calc(var(--zn-base-px) * 2);
9
+ --zn-gutter: 2px;
10
+ --zn-default-margin: 0 auto 0 0;
11
+ --zn-icon-size: 20px;
12
+ --zn-button-gutter: 2px;
13
+
14
+ --zn-font-family-sans: 'Inter', sans-serif;
15
+ --zn-font-family-serif: 'Roboto Slab', serif;
16
+ --zn-font-family-mono: 'Roboto Mono', monospace;
17
+ }
18
+
19
+ :root, [t="light"], .theme-light {
20
+ --zn-backdrop-color: rgba(0, 0, 0, 0.5);
21
+
22
+ --zn-color-text: 33, 33, 33;
23
+ --zn-color-muted-text: 125, 119, 146;
24
+
25
+ --zn-color-base: 255, 255, 255;
26
+ --zn-color-body: 248, 247, 252;
27
+ --zn-color-navigation: var(--zn-color-base);
28
+ --zn-color-navigation-hightlight: 248, 249, 252;
29
+ --zn-color-border: 219, 217, 236;
30
+ --zn-color-border-active: 209, 207, 226;
31
+ --zn-color-tab: 236, 235, 249;
32
+ --zn-color-panel: 255, 255, 255;
33
+
34
+ --zn-color-primary: 105, 54, 245;
35
+ --zn-color-info: 53, 104, 195;
36
+ --zn-color-success: 98, 177, 121;
37
+ --zn-color-warning: 241, 168, 80;
38
+ --zn-color-error: 236, 68, 91;
39
+ --zn-color-disabled: 181, 181, 181;
40
+ }
41
+
42
+ [t="dark"], .theme-dark {
43
+ --zn-backdrop-color: rgba(0, 0, 0, 0.85);
44
+
45
+ --zn-color-text: 215, 215, 215;
46
+ --zn-color-muted-text: 145, 145, 145;
47
+
48
+ --zn-color-base: 0, 0, 0;
49
+ --zn-color-body: 23, 23, 23;
50
+ --zn-color-navigation: var(--zn-color-base);
51
+ --zn-color-navigation-hightlight: 10, 10, 10;
52
+ --zn-color-border: 38, 38, 38;
53
+ --zn-color-border-active: 80, 80, 80;
54
+ --zn-color-tab: 5, 5, 5;
55
+ --zn-color-panel: 30, 30, 30;
56
+
57
+ --zn-color-primary: 105, 54, 245;
58
+ --zn-color-info: 53, 104, 195;
59
+ --zn-color-success: 98, 177, 121;
60
+ --zn-color-warning: 241, 168, 80;
61
+ --zn-color-error: 236, 68, 91;
62
+ --zn-color-disabled: 181, 181, 181;
63
+ }
64
+
65
+ @media (min-width: 1200px) {
66
+ :root {
67
+ --zn-base-gap: calc(var(--zn-base-px) * 3);
68
+ }
69
+ }
70
+
71
+ @media (min-width: 2500px) {
72
+ :root {
73
+ --zn-default-margin: 0 auto;
74
+ }
75
+ }
76
+
77
+
78
+ :root {
79
+ --zn-primary: var(--zn-color-primary);
80
+
7
81
  // Brand Colors
8
82
  --zn-red: 237, 84, 109;
9
83
  --zn-blue: 100, 117, 242;
@@ -14,16 +88,8 @@
14
88
  --zn-violet: 156, 39, 176;
15
89
  --zn-pink: 255, 108, 156;
16
90
  --zn-grey: 158, 158, 158;
17
- --zn-primary: 104, 54, 245;
18
91
  --zn-accent: 71, 214, 214;
19
92
 
20
- // Theme Colors
21
- --zn-color-info: 100, 117, 242;
22
- --zn-color-warning: 255, 136, 0;
23
- --zn-color-error: 237, 84, 109;
24
- --zn-color-success: 43, 192, 145;
25
- --zn-color-disabled: 181, 181, 181;
26
-
27
93
  // Common Sizes
28
94
  --zn-size-bar: 60px;
29
95
  --zn-size-tile: 80px;
@@ -33,70 +99,39 @@
33
99
  --zn-size-panel: 360px;
34
100
  --zn-size-lside: 460px;
35
101
 
36
- // Font Families
37
- --zn-font-family-sans: 'Inter', sans-serif;
38
- --zn-font-family-serif: 'Roboto Slab', serif;
39
- --zn-font-family-mono: 'Roboto Mono', monospace;
40
-
41
102
  // Default Opacities
42
103
  --zn-bg-opacity: 1;
43
104
  --zn-text-opacity: 1;
44
105
 
45
106
  --base: 255, 255, 255;
46
107
  --inverse-base: 0, 0, 0;
47
-
48
- --zn-base-gap: 12px;
49
- --zn-gutter: 4px;
50
- --zn-default-margin: 0 auto 0 0;
51
- }
52
-
53
- @media (min-width: 1024px) {
54
- :root {
55
- --zn-base-gap: 16px;
56
- --zn-gutter: 6px;
57
- }
58
108
  }
59
109
 
60
- @media (min-width: 1600px) {
61
- :root {
62
- --zn-base-gap: 20px;
63
- --zn-gutter: 8px;
64
- }
65
- }
66
-
67
- @media (min-width: 2000px) {
68
- :root {
69
- --zn-base-gap: 24px;
70
- --zn-gutter: 10px;
71
- }
110
+ .zn-mono {
111
+ font-family: var(--zn-font-family-mono, "monospace");
72
112
  }
73
113
 
74
- @media (min-width: 2400px) {
75
- :root {
76
- --zn-default-margin: 0 auto;
77
- }
78
- }
114
+ :root, [t="light"], .theme-light, [t="dark"], .theme-dark {
115
+ --zn-body: var(--zn-color-body);
79
116
 
117
+ --zn-text: var(--zn-color-text);
118
+ --zn-text-heading: var(--zn-color-text);
119
+ --zn-text-page-title: var(--zn-color-text);
120
+ --zn-text-panel-title: var(--zn-color-text);
121
+ --zn-panel: var(--zn-color-panel);
80
122
 
81
- .zn-mono {
82
- font-family: var(--zn-font-family-mono);
123
+ --zn-border-color: var(--zn-color-border);
124
+ --zn-input-bg: var(--zn-color-body);
83
125
  }
84
126
 
85
127
  [t="light"], .theme-light {
86
128
  // Theme Light
87
129
  --zn-panel-opacity: 1;
88
- --zn-text: 123, 112, 151;
89
- --zn-text-heading: 56, 39, 104;
90
- --zn-text-page-title: 52, 52, 52;
91
- --zn-text-panel-title: 56, 39, 104;
92
- --zn-body: 248, 247, 251;
93
130
  --zn-shadow: 236, 233, 241;
94
- --zn-panel: 255, 255, 255;
131
+
95
132
  --zn-panel-secondary: 246 246 246;
96
133
  --zn-panel-highlight: 248, 249, 252;
97
134
  --zn-panel-highlight-opacity: 1;
98
- --zn-border-color: 224, 221, 233;
99
- --zn-input-bg: 248, 247, 251;
100
135
  --zn-input-bg-accent: 237, 235, 245;
101
136
  --zn-bright-bg: 255, 255, 255;
102
137
  --zn-light-text: 123, 112, 151;
@@ -104,25 +139,17 @@
104
139
  --zn-purple-text: 104, 54, 245;
105
140
 
106
141
  .zn-primary {
107
- color: #6836F5;
142
+ color: rgb(var(--zn-color-primary));
108
143
  }
109
144
  }
110
145
 
111
146
  [t="dark"], .theme-dark {
112
147
  // Theme Dark
113
- --zn-body: 20, 22, 27;
114
- --zn-panel: 33, 34, 41;
115
148
  --zn-shadow: 10, 10, 10;
116
149
  --zn-panel-secondary: 27, 27, 30;
117
150
  --zn-panel-opacity: 1;
118
- --zn-text: 159, 173, 194;
119
- --zn-text-heading: 241, 245, 249;
120
- --zn-text-page-title: 225, 225, 225;
121
- --zn-text-panel-title: 181, 158, 255;
122
151
  --zn-panel-highlight: 25, 27, 32;
123
152
  --zn-panel-highlight-opacity: 0.1;
124
- --zn-border-color: 50, 50, 60;
125
- --zn-input-bg: 28, 28, 32;
126
153
  --zn-input-bg-accent: 72, 84, 102;
127
154
  --zn-bright-bg: 225, 225, 225;
128
155
  --zn-light-text: 173, 163, 192;
@@ -6,7 +6,7 @@
6
6
  display: inline-flex;
7
7
  align-items: center;
8
8
  justify-content: center;
9
- padding: 6px 15px;
9
+ padding: var(--zn-base-px);// calc(var(--zn-base-px) + var(--zn-button-gutter));
10
10
  margin: auto;
11
11
  width: fit-content;
12
12
  background-color: rgb(var(--zn-primary));
@@ -16,6 +16,11 @@
16
16
  vertical-align: middle;
17
17
  border-color: transparent;
18
18
  white-space: nowrap;
19
+ line-height: 20px;
20
+
21
+ max-height: 36px;
22
+ height: 36px;
23
+ min-height: 36px;
19
24
 
20
25
  &:hover:not([disabled]) {
21
26
  background-color: rgba(var(--zn-primary), 0.8);
@@ -46,6 +46,7 @@ select {
46
46
  label {
47
47
  font-weight: 600;
48
48
  font-size: rgb(var(--zn-font-size-medium));
49
+ line-height: var(--zn-spacing-medium);
49
50
  color: rgb(var(--zn-text-heading));
50
51
  display: block;
51
52
  margin-bottom: mixins.spacing(xs);
@@ -1,7 +1,7 @@
1
1
  @use "../variables" as v;
2
2
  @use "../mixins" as m;
3
3
 
4
- table {
4
+ table:not(.remarkd-table) {
5
5
  border-collapse: separate !important;
6
6
  border-spacing: 0;
7
7
  width: 100%;
@@ -287,8 +287,8 @@
287
287
  .zn-panel-bar {
288
288
  border-bottom: 1px solid rgb(var(--zn-border-color));
289
289
  background-color: rgba(var(--zn-panel), 0.9);
290
- padding: 4px;
291
- gap: 4px;
290
+ padding: var(--zn-base-px);
291
+ gap: var(--zn-base-px);
292
292
  display: flex;
293
293
  flex-wrap: wrap;
294
294
  align-items: center;
@@ -301,8 +301,9 @@
301
301
  }
302
302
 
303
303
  .zn-panel-bar--large {
304
- padding: 6px;
305
- gap: 6px;
304
+ padding: var(--zn-base-px) calc(var(--zn-base-gap) + var(--zn-gutter));
305
+ gap: var(--zn-base-px);
306
+ height: 50px;
306
307
  }
307
308
 
308
309
  .scroll-container {
@@ -253,13 +253,13 @@
253
253
  --zn-shadow-x-large: 0 6px 20px rgba(0, 0, 0, 0.34);
254
254
 
255
255
  /* Inputs */
256
- --zn-input-background-color: hsl(223, 14%, 10%);
257
- --zn-input-background-color-hover: hsl(252, 15%, 13%);
256
+ --zn-input-background-color: rgb(var(--zn-color-body));
257
+ --zn-input-background-color-hover: rgb(var(--zn-color-body));
258
258
  --zn-input-background-color-focus: hsl(252, 15%, 13%);
259
259
  --zn-input-background-color-disabled: hsl(280, 6%, 9%);
260
260
 
261
- --zn-input-border-color: hsl(240, 8%, 21%);
262
- --zn-input-border-color-hover: hsl(255, 16%, 15%);
261
+ --zn-input-border-color: rgb(var(--zn-color-border));
262
+ --zn-input-border-color-hover: rgb(var(--zn-color-border-active));
263
263
  --zn-input-border-color-focus: var(--zn-color-primary-500);
264
264
  --zn-input-border-color-disabled: hsl(280, 6%, 9%);
265
265