@kubex/zinc 1.0.113 → 1.0.115

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 (101) hide show
  1. package/.github/workflows/eleventy_build.yml +5 -5
  2. package/.github/workflows/js_build_and_deploy.yaml +1 -1
  3. package/dist/custom-elements.json +2422 -190
  4. package/dist/vscode.html-custom-data.json +86 -5
  5. package/dist/web-types.json +251 -9
  6. package/dist/zn.d.ts +518 -340
  7. package/dist/zn.min.css +1 -1
  8. package/dist/zn.min.js +960 -882
  9. package/docs/eleventy.config.cjs +4 -2
  10. package/docs/pages/components/header.md +13 -0
  11. package/docs/pages/components/inline-edit.md +20 -0
  12. package/docs/pages/components/item.md +12 -1
  13. package/docs/pages/components/page.md +149 -0
  14. package/docs/pages/components/progress-bar.md +16 -0
  15. package/docs/pages/components/select.md +25 -0
  16. package/docs/pages/components/split-pane.md +6 -7
  17. package/docs/pages/components/tabs.md +59 -9
  18. package/package.json +8 -5
  19. package/scripts/build.js +40 -19
  20. package/scss/_global-spacing.scss +12 -1
  21. package/scss/_root.scss +34 -2
  22. package/scss/mixins/_spacing-mixins.scss +1 -1
  23. package/scss/shared/layout.scss +15 -2
  24. package/scss/themes/_light.scss +1 -1
  25. package/src/components/absolute-container/absolute-container.component.ts +9 -25
  26. package/src/components/animated-button/animated-button.test.ts +8 -8
  27. package/src/components/button/button.component.ts +3 -1
  28. package/src/components/button/button.scss +5 -0
  29. package/src/components/button-menu/button-menu.component.ts +36 -21
  30. package/src/components/button-menu/button-menu.test.ts +55 -1
  31. package/src/components/chart/chart.component.ts +7 -7
  32. package/src/components/collapsible/collapsible.component.ts +7 -14
  33. package/src/components/cols/cols.scss +1 -1
  34. package/src/components/content-block/content-block.component.ts +11 -33
  35. package/src/components/data-select/data-select.component.ts +7 -11
  36. package/src/components/data-select/data-select.scss +1 -0
  37. package/src/components/data-table/data-table.component.ts +10 -14
  38. package/src/components/dialog/dialog.scss +4 -0
  39. package/src/components/editor/modules/toolbar/toolbar.component.ts +5 -9
  40. package/src/components/expanding-action/expanding-action.component.ts +37 -43
  41. package/src/components/form-group/form-group.component.ts +32 -27
  42. package/src/components/form-group/form-group.scss +1 -0
  43. package/src/components/header/header.component.ts +6 -5
  44. package/src/components/header/header.scss +28 -26
  45. package/src/components/inline-edit/inline-edit.component.ts +13 -1
  46. package/src/components/inline-edit/inline-edit.test.ts +50 -0
  47. package/src/components/input/input.test.ts +77 -0
  48. package/src/components/input-group/input-group.test.ts +2 -10
  49. package/src/components/item/item.component.ts +12 -6
  50. package/src/components/item/item.scss +1 -1
  51. package/src/components/item/item.test.ts +8 -0
  52. package/src/components/navbar/navbar.component.ts +222 -48
  53. package/src/components/navbar/navbar.scss +134 -21
  54. package/src/components/navbar/navbar.test.ts +114 -9
  55. package/src/components/option/option.scss +5 -7
  56. package/src/components/option/option.test.ts +30 -0
  57. package/src/components/page/index.ts +13 -0
  58. package/src/components/page/page.component.ts +406 -0
  59. package/src/components/page/page.scss +325 -0
  60. package/src/components/page/page.test.ts +397 -0
  61. package/src/components/page-nav/page-nav.scss +7 -5
  62. package/src/components/pane/pane.component.ts +2 -2
  63. package/src/components/pane/pane.scss +0 -1
  64. package/src/components/pane/pane.test.ts +31 -0
  65. package/src/components/panel/panel.scss +5 -16
  66. package/src/components/progress-bar/progress-bar.component.ts +5 -2
  67. package/src/components/progress-bar/progress-bar.scss +17 -1
  68. package/src/components/progress-bar/progress-bar.test.ts +12 -0
  69. package/src/components/scroll-container/scroll-container.component.ts +22 -21
  70. package/src/components/select/select.component.ts +243 -39
  71. package/src/components/select/select.scss +36 -5
  72. package/src/components/select/select.test.ts +533 -0
  73. package/src/components/settings-container/settings-container.component.ts +15 -19
  74. package/src/components/settings-container/settings-container.scss +8 -8
  75. package/src/components/sidebar/sidebar.component.ts +11 -11
  76. package/src/components/simple-chart/simple-chart.component.ts +6 -7
  77. package/src/components/sp/sp.scss +46 -15
  78. package/src/components/sp/sp.test.ts +15 -0
  79. package/src/components/split-pane/split-pane.component.ts +153 -26
  80. package/src/components/split-pane/split-pane.scss +89 -13
  81. package/src/components/split-pane/split-pane.test.ts +187 -0
  82. package/src/components/style/style.component.ts +8 -0
  83. package/src/components/tab/index.ts +13 -0
  84. package/src/components/tab/tab.component.ts +25 -0
  85. package/src/components/tab/tab.scss +7 -0
  86. package/src/components/table/table.component.ts +7 -2
  87. package/src/components/table/table.scss +1 -0
  88. package/src/components/tabs/tabs.component.ts +75 -70
  89. package/src/components/tabs/tabs.scss +1 -1
  90. package/src/components/textarea/textarea.component.ts +5 -8
  91. package/src/components/tile/tile.scss +2 -2
  92. package/src/components/translation-group/translation-group.component.ts +15 -14
  93. package/src/components/translations/translations.component.ts +18 -17
  94. package/src/components/translations/translations.scss +1 -0
  95. package/src/components/translations/translations.test.ts +3 -2
  96. package/src/internal/form.ts +234 -0
  97. package/src/internal/theme.ts +26 -46
  98. package/src/internal/zinc-element.ts +12 -7
  99. package/src/utilities/form.ts +1 -0
  100. package/src/wc.scss +1 -1
  101. package/src/zinc.ts +3 -0
@@ -0,0 +1,325 @@
1
+ @use "../../wc";
2
+
3
+ :host {
4
+ display: block;
5
+ width: 100%;
6
+ height: 100%;
7
+ min-height: 0;
8
+ container-type: inline-size;
9
+ --zn-page-content-background: var(--zn-body);
10
+ --zn-page-header-background: var(--zn-page-surface-background, var(--zn-page-background));
11
+ }
12
+
13
+ @container (width > 1024px) {
14
+ :host {
15
+ --zn-gutter: 15px;
16
+ }
17
+ }
18
+
19
+ @container (width > 1400px) {
20
+ :host {
21
+ --zn-gutter: 20px;
22
+ }
23
+ }
24
+
25
+ @container (width > 1500px) {
26
+ :host {
27
+ --zn-gutter: 25px;
28
+ }
29
+ }
30
+
31
+ :host([panel]) {
32
+ --zn-page-content-background: var(--zn-panel);
33
+ }
34
+
35
+ :host([panel-head]) {
36
+ --zn-page-header-background: var(--zn-panel);
37
+ }
38
+
39
+ :host([panel-nav]) {
40
+ --zn-active-nav-background: var(--zn-panel);
41
+ }
42
+
43
+ .page__header {
44
+ flex: 0 0 auto;
45
+ position: sticky;
46
+ top: 0;
47
+ z-index: 2;
48
+ padding: var(--zn-base-gap) var(--zn-base-gap) 0;
49
+ box-sizing: border-box;
50
+ background: rgba(var(--zn-page-header-background), 95%);
51
+
52
+ &::after {
53
+ content: '';
54
+ position: absolute;
55
+ right: var(--zn-base-gap);
56
+ bottom: 0;
57
+ left: var(--zn-base-gap);
58
+ height: 1px;
59
+ background: rgb(var(--zn-border-color));
60
+ opacity: 0;
61
+ transition: opacity 180ms ease-in-out;
62
+ pointer-events: none;
63
+ }
64
+
65
+ &--scrolled-no-navigation::after {
66
+ opacity: 1;
67
+ }
68
+ }
69
+
70
+ .header {
71
+ display: flex;
72
+ flex-direction: column;
73
+ position: relative;
74
+ margin: 0;
75
+
76
+ .content {
77
+ display: flex;
78
+ flex-wrap: wrap;
79
+ position: relative;
80
+ width: 100%;
81
+ max-width: 100%;
82
+ height: fit-content;
83
+ gap: var(--zn-base-gap);
84
+ margin: 0 auto;
85
+ padding: 0;
86
+ box-sizing: border-box;
87
+ }
88
+
89
+ &--has-navigation .content {
90
+ min-height: 48px;
91
+ }
92
+
93
+ .caption {
94
+ flex-grow: 1;
95
+ display: flex;
96
+ align-items: flex-start;
97
+ justify-content: space-between;
98
+ gap: var(--zn-spacing-2x-small);
99
+ max-width: 100%;
100
+ min-height: 48px;
101
+
102
+ a {
103
+ display: flex;
104
+ align-items: center;
105
+ color: inherit;
106
+ text-decoration: none;
107
+ }
108
+ }
109
+
110
+ &__left {
111
+ display: flex;
112
+ justify-content: flex-start;
113
+ flex-direction: column;
114
+ gap: 4px;
115
+ min-height: 48px;
116
+ flex-shrink: 1;
117
+ max-width: 100%;
118
+ }
119
+
120
+ &__right {
121
+ flex-grow: 1;
122
+ flex-shrink: 1;
123
+ overflow: hidden;
124
+ min-width: 20px;
125
+ }
126
+
127
+ &__caption {
128
+ font-weight: var(--zn-font-weight-medium);
129
+ font-size: var(--zn-font-size-large);
130
+ color: rgba(var(--zn-text-panel-title), 100%);
131
+ line-height: 20px;
132
+ margin: 0;
133
+ overflow: hidden;
134
+ white-space: nowrap;
135
+ text-overflow: ellipsis;
136
+ display: flex;
137
+ gap: var(--zn-spacing-x-small);
138
+ align-items: center;
139
+ text-wrap: auto;
140
+ }
141
+
142
+ &__description {
143
+ display: block;
144
+ font-size: var(--zn-font-size-medium);
145
+ line-height: 24px;
146
+ }
147
+
148
+ .breadcrumb {
149
+ display: inline-flex;
150
+ align-items: center;
151
+ gap: var(--zn-spacing-2x-small);
152
+ font: inherit;
153
+ color: inherit;
154
+
155
+ &::slotted(a) {
156
+ font: inherit;
157
+ color: inherit;
158
+ text-decoration: inherit;
159
+ }
160
+
161
+ &::slotted(a:hover) {
162
+ color: rgb(var(--zn-primary));
163
+ }
164
+
165
+ &::slotted(a)::after {
166
+ content: '>';
167
+ margin-left: var(--zn-spacing-2x-small);
168
+ color: rgb(var(--zn-text-muted));
169
+ font-weight: var(--zn-font-weight-normal);
170
+ }
171
+ }
172
+
173
+ slot {
174
+ display: flex;
175
+ align-items: center;
176
+ flex-wrap: wrap;
177
+ gap: var(--zn-spacing-x-small);
178
+ word-break: break-word;
179
+ }
180
+
181
+ slot[name="actions"] {
182
+ justify-content: end;
183
+ flex-wrap: nowrap;
184
+ }
185
+
186
+ slot[name="actions"]::slotted(zn-button-menu) {
187
+ flex-grow: 1;
188
+ flex-shrink: 1;
189
+ }
190
+ }
191
+
192
+ .caption__back {
193
+ display: flex;
194
+ justify-content: center;
195
+ align-items: center;
196
+ color: inherit;
197
+ }
198
+
199
+ .alt-overlay {
200
+ display: none;
201
+ }
202
+
203
+ .alt-overlay--visible {
204
+ display: flex;
205
+ }
206
+
207
+ :host(.alt-pressed) {
208
+ .alt-overlay:empty {
209
+ display: none !important;
210
+ }
211
+
212
+ .alt-overlay {
213
+ display: flex;
214
+ }
215
+ }
216
+
217
+ .alt-overlay {
218
+ gap: 10px;
219
+ align-items: flex-end;
220
+ position: absolute;
221
+ left: 0;
222
+ top: 0;
223
+ padding: 6px 15px;
224
+ background: rgba(var(--zn-panel), 0.95);
225
+ z-index: 10;
226
+
227
+ a {
228
+ display: flex;
229
+ }
230
+
231
+ zn-icon:hover {
232
+ color: rgb(var(--zn-primary));
233
+ cursor: pointer;
234
+ }
235
+ }
236
+
237
+ .page {
238
+ display: flex;
239
+ flex-direction: column;
240
+ position: relative;
241
+ height: 100%;
242
+ min-height: 0;
243
+ max-height: 100%;
244
+ width: 100%;
245
+ max-width: 100%;
246
+ overflow: auto;
247
+ box-sizing: border-box;
248
+ padding: 0;
249
+ }
250
+
251
+ .page__tabs {
252
+ flex-grow: 1;
253
+ display: flex;
254
+ flex-direction: column;
255
+ min-height: 0;
256
+ width: 100%;
257
+ overflow: visible;
258
+ box-sizing: border-box;
259
+ padding: 0 var(--zn-base-gap) var(--zn-base-gap);
260
+ background: rgb(var(--zn-page-content-background, var(--zn-body)));
261
+ }
262
+
263
+ .page__tabs .page__content {
264
+ display: flex;
265
+ flex-direction: column;
266
+ flex-grow: 1;
267
+ min-height: 0;
268
+ max-width: 100%;
269
+ width: 100%;
270
+ overflow: visible;
271
+ box-sizing: border-box;
272
+ }
273
+
274
+ .page__tabs #content ::slotted(zn-tab) {
275
+ display: block !important;
276
+ }
277
+
278
+ :host([flush]) {
279
+ .page__tabs, .page__tabs .page__content#content {
280
+ padding: 0;
281
+ }
282
+ }
283
+
284
+ zn-navbar {
285
+ margin-top: var(--zn-base-gap);
286
+
287
+ &::part(navbar) {
288
+ height: 42px;
289
+ min-height: 42px;
290
+ margin: 0;
291
+ padding-left: var(--zn-base-gap);
292
+ }
293
+
294
+ &::part(navbar-item) {
295
+ min-height: 42px;
296
+ box-sizing: border-box;
297
+ font-size: var(--zn-font-size-medium);
298
+ line-height: 24px;
299
+ }
300
+ }
301
+
302
+ :host .page__header {
303
+ padding-right: 0;
304
+ padding-left: 0;
305
+ }
306
+
307
+ :host .header {
308
+ padding-right: calc(var(--zn-gutter, 0) + var(--zn-base-gap, 0));
309
+ padding-left: calc(var(--zn-gutter, 0) + var(--zn-base-gap, 0));
310
+ }
311
+
312
+ :host zn-navbar {
313
+ &::part(navbar) {
314
+ padding-left: calc(var(--zn-gutter, 0) + var(--zn-base-gap, 0));
315
+ padding-right: calc(var(--zn-gutter, 0) + var(--zn-base-gap, 0));
316
+ }
317
+ }
318
+
319
+ :host .page__tabs {
320
+ padding: 0;
321
+ }
322
+
323
+ :host .page__tabs #content.page__content {
324
+ padding: 0 var(--zn-gutter, 0);
325
+ }